@font-face{font-family:"Fraunces";src:url(fonts/fraunces-te.woff2) format("woff2");font-weight:600 900;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/plex-te.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--forest:#19472E;--deep:#0E2A1B;--ink:#132219;--cream:#F5EFE2;--paper:#FBF8F1;--sun:#E8873A;--rust:#9E3F0B;--lake:#5B86A7;--lakedeep:#1D4563;--muted:#46564C;--line:#D9D0BC;
--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.6 var(--sans);color:var(--ink);background:var(--paper)}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.05;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:900}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:8px;z-index:9;font-weight:700}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:700 .8rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#F2B27C;margin:0 0 16px}
.eb-dark{color:var(--rust)}
.eb-ink{color:var(--ink)}
.small{font-size:.9rem;opacity:.85}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;min-height:48px;padding:12px 22px;border-radius:999px;font:700 1rem/1 var(--sans);text-decoration:none;border:2px solid transparent;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#F39B54}
.btn-line{border-color:var(--cream);color:var(--cream)}
.btn-line:hover{background:rgba(245,239,226,.12)}
.btn-ink{background:var(--forest);color:var(--cream)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
/* header */
.top{background:var(--cream);border-bottom:3px solid var(--forest)}
.top-in{display:flex;align-items:center;gap:28px;min-height:84px}
.brand{display:block;flex:none}
.logo{width:auto;height:52px}
.top nav{margin-left:auto}
.top ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.top nav a{display:block;padding:10px 12px;font-weight:600;text-decoration:none;border-radius:8px}
.top nav a:hover{background:#E9E0CC}
/* hero */
.hero{background:var(--forest);color:var(--cream);overflow:hidden;position:relative}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:72px 0 84px;position:relative}
.hero h1{font-size:clamp(3rem,7.4vw,6.4rem);font-weight:900;line-height:.95;letter-spacing:-.025em;margin-bottom:26px}
.hero h1 span{display:block;color:var(--sun)}
.lede{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.5;max-width:34em;color:#F2EBDD}
.hero-art{position:relative;justify-self:center;width:min(440px,100%)}
.badge{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}
.found{position:absolute;right:-18px;bottom:-26px;background:var(--paper);color:var(--ink);border-radius:16px;padding:16px 20px 14px;box-shadow:0 14px 34px rgba(0,0,0,.3);border:3px solid var(--ink);min-width:250px}
.found-h{font:800 1.15rem/1.1 var(--serif);margin:0 0 8px;color:var(--forest)}
.found ul{list-style:none;margin:0;padding:0;font-weight:600;font-size:.98rem}
.found li{display:flex;gap:8px;align-items:center;padding:3px 0}
.ck{width:20px;height:20px;flex:none;color:var(--forest)}
/* signature motion: the badge trail walks up to the pine, then the result card lands */
.motion .badge .d{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center;transition:opacity .45s ease-out,transform .45s cubic-bezier(.3,1.5,.6,1)}
.motion .badge.reset .d{transition:none;opacity:0;transform:scale(.3)}
.motion .found{opacity:0;transform:translateY(18px) scale(.97);transition:opacity .4s ease-out 1.75s,transform .4s cubic-bezier(.2,1.2,.4,1) 1.75s}
.motion.go .badge .d,.motion.go .found{opacity:1;transform:none}
.go .d1{transition-delay:0ms}.go .d2{transition-delay:75ms}.go .d3{transition-delay:150ms}.go .d4{transition-delay:225ms}.go .d5{transition-delay:300ms}.go .d6{transition-delay:375ms}.go .d7{transition-delay:450ms}.go .d8{transition-delay:525ms}.go .d9{transition-delay:600ms}.go .d10{transition-delay:675ms}.go .d11{transition-delay:750ms}.go .d12{transition-delay:825ms}.go .d13{transition-delay:900ms}.go .d14{transition-delay:975ms}.go .d15{transition-delay:1050ms}.go .d16{transition-delay:1125ms}.go .d17{transition-delay:1200ms}.go .d18{transition-delay:1275ms}.go .d19{transition-delay:1350ms}
.motion .reveal{opacity:0;translate:0 14px;transition:opacity .4s ease-out,translate .4s ease-out}
.motion .reveal.in{opacity:1;translate:none}
.plan,.card-in{transition:translate .2s ease-out,box-shadow .2s ease-out}
.plan:hover,.plan:focus-within,.card-in:hover,.card-in:focus-within{translate:0 -4px;box-shadow:0 12px 26px rgba(25,71,46,.18)}
.plan-rec:hover,.plan-rec:focus-within{box-shadow:0 0 0 3px var(--ink),10px 10px 0 3px var(--sun),0 16px 30px rgba(25,71,46,.25)}
@media (prefers-reduced-motion:reduce){.motion .reveal,.motion .badge .d,.motion .found{opacity:1;translate:none;transform:none;transition:none}.plan,.card-in{transition:none}.plan:hover,.plan:focus-within,.card-in:hover,.card-in:focus-within{translate:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn:hover{transition:none;transform:none}}
/* stripes */
.stripes{display:grid;gap:7px;padding:14px 0;background:var(--forest)}
.stripes i{display:block;height:7px;border-radius:7px}
.stripes .s1{background:var(--sun);margin:0 18% 0 8%}
.stripes .s2{background:var(--lake);margin:0 4% 0 22%}
.stripes .s3{background:var(--lake);margin:0 30% 0 40%;opacity:.8}
/* what */
.what{padding:96px 0;background:var(--paper)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
.split .intro{margin:0}
.intro{font-size:1.15rem;max-width:40em;color:var(--muted)}
.paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.paths a{position:relative;display:block;height:100%;padding:28px 26px 64px;background:#fff;border:3px solid var(--ink);border-radius:18px;text-decoration:none;box-shadow:6px 6px 0 var(--forest);transition:transform .2s}
.paths a:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--forest)}
.paths .n{font:900 2.6rem/1 var(--serif);color:#BF5517;display:block;margin-bottom:14px}
.paths h3{margin-bottom:10px}
.paths p{color:var(--muted);margin:0}
.arr{position:absolute;left:26px;bottom:20px;font-weight:700;font-size:1.4rem;color:var(--forest)}
/* care */
.care{padding:96px 0 72px;background:var(--cream);border-top:3px solid var(--ink)}
.care h2{max-width:14em;margin-bottom:18px}
.care .intro{margin-bottom:44px}
.plans{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:20px;align-items:start}
.plan{position:relative;background:#fff;border:3px solid var(--ink);border-radius:20px;padding:28px 26px 22px}
.plan-k{font:700 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--rust);margin:0 0 8px}
.plan h3{font-size:1.6rem;margin-bottom:12px}
.price{margin:0 0 6px;font-family:var(--serif)}
.price b{font-size:3.4rem;font-weight:900;line-height:1;letter-spacing:-.02em}
.price span{font:600 1rem var(--sans);color:var(--muted)}
.plan-note{font-weight:600;margin:0 0 18px;padding-bottom:16px;border-bottom:2px dashed var(--line)}
.list{list-style:none;margin:0;padding:0;font-size:.97rem;line-height:1.45}
.list li{display:flex;gap:10px;padding:7px 0}
.list .ck{margin-top:1px}
.plan-rec{background:var(--forest);color:var(--cream);border-color:var(--forest);box-shadow:0 0 0 3px var(--ink),10px 10px 0 3px var(--sun);transform:translateY(-14px)}
.plan-rec .plan-k{color:#F2B27C}
.plan-rec .price span{color:#D8E0D4}
.plan-rec .plan-note{border-color:rgba(245,239,226,.3)}
.plan-rec .ck{color:var(--sun)}
.rec{position:absolute;top:-17px;right:22px;margin:0;background:var(--sun);color:var(--ink);font:800 .8rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:999px;border:3px solid var(--ink)}
.terms{margin:34px 0 0;font-weight:600;color:var(--muted);max-width:52em}
/* founding */
.founding{background:var(--sun);color:var(--ink);padding:64px 0;border-block:3px solid var(--ink)}
.found-in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.founding h2{font-size:clamp(2.2rem,4.4vw,3.5rem)}
.found-copy p{font-size:1.08rem;font-weight:500}
.found-copy p:last-child{margin:0}
/* how */
.how{background:var(--deep);color:var(--cream);padding:96px 0}
.how h2{margin-bottom:56px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.steps::before{content:"";position:absolute;top:27px;left:28px;right:12%;border-top:6px dotted var(--sun)}
.steps li{position:relative}
.sn{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--cream);color:var(--forest);font:900 1.6rem/1 var(--serif);margin-bottom:20px;position:relative;border:3px solid var(--sun)}
.steps h3{font-size:1.4rem;margin-bottom:10px}
.steps p{color:#D9DFD6;margin:0}
/* faq */
.faq{padding:96px 0;background:var(--paper)}
.faq .split{align-items:start;margin-bottom:0}
.qa{margin:0;display:grid;gap:0}
.qa div{padding:20px 0;border-top:2px solid var(--ink)}
.qa div:last-child{border-bottom:2px solid var(--ink)}
.qa dt{font:800 1.3rem/1.2 var(--serif);margin-bottom:6px}
.qa dd{margin:0;color:var(--muted)}
/* tools */
.tools{background:var(--lakedeep);color:#F4F1E8;padding:96px 0}
.tools-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.tools h2{margin-bottom:20px}
.tools .eyebrow{color:#F2B27C}
.pf-prices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.pf-prices>div{border:2px solid rgba(244,241,232,.4);border-radius:16px;padding:20px}
.pf-prices h3{font-size:1.2rem;margin:6px 0 8px}
.pf-prices p{margin:0;font-size:.95rem}
.pf-prices .price span{color:#D3DEE8}
.tools .small{margin-top:18px}
.sheet{margin:0;background:var(--paper);color:var(--ink);border-radius:14px;padding:26px;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--sun);transform:rotate(1.5deg)}
.sheet-tag{display:inline-block;margin:0 0 12px;background:var(--ink);color:var(--paper);font:700 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;border-radius:6px}
.sheet-h{font:800 1.4rem/1.1 var(--serif);margin:0 0 14px}
.sheet-h span{font:400 .95rem var(--sans);color:var(--muted)}
.sheet dl{margin:0}
.sheet dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.sheet dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.verdict{margin:16px 0 0;background:var(--forest);color:var(--cream);padding:14px 16px;border-radius:10px;font-weight:700}
/* work */
.work{padding:96px 0;background:var(--cream);border-top:3px solid var(--ink)}
.works{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.work-card a,.work-card .card-in{display:flex;flex-direction:column;height:100%;background:#fff;border:3px solid var(--ink);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .2s}
.work-card a:hover{transform:translateY(-4px)}
.work-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-bottom:3px solid var(--ink)}
.work-card .tag{align-self:flex-start;margin:14px 18px 0;font:700 .7rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#F3E5D3;color:var(--rust);padding:6px 8px;border-radius:6px}
.work-card h3{font-size:1.25rem;margin:12px 18px 2px}
.work-card .kind{margin:0 18px 8px;font-weight:600;color:var(--rust);font-size:.9rem}
.work-card p{margin:0 18px 12px;font-size:.95rem;color:var(--muted)}
.work-card .card-in p:last-child{margin-bottom:18px}
.work-card .more{margin:auto 18px 18px;font-weight:700;color:var(--forest)}
/* contact */
.contact{background:var(--forest);color:var(--cream);padding:96px 0}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact h2{margin-bottom:18px;font-size:clamp(2.6rem,6vw,4.8rem)}
.mail{font:800 clamp(1.1rem,2.2vw,1.5rem)/1.2 var(--serif);margin-top:20px;overflow-wrap:anywhere}
.mail a{color:var(--cream);text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:6px}
/* footer */
.foot{background:var(--deep);color:#DCE3DA;padding:40px 0;border-top:3px solid var(--sun)}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.foot p{margin:0}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-brand b{display:block;font:800 1.2rem/1.1 var(--serif);color:var(--cream)}
.mini{width:52px;height:52px}
/* responsive */
@media (max-width:1060px){.top nav{display:none}.top-in .btn{margin-left:auto}.plans{grid-template-columns:1fr 1fr}.plan-rec{grid-column:1/-1;grid-row:1;transform:none;margin:0 0 10px 0}.works{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}}
.tally{color-scheme:light;border-radius:20px;background:var(--cream);color:var(--ink);border:3px solid var(--sun);overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.tally-top{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--deep);color:var(--cream);border-bottom:3px dotted var(--sun)}
.tally-top img{flex:none;width:44px;height:44px}
.tally-k{margin:0;font:800 1.35rem/1.15 var(--serif)}
.tally-s{margin:2px 0 0;font-size:.95rem;color:#DDE5DC}
.tally-body{padding:18px 18px 8px;background:#fff}
.tally iframe{display:block;width:100%;border:0;color-scheme:light}
.next{list-style:none;margin:26px 0 30px;padding:0;position:relative}
.next::before{content:"";position:absolute;left:19px;top:24px;bottom:24px;border-left:3px dotted var(--sun)}
.next li{display:flex;gap:16px;align-items:flex-start;margin:0 0 16px;position:relative}
.next li:last-child{margin-bottom:0}
.nx{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cream);color:var(--forest);border:3px solid var(--sun);font:900 1.15rem/1 var(--serif)}
.next b{color:#fff}
.next li>span:last-child{padding-top:7px}
.mail-k{margin:0;font-size:.95rem;color:#DDE5DC}
.mail-k+.mail{margin-top:4px}
@media (max-width:820px){.hero-in,.split,.found-in,.tools-in,.contact-in{grid-template-columns:1fr}.hero-in{padding:44px 0 72px;gap:36px}.hero-art{width:min(330px,82%)}.found{right:-24px;bottom:-30px;min-width:0;padding:12px 14px 10px}.found-h{font-size:1rem}.found ul{font-size:.9rem}.split{gap:18px}.paths{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.what,.care,.how,.faq,.tools,.work,.contact{padding:68px 0}.sheet{transform:none}}
@media (max-width:560px){.wrap{width:calc(100% - 32px)}.logo{height:40px}.top-in{min-height:70px;gap:12px}.top-in .btn{padding:10px 16px;min-height:44px;font-size:.95rem}.works{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.pf-prices{grid-template-columns:1fr}.price b{font-size:2.9rem}.plan{padding:24px 20px 18px}.tally-body{padding:14px}.hero h1{font-size:3.1rem}}
@media (max-width:380px){.top-in .btn{display:none}}

/* legal pages + footer links */
.foot a{color:var(--cream);text-underline-offset:3px}
.foot-links a{display:inline-block;padding:4px 2px}
.foot-name{font:800 1.1rem/1.1 var(--serif);color:var(--cream);margin-right:8px}
.legal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.legal-brand{font:900 1.5rem/1 var(--serif);color:var(--forest);text-decoration:none}
.legal{max-width:720px;padding:48px 0 72px}
.legal h1{font-size:clamp(2.6rem,6vw,4rem);font-weight:900;line-height:1;color:var(--forest);margin:0 0 10px}
.legal h2{font-size:1.5rem;margin:36px 0 8px;color:var(--forest)}
.legal .updated{color:var(--muted);margin:0 0 24px}
.legal .lede{font-size:1.2rem;color:var(--ink)}
.legal ul{padding-left:1.2em}
.legal li{margin:0 0 8px}
.legal a{color:var(--forest)}
.legal .eyebrow{color:var(--rust)}
.legal .btn-sun{color:var(--ink)}
.legal .note{margin-top:36px;padding:14px 16px;border-left:4px solid var(--sun);background:var(--cream)}
