:root{--teal:#3f5c57;--teal-deep:#2e443f;--sage:#7b8572;--sage-text:#5e6857;--cream:#f7f4ee;--linen:#f2eee7;--stone:#d8d2c8;--stone-2:#d8d2c8;--charcoal:#2f2f2f;--taupe:#6d6a66;--white:#fff;--line:#ded7cb;--black-btn:#2b2b28;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Avenir Next", "Inter", system-ui, -apple-system, sans-serif;--maxw:1160px;--shadow:0 14px 40px #2f2f2f0f;--shadow-hover:0 22px 54px #2f2f2f1f;--section-y:110px;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}section[id],[id]{scroll-margin-top:86px}body{font-family:var(--sans);color:var(--charcoal);background:var(--cream);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.section-serif{font-family:var(--serif);color:var(--teal);margin:0 0 14px;font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:500;line-height:1.12}.section-serif.center{text-align:center}.eyebrow{letter-spacing:.26em;text-transform:uppercase;color:var(--taupe);margin:0 0 14px;font-size:.68rem;font-weight:600}.eyebrow.center{text-align:center}.about-name{font-family:var(--serif);color:var(--charcoal);margin:0 0 18px;font-size:1.5rem;font-weight:500}.rule{background:var(--charcoal);opacity:.35;width:70px;height:1px;margin:16px 0;display:block}.center-rule{margin:12px auto 40px}.btn{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), transform .18s var(--ease), box-shadow .25s var(--ease);border:none;justify-content:center;align-items:center;font-size:.66rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-dark{background:var(--black-btn);color:var(--cream);border-radius:2px;padding:15px 26px}.btn-dark:hover{background:#1f1f1d;transform:translateY(-2px);box-shadow:0 10px 22px #00000038}.btn-outline{color:var(--charcoal);border:1px solid var(--charcoal);background:0 0;border-radius:2px;padding:13px 26px}.btn-outline:hover{background:var(--charcoal);color:var(--cream)}.site-header{z-index:50;-webkit-backdrop-filter:saturate(150%)blur(10px);backdrop-filter:saturate(150%)blur(10px);transition:box-shadow .3s var(--ease);background:#f7f4eee6;position:sticky;top:0}.site-header.scrolled{box-shadow:0 6px 20px #2f2f2f0f}.header-inner{align-items:center;gap:24px;min-height:70px;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.22em;color:var(--charcoal);font-size:1.05rem;font-weight:600}.brand-tag{letter-spacing:.24em;color:var(--taupe);margin-top:3px;font-size:.56rem}.main-nav{gap:30px;margin-left:auto;display:flex}.main-nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);padding-bottom:3px;font-size:.7rem;font-weight:500;position:relative}.main-nav a:after{content:"";background:var(--charcoal);width:0;height:1.5px;transition:width .28s var(--ease);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.header-cta{white-space:nowrap}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;margin-left:auto;display:none}.nav-toggle span{background:var(--charcoal);width:22px;height:2px;transition:transform .25s var(--ease), opacity .2s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{background:var(--cream);align-items:center;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-bg{background-color:#0000;background-image:linear-gradient(90deg,#f7f4eef5 0%,#f7f4eec7 32%,#f7f4ee40 60%,#f7f4ee0d 100%),url(/images/hero-banner.webp);background-position:100%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.hero-overlay{background:radial-gradient(120% 100% at 0%,#f7f4ee80,#0000 55%);position:absolute;inset:0}.hero-content{padding:70px 0;position:relative}.hero-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--charcoal);margin:0 0 22px;font-size:.66rem;font-weight:600}.hero-title{font-family:var(--serif);color:var(--teal);margin:0;font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:500;line-height:1.12}.hero-sub{font-family:var(--serif);color:var(--charcoal);margin:18px 0 32px;font-size:1.5rem;line-height:1.35}.hero-cta{margin-top:4px}.pain{background:var(--cream);padding:var(--section-y) 0 90px}.pain-row{grid-template-columns:repeat(6,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.pain-row li{text-align:center;padding:0 18px;position:relative}.pain-row li+li:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:0}.pic{width:44px;height:44px;color:var(--charcoal);transition:transform .3s var(--ease);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:1.2rem;display:grid}.pain-row li:hover .pic{transform:translateY(-3px)scale(1.08)}.pain-row p{color:var(--charcoal);margin:0;font-size:.78rem;line-height:1.5}.pic svg{width:28px;height:28px}.pillar-ic svg{width:46px;height:46px}.card-ic svg{width:32px;height:32px}.approach{background:var(--linen);padding:var(--section-y) 0;text-align:center}.pillars{grid-template-columns:repeat(3,1fr);display:grid}.pillar{padding:0 40px;position:relative}.pillar+.pillar:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:0}.pillar-ic{width:64px;height:64px;transition:transform .35s var(--ease);place-items:center;margin:0 auto 20px;font-size:1.5rem;display:grid}.pillar:hover .pillar-ic{transform:translateY(-4px)}.pillar h3{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);margin:0 0 14px;font-size:.82rem;font-weight:600}.pillar p{color:var(--charcoal);margin:0;font-size:.86rem;line-height:1.6}.tools{background:var(--stone);padding:var(--section-y) 0}.tools-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:70px;display:grid}.tools-title{margin:8px 0 0;font-size:clamp(2.4rem,4.4vw,3.4rem);line-height:1.06}.tools-right{padding-top:6px}.tools-right p{color:var(--charcoal);margin:0 0 18px;font-size:.95rem}.tools-lead{color:var(--charcoal)!important;font-size:1rem!important}.tools-strong{font-weight:600;color:var(--charcoal)!important}.support{background:var(--cream);padding:var(--section-y) 0}.cards{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.card{background:var(--white);border:1px solid var(--line);text-align:center;transition:transform .35s var(--ease), box-shadow .35s var(--ease);flex-direction:column;align-items:center;padding:36px 24px 32px;display:flex}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.card-ic{color:var(--charcoal);transition:transform .35s var(--ease);margin-bottom:18px;font-size:1.6rem}.card:hover .card-ic{transform:scale(1.1)}.card h3{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:.8rem;font-weight:600;line-height:1.4}.card p{color:var(--charcoal);margin:0 0 12px;font-size:.82rem;line-height:1.55}.card p:last-child{margin-bottom:0}.card-tags{border-top:1px solid var(--line);letter-spacing:.06em;width:100%;color:var(--sage-text);margin-top:auto;padding-top:18px;font-size:.7rem;font-weight:600}.about{background:var(--linen)}.about-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px;padding:0 32px;display:grid}.about-media{background-color:#0000;background-image:linear-gradient(160deg,#3f5c570f,#7b85721f),url(/images/about-profile.webp);background-position:top;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-self:stretch;min-height:440px;margin-left:-32px}.about-copy{padding:80px 0}.about-copy .section-serif{font-size:clamp(1.6rem,2.8vw,2.2rem)}.about-copy p{color:var(--charcoal);max-width:520px;margin:0 0 18px;font-size:.92rem}.about-quals-head{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--charcoal)!important;margin:30px 0 14px!important}.about-quals{gap:10px;max-width:520px;margin:0 0 30px;padding:0;list-style:none;display:grid}.about-quals li{color:var(--charcoal);padding-left:24px;font-size:.9rem;line-height:1.5;position:relative}.about-quals li:before{content:"✓";color:var(--sage);font-size:.78rem;font-weight:600;position:absolute;top:1px;left:0}.about-clients{max-width:520px;font-size:.9rem;font-weight:500;line-height:1.7;color:var(--charcoal)!important;margin:0 0 30px!important}.grounded{background:var(--stone-2);position:relative;overflow:hidden}.grounded-grid{padding:var(--section-y) 32px;grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.grounded-title{font-family:var(--serif);color:var(--teal);margin:0 0 8px;font-size:clamp(2.4rem,4.4vw,3.4rem);font-weight:500}.grounded-tag{letter-spacing:.06em;color:var(--charcoal);margin:0 0 4px;font-size:.86rem}.grounded-desc{color:var(--charcoal);max-width:360px;margin:0;font-size:.92rem}.grounded-list-intro{color:var(--charcoal);margin:0 0 16px;font-size:.92rem}.grounded-points{gap:12px;margin:0 0 26px;padding:0;list-style:none;display:grid}.grounded-points li{color:var(--charcoal);padding-left:30px;font-size:.92rem;position:relative}.grounded-points li:before{content:"✓";border:1px solid var(--sage);width:20px;height:20px;color:var(--sage);border-radius:50%;place-items:center;font-size:.7rem;display:grid;position:absolute;top:0;left:0}.cta-band{background:var(--linen);position:relative;overflow:hidden}.cta-bg{background-color:#0000;background-image:linear-gradient(90deg,#f2eee7f5 40%,#f2eee74d 100%),url(/images/cta-vase.webp);background-position:100%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.cta-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:50px;padding:70px 32px;display:grid;position:relative}.cta-title{font-family:var(--serif);color:var(--teal);margin:0 0 14px;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:500;line-height:1.1}.cta-sub{color:var(--charcoal);max-width:300px;margin:0 0 22px;font-size:.92rem}.cta-form{background:0 0}.form-head{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin:0 0 16px;font-size:.66rem;font-weight:600}.form-rows{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cta-form input,.form-select{font-family:var(--sans);border:1px solid var(--line);background:var(--white);color:var(--charcoal);width:100%;transition:border-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:2px;padding:13px 14px;font-size:.86rem}.cta-form input:focus,.form-select:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 3px #7b85722e}.form-select{color:var(--taupe)}.cta-submit{width:100%;margin-top:12px}.form-note{color:var(--teal);text-align:center;min-height:1em;margin:8px 0 0;font-size:.84rem}.site-footer{background:var(--charcoal);color:var(--cream);padding:48px 0 26px}.footer-grid{grid-template-columns:1.3fr 1.4fr auto;align-items:center;gap:36px;display:grid}.site-footer .brand-name{color:var(--cream)}.site-footer .brand-tag{color:#f7f4ee99}.footer-brand{flex-direction:column;line-height:1.1;display:flex}.footer-contact p{color:#f7f4eec7;margin:0 0 8px;font-size:.88rem}.footer-contact a:hover{color:var(--white)}.fc-ic{color:var(--sage);margin-right:7px}.fc-ic svg{vertical-align:-2px}.footer-bottom{border-top:1px solid #f7f4ee26;margin-top:30px;padding-top:18px}.footer-bottom p{color:#f7f4ee99;margin:0;font-size:.76rem}@media (width<=980px){:root{--section-y:80px}.pain-row{grid-template-columns:repeat(3,1fr);gap:30px 0}.pain-row li:nth-child(3n+1):before{display:none}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){:root{--section-y:60px}.header-cta{display:none}.nav-toggle{display:flex}.main-nav{background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:0;transition:max-height .35s var(--ease);flex-direction:column;gap:0;position:absolute;top:70px;left:0;right:0;overflow:hidden}.main-nav.open{max-height:420px}.main-nav a{border-bottom:1px solid var(--line);padding:15px 32px}.main-nav a:after{display:none}.hero{min-height:480px}.hero-bg{background-position:50%}.pain-row{grid-template-columns:1fr 1fr;gap:28px 16px}.pain-row li:before{display:none!important}.pillars{grid-template-columns:1fr;gap:44px}.pillar+.pillar:before{display:none}.pillar{padding:0}.tools-grid{grid-template-columns:1fr;gap:30px}.cards{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:0}.about-media{min-height:320px;margin:0 -32px}.about-copy{padding:44px 0 56px}.grounded-grid{grid-template-columns:1fr;gap:30px}.cta-grid{grid-template-columns:1fr;gap:30px;padding:56px 32px}.form-rows{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:22px}}.scroll-progress{background:linear-gradient(90deg, var(--sage), var(--teal));z-index:100;width:0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.hero-bg{transform-origin:50%;animation:16s ease-in-out infinite alternate drift}@keyframes drift{0%{filter:brightness();transform:scale(1.04)translate(0)}50%{filter:brightness(1.03);transform:scale(1.06)translate(-1.2%,.8%)}to{filter:brightness(.99);transform:scale(1.05)translate(1%,-.6%)}}.img-reveal{clip-path:inset(0 0 100%);transition:clip-path 1.1s var(--ease)}.img-reveal.is-visible{clip-path:inset(0)}.hero-title .line{opacity:0;animation:lineUp .8s var(--ease) forwards;display:block;transform:translateY(18px)}.hero-title .line:first-child{animation-delay:.15s}.hero-title .line:nth-child(2){animation-delay:.32s}.hero-title .line:nth-child(3){animation-delay:.49s}@keyframes lineUp{to{opacity:1;transform:none}}.magnetic{transition:transform .25s var(--ease)}.site-footer{position:relative;overflow:hidden}.site-footer:before{content:"";pointer-events:none;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), #7b857238, transparent 60%);opacity:0;transition:opacity .4s var(--ease);position:absolute;inset:0}.site-footer:hover:before{opacity:1}.site-footer .container{z-index:1;position:relative}.form-success{text-align:center;padding:30px 20px;display:none}.cta-form.sent .form-rows,.cta-form.sent .cta-submit,.cta-form.sent .form-head{display:none}.cta-form.sent .form-success{animation:fadeUp .5s var(--ease);display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.success-check{border:2px solid var(--teal);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.success-check svg{width:26px;height:26px}.success-check path{stroke:var(--teal);stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:draw .6s .15s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.form-success h4{font-family:var(--serif);color:var(--charcoal);margin:0 0 6px;font-size:1.5rem;font-weight:500}.form-success p{color:var(--charcoal);margin:0;font-size:.9rem}@media (prefers-reduced-motion:reduce){.hero-bg{animation:none}.hero-title .line{opacity:1;animation:none;transform:none}.img-reveal{clip-path:none;transition:none}.magnetic{transition:none}}.footer-legal{color:#f7f4eebf;text-underline-offset:2px;text-decoration:underline}.footer-legal:hover{color:var(--white)}.consent-banner{z-index:200;max-width:var(--maxw);background:var(--teal-deep);color:var(--cream);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:18px 22px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 18px 50px #00000047}.consent-banner[hidden]{display:none}.consent-text{flex:320px;margin:0;font-size:.9rem;line-height:1.5}.consent-text a{color:var(--cream);text-underline-offset:2px;text-decoration:underline}.consent-actions{flex:none;align-items:center;gap:10px;display:flex}.consent-actions .btn{white-space:nowrap}.consent-actions .btn-outline{color:var(--cream);border-color:#f7f4ee80}.consent-actions .btn-outline:hover{background:var(--cream);color:var(--teal-deep);border-color:var(--cream)}.privacy-overlay{z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f1f1d8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.privacy-overlay[hidden]{display:none}.privacy-modal{background:var(--white);color:var(--charcoal);width:100%;max-width:680px;max-height:85vh;box-shadow:var(--shadow-hover);border-radius:16px;position:relative;overflow-y:auto}.privacy-body{padding:40px 42px}.privacy-close{z-index:1;background:var(--linen);width:38px;height:38px;color:var(--charcoal);cursor:pointer;transition:background .2s var(--ease);border:none;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:14px;right:16px}.privacy-close:hover{background:var(--stone)}.privacy-body h2{font-family:var(--serif);color:var(--teal-deep);margin:0 0 4px;font-size:1.9rem}.privacy-updated{color:var(--taupe);margin:0 0 20px;font-size:.8rem}.privacy-body h3{color:var(--teal);margin:22px 0 6px;font-size:1rem}.privacy-body p,.privacy-body li{color:var(--charcoal);font-size:.92rem;line-height:1.65}.privacy-body ul{margin:8px 0;padding-left:20px}.privacy-body li{margin-bottom:6px}.privacy-body a{color:var(--teal);text-underline-offset:2px;text-decoration:underline}body.modal-open{overflow:hidden}@media (width<=560px){.privacy-body{padding:34px 24px}.consent-banner{padding:16px 18px}}.hp-field{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.cta-form .cf-turnstile{margin:4px 0 14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}
