:root{--paper:#FAFAF8;--panel:#F1F1EE;--ink:#16161A;--muted:#6f6f68;--line:#E0E0DB;--accent:#2F4A3C;--soft:#E7EDE9;--green:#013F2F;--turq:#12E0D0;--blue:#1F5BFF}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Manrope,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:500;line-height:1.1;margin:0;letter-spacing:-.01em}
a{color:var(--accent)}img{display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.topbar{background:var(--green)}
.topbar .nav{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.brand{display:block}
.brand img{height:42px;width:auto}
.nav nav a{color:#d6e8df;text-decoration:none;font-size:15px;font-weight:500;margin-left:24px}
.nav nav a:hover{color:var(--turq)}
.btn{display:inline-block;background:var(--green);color:#fff;font-weight:700;border-radius:999px;padding:15px 28px;text-decoration:none;font-size:16px}
.btn.light{background:#fff;color:var(--green)}.btn.soon{cursor:default}
.eyebrow{font:600 12px/1 Manrope;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.sec{padding-top:128px}
.sec h2{font-size:clamp(32px,4.6vw,52px)}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:56px 0 0}
.hero h1{font-size:clamp(42px,6.2vw,78px);margin-bottom:22px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(18,224,208,.55) 62% 92%,transparent 92%)}
.hero p.sub{font-size:clamp(18px,2vw,21px);color:#4b4b45;max-width:21em;margin:0 0 32px}
.hero-note{font-size:13px;color:var(--muted);margin-top:14px}
.shot{position:relative;margin:0 0 0 auto;width:min(100%,430px)}
.shot::before,.shot::after{content:"";position:absolute;inset:0;border-radius:6px}
.shot::before{background:var(--blue);transform:translate(-22px,22px)}
.shot::after{background:var(--turq);transform:translate(-11px,11px)}
.shot img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px}

/* transformation */
.band{background:var(--green);color:#FEFAF1;border-radius:28px;padding:72px 28px 60px;margin-top:128px}
.band .eyebrow{color:#8fb7a6;text-align:center}
.band h2{text-align:center;color:#FEFAF1}
.band p.lead{text-align:center;color:#a9c9ba;margin:12px 0 30px}
.toggle{display:flex;gap:4px;justify-content:center;margin:0 auto 34px;background:rgba(255,255,255,.08);border-radius:999px;padding:4px;width:max-content}
.toggle button{font:600 15px Manrope;border:0;background:transparent;color:#cfe3d9;border-radius:999px;padding:10px 22px;cursor:pointer}
.toggle button[aria-pressed=true]{background:#fff;color:var(--green)}
.stage{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:640px;margin:0 auto}
.stage.after{gap:12px}
.tile{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#0a3b2e;transform-origin:0 0}
.tile img{width:100%;height:100%;object-fit:cover}
.tile span{display:none;position:absolute;left:8px;bottom:8px;background:var(--turq);color:var(--green);font:700 12px/1 Manrope;border-radius:999px;padding:5px 8px}
.stage.after .tile span{display:block}.stage.after .tile.out{display:none}
.caption{text-align:center;margin-top:30px;font:500 24px Lora,Georgia,serif}
.caption small{display:block;font:400 14px Manrope;color:#9fc0b0;margin-top:6px}

/* vibes */
.vibes-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.seg{display:flex;gap:4px;background:var(--panel);border-radius:999px;padding:4px;width:max-content}
.seg button{font:600 15px Manrope;border:0;background:transparent;color:var(--muted);border-radius:999px;padding:11px 22px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--green);color:#fff}
.vibe-line{font:italic 500 22px Lora,Georgia,serif;margin:0;min-height:1.4em}
.slides{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:14px;align-items:end}
.slide{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--panel)}
.slide:first-child{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--turq)}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}
.slide img.b{opacity:0}.slides.alt .slide img.a{opacity:0}.slides.alt .slide img.b{opacity:1}
.slide span{position:absolute;left:8px;bottom:8px;z-index:2;background:rgba(255,255,255,.94);color:var(--green);font:700 12px/1 Manrope;border-radius:999px;padding:5px 8px}
.tag{font:600 12px Manrope;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px}

/* why / how */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}
.why div{border-top:1px solid var(--ink);padding-top:18px}
.why h3{font-size:26px;margin:10px 0 8px}.why p{margin:0;color:#4b4b45}
.how{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:40px;font:500 clamp(30px,5.2vw,58px)/1.15 Lora,Georgia,serif}
.how i{font-style:normal;color:var(--turq)}
.how-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:18px;color:#4b4b45;font-size:16px}
.creators{max-width:34em;margin:56px 0 0;font:italic 500 clamp(20px,2.4vw,26px)/1.35 Lora,Georgia,serif}
.creators b{font-weight:600;font-style:normal;background:linear-gradient(transparent 62%,rgba(18,224,208,.5) 62% 92%,transparent 92%)}

.close{margin-top:120px;border-radius:28px;background:var(--green);color:#FEFAF1;padding:84px 28px;text-align:center}
.close h2{font-size:clamp(34px,5.4vw,60px);max-width:13em;margin:0 auto 32px;color:#FEFAF1}

footer{padding:56px 0 54px;color:var(--muted);font-size:14px;text-align:center}
footer a{color:var(--muted);margin:0 10px}
.page{max-width:720px;margin:0 auto;padding:30px 20px 10px}
.page h1{font-size:clamp(30px,5vw,42px);margin-bottom:6px}
.page .meta{color:var(--muted);font-size:14px;margin-bottom:32px}
.page h2{font-size:22px;margin:30px 0 8px}
.page p,.page li{color:#34342f}.page ul{padding-left:20px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:10px 0 0}
.box{background:var(--soft);border-radius:16px;padding:22px;margin:22px 0}

@media(max-width:860px){
 .sec{padding-top:84px}.band{margin-top:84px;padding:52px 16px 44px;border-radius:22px}
 .hero{grid-template-columns:1fr;gap:44px}.shot{margin:0 auto;width:min(84%,380px)}
 .why,.how-sub{grid-template-columns:1fr;gap:28px}.how-sub{gap:6px}
 .slides{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;margin:0 -24px;padding:0 24px 8px;scrollbar-width:none}
 .slides::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start}
 .close{margin-top:84px;padding:60px 20px;border-radius:22px}
 .brand img{height:32px}
 .nav nav a{margin-left:18px}
}
@media(prefers-reduced-motion:reduce){.slide img{transition:none}html{scroll-behavior:auto}}

/* journey */
.journey{display:grid;grid-template-columns:repeat(3,minmax(0,268px));justify-content:space-between;gap:56px 24px;margin-top:52px;align-items:start}
.journey figure{margin:0}.journey figure:nth-child(3n+2){margin-top:44px}
.phone{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;aspect-ratio:1/2}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.journey figcaption{margin-top:14px;font:600 15px/1.3 Manrope}
.journey figcaption b{display:inline-block;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--turq);color:var(--green);font-size:12px;margin-right:8px}
.journey figcaption small{display:block;font:400 13px/1.4 Manrope;color:var(--muted);margin-top:4px}
@media(max-width:860px){.journey{grid-template-columns:repeat(6,minmax(150px,58%));overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;margin:44px -24px 0;padding:0 24px 8px;scrollbar-width:none}.journey::-webkit-scrollbar{display:none}.journey figure{scroll-snap-align:start}.journey figure:nth-child(3n+2){margin-top:0}}

.guide h2{margin-top:36px}.guide .vibes2{display:grid;gap:4px}.guide .vibes2 p{margin:8px 0}
