:root{--cream:#fbf5ec;--cream2:#f3e9da;--green:#1e3a2b;--green2:#2c5440;--sage:#9db49b;--blush:#e8c6b8;--ink:#201d19;--muted:#6d665c;--line:rgba(30,58,43,.18);
--serif:'Gloock',Georgia,serif;--sans:'Figtree',system-ui,sans-serif;--pad:clamp(96px,11vw,170px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
em{font-style:normal;color:var(--green2);position:relative}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--green2);margin-bottom:22px}
.eyebrow.light{color:var(--blush)}
.corner-tick{width:14px;height:14px;border-left:2px solid currentColor;border-top:2px solid currentColor;display:inline-block}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,84px);line-height:1.02;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:0;font-weight:600;font-size:15px;text-decoration:none;letter-spacing:.02em;transition:background .35s,color .35s,transform .35s;position:relative}
.btn .arr{transition:transform .35s}.btn:hover .arr{transform:translateX(5px)}
.btn-primary{background:var(--green);color:var(--cream)}.btn-primary:hover{background:var(--green2)}
.btn-ghost{border:1.5px solid var(--green);color:var(--green)}.btn-ghost:hover{background:var(--green);color:var(--cream)}
.btn-cream{background:var(--cream);color:var(--green)}.btn-cream:hover{background:var(--blush)}
.btn-small{padding:11px 18px;font-size:14px;background:var(--green);color:var(--cream)}
.btn.big{padding:20px 36px;font-size:16px}
.dot{width:8px;height:8px;border-radius:50%;background:#7fd19a;box-shadow:0 0 0 0 rgba(127,209,154,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(127,209,154,0)}100%{box-shadow:0 0 0 0 rgba(127,209,154,0)}}

/* intro */
.intro{position:fixed;inset:0;z-index:100;background:var(--green);display:grid;place-items:center;color:var(--cream)}
.intro-frame{position:relative;width:min(520px,80vw);height:280px;display:grid;place-items:center}
.ic{position:absolute;width:56px;height:56px;border-color:var(--blush);border-style:solid;border-width:0}
.ic-tl{top:0;left:0;border-top-width:3px;border-left-width:3px}.ic-tr{top:0;right:0;border-top-width:3px;border-right-width:3px}
.ic-bl{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px}.ic-br{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px}
.intro-word{font-family:var(--serif);font-size:clamp(54px,8vw,104px);line-height:.95;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.intro-word span{display:block}
.iw-b{font-style:normal;color:var(--blush)}
.intro-sub{position:absolute;bottom:-46px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;opacity:.7}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(24px,4vw,60px);transition:background .4s,padding .4s,box-shadow .4s}
.nav.scrolled{background:rgba(251,245,236,.92);backdrop-filter:blur(10px);padding:14px clamp(24px,4vw,60px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green)}
.brand-mark{width:40px;height:40px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text b{font-family:var(--serif);font-weight:400;font-size:21px}.brand-text i{font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;gap:34px}.nav-links a{text-decoration:none;font-size:15px;font-weight:500;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1.5px;background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .4s}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}

/* hero */
.hero{min-height:100vh;padding:150px clamp(24px,4vw,60px) 80px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,90px);align-items:center;max-width:1500px;margin:0 auto}
.hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5vw,84px);line-height:1.0;letter-spacing:-.015em;color:var(--green)}
.hero-title em{color:var(--ink)}
.hero-title em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.12em;background:var(--blush);z-index:-1;transform:scaleX(var(--u,0));transform-origin:left}
.hero-lead{max-width:540px;margin:30px 0 36px;color:var(--muted);font-size:18px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;border-top:1px solid var(--line);padding-top:26px}
.hero-trust li{display:flex;flex-direction:column;gap:4px}.hero-trust b{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--green)}.hero-trust span{font-size:13.5px;color:var(--muted);line-height:1.4}
.hero-visual{position:relative;height:min(78vh,760px)}
.hv-frame{position:absolute;inset:0 0 60px 50px}
.hv-img{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 0)}
.hv-img img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.15)}
.c{position:absolute;width:80px;height:80px;border:0 solid var(--green);z-index:3;pointer-events:none}
.c-tl{top:-18px;left:-18px;border-top-width:3px;border-left-width:3px}.c-br{bottom:-18px;right:-18px;border-bottom-width:3px;border-right-width:3px}
.hv-small{position:absolute;left:0;bottom:0;width:36%;aspect-ratio:342/470;overflow:hidden;border:10px solid var(--cream);z-index:4;box-shadow:0 30px 60px -30px rgba(30,58,43,.45)}
.hv-small img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hv-badge{position:absolute;right:-10px;top:38%;z-index:5;background:var(--blush);color:var(--green);width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12.5px;line-height:1.25;padding:20px;font-weight:600}
.hv-badge-num{font-family:var(--serif);font-size:52px;line-height:1;font-weight:400}
.hero-scroll{position:absolute;left:clamp(24px,4vw,60px);bottom:26px;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero-scroll i{width:70px;height:1px;background:var(--muted);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;inset:0;background:var(--green);animation:line 2.2s infinite}
@keyframes line{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* brands */
.brands{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;display:flex;align-items:center;gap:30px;overflow:hidden}
.brands-label{flex:none;padding-left:clamp(24px,4vw,60px);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.marquee{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:40px;white-space:nowrap;width:max-content;font-family:var(--serif);font-size:30px;color:var(--green);align-items:center}
.marquee-track i{font-style:normal;color:var(--blush);font-size:20px}

/* statement */
.statement{padding:var(--pad) clamp(24px,8vw,160px);text-align:center}
.statement-text{font-family:var(--serif);font-size:clamp(36px,4.4vw,68px);line-height:1.12;max-width:1200px;margin:0 auto;color:var(--green)}
.statement-text .word{opacity:.14}
.statement-by{margin-top:34px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* services */
.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,120px);padding:0 clamp(24px,4vw,60px) var(--pad);max-width:1500px;margin:0 auto}
.services-head{position:sticky;top:130px;align-self:start}
.services-intro{margin-top:26px;color:var(--muted);max-width:420px}
.svc-list{list-style:none;border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:70px 1fr auto;gap:24px;align-items:start;padding:38px 0;border-bottom:1px solid var(--line);position:relative;cursor:default}
.svc-no{font-family:var(--serif);font-size:20px;color:var(--sage)}
.svc h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,38px);line-height:1.1;color:var(--green);margin-bottom:10px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.svc p{color:var(--muted);max-width:470px;font-size:16px}
.svc-price{font-size:14px;font-weight:600;color:var(--green);white-space:nowrap;padding-top:8px}
.svc-fig{grid-column:2/4;height:0;overflow:hidden;transition:height .7s cubic-bezier(.2,.8,.2,1),margin .7s}
.svc-fig img{width:100%;height:240px;object-fit:cover}
.svc.open .svc-fig{height:240px;margin-top:6px}
.svc.open h3{transform:translateX(10px)}

/* prices */
.prices{background:var(--green);color:var(--cream);padding:var(--pad) clamp(24px,4vw,60px);position:relative;overflow:hidden}
.prices::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-right:3px solid rgba(232,198,184,.25);border-top:3px solid rgba(232,198,184,.25)}
.prices-top{max-width:1300px;margin:0 auto 50px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}
.prices-top .eyebrow{grid-column:1/-1;margin-bottom:0}
.prices-note{color:rgba(251,245,236,.65);font-size:14px}
.tabs{max-width:1300px;margin:0 auto 40px;display:flex;gap:10px;flex-wrap:wrap}
.tabs button{font:inherit;font-size:15px;font-weight:600;background:transparent;border:1.5px solid rgba(251,245,236,.3);color:var(--cream);padding:12px 22px;cursor:pointer;transition:all .3s}
.tabs button[aria-selected=true]{background:var(--blush);color:var(--green);border-color:var(--blush)}
.price-panels{max-width:1300px;margin:0 auto;position:relative}
.panel{display:none}.panel.is-active{display:block}
.plist{list-style:none;columns:2;column-gap:80px}
.plist li{display:flex;align-items:baseline;gap:12px;padding:15px 0;break-inside:avoid;font-size:17px}
.plist li i{flex:1;border-bottom:1.5px dotted rgba(251,245,236,.35);transform-origin:left}
.plist li b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--blush)}
.prices-cta{max-width:1300px;margin:60px auto 0;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid rgba(251,245,236,.18);padding-top:40px}
.prices-cta p{font-family:var(--serif);font-size:28px;line-height:1.2}

/* team */
.team{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,7vw,130px);padding:var(--pad) clamp(24px,4vw,60px);max-width:1400px;margin:0 auto;align-items:center}
.team-visual{position:relative}
.tv-frame{position:relative;max-width:460px}
.tv-frame img{width:100%;aspect-ratio:438/600;object-fit:cover;object-position:50% 25%}
.tv-caption{margin-top:28px;font-family:var(--serif);font-size:26px;color:var(--green);line-height:1.2}.tv-caption span{font-family:var(--sans);font-size:14px;color:var(--muted)}
.team-lead{font-family:var(--serif);font-size:24px;line-height:1.35;margin:28px 0 40px;color:var(--ink)}
.timeline{list-style:none;position:relative;padding-left:34px}
.timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.timeline::after{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--green);transform-origin:top;transform:scaleY(var(--p,0))}
.timeline li{position:relative;padding:0 0 26px;display:grid;grid-template-columns:170px 1fr;gap:16px}
.timeline li::before{content:"";position:absolute;left:-34px;top:6px;width:14px;height:14px;background:var(--cream);border:2px solid var(--green)}
.timeline b{font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.timeline span{color:var(--muted)}

/* impressions */
.impressions{padding:0 clamp(24px,4vw,60px) var(--pad);max-width:1500px;margin:0 auto}
.imp-track{display:grid;grid-template-columns:1fr 2.4fr 1fr;gap:24px;align-items:end;height:520px}
.imp{overflow:hidden;height:100%}.imp img{width:100%;height:115%;object-fit:cover}
.imp-1{height:85%}.imp-2{height:62%}.imp-3{height:100%}.imp-4{height:75%}
.imp-note{margin-top:28px;color:var(--muted)}.imp-note a{color:var(--green);font-weight:600}

/* promise */
.promise{background:var(--cream2);padding:var(--pad) clamp(24px,6vw,120px)}
.promise-inner{max-width:1200px;margin:0 auto}
.promise-quote{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.8vw,58px);line-height:1.15;color:var(--green);margin-bottom:70px}
.promise-quote .word{opacity:.15}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.promise-grid div{border-top:2px solid var(--green);padding-top:22px}
.promise-grid b{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--green);display:block;margin-bottom:8px}
.promise-grid p{color:var(--muted)}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,120px);padding:var(--pad) clamp(24px,4vw,60px);max-width:1400px;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:28px 50px 28px 0;font-family:var(--serif);font-size:25px;color:var(--green);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{position:absolute;right:6px;top:50%;width:18px;height:18px;transform:translateY(-50%)}
.faq-list summary span::before,.faq-list summary span::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--green);transition:transform .4s}
.faq-list summary span::after{transform:rotate(90deg)}
.faq-list details[open] summary span::after{transform:rotate(0)}
.faq-list details p{padding:0 40px 28px 0;color:var(--muted)}
.faq-list a{color:var(--green);font-weight:600}

/* contact */
.contact{padding:0 clamp(24px,4vw,60px) var(--pad)}
.contact-card{position:relative;max-width:1300px;margin:0 auto;background:#fff8ee;border:1px solid var(--line);padding:clamp(50px,6vw,100px)}
.contact-card .c{width:120px;height:120px}
.contact-title{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.6vw,72px);line-height:1.04;color:var(--green);max-width:900px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:56px 0}
.contact-grid h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:600}
.contact-grid p{font-size:19px;line-height:1.55}.contact-grid p a{text-decoration:none}
.link{display:inline-block;margin-top:12px;color:var(--green);font-weight:600;font-size:15px}

.foot{background:var(--ink);color:rgba(251,245,236,.75);padding:60px clamp(24px,4vw,60px);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.foot-brand{font-family:var(--serif);font-size:34px;color:var(--cream)}.foot-brand em{color:var(--blush)}
.foot nav{display:flex;gap:28px}.foot nav a{text-decoration:none}.foot nav a:hover{color:var(--cream)}
.foot p{grid-column:1/-1;font-size:13px;opacity:.7;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}

/* legal */
.legal-page{background:var(--cream)}
.legal-head{display:flex;justify-content:space-between;align-items:center;padding:26px clamp(24px,4vw,60px);border-bottom:1px solid var(--line)}
.legal-brand{font-family:var(--serif);font-size:24px;color:var(--green);text-decoration:none}
.legal-back{color:var(--green);font-weight:600;text-decoration:none}
.legal{max-width:820px;margin:0 auto;padding:90px 24px 120px}
.legal-kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--green2);font-weight:600}
.legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,70px);color:var(--green);margin:10px 0 40px;line-height:1.05}
.legal h2{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--green);margin:44px 0 12px}
.legal p,.legal li{color:#3a362f;margin-bottom:12px}
.legal-list{padding-left:20px}
.legal-lead{font-size:19px}
.legal-foot{display:flex;gap:26px;flex-wrap:wrap;padding:30px clamp(24px,4vw,60px);border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.legal-foot a{color:var(--green)}
@media (max-width:900px){
 .nav-links{display:none}.hero-grid,.services,.team,.faq{grid-template-columns:1fr}.services-head{position:static}
 .hero-visual{height:520px}.plist{columns:1}.contact-grid,.promise-grid,.hero-trust{grid-template-columns:1fr}
 .imp-track{grid-template-columns:1fr 1fr;height:auto}.imp{height:260px!important}.timeline li{grid-template-columns:1fr}
 .prices-cta{flex-direction:column;align-items:flex-start}
}

img{height:auto}
.split-lines > div,.split-hero > div,.split-lines > span,.split-hero > span{padding:.08em 0 .14em;margin:-.08em 0 -.14em}
