
:root{--beige:#F4EEE2;--cream:#FBF8F1;--sand:#EBE3D1;--tint:#E6EAD4;--olive:#5B6B3A;--olive-d:#49572E;--olive-m:#8B9A66;--olive-l:#D3DAB9;--forest:#2B3420;--ink:#2A2E22;--mute:#5F6354;--line:#DCD3BF;
--r:24px;--r-s:14px;--display:"Outfit","Inter",-apple-system,"Segoe UI",Arial,sans-serif;--body:"Inter",-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--beige);color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--olive-d)}
:focus-visible{outline:3px solid var(--olive-m);outline-offset:2px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);color:var(--forest);text-wrap:balance;margin:0;letter-spacing:-.012em}
h1{font-weight:500;font-size:clamp(2.3rem,4.8vw,3.9rem);line-height:1.04}
h2{font-weight:500;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.12}
h3{font-weight:600;font-size:1.08rem;letter-spacing:0}
h1 em,h2 em{font-style:normal;color:var(--olive)}
p{margin:0;max-width:62ch}
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);font-weight:600}
.lead{font-size:1.15rem;color:var(--ink)}
.mute{color:var(--mute)} .small{font-size:.88rem}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-l{display:flex;flex-direction:column;gap:34px}
.center{align-items:center;text-align:center}.center p{margin-inline:auto}
section{padding:76px 0}
section.tight{padding:40px 0}
.tint{background:var(--tint)} .sand{background:var(--sand)}
.band{background:var(--olive);color:var(--cream)}
.band h1,.band h2,.band h3{color:var(--cream)} .band h2 em{color:var(--olive-l)} .band p{color:#EEF0E2} .band .eyebrow{color:#EEF0E2} .band a{color:var(--cream)}
.deep{background:var(--forest)}
/* header */
.announce{background:var(--forest);color:#E9EBDD;font-size:.82rem;text-align:center;padding:9px 16px}
.announce b{color:#fff;font-weight:600}
.top{position:sticky;top:0;z-index:30;background:rgba(244,238,226,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:22px;min-height:72px}
.logo{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;line-height:1}
.logo b{font-family:"Inter",sans-serif;font-weight:300;font-size:1.5rem;letter-spacing:.34em;color:var(--forest)}
.logo b i{font-style:normal;color:var(--olive-m);font-weight:600}
.logo span{font-size:.6rem;letter-spacing:.3em;color:var(--olive);font-weight:600;margin-top:4px;padding-left:2px}
nav.main{display:flex;gap:22px;margin-left:auto;align-items:center}
nav.main a{text-decoration:none;font-size:.93rem;color:var(--ink);font-weight:500;white-space:nowrap}
nav.main a:not(.btn):hover,nav.main a[aria-current=page]{color:var(--olive-d);box-shadow:0 2px 0 var(--olive-m)}
#navtoggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--olive);color:var(--olive-d);padding:9px 16px;font:inherit;font-weight:600;border-radius:999px;cursor:pointer}
@media(max-width:1020px){#navtoggle{display:block}.top .wrap{flex-wrap:wrap}nav.main{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0 20px;margin:0}nav.main.open{display:flex}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--olive);color:#fff!important;text-decoration:none;font-weight:600;font-size:1rem;padding:15px 30px;border:2px solid var(--olive);border-radius:999px;cursor:pointer;font-family:var(--body);text-align:center;transition:background .15s,transform .15s}
.btn:hover{background:var(--olive-d);border-color:var(--olive-d);transform:translateY(-1px)}
.btn.alt{background:transparent;color:var(--olive-d)!important}
.btn.alt:hover{background:rgba(91,107,58,.08)}
.btn.sm{padding:10px 20px;font-size:.9rem}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.band .btn,.onolive .btn{background:var(--cream);border-color:var(--cream);color:var(--forest)!important}
.band .btn:hover,.onolive .btn:hover{background:#fff;border-color:#fff}
.band .btn.alt,.onolive .btn.alt{background:transparent;border-color:rgba(255,255,255,.7);color:#fff!important}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.arrow{font-weight:600;color:var(--olive-d);text-decoration:none}.arrow::after{content:" \2192"}.arrow:hover{text-decoration:underline}
/* photos */
.ph{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--sand)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ref{position:absolute;right:10px;bottom:10px;background:rgba(43,52,32,.72);color:#F1F3E6;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.badge{position:absolute;top:14px;left:14px;background:var(--cream);color:var(--forest);font-size:.8rem;font-weight:600;padding:6px 13px;border-radius:999px;font-variant-numeric:tabular-nums;box-shadow:0 1px 6px rgba(43,52,32,.12)}
/* hero */
.hero{padding:26px 0 0}
.herobox{display:grid;grid-template-columns:1fr 1.08fr;border-radius:32px;overflow:hidden;background:var(--olive);min-height:560px}
.herobox .panel{padding:clamp(30px,5vw,68px);display:flex;flex-direction:column;justify-content:center;gap:20px;color:var(--cream)}
.herobox h1{color:var(--cream)} .herobox h1 em{color:var(--olive-l)} .herobox .lead{color:#EEF0E2} .herobox .eyebrow{color:#EEF0E2}
.herobox .ph{border-radius:0;min-height:320px}
.herobox .pricecard{position:absolute;left:18px;bottom:18px;background:var(--cream);border-radius:18px;padding:14px 18px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 30px rgba(43,52,32,.18)}
.pricecard span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);font-weight:600}
.pricecard b{font-family:var(--display);font-weight:500;font-size:1.6rem;color:var(--forest);line-height:1.1;font-variant-numeric:tabular-nums}
.pricecard small{font-size:.8rem;color:var(--mute)}
.herobox .fine{font-size:.84rem;color:#EEF0E2}.herobox .fine a{color:#fff}
@media(max-width:900px){.herobox{grid-template-columns:1fr;min-height:0}.herobox .ph{order:-1;aspect-ratio:16/10;min-height:0}.herobox .pricecard{padding:10px 14px;left:12px;bottom:12px}.pricecard b{font-size:1.2rem}.pricecard small{display:none}.herobox .ref{display:none}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.stat{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:20px 22px}
.stat b{display:block;font-family:var(--display);font-weight:500;font-size:1.5rem;color:var(--forest);font-variant-numeric:tabular-nums;line-height:1.15}
.stat span{font-size:.88rem;color:var(--mute)}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
/* grids, tiles, cards */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr;gap:14px}.g4.solo{grid-template-columns:1fr}}
.tile{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.tile .ph{aspect-ratio:4/3;transition:transform .2s}
.tile:hover .ph{transform:translateY(-3px);box-shadow:0 14px 34px rgba(43,52,32,.14)}
.tile b{font-family:var(--display);font-weight:500;font-size:1.15rem;color:var(--forest)}
.tile .sub{font-size:.92rem;color:var(--mute)}
.pack{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.pack:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(43,52,32,.13)}
.pack .ph{border-radius:0;aspect-ratio:4/3}
.pack .in{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.pack h3{font-family:var(--display);font-weight:500;font-size:1.22rem}
.pack .p{font-family:var(--display);font-weight:500;font-size:1.7rem;color:var(--forest);line-height:1;font-variant-numeric:tabular-nums}
.pack .p small{font-family:var(--body);font-size:.8rem;color:var(--mute);font-weight:400}
.pack .go{margin-top:auto;padding-top:8px;font-weight:600;color:var(--olive-d)}.pack .go::after{content:" \2192"}
.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:12px}
.card .ph{border-radius:16px;aspect-ratio:16/10;margin:-10px -10px 4px}
.tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-weight:600}
ul.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.96rem}
ul.ticks li{padding-left:28px;position:relative}
ul.ticks li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:50%;background:var(--olive-l)}
ul.ticks li::after{content:"";position:absolute;left:5px;top:.62em;width:8px;height:4px;border-left:2px solid var(--olive-d);border-bottom:2px solid var(--olive-d);transform:rotate(-45deg)}
.band ul.ticks li::before{background:rgba(255,255,255,.22)}.band ul.ticks li::after{border-color:#fff}
ul.ticks.sm{font-size:.9rem;gap:6px}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;border-radius:32px;overflow:hidden;background:var(--cream);border:1px solid var(--line)}
.split .ph{border-radius:0;min-height:380px}
.split .panel{padding:clamp(28px,4.5vw,60px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.split.flip .ph{order:2}
.split.olive{background:var(--olive);border-color:var(--olive)}
.split.olive h1,.split.olive h2{color:var(--cream)}.split.olive p{color:#EEF0E2}.split.olive .eyebrow{color:#EEF0E2}.split.olive h1 em{color:var(--olive-l)}
@media(max-width:860px){.split{grid-template-columns:1fr}.split.flip .ph{order:0}.split .ph{aspect-ratio:16/10;min-height:0}}
/* steps */
ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);counter-reset:s}
ol.steps.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){ol.steps.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){ol.steps,ol.steps.five{grid-template-columns:1fr}}
ol.steps li{counter-increment:s;background:var(--cream);border-radius:var(--r);padding:26px;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
ol.steps li::before{content:"Step 0" counter(s);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--olive);background:var(--tint);align-self:flex-start;padding:5px 12px;border-radius:999px;margin-bottom:6px}
.band ol.steps li h3{color:var(--forest)}.band ol.steps li p{color:var(--ink)}
/* compare */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.versus{grid-template-columns:1fr}}
.versus .card.them{background:transparent;border-style:dashed}
.versus .card.us{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.versus .card.us h3{color:var(--cream)}.versus .card.us .tag{color:#EEF0E2}
.versus .card.us ul.ticks li::before{background:rgba(255,255,255,.22)}.versus .card.us ul.ticks li::after{border-color:#fff}
ul.dots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.96rem;color:var(--mute)}
ul.dots li{padding-left:28px;position:relative}
ul.dots li::before{content:"";position:absolute;left:5px;top:.72em;width:9px;height:2px;background:var(--mute)}
/* carousel */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.rail>*{scroll-snap-align:start}
.rail .ph{aspect-ratio:4/5}
.rail figure{margin:0;display:flex;flex-direction:column;gap:10px}
.rail figcaption b{display:block;font-family:var(--display);font-weight:500;color:var(--forest);font-size:1.08rem}
.rail figcaption span{font-size:.9rem;color:var(--mute)}
.railnav{display:flex;gap:10px}
.railnav button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--olive);background:transparent;color:var(--olive-d);font-size:1.2rem;cursor:pointer}
.railnav button:hover{background:var(--olive);color:#fff}
.headrow{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
@media(max-width:640px){.rail{grid-auto-columns:78%}}
/* tables */
.tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--cream)}
table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:520px}
th{background:var(--olive);color:#fff;text-align:left;padding:14px 18px;font-weight:600}
td{padding:13px 18px;border-top:1px solid var(--line);vertical-align:top}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.total td{font-weight:600;background:var(--tint)}
.note{border-radius:var(--r-s);background:var(--tint);padding:18px 22px;font-size:.94rem;border-left:4px solid var(--olive)}
.band .note,.summary .note{background:rgba(255,255,255,.12);color:#F3F5E9;border-color:var(--olive-l)}
details{border-bottom:1px solid var(--line);padding:18px 0}
details summary{cursor:pointer;font-weight:600;color:var(--forest);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--olive);font-weight:400;font-size:1.5rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin-top:10px}
.faq{max-width:860px}
.crumbs{font-size:.84rem;color:var(--mute);padding-top:16px}
.crumbs a{color:var(--mute)}
/* form */
.builder{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:start}
@media(max-width:940px){.builder{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);background:var(--cream);border-radius:var(--r);padding:26px;margin:0;display:flex;flex-direction:column;gap:18px;min-width:0}
legend{font-family:var(--display);font-weight:500;font-size:1.25rem;color:var(--forest);padding:0 10px;display:flex;align-items:center;gap:10px}
legend .num{width:30px;height:30px;border-radius:50%;background:var(--olive);color:#fff;display:inline-grid;place-items:center;font-size:.9rem;font-family:var(--body);font-weight:600}
.fl{font-size:.86rem;font-weight:600;color:var(--forest);display:flex;flex-direction:column;gap:6px}
.fl small{font-weight:400;color:var(--mute)}
input[type=text],input[type=tel],input[type=email],input[type=date],select{font:inherit;padding:13px 15px;border:1.5px solid #CFC7B3;background:#fff;border-radius:12px;color:var(--ink);width:100%;min-height:50px}
input:focus,select:focus{border-color:var(--olive);outline:3px solid var(--olive-l);outline-offset:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:flex;flex-direction:column;gap:2px;border:1.5px solid #CFC7B3;background:#fff;border-radius:16px;padding:14px 16px;font-weight:600;color:var(--forest);height:100%}
.seg span small{font-weight:400;color:var(--mute);font-size:.85rem}
.seg input:checked+span{border-color:var(--olive);background:var(--tint);box-shadow:inset 0 0 0 1.5px var(--olive)}
.seg input:focus-visible+span{outline:3px solid var(--olive-m);outline-offset:2px}
.addons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.addons{grid-template-columns:1fr}}
.addons label{display:flex;align-items:center;gap:10px;border:1.5px solid #CFC7B3;background:#fff;border-radius:12px;padding:11px 14px;font-size:.93rem;cursor:pointer}
.addons label b{margin-left:auto;font-weight:600;color:var(--forest);font-variant-numeric:tabular-nums;white-space:nowrap}
.addons input{width:18px;height:18px;accent-color:var(--olive)}
.addons label:has(input:checked){border-color:var(--olive);background:var(--tint)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.summary{position:sticky;top:92px;background:var(--olive);color:var(--cream);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px}
.summary h2{color:var(--cream);font-size:1.5rem}
.summary .tag{color:#EEF0E2}
.summary .price{font-family:var(--display);font-weight:500;font-size:2.7rem;line-height:1;font-variant-numeric:tabular-nums}
.summary .price small{font-size:.9rem;font-family:var(--body);font-weight:400;color:#E3E8D0}
.summary ul.lines{list-style:none;margin:0;padding:0;font-size:.92rem;display:flex;flex-direction:column;gap:6px}
.summary ul.lines li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:6px}
.summary p{color:#EEF0E2;font-size:.92rem}
@media(max-width:940px){.summary{position:static}}
#formmsg,#cbmsg{font-weight:600;color:var(--forest);min-height:1.2em}
#formmsg.err,#cbmsg.err{color:#8A2B1D}
.zone{font-size:.86rem;font-weight:500;color:var(--olive-d);min-height:1.3em}
/* footer */
footer{background:var(--forest);color:#DADFC9;padding:64px 0 34px;font-size:.93rem}
footer a{color:#DADFC9;text-decoration:none}footer a:hover{text-decoration:underline;color:#fff}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:34px}
@media(max-width:820px){footer .cols{grid-template-columns:1fr 1fr}}
footer h3{color:#fff;font-family:var(--body);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer .logo b{color:var(--cream)}footer .logo span{color:var(--olive-l)}
.fineprint{border-top:1px solid rgba(255,255,255,.16);margin-top:40px;padding-top:20px;font-size:.8rem;color:#B9C0A4;display:flex;flex-direction:column;gap:6px}
/* sticky mobile action bar */
.stickybar{display:none}
@media(max-width:760px){.stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(251,248,241,.97);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px}
.stickybar div{font-size:.8rem;color:var(--mute);line-height:1.25}.stickybar b{display:block;color:var(--forest);font-size:1rem;font-family:var(--display);font-weight:500}
.stickybar .btn{padding:12px 20px;font-size:.95rem;white-space:nowrap}body.hasbar{padding-bottom:76px}}
.glance{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.glance h2{font-size:1.35rem;margin-bottom:16px}
.glance dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px 30px}
.glance dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-weight:600}
.glance dd{margin:3px 0 0;font-size:.96rem}
@media(max-width:860px){.glance dl{grid-template-columns:1fr}}
.prose{max-width:820px}.prose h2{font-size:1.5rem}.prose p{max-width:none}
.guidecard{text-decoration:none;color:var(--ink)}.guidecard:hover{box-shadow:0 14px 34px rgba(43,52,32,.12)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--forest);color:#fff;padding:10px 16px;border-radius:999px;z-index:60;text-decoration:none;font-weight:600}
.skip:focus{left:12px}
.pcheck{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.pcheck label{max-width:240px;flex:1 1 180px}
.terms{margin:0;display:flex;flex-direction:column;gap:0}
.terms div{border-bottom:1px solid var(--line);padding:18px 0}
.terms dt{font-family:var(--display);font-weight:500;font-size:1.15rem;color:var(--forest)}
.terms dd{margin:6px 0 0;max-width:70ch}
.linklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 26px}
@media(max-width:640px){.linklist{grid-template-columns:1fr}}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.numbers{grid-template-columns:repeat(2,1fr)}}
ol.plain{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
@media print{.top,.announce,.stickybar,footer,.band,.cta-row,.railnav,.skip,#navtoggle{display:none!important}body{background:#fff;font-size:11pt}section{padding:14px 0}.ph{display:none}details{break-inside:avoid}details>*{display:block!important}a{color:#000;text-decoration:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
