:root{
  --bg:#f8f6ff;--surface:#fff;--soft:#f2ebff;--text:#241534;--muted:#65557f;
  --primary:#7e2ec5;--primary-strong:#5f179f;--line:#dfd2f8;--radius:16px;--shadow:0 16px 36px rgba(73,16,126,.15);
  --glass-top:rgba(255,255,255,.78);
  --glass-bottom:rgba(248,241,255,.62);
  --glass-line:rgba(255,255,255,.72);
  --glass-inner:rgba(255,255,255,.42)
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Outfit,Segoe UI,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 500px at 20% -10%, rgba(178,129,241,.22), transparent 60%),
    radial-gradient(1000px 450px at 90% 0%, rgba(141,82,199,.16), transparent 58%),
    linear-gradient(180deg,#fbf9ff 0%,#f8f4ff 38%,#fdfcff 100%);
  line-height:1.6
}
h1,h2,h3{font-family:Sora,Segoe UI,sans-serif;line-height:1.2;letter-spacing:-.02em;margin:.2rem 0 .8rem}
a{text-decoration:none;color:inherit}
.container{width:min(1360px,calc(100% - 2rem));margin-inline:auto}
.section{padding:3.75rem 0}.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(242,235,255,.8));border-block:1px solid var(--line)}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,238,255,.58));
  backdrop-filter:blur(18px) saturate(1.28);
  -webkit-backdrop-filter:blur(18px) saturate(1.28);
  border-bottom:1px solid rgba(206,181,241,.58);
  box-shadow:0 8px 28px rgba(64,30,102,.08), inset 0 1px 0 rgba(255,255,255,.65)
}
.nav-wrap{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.25rem 0}
.brand{display:flex;align-items:center;height:56px;overflow:visible;flex:0 0 auto}
.site-header .brand-logo{
  height:56px;
  width:auto;
  max-width:min(30vw,280px);
  display:block;
  margin:0;
  mix-blend-mode:normal;
  filter:none;
}
nav{flex:1;overflow-x:auto}
.nav-list{list-style:none;display:flex;gap:.5rem;margin:0;padding:0;align-items:center;min-width:max-content}
.nav-list a{font-weight:600;color:var(--muted);font-size:.84rem;white-space:nowrap}
.nav-list a:hover{color:var(--primary-strong)}
.nav-dropdown{position:relative}
.nav-dropdown-head{display:flex;align-items:center;gap:.3rem}
.dropdown-toggle{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:700;
  cursor:pointer;
  line-height:1;
  padding:.1rem .25rem;
}
.dropdown-menu{
  list-style:none;
  margin:0;
  padding:.45rem;
  position:absolute;
  top:calc(100% + .4rem);
  left:0;
  min-width:190px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  display:none;
  z-index:30;
}
.dropdown-menu li{margin:0;padding:0}
.dropdown-menu a{
  display:block;
  padding:.45rem .55rem;
  border-radius:8px;
  color:var(--muted);
}
.dropdown-menu a:hover{background:#f5edff;color:var(--primary-strong)}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu,
.nav-dropdown.open .dropdown-menu{display:block}
.btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-strong));
  color:#fff;
  padding:.62rem 1rem;
  border-radius:999px;
  font-weight:600;
  display:inline-flex;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 24px rgba(89,28,149,.3), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -8px 16px rgba(48,15,88,.22);
}
.nav-list a.btn{color:#fff}
.btn-small{padding:.42rem .75rem}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-size:.82rem}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem;align-items:center}
.panel,.card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(170deg,var(--glass-top),var(--glass-bottom));
  border:1px solid rgba(205,181,240,.58);
  border-radius:var(--radius);
  box-shadow:var(--shadow), inset 0 1px 0 var(--glass-line), inset 0 -1px 0 rgba(197,163,240,.34);
  backdrop-filter:blur(14px) saturate(1.16);
  -webkit-backdrop-filter:blur(14px) saturate(1.16);
}
.panel::after,.card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(145deg,rgba(255,255,255,.62),transparent 38%),
    radial-gradient(120% 65% at 0% 0%, rgba(255,255,255,.34), transparent 70%);
}
.panel::before,.card::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:10px;
  height:44%;
  pointer-events:none;
  border-radius:12px;
  background:linear-gradient(180deg,var(--glass-inner),transparent);
  opacity:.66;
}
.panel{padding:1.2rem}.cards{display:grid;gap:1rem}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{padding:1rem 1.1rem}
.meta-text{font-size:.9rem;color:var(--muted);margin:.6rem 0 0}
.expert-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.upload-wrap{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}
.map-card h3{margin-bottom:.6rem}
.uk-map{
  position:relative;
  min-height:560px;
  background:linear-gradient(180deg,rgba(248,242,255,.9),rgba(242,232,255,.84));
  border:1px solid rgba(205,181,240,.7);
  border-radius:14px;
  overflow:hidden;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.uk-map.leaflet-container{
  font-family:Outfit,Segoe UI,sans-serif;
}
.leaflet-popup-content-wrapper{
  border-radius:12px;
  border:1px solid var(--line);
}
.leaflet-popup-content{
  margin:.55rem .65rem;
  font-size:.88rem;
}
.leaflet-tooltip{
  background:#fff;
  border:1px solid var(--line);
  color:var(--text);
  border-radius:8px;
  box-shadow:0 8px 18px rgba(44,22,70,.18);
}
.map-pin{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--primary);
  border:2px solid #fff;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  transform:translate(-50%,-50%);
}
.map-pin.user{background:#12a66a}
.map-pin.nearby{background:#dd5f1a}
.map-hover-card{
  position:absolute;
  z-index:40;
  pointer-events:none;
  display:none;
  width:220px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(44,22,70,.26);
  padding:.55rem;
}
.map-hover-card.visible{display:grid;grid-template-columns:46px 1fr;gap:.5rem;align-items:center}
.map-hover-card img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #e6d4ff}
.map-hover-card h4{margin:0 0 .1rem;font-size:.92rem}
.map-hover-card p{margin:0;font-size:.8rem;color:var(--muted);line-height:1.25}
.results-card{margin-top:1rem}
.expert-results{display:grid;gap:.8rem}
.expert-item{display:grid;grid-template-columns:58px 1fr;gap:.8rem;align-items:flex-start;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.expert-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid #e7d4ff;background:#f4e9ff}
.expert-item h4{margin:.1rem 0 .3rem;font-size:1rem}
.expert-item p{margin:.15rem 0;font-size:.92rem;color:var(--muted)}
.distance-pill{display:inline-block;font-size:.82rem;font-weight:700;background:#efe3ff;color:#5f179f;padding:.2rem .5rem;border-radius:999px;margin-top:.2rem}
.trial-summary p{margin:.35rem 0;font-size:.92rem;color:var(--muted)}
.publication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.publication-item{display:grid;grid-template-columns:96px 1fr;gap:.75rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.publication-thumb{width:96px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #e5d7fb;background:#efe3ff}
.publication-item h4{margin:.1rem 0 .35rem;font-size:1rem}
.publication-item p{margin:.1rem 0;font-size:.88rem;color:var(--muted)}
.publication-link{font-size:.88rem;color:var(--primary-strong);font-weight:600;word-break:break-word}
.email-link{
  color:#1f5fbf;
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:600;
}
.email-link:hover{color:#164a97}
.social-links-top{display:flex;gap:.6rem;flex-wrap:wrap;margin:.7rem 0 1rem}
.social-links-top a{
  display:inline-flex;
  align-items:center;
  padding:.35rem .75rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#f6eeff;
  color:var(--primary-strong);
  font-weight:600;
  font-size:.9rem;
}
.social-links-top a:hover{background:#ead8ff}
.contact-form{display:grid;gap:.7rem}
.contact-form label{font-weight:600;color:var(--muted);display:grid;gap:.3rem}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;
  border:1px solid rgba(205,181,240,.72);
  border-radius:10px;
  padding:.62rem .72rem;
  font:inherit;
  color:var(--text);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,239,255,.7));
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.contact-form input:focus,.contact-form textarea:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(126,46,197,.16);
}
.footer{background:linear-gradient(180deg,#4e2a73,#35204f);color:#f4ecff}
.footer.section{padding:2rem 0}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1rem;align-items:center}
.footer-logo{
  width:320px;
  max-width:100%;
  height:auto;
  display:block;
  margin:0;
  mix-blend-mode:normal;
  filter:none;
  opacity:1;
}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.5rem .8rem}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.support-card{
  background:linear-gradient(170deg,var(--glass-top),var(--glass-bottom));
  border:1px solid rgba(205,181,240,.58);
  border-radius:14px;
  padding:1rem;
  box-shadow:0 10px 26px rgba(73,16,126,.11), inset 0 1px 0 rgba(255,255,255,.72);
}
.support-logo{
  max-height:30px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  margin:0 0 .6rem;
  display:block;
}
.group-photo-placeholder{
  width:100%;
  min-height:280px;
  border:2px dashed rgba(126,46,197,.35);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color:#6f4d99;
  background:linear-gradient(180deg,rgba(243,233,255,.8),rgba(236,224,252,.7));
  margin:0 0 1rem;
}
.chair-card{padding:.9rem 1rem}
.chair-layout{display:grid;grid-template-columns:180px 1fr;gap:.9rem;align-items:center}
.chair-layout h4{margin:.1rem 0 .3rem}
.chair-layout p{margin:0;color:var(--muted)}
.chair-photo-placeholder{
  width:100%;
  aspect-ratio:4/3;
  border-radius:12px;
  border:2px dashed rgba(126,46,197,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6f4d99;
  font-weight:700;
  background:rgba(243,233,255,.55);
}
.credits-compact{padding:.85rem .95rem}
.creator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.creator-card{
  border:1px solid rgba(205,181,240,.72);
  border-radius:14px;
  padding:.72rem;
  background:linear-gradient(170deg, rgba(255,255,255,.85), rgba(252,248,255,.75));
}
.creator-card h4{margin:.4rem 0 .15rem;font-size:1rem}
.creator-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.35}
.creator-photo-placeholder{
  width:100%;
  aspect-ratio:16/10;
  border-radius:12px;
  border:2px dashed rgba(126,46,197,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6f4d99;
  font-weight:700;
  background:rgba(243,233,255,.55);
}
.eb-tool-row{
  display:grid;
  grid-template-columns:minmax(180px,240px) 1fr;
  align-items:center;
  gap:1rem;
  margin-top:.4rem;
}
.eb-logo-link{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.55rem;
  border:1px solid rgba(205,181,240,.58);
  border-radius:12px;
  background:linear-gradient(170deg,rgba(255,255,255,.8),rgba(249,242,255,.66));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.eb-logo{
  width:100%;
  max-width:210px;
  height:auto;
  display:block;
}
.eb-cta-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
@media (hover:hover){
  .card,.panel,.support-card{
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .card:hover,.panel:hover,.support-card:hover{
    transform:translateY(-1px);
    border-color:rgba(173,128,231,.62);
    box-shadow:0 18px 34px rgba(73,16,126,.16), inset 0 1px 0 rgba(255,255,255,.72);
  }
  .btn{
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }
  .btn:hover{
    transform:translateY(-1px);
    filter:saturate(1.05);
    box-shadow:0 14px 30px rgba(89,28,149,.35), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -8px 16px rgba(48,15,88,.2);
  }
}
@media (max-width:980px){
  .hero-grid,.cards.two,.cards.three,.footer-grid,.expert-layout,.publication-grid,.support-grid,.creator-grid{grid-template-columns:1fr}
  .menu-toggle{display:inline-flex}
  .nav-list{
    display:none;
    position:absolute;
    top:76px;
    right:1rem;
    left:1rem;
    max-height:72vh;
    overflow:auto;
    flex-direction:column;
    align-items:flex-start;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid var(--line);
    border-radius:12px;
    padding:.8rem;
    box-shadow:var(--shadow)
  }
  .nav-list.open{display:flex}
  .nav-dropdown{width:100%}
  .nav-dropdown-head{width:100%;justify-content:space-between}
  .dropdown-menu{
    position:static;
    box-shadow:none;
    border:1px solid var(--line);
    margin-top:.35rem;
    width:100%;
  }
  nav{overflow:visible}
  .brand{height:60px}
  .site-header .brand-logo{height:60px;max-width:64vw;margin:0}
  .uk-map{min-height:420px}
  .section{padding:2.4rem 0}
  .container{width:min(1160px,calc(100% - 1rem))}
  .chair-layout{grid-template-columns:1fr}
  .eb-tool-row{grid-template-columns:1fr}
  .eb-cta-wrap{justify-content:flex-start}
}
@media (max-width:640px){
  h1{font-size:clamp(1.8rem,8vw,2.2rem)}
  .btn{width:100%;justify-content:center}
  .expert-item{grid-template-columns:46px 1fr}
  .expert-avatar{width:46px;height:46px}
  .publication-item{grid-template-columns:70px 1fr}
  .publication-thumb{width:70px;height:56px}
  .uk-map{min-height:360px}
  .map-hover-card{width:180px}
  .group-photo-placeholder{min-height:220px}
}
