:root {
  --ink: #202a28;
  --slate: #56625f;
  --sage: #285e55;
  --sage-dark: #173f39;
  --sage-mid: #497c71;
  --mint: #a8c8be;
  --mint-pale: #e7f0ed;
  --cream: #f7f5ef;
  --paper: #fdfcf9;
  --white: #fff;
  --line: #dce4e0;
  --line-dark: rgba(255,255,255,.17);
  --shadow-soft: 0 18px 50px rgba(32,42,40,.08);
  --shadow-deep: 0 30px 70px rgba(20,52,47,.18);
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --container: 1200px;
  --header-height: 88px;
  --ease: 220ms ease;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
h1,h2,h3{margin-top:0;color:var(--ink);line-height:1.12;text-wrap:balance}
h1,h2,h3,.practitioner strong,.contact-person h3,.contact-person span{max-width:100%;word-break:normal;overflow-wrap:normal;hyphens:none}
h1{margin-bottom:1.35rem;font-size:clamp(2.85rem,5.2vw,5.15rem);font-weight:630;letter-spacing:-.055em}
h1 em{color:var(--sage);font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.04em}
h2{margin-bottom:1.15rem;font-size:clamp(2.15rem,3.7vw,3.65rem);font-weight:620;letter-spacing:-.045em}
h3{font-size:1.16rem;letter-spacing:-.015em}
p{margin:0 0 1rem}
:focus-visible{outline:3px solid #27786a;outline-offset:4px;border-radius:4px}
.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:.75rem 1rem;color:var(--white);background:var(--ink);border-radius:8px;transform:translateY(-160%);transition:transform var(--ease)}
.skip-link:focus{transform:none}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.section{padding:clamp(5.5rem,9vw,9rem) 0}
.eyebrow{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem;color:var(--sage);font-size:.73rem;font-weight:750;letter-spacing:.15em;line-height:1.4;text-transform:uppercase}
.eyebrow span{width:30px;height:1px;background:currentColor}
.eyebrow.light{color:#bcd8d0}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1.3rem;color:var(--white);background:var(--sage);border:1px solid var(--sage);border-radius:7px;font-size:.91rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
.button:hover{background:var(--sage-dark);border-color:var(--sage-dark);box-shadow:0 10px 25px rgba(23,63,57,.16);transform:translateY(-2px)}
.button svg,.hero-location svg{width:18px;fill:currentColor}
.button-small{min-height:42px;padding:.65rem 1rem;font-size:.82rem}
.button-ghost{color:var(--sage);background:transparent;border-color:#9db5af}
.button-ghost:hover{color:var(--white)}
.text-link{display:inline-flex;align-items:center;gap:.65rem;color:var(--sage);font-weight:750;text-underline-offset:5px}
.text-link span{transition:transform var(--ease)}
.text-link:hover span{transform:translateX(4px)}

.site-header{position:sticky;top:0;z-index:1000;height:var(--header-height);background:rgba(253,252,249,.94);border-bottom:1px solid transparent;backdrop-filter:blur(16px);transition:border-color var(--ease),box-shadow var(--ease)}
.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 25px rgba(32,42,40,.06)}
.header-inner{display:flex;height:100%;min-width:0;align-items:center;gap:clamp(1.2rem,2.2vw,2.2rem)}
.brand{display:block;width:clamp(220px,23vw,310px);min-width:0;max-width:100%;margin-right:auto;overflow:visible}
.brand img{width:100%;max-width:100%;height:auto;overflow:visible}
.primary-nav{display:flex;align-items:center;gap:clamp(.85rem,1.5vw,1.45rem)}
.primary-nav a{position:relative;padding:.7rem 0;color:#3d4946;font-size:.82rem;font-weight:650;text-decoration:none;white-space:nowrap}
.primary-nav a::after{position:absolute;right:0;bottom:4px;left:0;height:1px;background:var(--sage);content:"";transform:scaleX(0);transition:transform var(--ease)}
.primary-nav a:hover::after,.primary-nav a.active::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:.9rem}
.header-phone{color:var(--sage-dark);font-size:.78rem;font-weight:750;text-decoration:none;white-space:nowrap}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;background:transparent;border:1px solid var(--line);border-radius:7px;cursor:pointer}
.menu-toggle span{display:block;width:100%;height:2px;margin:5px 0;background:var(--ink);transition:transform var(--ease),opacity var(--ease)}

.hero{position:relative;min-height:calc(100svh - var(--header-height));padding:clamp(3.5rem,7vw,7rem) 0 5rem;overflow:hidden;background:linear-gradient(115deg,var(--paper) 0%,var(--cream) 64%,#e7efeb 100%)}
.hero::before{position:absolute;top:-16rem;left:-12rem;width:38rem;height:38rem;border:1px solid rgba(40,94,85,.1);border-radius:50%;content:""}
.hero-line{position:absolute;top:0;right:11%;width:1px;height:37%;background:linear-gradient(transparent,var(--mint))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:clamp(3rem,7vw,7rem)}
.hero-copy{position:relative;z-index:2;min-width:0;max-width:700px}
.hero h1{font-size:clamp(2.75rem,4.5vw,4rem)}
.hero-lead{max-width:620px;margin-bottom:1.6rem;color:var(--slate);font-size:clamp(1.05rem,1.45vw,1.22rem)}
.practitioner{display:flex;align-items:center;gap:.85rem;margin:0 0 1.9rem}
.practitioner-mark{display:grid;width:46px;height:46px;place-items:center;color:var(--sage);border:1px solid var(--mint);border-radius:50%;font-family:Georgia,serif;font-size:.9rem}
.practitioner p{min-width:0;margin:0;padding-right:.2rem;line-height:1.35}.practitioner strong,.practitioner small{display:block}.practitioner strong{font-size:.93rem}.practitioner small{margin-top:.18rem;color:var(--slate);font-size:.8rem}
.hero-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-location{display:flex;align-items:center;gap:.55rem;margin:1.65rem 0 0;color:#5c6865;font-size:.82rem}.hero-location svg{color:var(--sage)}
.hero-visual{position:relative;justify-self:end;width:min(100%,470px);padding:0 1.8rem 2.2rem 0}
.hero-frame{position:absolute;top:1.5rem;right:0;bottom:0;left:2rem;border:1px solid #9fbcb4;border-radius:220px 220px 18px 18px}
.hero-image-card{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:210px 210px 15px 15px;box-shadow:var(--shadow-deep)}
.hero-image-card img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform 700ms ease}
.hero-visual:hover .hero-image-card img{transform:scale(1.018)}
.hero-note{position:absolute;right:-1rem;bottom:3.2rem;display:flex;min-width:245px;align-items:center;gap:.8rem;padding:.9rem 1rem;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-soft)}
.hero-note img{width:44px}.hero-note strong,.hero-note span{display:block}.hero-note strong{font-size:.84rem}.hero-note span{color:var(--slate);font-size:.72rem}

.services{padding-top:clamp(4.8rem,7vw,7rem);background:var(--paper)}
.section-heading{max-width:720px;margin-bottom:3.4rem}.section-heading>p:last-child{max-width:610px;color:var(--slate);font-size:1.05rem}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}
.service-card{position:relative;min-height:245px;padding:2.15rem 1.9rem;background:#fff;border:1px solid #dfe7e3;border-radius:22px;box-shadow:0 10px 30px rgba(32,42,40,.055);overflow:hidden;transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
.service-card::after{position:absolute;right:-55px;bottom:-65px;width:130px;height:130px;background:radial-gradient(circle,rgba(168,200,190,.18),rgba(168,200,190,0) 70%);border-radius:50%;content:"";pointer-events:none}
.service-card:hover{border-color:#b8cec7;box-shadow:0 17px 38px rgba(32,42,40,.09);transform:translateY(-3px)}
.service-accent{display:block;width:42px;height:3px;margin-bottom:2.2rem;background:var(--sage-mid);border-radius:3px;transition:width var(--ease)}
.service-card:hover .service-accent{width:58px}
.service-card h3{margin-bottom:.8rem;font-size:1.12rem}.service-card p{margin:0;color:var(--slate);font-size:.9rem;line-height:1.7}
.services-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.services-cta p{margin:0;color:var(--slate)}

.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(3.5rem,9vw,9rem)}
.about-visual{position:relative;min-height:510px;display:flex;flex-direction:column;justify-content:flex-end;padding:3rem;background:var(--sage-dark);border-radius:var(--radius-lg);overflow:hidden}
.about-visual::before,.about-visual::after{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.about-visual::before{width:390px;height:390px;top:-80px;right:-130px}.about-visual::after{width:260px;height:260px;top:65px;right:-65px}
.about-monogram{position:absolute;top:50%;left:50%;color:rgba(255,255,255,.09);font-family:Georgia,serif;font-size:clamp(8rem,18vw,14rem);line-height:1;transform:translate(-50%,-55%)}
.about-visual p{position:relative;max-width:350px;margin:0;color:#fff;font-family:Georgia,serif;font-size:1.25rem;font-weight:400;line-height:1.55}
.about-copy>p:not(.eyebrow){color:var(--slate)}
.qualification-list{margin:2rem 0}.qualification-list>div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.75rem 0;border-top:1px solid #d2dad6}.qualification-list>div:last-child{border-bottom:1px solid #d2dad6}.qualification-list dt{color:var(--sage);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.qualification-list dd{margin:0;font-size:.91rem;font-weight:650}

.practice{color:#fff;background:var(--sage-dark)}
.practice h2{color:#fff}.practice-heading{display:grid;max-width:none;grid-template-columns:1.5fr .7fr;align-items:end;gap:4rem}.practice-heading>p{margin-bottom:1.1rem;color:#cbd8d5}
.practice-gallery{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:1.25rem}
.practice-image{min-width:0;margin:0}.image-wrap{min-width:0;aspect-ratio:4/5;overflow:hidden;background:#31534d;border-radius:var(--radius)}
.practice-main .image-wrap{aspect-ratio:4/5}.practice-image img{width:100%;height:100%;object-fit:cover;transition:transform 600ms ease}.practice-main img{object-position:center 45%}.practice-image:hover img{transform:scale(1.025)}
.practice-image figcaption{display:flex;align-items:center;gap:.8rem;padding:1rem .15rem 0}.practice-image figcaption>span{color:#91b7ad;font-family:Georgia,serif;font-size:.72rem;font-style:italic}.practice-image figcaption p{margin:0}.practice-image figcaption strong,.practice-image figcaption small{display:block}.practice-image figcaption strong{color:#fff;font-size:.86rem}.practice-image figcaption small{margin-top:.15rem;color:#afc3be;font-size:.72rem}

.faq-section{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}.faq-intro{position:sticky;top:calc(var(--header-height) + 35px);align-self:start}.faq-intro>p:not(.eyebrow){color:var(--slate)}
.accordion{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:1.45rem 0;color:var(--ink);background:none;border:0;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}.faq-item button span{display:grid;flex:0 0 30px;height:30px;place-items:center;color:var(--sage);border:1px solid var(--mint);border-radius:50%;font-size:1.2rem;font-weight:400;transition:transform var(--ease)}.faq-item button[aria-expanded=true] span{transform:rotate(45deg)}.faq-answer{padding:0 3.5rem 1.25rem 0;color:var(--slate);font-size:.93rem}.faq-answer p{margin:0}.faq-answer a{color:var(--sage)}

.contact-section{position:relative;color:#fff;background:#214c45}.contact-heading{max-width:760px;margin-bottom:3rem}.contact-heading h2{color:#fff}.contact-heading>p:last-child{color:#c7d6d2}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:1.3rem}
.contact-panel{min-width:0;min-height:570px;border-radius:var(--radius);overflow:hidden}.contact-card{padding:clamp(1.6rem,3vw,2.7rem);color:var(--ink);background:var(--white)}
.contact-person{display:flex;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.contact-person>div{min-width:0;padding-right:.25rem}.contact-person img{flex:0 0 auto;width:54px}.contact-person h3{margin:0 0 .2rem;font-size:1.1rem}.contact-person span{display:block;color:var(--slate);font-size:.77rem}
.contact-card address{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem 2rem;margin:2rem 0;font-style:normal}.contact-card address>div{min-width:0}.contact-label{display:block;margin-bottom:.35rem;color:var(--sage);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.contact-card address strong,.contact-card address a{display:block;font-size:.91rem;font-weight:650;line-height:1.55}.contact-card address a{color:var(--ink);overflow-wrap:anywhere;text-underline-offset:4px}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:auto}.contact-cta{min-height:52px;padding:.65rem .6rem;font-size:.75rem}.contact-cta:nth-child(2),.contact-cta:nth-child(3){color:var(--sage);background:transparent;border-color:#a5bcb6}.contact-cta:nth-child(2):hover,.contact-cta:nth-child(3):hover{color:#fff;background:var(--sage-dark);border-color:var(--sage-dark)}
.map-card{position:relative;display:flex;background:#dfe9e5}.map-placeholder{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background-color:#e5ece9;background-image:linear-gradient(rgba(40,94,85,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(40,94,85,.065) 1px,transparent 1px);background-size:34px 34px}.map-pin{display:grid;width:58px;height:58px;margin-bottom:1rem;place-items:center;color:var(--sage);background:#fff;border-radius:50%;box-shadow:var(--shadow-soft)}.map-pin svg{width:25px;fill:currentColor}.map-kicker{margin:0;color:var(--sage);font-size:.69rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.map-placeholder h3{margin:.65rem 0;font-size:1.45rem}.map-placeholder>p:not(.map-kicker){max-width:390px;color:#596763;font-size:.83rem}.map-placeholder .button{margin:.6rem 0 1rem}.map-placeholder>a{color:var(--sage);font-size:.78rem;font-weight:700}.map-embed{width:100%;height:100%;min-height:570px;border:0}.map-loaded{background:#fff}

.site-footer{padding:4.5rem 0 1.7rem;color:#b9cbc6;background:#142d29}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1.15fr .7fr;gap:clamp(2rem,5vw,5rem)}.footer-grid>div{min-width:0}.footer-grid h2{margin-bottom:1rem;color:#fff;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase}.footer-grid p{font-size:.8rem}.footer-grid a{color:#e4eeeb;overflow-wrap:anywhere;text-underline-offset:4px}.footer-brand img{width:min(100%,330px);height:auto;margin-bottom:1.25rem;overflow:visible}.footer-brand p{max-width:350px}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;font-size:.8rem}.footer-bottom{display:flex;justify-content:space-between;margin-top:3.5rem;padding-top:1.3rem;border-top:1px solid var(--line-dark);color:#8ea39e;font-size:.72rem}.mobile-callbar{display:none}

.legal-main{min-height:65vh;padding:clamp(3.5rem,7vw,6rem) 0 clamp(5rem,9vw,8rem);background:var(--cream)}
.legal-content{max-width:850px}.legal-content .back-link{display:inline-block;margin-bottom:3rem;color:var(--sage);font-weight:700;text-underline-offset:5px}.legal-content h1{font-size:clamp(2.7rem,5vw,4.5rem)}.legal-content h2{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid #d6ded9;font-size:1.35rem;letter-spacing:-.02em}.legal-content p,.legal-content address,.legal-content li{color:#485653}.legal-content address{font-style:normal}.legal-content a{color:var(--sage);overflow-wrap:anywhere;text-underline-offset:4px}.legal-content code{padding:.12em .35em;background:#e7ece9;border-radius:3px;font-size:.88em}.legal-content ul{padding-left:1.3rem}.legal-note{padding:1.2rem 1.3rem;background:var(--mint-pale);border-left:3px solid var(--sage);border-radius:0 7px 7px 0}
.not-found{display:grid;min-height:calc(100vh - var(--header-height));place-items:center;padding:3rem 24px;text-align:center;background:var(--cream)}.not-found-content{max-width:620px}.not-found-logo{width:76px;margin:0 auto 1.5rem}.error-code{display:block;color:var(--sage);font-family:Georgia,serif;font-size:1rem;font-style:italic}.not-found h1{margin-top:.6rem;font-size:clamp(2.4rem,5vw,4rem)}.not-found p{color:var(--slate)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity 650ms ease,transform 650ms ease}.reveal.is-visible{opacity:1;transform:none}.services-grid .reveal:nth-child(2),.practice-gallery .reveal:nth-child(2){transition-delay:70ms}.services-grid .reveal:nth-child(3),.practice-gallery .reveal:nth-child(3){transition-delay:140ms}.services-grid .reveal:nth-child(4){transition-delay:210ms}

@media (max-width:1100px){
  .header-phone{display:none}.primary-nav{gap:1rem}.hero-grid{grid-template-columns:1fr .78fr;gap:3rem}.services-grid{grid-template-columns:repeat(2,1fr)}.contact-actions{grid-template-columns:1fr}.contact-cta{font-size:.83rem}.contact-panel{min-height:625px}.map-embed{min-height:625px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.footer-grid nav{flex-direction:row;flex-wrap:wrap;gap:.45rem 1rem}
}
@media (max-width:930px){
  :root{--header-height:76px}.container{width:min(calc(100% - 40px),var(--container))}.brand{width:245px}.header-actions{margin-left:auto}.header-actions .button{display:none}.menu-toggle{display:block;order:3}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .primary-nav{position:fixed;top:var(--header-height);right:0;left:0;display:flex;max-height:0;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(32,42,40,.12);visibility:hidden;opacity:0;transition:max-height 350ms ease,opacity var(--ease),visibility var(--ease)}.primary-nav.open{max-height:calc(100vh - var(--header-height));padding:1rem 20px 1.5rem;visibility:visible;opacity:1}.primary-nav a{padding:1rem;border-bottom:1px solid var(--line);font-size:1rem}.primary-nav a::after{display:none}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.hero-note{right:-.5rem;min-width:215px}
  .about-grid{grid-template-columns:.85fr 1.15fr;gap:3rem}.about-visual{min-height:440px;padding:2rem}.practice-heading{grid-template-columns:1fr;gap:.5rem}.practice-heading>p{max-width:600px}.practice-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-main{grid-row:span 2}.practice-image .image-wrap{aspect-ratio:4/3}.practice-main .image-wrap{width:100%;height:calc(100% - 58px);aspect-ratio:auto}
  .faq-grid{grid-template-columns:1fr;gap:2.5rem}.faq-intro{position:static}.contact-layout{grid-template-columns:1fr}.contact-panel,.map-embed{min-height:540px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.footer-grid nav{flex-direction:column}
}
@media (max-width:680px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.container{width:min(calc(100% - 32px),var(--container))}.section{padding:4.7rem 0}h1{font-size:clamp(2.7rem,13vw,4.1rem)}h2{font-size:clamp(2.05rem,10vw,3rem)}
  .header-inner{gap:.75rem}.brand{width:min(218px,calc(100% - 56px));flex:0 1 218px}.hero{padding:3.4rem 0 4.5rem}.hero-grid{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2;width:min(100%,430px);margin:1rem auto 0}.hero-note{right:-.2rem}.hero-location{align-items:flex-start}
  .services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:1.85rem 1.7rem}.service-accent{margin-bottom:1.7rem}.services-cta{align-items:flex-start;flex-direction:column}.about-grid{grid-template-columns:1fr}.about-visual{min-height:390px}.qualification-list>div{grid-template-columns:1fr;gap:.2rem}.practice-gallery{grid-template-columns:1fr}.practice-main{grid-row:auto}.practice-main .image-wrap,.practice-image .image-wrap{height:auto;aspect-ratio:4/3}.faq-answer{padding-right:0}
  .contact-card{padding:1.5rem}.contact-person{align-items:flex-start}.contact-card address{grid-template-columns:1fr}.contact-panel{min-height:auto}.map-card,.map-embed{min-height:510px}.map-placeholder{padding:2rem 1.4rem}.site-footer{padding:3rem 0 calc(1.25rem + env(safe-area-inset-bottom))}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-grid>div:last-child{grid-column:auto}.footer-brand img{margin-bottom:.9rem}.footer-grid h2{margin-bottom:.75rem}.footer-grid p{margin-bottom:.7rem}.footer-grid nav{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.4rem;margin-top:2.25rem;padding-top:1rem}
  .mobile-callbar{position:fixed;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;z-index:900;display:flex;min-height:62px;align-items:center;justify-content:center;gap:.55rem;padding:.4rem .75rem;color:#fff;background:var(--sage);border:1px solid rgba(255,255,255,.25);border-radius:9px;box-shadow:0 12px 35px rgba(20,52,47,.35);text-decoration:none;transition:opacity var(--ease),transform var(--ease),visibility var(--ease)}.mobile-callbar img{width:34px;height:34px;padding:3px;background:#fff;border-radius:50%}.mobile-callbar strong,.mobile-callbar small{display:block;line-height:1.25}.mobile-callbar strong{font-size:.85rem}.mobile-callbar small{margin-top:.12rem;color:#d7e8e3;font-size:.67rem}.mobile-callbar.is-hidden{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(calc(100% + 20px + env(safe-area-inset-bottom)))}
  .legal-main{padding-top:2.5rem}.legal-content .back-link{margin-bottom:2rem}
}
@media (max-width:390px){.container{width:min(calc(100% - 24px),var(--container))}.brand{width:min(190px,calc(100% - 54px));flex-basis:190px}.menu-toggle{width:42px}.hero-note{position:relative;right:auto;bottom:auto;width:calc(100% - 1.5rem);margin:-1.4rem auto 0}.contact-person img{width:45px}.contact-person span{font-size:.7rem}}
@media (max-width:360px){.brand{width:min(176px,calc(100% - 54px));flex-basis:176px}.contact-person{gap:.75rem}.contact-person h3{font-size:1.02rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
