:root{--bg:#f6f2ea;--alt:#efe7d8;--card:#fffdf9;--ink:#1c2826;--muted:#55605c;--teal:#0f5c55;--deep:#0a3431;--night:#082624;--sun:#ee8f4d;--sun-ink:#2b1806;--stampc:#a0471a;--line:#e3d9c7;--ease:cubic-bezier(.2,.8,.2,1);--sec:clamp(64px,9vw,128px);--disp:"Playfair Display",Georgia,serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-variant-numeric:lining-nums;margin:0;background:var(--bg);color:var(--ink);font:500 clamp(16px,1.2vw,18px)/1.55 Manrope,"Segoe UI",Arial,sans-serif;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,figure,fieldset{margin:0;padding:0}ul{list-style:none}fieldset{border:0}
h1,h2{font-family:var(--disp);font-weight:800;letter-spacing:-.015em;word-break:keep-all;hyphens:none;text-wrap:balance}
h2{font-size:clamp(33px,4.6vw,62px);line-height:1.08;margin-bottom:.5em}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffd9bb;margin-bottom:14px}
.kicker.dark{color:var(--stampc)}
.lead{font-size:clamp(18px,1.7vw,22px);line-height:1.42;font-weight:600}
.top{position:fixed;z-index:20;inset:0 0 auto 0;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(16px,3vw,32px);transition:background .3s,box-shadow .3s}
.top.on{background:rgba(246,242,234,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;gap:8px;align-items:center;font-weight:800;font-size:19px;text-decoration:none;color:#fff;transition:color .3s;min-height:44px}
.top.on .brand{color:var(--ink)}
.top-tg{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--sun);color:var(--sun-ink);font-weight:800;font-size:14px;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .3s}
.top.on .top-tg{opacity:1;pointer-events:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:0;border-radius:18px;font:800 16px/1.2 Manrope,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}
.btn.sun{background:var(--sun);color:var(--sun-ink);box-shadow:0 12px 30px -10px rgba(238,143,77,.8)}
.btn.sun:hover{box-shadow:0 18px 38px -10px rgba(238,143,77,.95)}
.btn.teal{background:var(--teal);color:#fff}
.btn.glass{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);backdrop-filter:blur(6px)}
.btn.glass:hover{background:rgba(255,255,255,.24)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.proto{font-size:13px;line-height:1.4;color:#f3ece2;margin-top:14px}.proto.dark{color:var(--muted)}

.hero{position:relative;min-height:100svh;color:#fff;background:var(--deep);overflow:hidden;display:flex;align-items:flex-start}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,44,.62) 0%,rgba(10,30,44,.42) 42%,rgba(8,26,24,.05) 62%,rgba(8,26,24,.88) 100%)}
.hero-in{position:relative;z-index:2;width:min(1200px,100% - 40px);margin:0 auto;padding:clamp(84px,12vh,130px) 0 28px;min-height:100svh;display:flex;flex-direction:column}
.hero h1{font-size:clamp(52px,9.4vw,124px);line-height:1;max-width:11em;text-shadow:0 2px 26px rgba(10,30,44,.4)}
.not-date{font-style:italic;color:#ffc79c;white-space:nowrap}
.hero-hook{font-size:clamp(19px,2.2vw,28px);line-height:1.3;font-weight:700;margin-top:18px;max-width:24em;text-shadow:0 1px 14px rgba(10,30,44,.55)}
.hero-sub{margin-top:auto;padding-top:24px;max-width:32em;font-weight:600;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.hero .cta{margin-top:16px}

.list{padding:var(--sec) 0;background:var(--bg)}
.list-grid{display:grid;gap:30px}
.sum{display:flex;gap:14px;align-items:center;margin-top:22px;min-height:66px}
.sum-n{flex:none;font:800 clamp(52px,6vw,78px)/1 var(--disp);color:var(--stampc)}
.sum-btn{margin-top:14px;width:100%}
.later{background:var(--card);border-radius:26px;box-shadow:0 24px 60px -30px rgba(70,50,20,.35),0 0 0 1px var(--line);padding:8px clamp(14px,2.4vw,26px);transform:rotate(-.4deg)}
.later li{border-bottom:1px dashed var(--line)}.later li:last-child{border:0}
.later button{position:relative;display:block;width:100%;min-height:68px;padding:18px 64px 18px 0;background:none;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer}
.ph{display:inline;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.3;background:linear-gradient(var(--stampc),var(--stampc)) 0 58%/0 2px no-repeat;transition:background-size .45s var(--ease),color .3s}
.later button:hover .ph{color:var(--teal)}
.on .ph{background-size:100% 2px;color:var(--muted)}
.an{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.on .an{grid-template-rows:1fr}
.an-in{overflow:hidden;min-height:0}
.an b{display:block;margin-top:8px;font:700 clamp(21px,2vw,26px)/1.15 var(--disp);color:var(--teal)}
.an span span{display:block;margin-top:3px;font-size:15px;color:var(--muted);line-height:1.4}
.st{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:2.5px solid var(--stampc);border-radius:50%;color:var(--stampc);font:800 11px/1 Manrope,sans-serif;font-style:normal;letter-spacing:.04em;background:#fff3e6}
.later .st{position:absolute;right:0;top:12px;opacity:0;transform:scale(1.8) rotate(12deg);transition:opacity .2s,transform .3s var(--ease)}
.on .st{opacity:1;transform:scale(1) rotate(-10deg)}
.seventh{padding:16px 0;color:var(--muted);font-size:15px;font-style:italic}

.goal{background:var(--deep);color:#fff;padding:var(--sec) 0;position:relative;overflow:hidden}
.goal::before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-160px;border-radius:50%;background:radial-gradient(closest-side,rgba(238,143,77,.3),transparent)}
.goal-in{position:relative;max-width:900px}
.goal h2{font-size:clamp(38px,6vw,84px)}
.goal-txt{max-width:640px}.goal-txt p{margin-top:14px;color:#dfe9e4}
.goal-txt .quote{font:italic 700 clamp(22px,2.3vw,30px)/1.25 var(--disp);color:#ffd9bb;margin:24px 0}
mark{background:var(--sun);color:var(--sun-ink);padding:0 .25em;border-radius:5px;font-weight:800;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.morning{padding:var(--sec) 0;background:var(--alt)}
.morning-in{display:grid;gap:44px}
.stack{position:relative;padding-bottom:18%;margin-right:12%}
.stack img{border-radius:24px;box-shadow:0 30px 60px -28px rgba(40,30,10,.55)}
.s1{transform:rotate(-1.5deg);aspect-ratio:1/1.08;object-fit:cover;width:100%}
.s2{position:absolute;right:-14%;bottom:0;width:48%;aspect-ratio:1/1;object-fit:cover;border:6px solid var(--card);transform:rotate(3deg)}
.time{position:absolute;left:12px;top:12px;background:var(--card);padding:6px 14px;border-radius:999px;font:800 26px/1.2 var(--disp);color:var(--teal);box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.scene{margin-top:4px}.scene p{margin-top:12px}
.say{font:700 clamp(21px,2.1vw,26px)/1.25 var(--disp);color:var(--teal)}
.facts{margin-top:26px;display:grid;gap:10px}
.facts li{background:var(--card);border-radius:16px;padding:12px 16px;font-size:15px;line-height:1.35;transition:transform .25s var(--ease),box-shadow .25s}
.facts li:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(40,30,10,.5)}
.facts b{display:block;font:800 26px/1.2 var(--disp);color:var(--stampc)}

.circle{position:relative;color:#fff;background:var(--night)}
.circle-img{width:100%;height:min(66vh,620px);object-fit:cover;object-position:50% 30%}
.circle::before{content:"";position:absolute;inset:0;height:min(66vh,620px);background:linear-gradient(180deg,transparent 45%,var(--night) 100%);z-index:1}
.circle-in{position:relative;z-index:2;max-width:760px;margin-top:-84px;padding-bottom:var(--sec)}
.circle-in p:not(.kicker){margin-top:12px;color:#dfe9e4}
.circle-in .quiet{font:italic 700 clamp(22px,2.3vw,30px)/1.25 var(--disp);color:#ffd9bb;margin-top:24px}

.passport{padding:var(--sec) 0;background:var(--bg)}
.passport-in{display:grid;gap:38px}
.passport p:not(.kicker):not(.lead){margin-top:12px}
.hundred{display:flex;align-items:center;gap:14px;margin-top:24px!important}
.hundred b{font:800 clamp(64px,9vw,104px)/1 var(--disp);color:var(--teal)}
.hundred span{max-width:15em;font-weight:700;line-height:1.3}
.pages{position:relative;aspect-ratio:1.25/1;background:#f3e6cf;border-radius:22px;box-shadow:inset 0 0 0 1px #e0cfae,0 26px 50px -30px rgba(70,50,20,.5);background-image:linear-gradient(90deg,transparent 49.6%,rgba(120,90,40,.25) 50%,transparent 50.4%);overflow:hidden}
.pages img{position:absolute;right:-16px;bottom:-16px;width:30%;opacity:.95}
.stamp{position:absolute;display:flex;align-items:center;justify-content:center;width:27%;aspect-ratio:1;border:3px solid var(--stampc);border-radius:50%;color:var(--stampc);font-size:clamp(11px,1.2vw,14px);font-weight:800;line-height:1.1;text-align:center;background:rgba(255,243,230,.6)}
.stamp.empty{border:2px dashed #b9a57e;color:#736445;background:none}
.s-a{left:6%;top:9%;transform:rotate(-9deg)}.s-b{left:21%;top:50%;transform:rotate(6deg)}.s-c{left:54%;top:7%;transform:rotate(8deg);border-color:var(--teal);color:var(--teal)}.s-d{left:39%;top:30%;transform:rotate(-14deg);border-color:var(--teal);color:var(--teal)}.s-e{left:70%;top:36%}.s-f{left:53%;top:64%}
.js .reveal .stamp:not(.empty){opacity:0}
.js .reveal.in .stamp:not(.empty){animation:thump .4s var(--ease) both}
.js .reveal.in .s-b{animation-delay:.2s}.js .reveal.in .s-c{animation-delay:.4s}.js .reveal.in .s-d{animation-delay:.6s}
@keyframes thump{from{opacity:0;scale:1.7}to{opacity:1;scale:1}}

.trips{position:relative;color:#fff;background:var(--deep);overflow:hidden;display:flex;align-items:flex-end;min-height:min(112vh,860px)}
.trips-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%}
.trips::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,30,34,0) 30%,rgba(6,30,34,.9) 74%)}
.trips-in{position:relative;z-index:2;padding:0 0 clamp(36px,6vw,72px)}
.trips-in>p:not(.kicker){max-width:640px;margin-top:10px}
.boards{display:grid;gap:10px;margin-top:20px;max-width:740px}
.boards div{background:rgba(255,253,249,.14);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);border-radius:18px;padding:14px 16px;transition:transform .25s var(--ease),background .25s}
.boards div:hover{transform:translateY(-2px);background:rgba(255,253,249,.22)}
.boards b{display:block;font-size:18px}.boards span{font-size:15px}

.tour{padding:var(--sec) 0;background:var(--alt)}
.tour-in{display:grid;gap:26px;align-items:center}
.tour img{border-radius:24px;aspect-ratio:4/3;object-fit:cover;width:100%;object-position:50% 45%;box-shadow:0 26px 50px -30px rgba(40,30,10,.55)}

.first{padding:var(--sec) 0;background:var(--bg)}
.first-in{display:grid;gap:36px;align-items:start}
.first .kicker{color:var(--stampc)}
.first h2{font-size:clamp(28px,3.4vw,42px)}
.price{display:block;font-size:clamp(66px,10vw,132px);line-height:1;color:var(--teal);white-space:nowrap;margin-bottom:.1em}
.faq{margin-top:26px}
.faq h3{font-size:18px;font-weight:800;margin-top:20px}
.faq p{margin-top:4px;color:var(--muted)}
.form,.done{background:var(--card);border-radius:26px;padding:clamp(20px,3vw,32px);box-shadow:0 30px 70px -36px rgba(40,30,10,.5),0 0 0 1px var(--line)}
.form h3,.done h3{font:800 clamp(26px,2.6vw,32px)/1.15 var(--disp);margin-bottom:16px}
.form>label,legend{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
#fname{width:100%;height:54px;padding:0 16px;font:600 16px Manrope,sans-serif;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;margin-bottom:16px}
#fname:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,92,85,.18)}
fieldset{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}legend{float:left;width:100%}
.pick{position:relative}.pick input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.pick span{display:flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:15px;transition:background .2s,color .2s}
.pick input:checked+span{background:var(--teal);color:#fff;box-shadow:none}
.pick input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.form .btn{width:100%}
.err{color:#a3341f;font-size:14px;font-weight:700;margin-top:10px}
.done{text-align:center}.done .st{margin:0 auto 12px;width:72px;height:72px;font-size:15px;transform:rotate(-10deg)}
.done .btn{margin-top:16px;width:100%}

.final{background:linear-gradient(180deg,var(--deep),var(--night));color:#fff;padding:var(--sec) 0;overflow:hidden}
.final-in{display:grid;gap:40px;align-items:center}
.final h2{font-size:clamp(34px,4.8vw,64px);margin-bottom:.2em}
.answer{font:italic 700 clamp(42px,6.5vw,88px)/1.1 var(--disp);color:#ffc79c;margin-bottom:26px}
.fine{margin-top:20px;font-size:14px;line-height:1.45;color:#c8d6d0;max-width:36em}
.phone{display:none}
.phone iframe{display:block;width:100%;height:100%;border:0;border-radius:32px;background:var(--bg)}

footer{background:var(--night);color:#c8d6d0;padding:26px 0 34px;font-size:14px;border-top:1px solid rgba(255,255,255,.1)}
footer b{color:#fff}

.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}


.paths{background:var(--night);color:#fff;padding:var(--sec) 0}
.paths-head{max-width:820px;margin-bottom:34px}.paths-head p.lead{color:#dfe9e4}
.paths-grid{display:grid;gap:18px}
.asks{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.asks button{min-height:48px;padding:0 18px;border:0;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:#fff;font:700 15px/1.2 Manrope,sans-serif;cursor:pointer;transition:background .2s,transform .2s var(--ease)}
.asks button:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.asks button[aria-pressed=true]{background:var(--sun);color:var(--sun-ink);box-shadow:none}
.path{display:grid;background:var(--bg);color:var(--ink);border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -30px #000}
.path img{width:100%;height:210px;object-fit:cover;object-position:50% 35%}
.path-in{padding:clamp(18px,3vw,30px)}
.path h3{font:800 clamp(26px,3vw,38px)/1.12 var(--disp);margin-bottom:14px}
.path ol{list-style:none;margin:0;padding:0;counter-reset:s}
.path li{counter-increment:s;position:relative;padding:9px 0 9px 44px;font-weight:700;line-height:1.3}
.path li::before{content:counter(s);position:absolute;left:0;top:6px;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.topics{margin-top:36px}
.topics h3{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffd9bb;margin-bottom:12px}
.topics ul{display:flex;flex-wrap:wrap;gap:6px 18px}
.topics li{font-size:15px;color:#dfe9e4}
.topics li:not(:last-child)::after{content:"·";margin-left:18px;color:#7f9a92}
.week{background:var(--bg);padding:var(--sec) 0}
.days{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.days li{background:var(--card);border-radius:20px;padding:18px;box-shadow:0 0 0 1px var(--line);transition:transform .25s var(--ease),box-shadow .25s}
.days li:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line),0 18px 30px -20px rgba(40,30,10,.5)}
.days b{display:block;font:800 clamp(22px,2.2vw,28px)/1.2 var(--disp);color:var(--teal)}
.days span{display:block;font-size:15px;line-height:1.4;color:var(--muted)}
.days .sat{background:var(--teal)}.days .sat b,.days .sat span{color:#fff}
.month{margin-top:20px;font-weight:600;max-width:42em}
@media (min-width:640px){.days{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.paths-grid{grid-template-columns:1fr 1.15fr;gap:36px}.path{grid-template-columns:.8fr 1fr}.path img{height:100%;min-height:320px}.days{grid-template-columns:repeat(4,1fr)}}
@media (min-width:640px){.boards{grid-template-columns:1fr 1fr}.facts{grid-template-columns:repeat(3,1fr)}.sum-btn{width:auto}}
@media (min-width:1000px){
 .list-grid{grid-template-columns:.8fr 1fr;gap:64px;align-items:start}.list-head{position:sticky;top:96px}
 .morning-in{grid-template-columns:.9fr 1fr;gap:72px;align-items:center}
 .passport-in{grid-template-columns:1fr 1fr;gap:72px;align-items:center}
 .tour-in{grid-template-columns:1fr 1.1fr;gap:64px}
 .first-in{grid-template-columns:1.1fr .9fr;gap:72px}
 .final-in{grid-template-columns:1fr 340px;gap:64px}
 .phone{display:block;height:680px;padding:10px;border-radius:42px;background:#0d1f1d;box-shadow:0 0 0 2px rgba(255,255,255,.14),0 40px 80px -30px #000;transform:rotate(1.5deg)}
 .hero-img{object-position:50% 58%}
 .hero::after{background:linear-gradient(90deg,rgba(10,30,44,.62),rgba(10,30,44,.08) 62%),linear-gradient(180deg,rgba(10,30,44,.2) 0%,rgba(8,26,24,0) 55%,rgba(8,26,24,.8) 100%)}
 .circle-img{height:min(78vh,720px)}.circle::before{height:min(78vh,720px)}
}
@media (max-width:640px){.cta .btn{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .reveal .stamp:not(.empty){opacity:1}}
