:root{--g:#1e4a40;--gd:#143329;--sage:#9bbcb5;--cream:#f5eee6;--blush:#f3d8d0;--taupe:#b89b83;--ink:#222;--mut:#6f655f;--r:22px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--cream);color:var(--ink);font-family:Poppins,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--gd);font-family:Cormorant Garamond,serif;font-weight:500;line-height:1.08}h2{margin-bottom:1rem;font-size:clamp(2rem,4.5vw,3.4rem)}h3{font-size:1.6rem}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--taupe);margin-bottom:1rem;font-size:.74rem;font-weight:500}section{padding:clamp(4rem,9vw,8rem) clamp(1.2rem,5vw,5rem)}.btn{background:var(--g);color:var(--cream);letter-spacing:.03em;border:1px solid var(--g);cursor:pointer;border-radius:99px;padding:.95rem 1.9rem;font-family:inherit;font-size:.92rem;font-weight:500;transition:all .35s;display:inline-block}.btn:hover{background:var(--gd);transform:translateY(-2px);box-shadow:0 12px 28px -10px #14332980}.btn-ghost{color:var(--g);background:0 0}.btn-ghost:hover{background:var(--g);color:var(--cream)}.btn-sm{padding:.6rem 1.2rem;font-size:.82rem}.cta-row{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.loader{z-index:100;pointer-events:none;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.door{background:var(--g);width:50.1%;position:absolute;top:0;bottom:0}.door.l{left:0}.door.r{right:0}.loader-text{text-align:center;color:var(--cream);position:relative}.loader-text span{font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,8vw,5rem);display:block}.loader-text small{letter-spacing:.3em;text-transform:uppercase;color:var(--sage);font-size:.7rem}.no-js .loader{display:none}.nav{z-index:50;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.2rem,5vw,5rem);transition:all .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5eee6e0;padding-top:.7rem;padding-bottom:.7rem;box-shadow:0 1px #0000000f}.brand b{color:var(--gd);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;line-height:1;display:block}.brand small{letter-spacing:.2em;text-transform:uppercase;color:var(--mut);font-size:.6rem}.nav nav{gap:1.8rem;font-size:.85rem;display:flex}.nav nav a{position:relative}.nav nav a:after{content:"";background:var(--g);width:0;height:1px;transition:all .3s;position:absolute;bottom:-3px;left:0}.nav nav a:hover:after{width:100%}.hero{background:radial-gradient(900px 500px at 85% 20%,var(--blush),transparent 70%),var(--cream);grid-template-columns:1.05fr 1fr;align-items:center;gap:3rem;min-height:100svh;padding-top:7rem;padding-bottom:4rem;display:grid}.hero h1{margin-bottom:1.4rem;font-size:clamp(3.2rem,8vw,6.8rem)}.hero h1 .ln{padding-bottom:.08em;display:block;overflow:hidden}.hero h1 .ln i{font-style:normal;display:inline-block}.hero h1 .ln:last-child i{color:var(--g);font-style:italic}.lead{max-width:34rem;color:var(--mut);font-size:1.05rem}.proof{color:var(--mut);flex-wrap:wrap;gap:2rem;margin-top:2.4rem;font-size:.8rem;list-style:none;display:flex}.proof b{color:var(--gd);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;display:block}.proof li:first-child b{display:inline}.hero-img{height:min(78vh,640px);position:relative}.arch{border-radius:999px 999px 24px 24px;width:68%;height:88%;position:absolute;top:0;right:0;overflow:hidden;box-shadow:0 40px 70px -35px #1433298c}.arch.small{border:6px solid var(--cream);border-radius:999px 999px 20px 20px;width:44%;height:46%;top:auto;bottom:0;left:0;right:auto}.arch img{object-fit:cover;object-position:center 20%;width:100%;height:100%;transform:scale(1.12)}.badge{background:var(--g);width:112px;height:112px;color:var(--cream);text-align:center;border-radius:50%;place-content:center;line-height:1;animation:spin;display:grid;position:absolute;bottom:6%;right:-4px}.badge span{letter-spacing:.2em;text-transform:uppercase;color:var(--sage);font-size:.65rem}.badge b{font-family:Cormorant Garamond,serif;font-size:2.1rem}.marquee{background:var(--g);color:var(--cream);white-space:nowrap;padding:1.1rem 0;overflow:hidden}.marquee div{gap:3rem;animation:28s linear infinite mq;display:inline-flex}.marquee span{font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic}.marquee span:after{content:"✦";color:var(--sage);margin-left:3rem;font-size:1rem;font-style:normal}@keyframes mq{to{transform:translate(-50%)}}.about{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.about-img{background:var(--blush);border-radius:var(--r);aspect-ratio:4/4.4;overflow:hidden}.about-img img{object-fit:cover;object-position:62% center;width:100%;height:100%}.about p{color:var(--mut);margin-bottom:1rem}blockquote{color:var(--g);border-left:2px solid var(--sage);margin:1.5rem 0;padding-left:1.2rem;font-family:Cormorant Garamond,serif;font-size:1.55rem;line-height:1.3}.sign{font-style:italic;color:var(--taupe)!important}.values{color:var(--mut);grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem;font-size:.82rem;list-style:none;display:grid}.values b{color:var(--gd);font-family:Cormorant Garamond,serif;font-size:1.3rem;display:block}.services{background:var(--blush)}.sec-head{max-width:40rem;margin-bottom:3rem}.sec-head p:last-child{color:var(--mut)}.grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.card{border-radius:var(--r);background:var(--gd);aspect-ratio:4/5;isolation:isolate;position:relative;overflow:hidden}.card img{object-fit:cover;object-position:center 12%;z-index:-2;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0;right:0}.card:after{content:"";z-index:-1;background:linear-gradient(#0000 30%,#0e241d59 55%,#0e241deb 92%);position:absolute;top:0;bottom:0;left:0;right:0}.card>div{color:var(--cream);padding:1.6rem;position:absolute;bottom:0;left:0;right:0}.card h3{color:var(--cream);margin-bottom:.4rem}.card p{opacity:.85;max-height:0;font-size:.88rem;transition:max-height .5s,margin .5s;overflow:hidden}.card:hover p,.card:focus-within p{max-height:6rem;margin-bottom:.7rem}.card a{color:var(--sage);font-size:.85rem;font-weight:500}@media (hover:none){.card p{max-height:6rem;margin-bottom:.7rem}}.steps{text-align:center}.steps ol{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:68rem;margin:3rem auto 0;list-style:none;display:grid}.steps li span{border:1px solid var(--taupe);width:58px;height:58px;color:var(--g);border-radius:50%;place-items:center;margin:0 auto 1rem;font-family:Cormorant Garamond,serif;font-size:1.6rem;display:grid}.steps p{color:var(--mut);margin-top:.4rem;font-size:.92rem}.reviews{background:var(--g);color:var(--cream);text-align:center}.reviews h2{color:var(--cream);max-width:44rem;margin:0 auto 3rem}.reviews .eyebrow{color:var(--sage)}.rev-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.rev-grid figure{border-radius:var(--r);background:#ffffff0f;border:1px solid #ffffff1f;padding:2rem}.rev-grid blockquote{color:var(--cream);border:0;margin:.8rem 0 1.2rem;padding:0;font-size:1.2rem}.stars{color:#e6c887;letter-spacing:.2em}figcaption{letter-spacing:.15em;text-transform:uppercase;color:var(--sage);font-size:.8rem}.book{background:linear-gradient(135deg,var(--blush),var(--cream));grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.book-txt p{color:var(--mut);max-width:30rem}.phone{color:var(--g);margin-top:1.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:600;display:inline-block}.form{border-radius:var(--r);background:#fff;gap:1rem;padding:clamp(1.4rem,3vw,2.4rem);display:grid;box-shadow:0 30px 60px -35px #14332966}.form label{letter-spacing:.08em;text-transform:uppercase;color:var(--mut);gap:.35rem;font-size:.78rem;display:grid}.form input,.form select,.form textarea{font:inherit;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--cream);border:1px solid #e3d9cf;border-radius:12px;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:all .25s}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px #9bbcb566}.note{color:var(--mut);text-align:center;font-size:.75rem}.faq{max-width:60rem;margin:0 auto}details{border-bottom:1px solid #ddd0c3;padding:1.2rem 0}summary{cursor:pointer;color:var(--gd);justify-content:space-between;gap:1rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--taupe);transition:all .3s}details[open] summary:after{transform:rotate(45deg)}details p{color:var(--mut);margin-top:.6rem}.contact{background:var(--blush);grid-template-columns:1fr 1.2fr;gap:3rem;display:grid}.contact dl{grid-template-columns:auto 1fr;gap:.6rem 1.5rem;margin-top:1.5rem;display:grid}.contact dt{letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);padding-top:.25rem;font-size:.74rem}.contact a:not(.btn){border-bottom:1px solid var(--sage)}.social{margin-top:1.4rem}iframe{border-radius:var(--r);filter:saturate(.8);border:0;width:100%;height:100%;min-height:380px}footer{background:var(--gd);color:var(--sage);text-align:center;padding:2rem 1rem;font-size:.78rem}.sticky{display:none}@media (max-width:900px){.nav nav{display:none}.hero,.about,.book,.contact{grid-template-columns:1fr}.hero{padding-top:6.5rem}.hero-img{height:420px}.grid,.rev-grid,.steps ol{grid-template-columns:1fr}.card{aspect-ratio:4/4.6}.values{grid-template-columns:1fr}.sticky{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5eee6eb;border-radius:99px;grid-template-columns:1fr 1.4fr;gap:.5rem;padding:.4rem;display:grid;position:fixed;bottom:.7rem;left:.7rem;right:.7rem;box-shadow:0 10px 30px -8px #0000004d}.sticky a{text-align:center;color:var(--g);border-radius:99px;padding:.8rem;font-size:.92rem;font-weight:500}.sticky a.p{background:var(--g);color:var(--cream)}footer{padding-bottom:5.5rem}}@media (prefers-reduced-motion:reduce){.marquee div{animation:none}*{transition:none!important}}.arch.small img{object-position:center 0;transform-origin:50% 22%;transform:scale(1.5)}.proof li b{white-space:nowrap}.card img{transform-origin:50% 0;transform:scale(1.36)}.card:hover img{transform:scale(1.42)}.score{color:var(--sage);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.7rem;margin:-1.8rem 0 2.6rem;display:flex}.score b{color:var(--cream);font-family:Cormorant Garamond,serif;font-size:3rem;line-height:1}.score em{font-size:.9rem;font-style:normal}.form button:disabled{opacity:.7;cursor:default}.arch{background:var(--blush)}.arch img{object-fit:cover;object-position:center 30%;width:100%;height:118%;position:absolute;top:-9%;left:0;transform:none}.arch.small img{object-position:center top;height:132%;top:0;transform:none}details p{overflow:hidden}.book{text-align:center;grid-template-columns:1fr;justify-items:center}.book-txt p{margin-inline-start:auto;margin-inline-end:auto}
