:root{--ink:#07162d;--ink-soft:#334158;--muted:#6c7480;--line:#dfe3e8;--accent:#d71920;--paper:#fff;--max:1180px;--reading:720px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff}body{margin:0;min-height:100vh;color:var(--ink-soft);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.68;letter-spacing:-.008em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}button,a{font:inherit}a,a:link,a:visited,a:focus,a:focus-visible,a:active{color:inherit;text-decoration:none;text-underline-offset:.22em;text-decoration-thickness:1px}@media(hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-shell{width:min(var(--max),calc(100% - 4rem));margin-inline:auto}.skip-link{position:absolute;left:2rem;top:-5rem;z-index:100;padding:.5rem 0;background:#fff;color:var(--ink);font-size:.85rem;font-weight:650}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:20;background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:118px;border-bottom:1px solid var(--line)}.brand img{width:clamp(190px,20vw,255px)}.primary-navigation{display:flex;gap:2rem}.primary-navigation a{font-size:.84rem;font-weight:600;letter-spacing:.04em}.nav-toggle{display:none;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.hero{padding:clamp(6.5rem,11vw,10rem) 0 clamp(7rem,12vw,11rem)}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(4rem,8vw,8rem);align-items:end}.hero-copy{max-width:860px}.eyebrow,.section-label{margin:0 0 1.35rem;color:var(--accent);font-size:.72rem;font-weight:700;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{margin-top:0;color:var(--ink);font-weight:580;letter-spacing:-.035em}h1{max-width:16ch;margin-bottom:0;font-size:clamp(3rem,5.5vw,5.35rem);line-height:1.02}.hero-intro{max-width:var(--reading);margin:2.4rem 0 0;font-size:clamp(1.08rem,1.55vw,1.28rem);line-height:1.72}.quiet-note{margin:1.25rem 0 0;color:var(--muted);font-size:.88rem}.hero-contact{padding-top:1.4rem;border-top:1px solid var(--line)}.hero-contact .section-label{margin-bottom:1rem;color:var(--muted)}.hero-contact a{display:block;width:fit-content;color:var(--ink);font-size:.94rem;font-weight:560}.hero-contact a+a{margin-top:.55rem}.hero-contact .appointment-button{margin-top:1rem;padding:.65rem 1rem;border:1px solid var(--ink);border-radius:2px;transition:background-color .18s ease,color .18s ease}.hero-contact .appointment-button:hover{background:var(--ink);color:var(--paper);text-decoration:none}.content-section{padding:clamp(6rem,10vw,9rem) 0;border-top:1px solid var(--line)}.content-section-last{padding-bottom:clamp(7rem,12vw,11rem)}.section-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:clamp(4rem,8vw,9rem)}.section-heading h2{max-width:14ch;margin-bottom:0;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.12}.section-content{max-width:var(--reading)}.section-content article+article{margin-top:3.25rem}.section-content h3{margin-bottom:.8rem;font-size:1.12rem;line-height:1.35;letter-spacing:-.015em}.section-content p{margin:0}.section-content .lead{color:var(--ink);font-size:1.18rem;line-height:1.7}.section-content .lead+p{margin-top:1.5rem}.site-footer{border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:1rem 3rem;padding:2.2rem 0 2.5rem;color:var(--muted);font-size:.78rem}.footer-brand{display:flex;gap:.6rem}.footer-brand strong{color:var(--ink)}.footer-links{display:flex;gap:1.4rem}.copyright{grid-column:1/-1;margin:.4rem 0 0}.legal-main{padding:clamp(5rem,9vw,8rem) 0 clamp(7rem,12vw,10rem)}.legal-layout{max-width:820px}.legal-layout h1{max-width:none;margin-bottom:4rem;font-size:clamp(2.6rem,4.5vw,4.25rem);line-height:1.06}.legal-layout section+section{margin-top:3.2rem}.legal-layout h2{margin-bottom:1rem;font-size:1.35rem;line-height:1.25}.legal-layout p,.legal-layout ul{max-width:74ch;margin-top:0;margin-bottom:1rem}.legal-layout ul{padding-left:1.2rem}.legal-intro{margin:-2rem 0 4rem;color:var(--muted)}.error-main{min-height:calc(100vh - 250px);display:grid;align-items:center;padding:6rem 0}.error-content h1{max-width:14ch;font-size:clamp(2.6rem,5vw,4.8rem)}.text-link{display:inline-block;margin-top:1rem;color:var(--ink);font-weight:600}@media(max-width:900px){.site-shell{width:min(var(--max),calc(100% - 2.5rem))}.header-inner{min-height:96px}.brand img{width:210px}.nav-toggle{display:inline-flex}.primary-navigation{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:1.2rem;padding:1.5rem 1.25rem;background:#fff;border-bottom:1px solid var(--line)}.primary-navigation.is-open{display:flex}.hero-layout,.section-grid{grid-template-columns:1fr}.hero-layout{gap:4rem}.section-grid{gap:3.5rem}.section-heading h2{max-width:18ch}}@media(max-width:560px){.site-shell{width:min(var(--max),calc(100% - 2rem))}.brand img{width:185px}h1{font-size:clamp(2.65rem,12vw,3.55rem)}.hero{padding-top:5rem}.footer-inner{grid-template-columns:1fr}.footer-links,.copyright{grid-column:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.nav-toggle {
  gap: 0.7rem;
  align-items: center;
}

.nav-toggle-icon {
  position: relative;
  display: inline-block;
  width: 1.2rem;
  height: 0.8rem;
}

.nav-toggle-icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transition: transform 180ms ease, top 180ms ease;
}

.nav-toggle-icon span:first-child {
  top: 0.18rem;
}

.nav-toggle-icon span:last-child {
  top: 0.62rem;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:first-child {
  top: 0.4rem;
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:last-child {
  top: 0.4rem;
  transform: rotate(-45deg);
}

@media (max-width: 900px) {
  body.navigation-open {
    overflow: hidden;
  }
}
