:root{--cream:#f5f0e6;--paper:#fbf8f2;--sand:#ebe3d3;--lime:#cacd30;--olive:#6f7a12;--moss:#3d4410;--char:#1f201c;--mute:#6a675d;--line:rgba(31,32,28,.14);
--serif:"Newsreader",Georgia,serif;--sans:"Figtree",system-ui,sans-serif;--wrap:1220px;--pad:clamp(20px,4vw,48px);--r:22px}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
body{margin:0;background:var(--cream);color:var(--char);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{text-wrap:balance;margin:0;font-weight:400}
p,li,dd,dt,blockquote,figcaption{text-wrap:pretty}
em{font-style:italic}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--char);color:#fff;padding:8px 14px;z-index:200}
.skip-link:focus{left:8px}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin:0 0 18px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(202,205,48,.25)}
h2{font-family:var(--serif);font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.015em;font-variation-settings:"opsz" 60}
h2 em{color:var(--olive)}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.btn-sm{min-height:44px;padding:0 20px;font-size:.92rem}
.btn-dark{background:var(--char);color:var(--cream)}
.btn-dark:hover{background:var(--moss)}
.btn-ghost{border:1.5px solid var(--line);color:var(--char)}
.btn-ghost:hover{border-color:var(--char)}
.btn-lime{background:var(--lime);color:var(--char)}
.btn-lime:hover{background:#d9dc4a}
.btn-ghost-light{border:1.5px solid rgba(245,240,230,.35);color:var(--cream)}
.btn-ghost-light:hover{border-color:var(--cream)}
a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
/* Preloader */
body.is-loading{overflow:hidden}
.preloader{position:fixed;inset:0;z-index:150;display:grid;place-items:center;pointer-events:none}
.pre-panels{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.pre-panel{display:block;background:var(--char);will-change:transform}
.pre-inner{position:relative;z-index:2;text-align:center;color:var(--cream)}
.pre-word{font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:.3em;font-size:.86rem;opacity:0}
.pre-rule{height:2px;width:110px;margin:12px auto 0;background:var(--lime);transform:scaleX(0);transform-origin:left center}
html.force-visible .preloader{display:none}
/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;transition:background-color .3s,box-shadow .3s}
.nav.scrolled{background:rgba(245,240,230,.94);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(10px)}
.nav-inner{max-width:var(--wrap);margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}
.brand img{height:44px;width:auto}
.brand-sub{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1.35;color:var(--mute);padding-left:14px;border-left:1px solid var(--line)}
.nav-links{display:flex;gap:24px}
.nav-links a{text-decoration:none;font-size:.94rem;font-weight:500;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;position:relative;cursor:pointer;color:var(--char)}
.nav-toggle i{position:absolute;left:11px;right:11px;height:2px;background:currentColor;transition:transform .3s}
.nav-toggle i:first-child{top:17px}.nav-toggle i:last-child{top:25px}
.menu-open .nav-toggle i:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .nav-toggle i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{display:none}
/* Hero */
.hero{padding:clamp(130px,17vh,170px) 0 clamp(64px,8vw,100px);position:relative}
.hero-inner{text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-kicker{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--mute);margin:0 0 26px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}
.hero-kicker span::before{content:"+";color:var(--olive);margin-right:16px;font-weight:700}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(3rem,8.2vw,7.4rem);line-height:.98;letter-spacing:-.03em;font-variation-settings:"opsz" 72}
h1 em{font-weight:400;color:var(--olive);position:relative;white-space:nowrap}
h1 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.04em;height:.09em;border-radius:1em;background:var(--lime);z-index:-1}
.line-mask{display:block;overflow:hidden;padding-bottom:.08em}
.line{display:block;position:relative;z-index:0}
.hero-lead{max-width:58ch;font-size:clamp(1.04rem,1.35vw,1.2rem);color:#45453d;margin:28px auto 0}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.hero-media{margin:56px 0 0;border-radius:var(--r);overflow:hidden;aspect-ratio:2/1}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-proof{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hero-proof li{display:flex;flex-direction:column;padding-left:16px;border-left:2px solid var(--lime)}
.hero-proof strong{font-weight:600;font-size:1rem}
.hero-proof span{font-size:.88rem;color:var(--mute)}
@media (prefers-reduced-motion:no-preference){
.js .line{transform:translateY(108%);opacity:0}
.js .hero-lead,.js .hero-actions,.js .hero-proof{opacity:0;transform:translateY(22px)}
.js .hero-media{clip-path:inset(22% 9% 0% 9% round 22px)}
.js .hero-media img{transform:scale(1.12)}
}
html.force-visible .line,html.force-visible .hero-lead,html.force-visible .hero-actions,html.force-visible .hero-proof,html.force-visible .reveal{opacity:1!important;transform:none!important}
html.force-visible .hero-media{clip-path:none!important}html.force-visible .hero-media img{transform:none!important}
.js .reveal{opacity:0}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Trust */
.trust{background:var(--paper);padding:clamp(84px,10vw,140px) 0}
.trust-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:start}
.trust-copy>p{max-width:50ch;margin:22px 0 0}
.checks{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.checks li{display:flex;gap:14px;align-items:flex-start;font-weight:500}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3.2L16 8' fill='none' stroke='%231f201c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
.quotes{display:grid;gap:16px}
.quote{margin:0;background:var(--cream);border-radius:var(--r);padding:28px 30px}
.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.3;font-variation-settings:"opsz" 30}
.quote figcaption{margin-top:12px;font-size:.88rem;font-weight:600;color:var(--olive)}
.quotes-src{margin:4px 0 0;font-size:.84rem;color:var(--mute)}
/* Offer */
.offer{padding:clamp(84px,10vw,140px) 0}
.offer-head{max-width:760px}
.offer-head>p:not(.eyebrow){margin:18px 0 0;color:#45453d;max-width:52ch}
.offer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:52px}
.ocard{grid-column:span 4;background:var(--paper);border-radius:var(--r);padding:30px 30px 32px;position:relative;border:1px solid var(--line)}
.ocard-a{grid-column:span 6;grid-row:span 2;background:var(--char);color:var(--cream);border-color:var(--char)}
.ocard.ocard-a p{color:rgba(245,240,230,.8)}
.ocard-a li{border-color:rgba(245,240,230,.14)!important}
.ocard-a .ocard-no{color:var(--lime)}
.ocard:nth-child(2),.ocard:nth-child(3){grid-column:span 3}
.ocard-b{grid-column:span 6;background:var(--sand);border-color:var(--sand)}
.ocard-no{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--olive)}
.ocard h3{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.1;margin:8px 0 12px}
.ocard p{margin:0;font-size:.98rem;color:#45453d}
.ocard ul{list-style:none;padding:0;margin:20px 0 0}
.ocard li{padding:9px 0;border-top:1px solid var(--line);font-size:.96rem}
.voucher{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);background:var(--lime);border-radius:var(--r);padding:clamp(28px,4vw,52px)}
.voucher .eyebrow{color:var(--moss)}.voucher .eyebrow::before{background:var(--char);box-shadow:none}
.voucher h3{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.05}
.voucher-copy p:not(.eyebrow){margin:14px 0 24px;max-width:44ch}
.vprices{margin:0;align-self:center}
.vprices>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(31,32,28,.22)}
.vprices>div:first-child{border-top:1px solid rgba(31,32,28,.22)}
.vprices dd{margin:0;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.offer-note{margin:18px 0 0;font-size:.9rem;color:var(--mute)}
/* Place */
.place{background:var(--paper);padding:clamp(84px,10vw,140px) 0}
.place-head{max-width:720px}
.place-head>p:not(.eyebrow){margin:18px 0 0;color:#45453d;max-width:52ch}
.place-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:48px}
.pimg{margin:0;border-radius:var(--r);overflow:hidden;position:relative}
.pimg img{width:100%;height:100%;object-fit:cover}
.pimg figcaption{position:absolute;left:14px;bottom:14px;background:rgba(251,248,242,.92);border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}
.p1{grid-column:span 8;aspect-ratio:2/1}
.p1 img{height:112%;margin-top:-6%}
.p2{grid-column:span 4;grid-row:span 2}
.p3{grid-column:span 4;aspect-ratio:3/2}
.p4{grid-column:span 4;aspect-ratio:3/2}
/* Steps */
.steps{background:var(--char);color:var(--cream);padding:clamp(84px,10vw,140px) 0}
.steps .eyebrow{color:var(--lime)}
.steps-list{list-style:none;padding:0;margin:44px 0 0}
.step{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;padding:30px 0;position:relative;align-items:baseline}
.step .rule-draw{position:absolute;top:0;left:0;right:0;height:1px;background:rgba(245,240,230,.22);display:block}
.step-no{font-family:var(--serif);font-style:italic;font-size:3rem;line-height:1;color:var(--lime)}
.step h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:6px}
.step p{margin:0;color:rgba(245,240,230,.74);max-width:56ch}
.steps-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:36px}
.steps-cta span{color:rgba(245,240,230,.74)}
.steps-cta span a{color:var(--cream);font-weight:600;text-underline-offset:3px}
/* Team */
.team{padding:clamp(84px,10vw,140px) 0}
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);align-items:center}
.founder-img{margin:0;border-radius:50%;overflow:hidden;aspect-ratio:1;max-width:440px;background:var(--sand)}
.founder-img img{width:100%;height:100%;object-fit:cover}
.founder-copy h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.founder-copy h2 em{color:var(--char)}
.founder-copy>p:not(.eyebrow):not(.sig){margin:24px 0 0;max-width:56ch;font-size:1.06rem}
.sig{margin:22px 0 0;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--olive)}
.crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(56px,7vw,90px)}
.member{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;background:var(--paper);border-radius:var(--r);padding:20px;border:1px solid var(--line)}
.member img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.m-tag{margin:0;font-family:var(--serif);font-style:italic;color:var(--olive)}
.member h3{font-family:var(--sans);font-weight:600;font-size:1.1rem;margin:2px 0 4px}
.member p:last-child{margin:0;font-size:.9rem;color:var(--mute)}
/* KK */
.kk{background:var(--sand);padding:clamp(84px,10vw,130px) 0}
.kk-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.kk-copy>p:not(.eyebrow){margin:20px 0 0;max-width:44ch}
.kk-list{display:grid;gap:14px}
.kk-item{background:var(--paper);border-radius:var(--r);padding:24px 28px}
.kk-item h3{font-family:var(--serif);font-size:1.45rem;margin-bottom:6px}
.kk-item p{margin:0;font-size:.98rem;color:#45453d}
/* FAQ */
.faq{padding:clamp(84px,10vw,140px) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:22px 48px 22px 0;font:500 1.12rem/1.4 var(--sans);color:var(--char);cursor:pointer;position:relative}
.faq-q i{position:absolute;right:4px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--sand);transition:background-color .3s}
.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--char);transition:transform .3s}
.faq-q i::after{transform:rotate(90deg)}
.faq-item.open .faq-q i{background:var(--lime)}
.faq-item.open .faq-q i::after{transform:rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.faq-a>p{overflow:hidden;margin:0;color:#45453d;max-width:62ch}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a>p{padding-bottom:22px}
/* Contact */
.contact{padding:0 0 clamp(64px,8vw,100px)}
.contact-inner{background:var(--char);color:var(--cream);border-radius:calc(var(--r) + 8px);padding:clamp(36px,6vw,80px)}
.contact .eyebrow{color:var(--lime)}
.contact h2{font-size:clamp(2.3rem,5vw,4.2rem)}
.contact h2 em{color:var(--lime)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.contact-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px;padding-top:32px;border-top:1px solid rgba(245,240,230,.16)}
.cc{display:flex;flex-direction:column;gap:6px}
.cc-l{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--lime)}
.cc p{margin:0}
.cc a{text-underline-offset:3px}
/* Footer */
.footer{padding:0 0 30px;font-size:.84rem;color:var(--mute)}
.footer-inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.credit{font-size:.78rem}
/* Responsive */
@media (min-width:1021px){.trust-copy,.kk-copy,.faq-head{position:sticky;top:110px}}
@media (max-width:1100px){.nav-links{gap:16px}.nav-links a{font-size:.88rem}}
@media (max-width:1020px){
.nav-links{display:none}.nav-toggle{display:block}
.mobile-menu{display:flex;flex-direction:column;gap:4px;position:fixed;top:0;left:0;right:0;padding:84px var(--pad) 28px;background:var(--cream);transform:translateY(-102%);visibility:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility 0s linear .4s;z-index:-1;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.mobile-menu a{text-decoration:none;font-size:1.3rem;font-weight:500;padding:10px 0;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:16px;border:0;font-size:1rem}
.menu-open .mobile-menu{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility 0s}
.hero-proof{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}
.trust-grid,.kk-grid,.faq-grid,.founder,.voucher{grid-template-columns:1fr}
.founder-img{max-width:320px}
.ocard,.ocard-a,.ocard-b,.ocard:nth-child(2),.ocard:nth-child(3){grid-column:span 6;grid-row:auto}
.ocard-a{grid-column:span 12}
.ocard-b{grid-column:span 12}
.crew{grid-template-columns:1fr}
.contact-cols{grid-template-columns:1fr 1fr}
.p1{grid-column:span 12}
.p2{grid-column:span 6;grid-row:auto;aspect-ratio:4/5}
.p3,.p4{grid-column:span 6}
.p4{grid-column:span 12;aspect-ratio:16/9}
}
@media (max-width:640px){
body{font-size:16px}
.nav-cta{display:none}
.brand img{height:38px}
.hero{padding-top:112px}
.hero-actions{width:100%}.hero-actions .btn{width:100%}
.hero-media{aspect-ratio:4/3;margin-top:40px}
.hero-proof{grid-template-columns:1fr}
.ocard,.ocard-a,.ocard-b,.ocard:nth-child(2),.ocard:nth-child(3){grid-column:span 12}
.place-grid{grid-template-columns:1fr}
.p1,.p2,.p3,.p4{grid-column:1}
.p1,.p3,.p4{aspect-ratio:4/3}
.p2{aspect-ratio:4/5}
.step{grid-template-columns:1fr;gap:6px}
.step-no{font-size:2.4rem}
.contact-cols{grid-template-columns:1fr}
.contact-actions .btn{width:100%}
.vprices>div{flex-wrap:wrap;gap:4px 16px}
}
@media (max-width:640px){h1{font-size:9.4vw;line-height:1.02}h1 .line{white-space:nowrap}}

.nw{white-space:nowrap}
@media (max-width:640px){.voucher{padding:26px 22px}}
#nl-badge-frame,[id*="netlify-badge"],iframe[src*=".netlify/scripts/hud"]{display:none!important}
