:root{
  --bg:#F5F2EC; --sand:#ECE7DE; --green:#3F5A4C; --green-dark:#2E4539;
  --ink:#2E3A34; --ink-2:#4F5C54; --ink-3:#56635B; --muted:#7C8A82;
  --accent:#5E7A6B; --line:#D6CFC2; --serif:Newsreader,serif; --sans:Figtree,system-ui,sans-serif;
  --gutter:clamp(20px,5vw,48px); --pad-y:clamp(72px,10vw,128px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--ink);text-decoration:underline}
input,textarea,select,button{font-family:inherit}
h1,h2,h3,p,ul{margin:0}
[hidden]{display:none!important}
.page{min-height:100vh;background:var(--bg);overflow-x:hidden}
.container{width:100%;max-width:1120px}

/* header */
.header{position:fixed;top:0;left:0;right:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:center;padding:0 var(--gutter);background:rgba(245,242,236,0);border-bottom:1px solid transparent;transition:background .5s ease,border-color .5s ease}
.header.solid{background:rgba(245,242,236,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header.scrolled{border-bottom-color:rgba(46,58,52,.08)}
.header-inner{width:100%;max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.brand:hover{text-decoration:none;color:var(--ink)}
.brand-mark{width:30px;height:30px;border-radius:50%;background:#C9D6CE;display:grid;place-items:center;font:italic 400 17px/1 var(--serif);color:#3F5A4C}
.brand-name{font:400 19px/1 var(--serif);letter-spacing:.01em}
.nav-desktop{display:flex;align-items:center;gap:26px}
.nav-desktop a{font:500 14px/1 var(--sans);color:#4A574F}
.nav-desktop a:hover{color:var(--ink);text-decoration:none}
.lang{display:flex;gap:2px;padding:3px;border-radius:999px;background:#E8E3D9}
.lang button{border:0;cursor:pointer;padding:7px 11px;border-radius:999px;font:600 11px/1 var(--sans);letter-spacing:.08em;background:transparent;color:#4A574F;transition:background .3s ease}
.lang button[aria-pressed=true]{background:var(--green);color:var(--bg)}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-right:-10px}
.burger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .4s ease}
.burger.open span:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger.open span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

/* mobile menu */
.menu{position:fixed;inset:68px 0 0 0;z-index:19;background:var(--bg);padding:40px 24px 32px;display:flex;flex-direction:column;justify-content:space-between}
.menu-nav{display:flex;flex-direction:column;gap:6px}
.menu-nav a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid #E2DCD0;color:var(--ink)}
.menu-nav a:hover{text-decoration:none}
.menu-nav .n{font:500 11px/1 var(--sans);color:#8A968F;letter-spacing:.1em}
.menu-nav .t{font:300 34px/1.1 var(--serif)}
.menu-lang{display:flex;flex-direction:column;gap:14px}
.label-muted{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.menu-lang-row{display:flex;gap:8px}
.menu-lang-row button{flex:1;height:48px;border:1px solid #D9D2C4;cursor:pointer;border-radius:999px;font:600 13px/1 var(--sans);letter-spacing:.08em;background:transparent;color:#4A574F}
.menu-lang-row button[aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green)}
@media (max-width:919px){.nav-desktop{display:none}.burger{display:flex}}
@media (min-width:920px){.menu{display:none!important}}

/* shared type */
.eyebrow{font:600 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.eyebrow-sm{line-height:1}
.eyebrow-light{color:#C6D6CC}
h1{font:300 clamp(42px,7vw,76px)/1.04 var(--serif);letter-spacing:-.02em;text-wrap:balance}
h1 em{font-style:italic;color:var(--accent)}
h2{font:300 clamp(32px,4.6vw,52px)/1.1 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.lead{max-width:30em;font:400 clamp(16px,1.6vw,18px)/1.65 var(--sans);color:var(--ink-3);text-wrap:pretty}
.body{font:400 17px/1.7 var(--sans);color:var(--ink-2);text-wrap:pretty;text-align: justify;}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;font:500 15px/1 var(--sans);cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none}
.btn-primary{padding:0 28px;border:0;background:var(--green);color:var(--bg);transition:background .3s ease,transform .3s ease}
.btn-primary:hover{background:var(--green-dark);color:var(--bg);transform:translateY(-1px)}
.btn-ghost{padding:0 24px;border:1px solid #C9C2B4;color:var(--ink);transition:background .3s ease}
.btn-ghost:hover{background:#ECE7DE;color:var(--ink)}
.btn-block{width:100%}

/* sections */
.section{padding:var(--pad-y) var(--gutter);display:flex;justify-content:center}
.section-sand{background:var(--sand)}
.section-green{background:var(--green);color:#F1EEE6}
.section-green h2{color:var(--bg)}
.stack-lg{display:flex;flex-direction:column;gap:clamp(40px,6vw,64px)}
.section-head{display:flex;flex-direction:column;gap:20px;max-width:640px}

/* hero */
.hero{position:relative;padding:calc(68px + clamp(48px,9vw,112px)) var(--gutter) clamp(64px,9vw,120px);display:flex;justify-content:center}
.blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
.blob-a{top:60px;right:-120px;width:420px;height:420px;background:#D7E2DA;opacity:.8}
.blob-b{bottom:-40px;left:-140px;width:360px;height:360px;background:#EADFCF;opacity:.9}
.hero-inner{position:relative;width:100%;max-width:1120px;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,80px)}
.hero-copy{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:28px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.hero-photo-wrap{flex:1 1 300px;max-width:460px;margin:0 auto;width:100%}

/* photos */
.photo{position:relative;width:100%;overflow:hidden}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font:500 13px/1.3 system-ui,sans-serif;color:var(--ink);opacity:.5;border:1.5px dashed currentColor;z-index:0}
.photo img{z-index:1}
.photo-arch{aspect-ratio:4/5;border-radius:999px 999px 28px 28px;background:#E3E8E2}
.photo-arch .photo-ph{border-radius:999px 999px 28px 28px}
.photo-portrait{aspect-ratio:3/4;border-radius:24px;background:#DCD5C8}
.photo-portrait .photo-ph{border-radius:24px}

/* about */
.about-grid{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px);align-items:flex-start}
.about-photo{flex:1 1 260px;max-width:380px;width:100%}
.about-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.creds{list-style:none;padding:0;margin-top:8px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.creds li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font:400 15px/1.4 var(--sans)}
.creds li span:last-child{color:var(--muted);white-space:nowrap}

/* approach */
.approach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(28px,4vw,48px)}
.approach-item{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--line)}
.approach-item .n{font:italic 300 40px/1 var(--serif);color:#8FA89A}
.approach-item h3{font:400 24px/1.25 var(--serif)}
.approach-item h4{font:400 24px/1.25 var(--serif);text-align:center }
.approach-item p{font:400 16px/1.65 var(--sans);color:var(--ink-3);text-wrap:pretty;text-align: justify;}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.service{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3vw,36px);border-radius:24px;background:rgba(245,242,236,.06);border:1px solid rgba(245,242,236,.14);transition:background .4s ease}
.service:hover{background:rgba(245,242,236,.11)}
.service h3{font:400 26px/1.2 var(--serif);color:var(--bg)}
.service p{font:400 16px/1.65 var(--sans);color:#D5DED8;text-wrap:pretty;text-align: justify;}
.service .meta{margin-top:auto;padding-top:10px;font:500 13px/1.4 var(--sans);color:#B9CCC0}

/* pause */
.pause-inner{width:100%;max-width:720px;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.pause h2{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.01em}
.pause .body{max-width:28em;font-size:16px;line-height:1.65;color:var(--ink-3)}
.breath{position:relative;width:220px;height:220px;display:grid;place-items:center}
.breath-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #8FA89A;animation:breatheRing 8s ease-in-out infinite}
.breath-dot{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#DCE6DF,#A9BFB1);animation:breathe 8s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.72);opacity:.75}50%{transform:scale(1);opacity:1}}
@keyframes breatheRing{0%,100%{transform:scale(.8);opacity:.25}50%{transform:scale(1.12);opacity:.6}}

/* contact */
.contact-grid{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px)}
.contact-copy{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:24px}
.details{display:flex;flex-direction:column;gap:18px;padding-top:12px}
.details div{display:flex;flex-direction:column;gap:4px}
.details .k{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.details .v{font:400 18px/1.4 var(--serif);color:var(--ink)}
.form-card{flex:1 1 380px;min-width:0;background:var(--bg);border-radius:28px;padding:clamp(24px,4vw,44px)}
.form{display:flex;flex-direction:column;gap:18px}
.form label{display:flex;flex-direction:column;gap:8px;font:500 13px/1 var(--sans);color:#4A574F}
.form input,.form select{height:50px;padding:0 16px;border-radius:14px;border:1px solid #D9D2C4;background:#FBFAF7;font-size:16px;color:var(--ink);outline:none}
.form select{padding:0 14px}
.form textarea{padding:14px 16px;border-radius:14px;border:1px solid #D9D2C4;background:#FBFAF7;font-size:16px;line-height:1.5;color:var(--ink);outline:none;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(94,122,107,.15)}
.form .btn{margin-top:6px}
.privacy{font:400 12px/1.5 var(--sans);color:var(--muted)}
.thanks{min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.thanks-mark{font:italic 300 48px/1 var(--serif);color:#8FA89A}
.thanks h3{font:300 32px/1.15 var(--serif)}
.thanks p{font:400 16px/1.6 var(--sans);color:var(--ink-3);text-align: justify;}

/* footer */
.footer{padding:48px var(--gutter) 40px;display:flex;justify-content:center}
.footer-inner{display:flex;flex-direction:column;gap:20px}
.crisis{padding:16px 20px;border-radius:16px;background:#E3EAE5;font:400 14px/1.55 var(--sans);color:var(--green);text-wrap:pretty}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:400 13px/1.5 var(--sans);color:var(--muted)}


.form-error{font:500 13px/1.5 var(--sans);color:#9A3B2E}
.btn:disabled{opacity:.7;cursor:progress}
.form{position:relative}

.topics{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.topics li{padding:10px 18px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font:500 15px/1.2 var(--sans);color:var(--green)}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.footer-brand{font:500 14px/1.5 var(--sans);color:var(--ink-2)}

.details .v a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.details .v a:hover{border-bottom-color:var(--accent)}
.areas{display:flex;flex-direction:column;gap:18px}
.areas h3{font:500 clamp(22px,2.6vw,28px)/1.25 var(--serif);margin:0;color:var(--green)}
.approach-lead{font:500 clamp(20px,2.4vw,26px)/1.3 var(--serif);margin:0 0 -24px;color:var(--green)}

.dd{position:relative}
.dd-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.dd-btn{width:100%;height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border-radius:14px;border:1px solid #D9D2C4;background:#FBFAF7;font-size:16px;color:var(--ink);cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.dd-btn:hover{border-color:#C9C2B4}
.dd-btn:focus-visible,.dd.open .dd-btn{border-color:var(--accent);box-shadow:0 0 0 3px rgba(94,122,107,.15)}
.dd-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-chev{flex:none;width:8px;height:8px;margin:-4px 2px 0 0;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}
.dd.open .dd-chev{transform:rotate(-135deg);margin-top:4px}
.dd-list{display:none;position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;max-height:260px;overflow-y:auto;border-radius:14px;border:1px solid #D9D2C4;background:#FBFAF7;box-shadow:0 12px 32px rgba(46,58,52,.14)}
.dd.open .dd-list{display:block}
.dd-list li{position:relative;padding:12px 40px 12px 14px;border-radius:10px;font:400 16px/1.35 var(--sans);color:var(--ink);cursor:pointer}
.dd-list li.active{background:rgba(94,122,107,.10)}
.dd-list li[aria-selected="true"]{color:var(--accent);font-weight:500}
.dd-list li[aria-selected="true"]::after{content:"";position:absolute;right:16px;top:50%;width:5px;height:9px;margin-top:-6px;border-right:1.6px solid var(--accent);border-bottom:1.6px solid var(--accent);transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.dd-btn,.dd-chev{transition:none}}
