:root{--bg:#f0f2f5;--text:#09090b;--text2:#4a4a5a;--accent:#5a6878;--line:rgba(90,104,120,.18);--nav:rgba(240,242,245,.94)}
.wb-dark,.dark{--bg:#09090b;--text:#f0f0f2;--text2:#8a8a98;--accent:#9ba8b8;--line:rgba(155,168,184,.18);--nav:rgba(9,9,11,.94)}
@keyframes wbDrift{from{background-position:0 0}to{background-position:80px 80px}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-y:scroll}
body{background:var(--bg);color:var(--text);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:.02em;line-height:1.8;min-height:100vh;transition:background .4s,color .4s}
a{text-decoration:none;color:inherit;transition:color .3s}
button,input,textarea{font:inherit}
button{cursor:pointer}
nav{position:fixed;top:0;left:0;width:100%;z-index:1000;border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
nav.scrolled{background:var(--nav);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.nav-bar{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 2rem}
.nav-logo{font-size:.8rem;letter-spacing:.2em;font-weight:300;color:var(--text);white-space:nowrap}
.nav-logo:hover{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-link{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:var(--text2)}
.nav-link:hover,.nav-link.active{color:var(--text)}
.language-switch{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);padding:3px}
.lang-btn{background:transparent;border:0;color:var(--text2);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;padding:4px 6px;transition:color .3s}
.lang-btn:hover,.lang-btn.active{color:var(--accent)}
.theme-btn{background:none;border:0;color:var(--text2);display:flex;align-items:center;padding:8px;transition:color .3s}
.theme-btn:hover{color:var(--text)}
.burger-btn{display:none;background:none;border:0;color:var(--text);align-items:center;justify-content:center;padding:8px;width:40px;height:40px}
.burger-btn:hover{color:var(--accent)}
.mob-menu{display:none;border-top:1px solid var(--line);background:var(--nav);backdrop-filter:blur(12px)}
.mob-menu a{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text);padding:16px 1.1rem;border-bottom:1px solid var(--line);transition:color .3s}
.mob-menu a:last-child{border-bottom:0}
.mob-menu a:hover{color:var(--accent)}
header{position:relative;min-height:68vh;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{--hero-line:rgba(90,104,120,.22);position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,var(--hero-line) 0,transparent 1px,transparent 80px),repeating-linear-gradient(90deg,var(--hero-line) 0,transparent 1px,transparent 80px);background-size:80px 80px;animation:wbDrift 20s linear infinite;pointer-events:none;will-change:background-position}
.wb-dark .hero-grid,.dark .hero-grid{--hero-line:rgba(155,168,184,.16)}
.hero-inner{position:relative;max-width:1100px;width:100%;margin:0 auto;padding:100px 48px 80px}
.eyebrow{display:block;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text2);margin-bottom:20px}
h1{font-size:clamp(1.8rem,4.5vw,3.4rem);font-weight:200;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;max-width:18ch;margin:0 0 28px}
.lead{max-width:57ch;font-size:1.05rem;line-height:1.7;color:var(--text2)}
.contact-wrap{max-width:1100px;margin:0 auto;padding:72px 48px 0}
.contact-heading{font-size:clamp(1.2rem,2.5vw,1.875rem);font-weight:300;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;margin-bottom:64px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:64px}
.contact-col h3{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--accent);margin-bottom:4px}
.office-label{display:block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text2);margin-bottom:16px}
.contact-col address{font-style:normal;color:var(--text2);line-height:1.8;margin-bottom:8px}
.emails{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.em{font-size:1rem!important;transition:color .3s}
.contact-col .ph{color:var(--text2)}
.contact-col .ph a:hover,.em:hover{color:var(--accent)}
.lang{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text2);margin-top:16px;line-height:1.8}
.map{width:100%;height:340px;border-radius:2px;overflow:hidden;border:1px solid var(--line);margin-top:48px;filter:grayscale(100%) contrast(.88) brightness(1.08) hue-rotate(195deg) saturate(.08);transition:filter .4s}
.wb-dark .map,.dark .map{filter:grayscale(100%) invert(1) contrast(.88) brightness(.92) hue-rotate(195deg) saturate(.12)}
.map iframe{width:100%;height:100%;border:0}
.cal-wrap{max-width:1100px;margin:0 auto;padding:0 48px}
.cal-inner{margin-top:64px;padding-top:56px;border-top:1px solid var(--line)}
.cal-inner>h3,.sp>h3{font-size:1.3rem;font-weight:300;line-height:1.35;letter-spacing:.02em;margin-bottom:8px}
.cal-inner>p,.sp>p{color:var(--text2);font-size:1rem;line-height:1.75;margin-bottom:24px}
.cal-placeholder{min-height:280px;border:1px solid var(--line);padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cal-placeholder p{max-width:52ch;margin:0 0 24px;color:var(--text2)}
.cal-load-btn{border:1px solid var(--accent);background:transparent;color:var(--accent);padding:14px 24px;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}
.cal-load-btn:hover{background:var(--accent);color:var(--bg)}
.cal-direct{font-size:.68rem!important;margin:18px 0 0!important}
.cal-direct a{color:var(--accent)}
#my-cal-inline-30min{width:100%;min-height:620px;overflow:auto;border:1px solid var(--line);margin-top:24px}
#my-cal-inline-30min[hidden],.cal-placeholder[hidden]{display:none}
.sp{margin-top:64px;padding-top:56px;border-top:1px solid var(--line)}
.intake-form{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-top:24px}
.field{display:flex;flex-direction:column;gap:8px;padding:20px 20px 20px 0;border-bottom:1px solid var(--line)}
.intake-form .field:nth-child(2n){padding-left:20px;padding-right:0;border-left:1px solid var(--line)}
.field.full{grid-column:1/-1;padding-right:0}
.intake-form .field.full:nth-child(2n){padding-left:0;border-left:0}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--text2)}
.field .ix{color:var(--accent);opacity:.6}
.field input,.field textarea{width:100%;font-size:1.1rem;font-weight:300;line-height:1.4;color:var(--text);background:none;border:0;border-bottom:1px solid transparent;padding:6px 0 8px;outline:0;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--text2);opacity:.5}
.field:focus-within label{color:var(--text)}
.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px}
.chip{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text2);padding:8px 14px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.chip:hover{border-color:var(--accent);color:var(--text)}
.chip[aria-pressed="true"]{border-color:var(--text);background:var(--text);color:var(--bg)}
.form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;flex-wrap:wrap}
.form-actions .legal{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);max-width:46ch}
.form-actions .legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.submit{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--text);color:var(--bg);padding:14px 24px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.submit:hover{background:var(--accent)}
.submit:disabled{opacity:.5}
.intake-confirmed{display:none;padding:48px 0}
.intake-confirmed h3{font-size:1.3rem;font-weight:300;margin-bottom:12px}
.intake-confirmed p{color:var(--text2);font-size:.85rem}
footer{border-top:1px solid var(--line);padding:2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text2)}
footer>span{flex:1 1 0}
footer>span:nth-child(2){text-align:center}
footer>span:nth-child(3){text-align:right}
#btt{position:fixed;bottom:32px;right:32px;width:40px;height:40px;border:1px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;z-index:1000;background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:all .3s}
#btt.visible{opacity:1;visibility:visible;pointer-events:auto}
#btt:hover{background:var(--accent);color:var(--bg)}
.cookie-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1200;width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 10px 8px 16px;border:1px solid rgba(90,104,120,.18);background:rgba(90,104,120,.18);backdrop-filter:blur(16px);border-radius:999px;color:var(--text);box-shadow:0 18px 45px rgba(9,9,11,.08)}
.wb-dark .cookie-banner,.dark .cookie-banner{background:rgba(155,168,184,.16);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.cookie-banner[hidden]{display:none}
.cookie-copy{display:flex;align-items:center;gap:9px;min-width:0}
.cookie-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.cookie-title,.cookie-btn{font-size:.6rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.cookie-link{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text2);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.cookie-link:hover{color:var(--accent)}
.cookie-btn{border:0;background:transparent;color:var(--text2);padding:6px 9px;border-radius:999px;font-family:inherit;font-weight:300;line-height:1;appearance:none;-webkit-appearance:none;transition:color .25s,background .25s}
.cookie-btn:hover,.cookie-btn.accept:hover{color:var(--accent)}
.cookie-btn.accept{background:var(--accent);color:var(--bg)}
.cookie-btn.accept:hover{background:var(--text);color:var(--bg)}
@media(max-width:860px){
  .nav-bar{padding:0 1.25rem}.nav-links{display:none}.burger-btn{display:flex}
  .hero-inner{padding:88px 24px 64px}
  .contact-wrap{padding:56px 24px 0}
  .cal-wrap{padding:0 24px}
  .contact-grid{grid-template-columns:repeat(2,1fr)}
  footer{flex-wrap:wrap;text-align:center}footer>span{flex:0 0 100%}footer>span:nth-child(2),footer>span:nth-child(3){text-align:center}
  #btt{right:24px}
}
@media(max-width:700px){
  .intake-form{grid-template-columns:1fr}
  .field,.intake-form .field:nth-child(2n){padding:18px 0;border-left:0}
  .field.full{grid-column:auto}
  .form-actions{grid-column:auto;align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr;gap:40px}}
@media(min-width:769px){.map{height:400px}}
@media(max-width:520px){
  .lead{font-size:1rem}.cal-placeholder{padding:34px 22px}
  .cookie-banner{bottom:16px;max-width:calc(100vw - 20px);padding:8px 9px 8px 12px;gap:7px}
  .cookie-copy{gap:7px}
  .cookie-title,.cookie-btn{font-size:.5rem;letter-spacing:.12em}
  .cookie-link{font-size:.46rem;letter-spacing:.12em}
  .cookie-actions{gap:6px}
  .cookie-btn{padding:6px 7px}
  .cookie-btn.accept{padding:6px 9px}
}
@media(max-width:380px){
  .cookie-banner{flex-wrap:wrap;border-radius:18px;padding:9px 10px;row-gap:8px}
  .cookie-copy,.cookie-actions{justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
