:root{
--sand:#F4F8F3;
--sand-2:#FAFDF8;
--dune:#E4EFE5;
--dune-2:#D3E3D5;
--brand:#0A5C46;
--brand-lt:#6FC0A6;
--brand-pale:#E3F1EA;
--ink:#0E2019;
--ink-2:#2C4237;
--body:#55685C;
--muted:#7E9186;
--line:#D6E4D8;
--navy:#041124;
--em:#0C6C50;
--em-lt:#8FE0C4;
--em-pale:#EAF6F2;
--gold-accent:#C6A15B;
--max:1180px;
--serif:"Cormorant Garamond",Garamond,Georgia,serif;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.35' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23c)' opacity='0.4'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:112px}
@media(max-width:660px){html{scroll-padding-top:88px}}
body{font-family:Jost,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--body);background:var(--sand);
line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-weight:400}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;
background-image:var(--grain);background-size:240px 240px;opacity:.035;mix-blend-mode:multiply}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.08;letter-spacing:-.005em}
h1{font-size:clamp(2.9rem,6.2vw,5.2rem);font-weight:300;line-height:1.02}
h2{font-size:clamp(2.2rem,4.2vw,3.5rem);font-weight:300;line-height:1.1}
h3{font-size:1.55rem;font-weight:400}
em{font-style:italic;font-weight:300;color:var(--brand)}
body{letter-spacing:.005em}
.lead{font-weight:300;letter-spacing:.004em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.sec{padding:110px 0}
.sec-dune{background:var(--dune)}
.sec-pale{background:var(--brand-pale)}
.center{text-align:center}
.lead{font-size:1.08rem;max-width:640px;font-weight:300;line-height:1.85}
.center .lead{margin-left:auto;margin-right:auto}
.kicker{display:block;font-family:Jost;font-size:.68rem;font-weight:400;letter-spacing:.34em;text-transform:uppercase;
color:var(--muted);margin-bottom:20px}
.rn{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--brand);letter-spacing:.04em}
.rule{height:1px;background:var(--line);border:0;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Jost;font-weight:500;
font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;padding:19px 40px;border:0;cursor:pointer;white-space:nowrap;
position:relative;transition:.4s cubic-bezier(.2,.7,.3,1)}
.btn-gold{background:var(--ink);color:var(--sand-2);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 14px 30px rgba(10,20,16,.16)}
.btn-gold::before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(198,161,91,.35)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--em) 0%,var(--brand) 100%);transform:scaleX(0);
transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.3,1);z-index:0}
.btn-gold span,.btn-gold svg{position:relative;z-index:1}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 22px 40px rgba(10,20,16,.24)}
.btn-gold:hover::after{transform:scaleX(1)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand)}
.btn-line:hover{background:var(--brand);color:var(--sand-2);box-shadow:inset 0 0 0 1px var(--brand);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--sand-2);box-shadow:inset 0 0 0 1px rgba(250,247,240,.45)}
.btn-ghost:hover{background:var(--sand-2);color:var(--ink);transform:translateY(-2px)}
.btn-block{width:100%}
.ul{display:inline-flex;align-items:center;gap:9px;font-size:.9rem;font-weight:500;color:var(--ink);
padding-bottom:3px;position:relative}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brand);
transform:scaleX(1);transform-origin:right;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.ul:hover::after{transform:scaleX(0)}
.ul svg{transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.ul:hover svg{transform:translateX(5px)}
.topbar{background:var(--ink);color:#CBC2B2;font-size:.78rem;letter-spacing:.04em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:44px;gap:16px}
.topbar a:hover{color:var(--em-lt)}
.topbar-services{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.topbar-contact{flex:none;display:flex;align-items:center}
.topbar-contact a{display:inline-flex;align-items:center}
@media(max-width:1100px){.topbar-services{display:none}.topbar .wrap{justify-content:center}}
header.nav{position:sticky;top:0;z-index:80;background:rgba(253,252,248,.88);backdrop-filter:blur(16px);
border-bottom:1px solid var(--line);transition:background .4s,box-shadow .4s}
header.nav.scrolled{background:rgba(253,252,248,.96);box-shadow:0 6px 26px rgba(14,32,25,.07)}
header.nav.scrolled .wrap{height:70px}
header.nav.scrolled .brand img{width:46px;height:46px}
.nav .wrap,.brand img{transition:height .4s cubic-bezier(.2,.7,.3,1),width .4s cubic-bezier(.2,.7,.3,1)}
.nav .wrap{display:flex;align-items:center;gap:clamp(14px,1.6vw,26px);height:86px;flex-wrap:nowrap;max-width:1340px}
.brand{display:flex;align-items:center;gap:15px;line-height:1;flex:none;min-width:0;
animation:brandIn 1s cubic-bezier(.2,.7,.3,1) both}
@keyframes brandIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.brand img{width:54px;height:54px;object-fit:contain;flex:none;display:block;
filter:drop-shadow(0 3px 10px rgba(12,108,80,.34)) saturate(1.12) contrast(1.06);
transition:transform .55s cubic-bezier(.2,.7,.3,1),filter .55s ease;will-change:transform}
.brand:hover img{transform:translateY(-3px) scale(1.09) rotate(-4deg);
filter:drop-shadow(0 8px 20px rgba(12,108,80,.5)) saturate(1.3) contrast(1.1)}
.brand .bar{width:1px;height:38px;background:linear-gradient(var(--line),var(--brand-lt),var(--line));flex:none;
transition:height .5s cubic-bezier(.2,.7,.3,1)}
.brand:hover .bar{height:46px}
.brand:hover .n{letter-spacing:.005em}
.brand .n{transition:letter-spacing .5s cubic-bezier(.2,.7,.3,1)}
.brand img{animation:gemPulse 5.5s ease-in-out 1.2s infinite}
@keyframes gemPulse{
0%,100%{filter:drop-shadow(0 3px 10px rgba(12,108,80,.34)) saturate(1.12) contrast(1.06)}
50%{filter:drop-shadow(0 5px 15px rgba(12,108,80,.5)) saturate(1.26) contrast(1.1)}}
.brand:hover img{animation:none}
@media (prefers-reduced-motion:reduce){
.brand,.brand img{animation:none}
.brand:hover img{transform:none}
}
.brand .txt{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand .n{font-family:var(--serif);font-size:1.34rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.brand .n b{font-weight:400;font-style:italic;color:var(--brand)}
.brand small{display:block;font-size:.56rem;font-weight:600;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-top:6px;white-space:nowrap}
@media(max-width:560px){.brand img{width:48px;height:48px}}
@media(max-width:460px){.brand .bar{display:none}.brand small{display:none}.brand img{width:44px;height:44px}}
nav.menu{margin-left:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(13px,1.5vw,24px);
font-size:clamp(.75rem,.9vw,.84rem);font-weight:500;color:var(--ink-2);letter-spacing:.01em;min-width:0}
nav.menu a{white-space:nowrap;line-height:1;padding:6px 0;display:inline-block}
nav.menu a{position:relative;padding:4px 0}
nav.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brand);transition:width .35s}
nav.menu a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:8px;flex:none;margin-left:clamp(8px,1.4vw,18px)}
.nav .btn{padding:0 clamp(13px,1.1vw,18px);height:42px;font-size:.63rem;letter-spacing:.1em;
flex:none;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center}
.nav .btn svg{flex:none}
@media(max-width:1180px){ .nav .btn span{display:none} .nav .btn{padding:0;width:42px;gap:0} }
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:1.5px;background:var(--ink);margin:6px 0;transition:.3s}
.burger.x span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:1180px){
nav.menu{position:fixed;inset:var(--navh) 0 auto 0;background:var(--sand-2);flex-direction:column;gap:0;
padding:8px 22px 26px;display:none;border-bottom:1px solid var(--line);
max-height:calc(100dvh - var(--navh));overflow:auto;box-shadow:0 20px 40px rgba(14,32,25,.10)}
nav.menu.open{display:flex;animation:menuIn .32s cubic-bezier(.2,.7,.3,1) both}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
nav.menu a{padding:17px 2px;border-bottom:1px solid var(--line);font-size:1rem;font-weight:400;
font-family:var(--serif);color:var(--ink)}
nav.menu a::after{display:none}
nav.menu a:active{color:var(--em)}
.burger{display:block;margin-left:auto;order:3}
.nav-cta{order:4;margin-left:10px}
}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
background:var(--sand-2);padding:120px 0 96px}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.72;
animation:drift 42s ease-in-out infinite alternate;will-change:transform}
@keyframes drift{from{transform:scale(1.03)}to{transform:scale(1.15) translate3d(-1.4%,-1%,0)}}
.hero-bg::after{content:"";position:absolute;inset:0;
background:linear-gradient(100deg,var(--sand-2) 0%,rgba(250,253,248,.86) 30%,rgba(250,253,248,.4) 54%,rgba(244,248,243,.18) 100%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;
gap:clamp(32px,5vw,72px);align-items:center;width:100%}
.hero-copy{text-align:left;min-width:0}
.hero-copy .kicker{animation:rise 1.1s cubic-bezier(.2,.7,.3,1) .15s both}
.hero-mark{font-family:var(--serif);font-weight:300;color:var(--ink);line-height:1;margin:0;
animation:rise 1.2s cubic-bezier(.2,.7,.3,1) .3s both}
.hero-mark span{display:block;font-size:clamp(2rem,4.1vw,3.5rem);letter-spacing:.1em;white-space:nowrap;
background:linear-gradient(100deg,var(--ink) 30%,var(--em) 62%,var(--gold-accent) 100%);
-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-trust{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:.78rem;color:var(--muted);letter-spacing:.02em}
.hero-trust-star{color:var(--gold-accent);letter-spacing:2px;font-size:.75rem}
@media(max-width:1000px){.hero-trust{justify-content:center;text-align:left;max-width:44ch;margin-left:auto;margin-right:auto}}
.hero-mark small{display:block;font-family:Jost;font-size:clamp(.54rem,.85vw,.72rem);font-weight:300;
letter-spacing:.46em;text-transform:uppercase;color:var(--brand);margin-top:15px}
.hero-rule{width:66px;height:1px;background:var(--brand);margin:30px 0;transform-origin:left;
animation:rule 1.1s cubic-bezier(.2,.7,.3,1) .75s both}
@keyframes rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-tag{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,2.15rem);font-weight:300;color:var(--ink);
line-height:1.22;max-width:15ch;animation:rise 1.2s cubic-bezier(.2,.7,.3,1) .9s both}
.hero .lead{margin:22px 0 0;font-size:1.02rem;max-width:44ch;
animation:rise 1.2s cubic-bezier(.2,.7,.3,1) 1.05s both}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;
animation:rise 1.2s cubic-bezier(.2,.7,.3,1) 1.2s both}
@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.hero-art{position:relative;min-width:0;display:grid;place-items:center}
.hero-art svg{width:100%;height:auto;max-height:78svh;overflow:visible;
animation:float 14s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.hero-art .p{stroke-dasharray:2600;stroke-dashoffset:2600;
animation:draw 2.8s cubic-bezier(.35,.05,.2,1) forwards, shimmer 7s ease-in-out 3.2s infinite}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes shimmer{0%,100%{opacity:1}50%{opacity:.7}}
.hero-art .p1{animation-delay:.4s,3.3s}   .hero-art .p2{animation-delay:.7s,3.6s}
.hero-art .p3{animation-delay:2.5s,4.2s}  .hero-art .p4{animation-delay:1.1s,4s}
.hero-art .p5{animation-delay:1.2s,4.1s}  .hero-art .p6{animation-delay:1.35s,4.2s}
.hero-art .p7{animation-delay:1.4s,4.3s}  .hero-art .p8{animation-delay:1.55s,4.4s}
.hero-art .p9{animation-delay:1.8s,4.5s}  .hero-art .p10{animation-delay:1.9s,4.6s}
.hero-art .p11{animation-delay:1.3s,4.1s} .hero-art .p12{animation-delay:1.55s,4.3s}
.hero-art .p13{animation-delay:1.7s,4.4s} .hero-art .p14{animation-delay:1.85s,4.5s}
.hero-art .p15{animation-delay:2.1s,4.6s} .hero-art .p16{animation-delay:2.4s,4.9s}
.hero-art .p17{animation-delay:2.5s,5s}   .hero-art .p18{animation-delay:2s,4.7s}
.hero-art .p19{animation-delay:2.1s,4.8s} .hero-art .p20{animation-delay:2.3s,5s}
.hero-art .p21{animation-delay:2.5s,5.2s} .hero-art .p22{animation-delay:2.7s,5.4s}
.scroll-cue{position:absolute;left:24px;bottom:22px;z-index:2;
font-size:.56rem;letter-spacing:.36em;text-transform:uppercase;color:var(--muted);
display:flex;align-items:center;gap:12px;animation:rise 1.2s ease 1.6s both}
.scroll-cue i{display:block;width:46px;height:1px;background:linear-gradient(90deg,var(--brand),transparent);
animation:cue 2.6s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.2;transform:scaleX(.45);transform-origin:left}50%{opacity:1;transform:scaleX(1)}}
.facts-band{background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:54px 0;text-align:center}
.facts>div{padding:0 16px;border-right:1px solid var(--line)}
.facts>div:last-child{border-right:0}
.facts b{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:300;color:var(--ink);letter-spacing:-.02em}
.facts span{display:block;font-size:.8rem;color:var(--muted);margin-top:8px}
@media(max-width:1000px){
.hero{min-height:auto;padding:92px 0 78px;display:block}
.hero .wrap{grid-template-columns:1fr;gap:0;display:block}
.hero-art{position:absolute;inset:0;z-index:0;order:0;padding:0;margin:0;
max-width:none;width:auto;display:grid;place-items:center;pointer-events:none;opacity:.18}
.hero-art svg{width:168%;max-width:none;max-height:none;transform:translateY(-4%)}
.hero-copy{position:relative;z-index:2;text-align:left}
.hero-mark span{white-space:normal}
.hero-rule{margin:24px 0}
.hero-tag{max-width:18ch;margin:0}
.hero .lead{margin-left:0;margin-right:0;max-width:52ch}
.hero-cta{justify-content:flex-start}
.hero-trust{justify-content:flex-start;margin-left:0;margin-right:0;text-align:left}
.scroll-cue{display:none}
}
@media(max-width:660px){
.hero{padding:66px 0 72px}
.hero-art{opacity:.15}
.hero-art svg{width:190%}
.hero-mark span{font-size:clamp(1.85rem,8.6vw,2.5rem);letter-spacing:.06em}
.hero-mark small{letter-spacing:.34em;margin-top:12px}
.hero-tag{font-size:clamp(1.42rem,6.6vw,1.9rem);max-width:16ch}
.hero .lead{font-size:.99rem;line-height:1.85}
.hero-cta{margin-top:30px;gap:10px;flex-direction:column;align-items:stretch}
.hero-cta .btn{width:100%}
.hero-trust{margin-top:24px;align-items:flex-start}
}
@media(max-width:620px){
.facts{grid-template-columns:1fr;gap:26px;padding:42px 0}
.facts>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:26px}
.facts>div:last-child{border-bottom:0;padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){
.hero-bg img,.hero-art svg,.scroll-cue i{animation:none}
.hero-art .p{stroke-dashoffset:0;animation:none}
.hero-copy *{animation:none!important}
}
.domains{margin-top:64px;border-top:1px solid var(--line)}
.domain{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
column-gap:clamp(36px,6vw,88px);row-gap:26px;padding:clamp(44px,5vw,68px) 0;
border-bottom:1px solid var(--line);align-items:start;position:relative;transition:background .6s}
.domain::before{content:"";position:absolute;left:0;top:0;height:1px;width:0;background:var(--brand);
transition:width .8s cubic-bezier(.2,.7,.3,1)}
.domain:hover::before{width:100%}
.domain:hover{background:linear-gradient(90deg,rgba(227,241,234,.5),transparent 70%)}
.d-i{position:sticky;top:120px}
.d-num{display:block;font-family:Jost;font-size:.62rem;font-weight:400;letter-spacing:.34em;
text-transform:uppercase;color:var(--brand);margin-bottom:18px}
.domain .d-i h3{font-size:clamp(1.85rem,3vw,2.5rem);font-weight:300;line-height:1.1;margin-bottom:20px}
.d-b{font-size:.98rem;font-weight:300;line-height:1.9;color:var(--body)}
.d-i .d-b{max-width:34ch}
.d-right{min-width:0}
.d-right>.d-b{margin-bottom:28px;max-width:52ch}
.d-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,3vw,44px)}
.d-list li a{display:flex;justify-content:space-between;align-items:center;gap:18px;
padding:15px 0;border-bottom:1px solid var(--line);font-size:.92rem;font-weight:400;
color:var(--ink-2);transition:color .4s,padding .4s cubic-bezier(.2,.7,.3,1)}
.d-list li a:hover{color:var(--brand);padding-left:10px}
.d-list li a span{display:block;min-width:0}
.d-list small{display:block;color:var(--muted);font-size:.73rem;font-weight:300;margin-top:4px;
letter-spacing:.01em}
.d-list svg{flex:none;opacity:.3}
.d-list li a:hover svg{opacity:1}
@media(max-width:1040px){
.domain{grid-template-columns:1fr;row-gap:22px}
.d-i{position:static}
.d-i .d-b{max-width:none}
}
@media(max-width:680px){.d-list{grid-template-columns:1fr}}
.pillars{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--sand-2)}
.pillar{padding:clamp(34px,4vw,56px);border-right:1px solid var(--line);transition:background .6s}
.pillar:last-child{border-right:0}
.pillar:hover{background:var(--brand-pale)}
.pillar h3{font-size:clamp(1.6rem,2.4vw,2rem);font-weight:300;margin:16px 0 20px;line-height:1.15}
.pillar p{font-size:.97rem;font-weight:300;line-height:1.9}
.pillar .tagline{display:inline-block;margin-top:26px;font-size:.62rem;letter-spacing:.3em;
text-transform:uppercase;color:var(--brand);font-weight:400}
@media(max-width:860px){.pillars{grid-template-columns:1fr}
.pillar{border-right:0;border-bottom:1px solid var(--line)}
.pillar:last-child{border-bottom:0}}
.proof{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
gap:clamp(40px,6vw,80px);align-items:center}
.proof-card{background:var(--navy);color:#B9CCC4;padding:clamp(32px,3.6vw,52px);position:relative;overflow:hidden}
.proof-card::before{content:"";position:absolute;width:440px;height:440px;right:-170px;top:-170px;border-radius:50%;
background:radial-gradient(circle,rgba(15,122,92,.4),transparent 68%)}
.proof-card>*{position:relative}
.proof-card .kicker{color:var(--em-lt);margin-bottom:26px}
.pr{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:17px 0;
border-bottom:1px solid rgba(255,255,255,.11);font-size:.88rem;font-weight:300}
.pr:last-of-type{border-bottom:0}
.pr b{font-family:var(--serif);font-size:1.55rem;font-weight:300;color:#fff;white-space:nowrap}
.pr .good{color:var(--em-lt)}
.score{margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16)}
.score b{display:block;font-family:var(--serif);font-size:clamp(3rem,5vw,4.2rem);font-weight:300;
color:#fff;letter-spacing:-.03em;line-height:1}
.score span{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--em-lt)}
@media(max-width:940px){.proof{grid-template-columns:1fr}}
.certs{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.certs div{flex:1 1 170px;padding:34px 22px;border-right:1px solid var(--line);text-align:center}
.certs div:last-child{border-right:0}
.certs b{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--ink);font-weight:300}
.certs span{display:block;font-size:.64rem;color:var(--muted);letter-spacing:.24em;
text-transform:uppercase;margin-top:9px}
.wellbeing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:52px;background:var(--line);border:1px solid var(--line)}
.wb{background:var(--sand-2);padding:clamp(28px,3.2vw,44px);transition:background .6s}
.wb:hover{background:var(--brand-pale)}
.wb-n{display:block;font-family:Jost;font-size:.62rem;font-weight:400;letter-spacing:.34em;color:var(--gold-accent);margin-bottom:16px}
.wb h3{font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.55rem);font-weight:400;line-height:1.2;margin-bottom:14px;color:var(--ink)}
.wb p{font-size:.94rem;font-weight:300;line-height:1.9;color:var(--body)}
@media(max-width:800px){.wellbeing-grid{grid-template-columns:1fr}}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,3vw,44px);margin-top:48px}
.areas-col h4{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--ink);margin-bottom:16px;
padding-bottom:12px;border-bottom:1px solid var(--brand-lt)}
.areas-col-lux h4{color:var(--em);border-bottom-color:var(--gold-accent);position:relative}
.areas-col-lux h4::before{content:"✦";color:var(--gold-accent);margin-right:8px;font-size:.8em}
.areas-col ul{list-style:none}
.areas-col li{font-size:.89rem;color:var(--body);padding:6px 0;font-weight:300}
.areas-col li a{color:inherit;text-decoration:none;transition:color .3s}
.areas-col li a:hover{color:var(--em)}
.areas-col-lux li{color:var(--ink-2);font-weight:400}
.areas-col-lux li a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold-accent);text-underline-offset:3px;transition:color .3s}
.areas-col-lux li a:hover{color:var(--em)}
@media(max-width:960px){.areas-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.areas-grid{grid-template-columns:1fr}}
.ways{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px}
.way{background:var(--sand-2);border:1px solid var(--line);padding:clamp(32px,3.6vw,52px);
display:flex;flex-direction:column;transition:.5s cubic-bezier(.2,.7,.3,1)}
.way:hover{transform:translateY(-12px);border-color:var(--em-lt);box-shadow:0 40px 80px rgba(4,17,20,.16)}
.way .tag{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:400}
.way h3{font-size:clamp(1.55rem,2.3vw,1.95rem);font-weight:300;margin:16px 0 20px;line-height:1.15}
.way p{font-size:.97rem;font-weight:300;line-height:1.9;flex:1}
.way blockquote{margin-top:28px;padding-left:24px;border-left:1px solid var(--brand);
font-family:var(--serif);font-style:italic;font-size:1.15rem;font-weight:300;
color:var(--ink-2);line-height:1.65}
.way .btn,.way .ul{margin-top:32px;align-self:flex-start}
@media(max-width:860px){.ways{grid-template-columns:1fr}}
.faq{border-bottom:1px solid var(--line)}
.faq:first-of-type{border-top:1px solid var(--line)}
.faq button{width:100%;text-align:left;background:none;border:0;padding:30px 56px 30px 0;
font-family:var(--serif);font-size:clamp(1.15rem,1.9vw,1.42rem);font-weight:400;color:var(--ink);
cursor:pointer;position:relative;line-height:1.35;transition:color .4s}
.faq button:hover{color:var(--brand)}
.faq button::after{content:"";position:absolute;right:10px;top:50%;width:12px;height:12px;
border-right:1px solid var(--brand);border-bottom:1px solid var(--brand);
transform:translateY(-70%) rotate(45deg);transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.faq.open button::after{transform:translateY(-30%) rotate(-135deg)}
.faq .ans{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.7,.3,1)}
.faq .ans p{padding:0 64px 32px 0;font-size:.97rem;font-weight:300;line-height:1.9}
@media(max-width:640px){.faq .ans p{padding-right:0}}
.rev-wrap{overflow:hidden;padding:6px 0;
-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.rev-track{display:flex;gap:24px;width:max-content;animation:rev 150s linear infinite}
.rev-wrap:hover .rev-track{animation-play-state:paused}
@keyframes rev{to{transform:translateX(-50%)}}
.rev{background:var(--sand-2);border:1px solid var(--line);padding:36px;width:380px;flex:none;
display:flex;flex-direction:column;gap:18px;transition:.5s cubic-bezier(.2,.7,.3,1)}
.rev:hover{border-color:var(--brand-lt);transform:translateY(-5px)}
.rev .st{color:var(--brand);letter-spacing:4px;font-size:.8rem}
.rev p{font-size:.94rem;font-weight:300;line-height:1.9;flex:1}
.rev .by{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
padding-top:18px;border-top:1px solid var(--line);font-size:.82rem}
.rev .by b{font-weight:500;color:var(--ink)}
.rev .by span{color:var(--muted);font-size:.74rem;text-align:right}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
@media(max-width:940px){.contact-grid{grid-template-columns:1fr}}
.field{margin-bottom:26px}
.field label{display:block;font-size:.62rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
color:var(--muted);margin-bottom:11px}
.field input,.field select{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);
font:inherit;font-size:1rem;font-weight:300;color:var(--ink);background:transparent;
transition:border-color .4s;border-radius:0}
.field input:focus,.field select:focus{outline:0;border-bottom-color:var(--brand)}
.field input::placeholder{color:#AFC0B4;font-weight:300}
.form-ok{display:none;margin-top:20px;padding:18px 20px;background:var(--brand-pale);color:var(--brand);
font-size:.9rem;font-weight:400}
.mapbox{line-height:0;border:1px solid var(--line)}
.mapbox iframe{width:100%;height:340px;border:0;filter:grayscale(.4) contrast(1.03)}
footer{background:var(--navy);color:#8CA096;padding:88px 0 0;font-size:.88rem;font-weight:300}
footer .f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(30px,4vw,52px);padding-bottom:58px}
footer h4{font-family:Jost;color:#fff;font-size:.62rem;font-weight:400;letter-spacing:.3em;
text-transform:uppercase;margin-bottom:24px}
footer ul{list-style:none}
footer li{margin-bottom:13px}
footer a{transition:color .35s}
footer a:hover{color:var(--em-lt)}
footer .f-brand p{max-width:34ch;line-height:1.9}
.f-social{display:flex;gap:12px;margin-top:26px}
.f-social a{width:42px;height:42px;display:grid;place-items:center;color:#fff;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:.45s cubic-bezier(.2,.7,.3,1)}
.f-social a:hover{background:var(--em);box-shadow:inset 0 0 0 1px var(--em);transform:translateY(-4px)}
.f-pay{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:30px 0;
border-top:1px solid rgba(255,255,255,.1)}
.f-pay h5{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#fff;font-weight:400}
.f-pay .m{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem}
.f-bot{border-top:1px solid rgba(255,255,255,.1);padding:26px 0;display:flex;
justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.78rem}
.f-bot nav{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){footer .f-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .f-top{grid-template-columns:1fr}}
.float{position:fixed;right:22px;bottom:22px;z-index:90}
.float a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;
background:#25D366;box-shadow:0 14px 30px rgba(0,0,0,.2);transition:.45s cubic-bezier(.2,.7,.3,1)}
.float a:hover{transform:translateY(-4px) scale(1.06)}
.mobar{display:none}
@media(max-width:660px){
.sec{padding:76px 0}
.float{bottom:80px;right:16px}
.mobar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:95}
.mobar a{padding:18px;text-align:center;font-weight:400;font-size:.76rem;letter-spacing:.2em;
text-transform:uppercase}
.mobar a:first-child{background:var(--ink);color:var(--sand-2)}
.mobar a:last-child{background:var(--brand);color:#fff}
body{padding-bottom:58px}
}
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
padding:20px;background:rgba(7,33,26,.6);backdrop-filter:blur(6px)}
.modal.on{display:flex}
.modal-box{background:var(--sand-2);max-width:780px;width:100%;max-height:86vh;overflow:auto;
padding:clamp(30px,4vw,54px);position:relative}
.modal-box h3{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:300;margin-bottom:10px}
.modal-box h4{font-family:Jost;font-size:.64rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
color:var(--brand);margin:30px 0 10px}
.modal-box p,.modal-box li{font-size:.94rem;font-weight:300;line-height:1.9}
.modal-box ul{margin:8px 0 0 20px}
.modal-close{position:absolute;top:22px;right:22px;width:42px;height:42px;border:0;background:transparent;
color:var(--ink);font-size:1.6rem;cursor:pointer;line-height:1;transition:color .35s}
.modal-close:hover{color:var(--brand)}
.d-list li a{position:relative;overflow:hidden}
.d-list li a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;
background:linear-gradient(90deg,var(--brand-pale),transparent);transition:width .55s cubic-bezier(.2,.7,.3,1);z-index:-1}
.d-list li a:hover::before{width:100%}
.d-list svg{transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .35s}
.d-list li a:active svg{transform:translateX(14px) scale(1.25)}
.d-list li a.tapped svg{animation:fly .7s cubic-bezier(.2,.7,.3,1)}
@keyframes fly{0%{transform:translateX(0)}45%{transform:translateX(20px);opacity:.15}
46%{transform:translateX(-16px);opacity:0}100%{transform:translateX(0);opacity:1}}
.f-social a svg,.float a svg{transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.f-social a:active svg{transform:scale(1.35) rotate(-12deg)}
.f-social a.tapped svg,.float a.tapped svg{animation:pop .65s cubic-bezier(.2,.7,.3,1)}
@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.42) rotate(-14deg)}
65%{transform:scale(.9) rotate(6deg)}100%{transform:scale(1) rotate(0)}}
.btn{overflow:hidden}
.rip{position:absolute;border-radius:50%;transform:translate(-50%,-50%) scale(0);
background:rgba(255,255,255,.42);pointer-events:none;animation:rip .75s ease-out forwards}
.btn-line .rip,.btn-ghost .rip{background:rgba(10,92,70,.22)}
@keyframes rip{to{transform:translate(-50%,-50%) scale(2.6);opacity:0}}
nav.menu a:active{color:var(--brand)}
.certs div{transition:background .5s,transform .45s cubic-bezier(.2,.7,.3,1)}
.certs div:hover{background:var(--brand-pale);transform:translateY(-8px)}
.certs div:active{transform:translateY(1px)}
.rv{opacity:0;transform:translateY(38px) scale(.985);transition:opacity 1.05s cubic-bezier(.16,.8,.24,1),transform 1.05s cubic-bezier(.16,.8,.24,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.rev-track{animation:none}}
footer .foot-h{font-family:Jost;color:#fff;font-size:.62rem;font-weight:400;letter-spacing:.3em;
text-transform:uppercase;margin-bottom:24px}

.areas-col .as-h4{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--ink);margin-bottom:16px;
padding-bottom:12px;border-bottom:1px solid var(--brand-lt)}
.areas-col-lux .as-h4::before{content:"✦";color:var(--gold-accent);margin-right:8px;font-size:.8em}
.f-pay .as-h5{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#fff;font-weight:400}
.modal-box .as-h4{font-family:Jost;font-size:.64rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
color:var(--brand);margin:30px 0 10px}
