/* Dreamtyou marketing site. Layout, type, scroll and device side-scroll adapted from botbar.io; brand gradient from the Dreamtyou logo. */
:root{--bg:#f3f2f0;--ink:#1c1d21;--mut:#55566a;--c:#0fb8de;--m:#b23cf0;--v:#7b5cff;--ct:#0a8fb3;--mt:#9a2fd6;--card:#ffffffb3;--line:#dcd9d4;
--b1:#0295bb;--b2:#3f64d6;--b3:#8824eb;--brand:linear-gradient(90deg,var(--b1),var(--b2),var(--b3));--brand135:linear-gradient(135deg,var(--b1),var(--b2) 55%,var(--b3));
--glow1:#e6dcff;--glow2:#d7f3fb;--navbg:rgba(243,242,240,.72);--shadow:#7b5cff55;--bezel:#fff;--bezel-line:#d6d3e6;--band:#dcd9e6;--band2:#c9c5d9;--lid-base:#e9e7f0;--lid-base2:#cfccdc;--dot:#dcd9e6}
[data-theme=dark]{--bg:#06071a;--ink:#eef0ff;--mut:#9aa0c8;--c:#3ee0ff;--m:#d34bff;--v:#7a5cff;--ct:#3ee0ff;--mt:#d34bff;--card:rgba(255,255,255,.05);--line:rgba(255,255,255,.1);
--glow1:#24124d;--glow2:#0c2a4d;--navbg:rgba(6,7,26,.55);--shadow:#6a3cff;--bezel:#16182e;--bezel-line:#3a3d5c;--band:#2a2c40;--band2:#1a1c2c;--lid-base:#2a2c40;--lid-base2:#141628;--dot:#34375a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:radial-gradient(1200px 800px at 80% -10%,var(--glow1) 0,transparent 60%),radial-gradient(900px 700px at -10% 30%,var(--glow2) 0,transparent 60%),var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;overflow-x:hidden;transition:background-color .3s,color .3s}
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.02em;line-height:1.05}
img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--c);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px}.skip:focus{left:8px}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--brand);z-index:99}
.grad{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.kick{font:600 13px "Space Grotesk";letter-spacing:.1em;color:var(--ct);margin:0 0 6px}
.lede{color:var(--mut);font-size:19px;max-width:560px;margin:26px 0 34px}
.fine{color:var(--mut);font-size:13px;margin-top:18px}.fine.center,.center{text-align:center}.mut{color:var(--mut)}.sm{font-size:14px}
.cta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.cta-row.center{justify-content:center}

/* nav — botbar spacing and mobile drawer */
.nav{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:12px 4vw;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--navbg);border-bottom:1px solid var(--line)}
.brand .logo{height:34px;width:auto}
.logo-light{display:block}.logo-dark{display:none}
[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:block}
.nav nav{display:flex;gap:22px;margin-left:auto;color:var(--mut);font-size:14px}.nav nav a:hover{color:var(--ink)}
.nav-r{display:flex;gap:12px;align-items:center}
.theme{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;font-size:16px}
.theme .sun{display:inline}.theme .moon{display:none}
[data-theme=dark] .theme .sun{display:none}[data-theme=dark] .theme .moon{display:inline}
.menu{display:none;font-weight:600;font-size:14px;padding:8px 12px;border:1px solid var(--line);border-radius:999px}

/* buttons */
.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-weight:600;background:var(--brand135);color:#fff;box-shadow:0 10px 40px -10px var(--b3);transition:transform .2s,box-shadow .2s;border:1px solid transparent}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 50px -8px var(--b3)}
.btn.sm{padding:8px 16px;font-size:14px;white-space:nowrap}.btn.big{padding:18px 30px;font-size:18px}
.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--v);box-shadow:none}
.btn em{font-style:normal;font-size:11px;letter-spacing:.04em;text-transform:uppercase;opacity:.85;margin-left:6px;font-weight:600}

/* hero — botbar grid, type scale, scroll cue */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4vw;padding:130px 6vw 60px;position:relative}
.hero h1{font-size:clamp(38px,5.4vw,80px);overflow-wrap:break-word;text-wrap:balance}
.hero-art img{border-radius:28px;box-shadow:0 40px 120px -30px var(--shadow);animation:float 7s ease-in-out infinite;aspect-ratio:16/10;object-fit:cover;width:100%}
@keyframes float{50%{transform:translateY(-14px) rotate(-.6deg)}}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.22;z-index:-1;pointer-events:none}
[data-theme=dark] .glow{opacity:.45}
.g1{width:420px;height:420px;background:var(--b3);right:10%;top:20%}.g2{width:300px;height:300px;background:var(--b1);left:5%;bottom:5%}
.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:var(--mut);font-size:13px;white-space:nowrap}
.scroll-cue span{display:inline-block;animation:bob 1.6s infinite}
@keyframes bob{50%{transform:translateY(5px)}}

/* mid / download — botbar sec-head rhythm */
.mid-cta,.sec-dl{padding:110px 6vw}
.sec-head{text-align:center;max-width:720px;margin:0 auto 36px}
.sec-head h2{font-size:clamp(36px,5vw,64px);margin-bottom:12px}
.sec-head p{color:var(--mut)}

/* devices — botbar side-scroll: tall section, sticky viewport, track translates in vw */
.devices{height:400vh;position:relative}
.dv-stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:108px 0 90px}
.dv-head{padding:0 6vw}
.dv-head h2{font-size:clamp(32px,4.4vw,58px)}
.dv-head p{color:var(--mut);font-size:18px}
.dv-track{flex:1 0 auto;display:flex;width:400vw;min-width:400vw;will-change:transform}
.dv{flex:0 0 100vw;width:100vw;max-width:100vw;display:grid;place-items:center;transition:transform .5s,opacity .5s}
.dv:not(.on){transform:scale(.86);opacity:.35}
.dv-dots{display:flex;gap:6px;justify-content:center;padding:8px 0 0}
.dv-dots i{width:28px;height:4px;border-radius:3px;background:var(--dot)}
.dv-dots i.on{background:var(--brand)}
.scr{border-radius:inherit;height:100%;overflow:hidden;background:#141633}
.scr img{width:100%;height:100%;object-fit:cover}
.d-phone{width:min(220px,46vw);aspect-ratio:9/19;border-radius:34px;padding:8px;background:var(--bezel);box-shadow:0 0 0 1px var(--bezel-line),0 40px 80px -30px var(--shadow)}
.d-phone .scr{border-radius:26px}
.d-laptop{width:min(640px,86vw)}
.d-laptop .lid{aspect-ratio:16/10;border-radius:18px 18px 4px 4px;padding:10px;background:var(--bezel);box-shadow:0 0 0 1px var(--bezel-line),0 40px 80px -30px var(--shadow)}
.d-laptop .lid .scr{border-radius:10px}
.d-laptop .base{height:14px;margin:0 -6%;border-radius:0 0 16px 16px;background:linear-gradient(var(--lid-base),var(--lid-base2))}
.d-watch{display:flex;flex-direction:column;align-items:center}
.d-watch .band{width:90px;height:70px;background:linear-gradient(var(--band),var(--band2))}
.band.t{border-radius:20px 20px 0 0}.band.b{border-radius:0 0 20px 20px}
.d-watch .face{width:150px;height:170px;border-radius:40px;padding:8px;background:var(--bezel);box-shadow:0 0 0 1px var(--bezel-line),0 30px 60px -24px var(--shadow)}
.d-watch .face .scr{border-radius:32px}
.d-watch .face.sq{width:156px;height:176px;border-radius:36px}

/* reveal + heading word rise — botbar timings */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}.reveal.delay{transition-delay:.15s}
.split .w{display:inline-block;opacity:0;transform:translateY(.5em);transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i)*55ms)}
.split.in .w{opacity:1;transform:none}

/* footer */
footer{padding:80px 6vw 40px;color:var(--mut);text-align:center;border-top:1px solid var(--line)}
.foot .logo{height:44px;width:auto;margin:0 auto 10px}
.flinks{margin:16px 0 28px}.flinks a:hover{color:var(--ink)}
.legal p{max-width:720px;margin:0 auto 12px;font-size:13px}

@media (min-width:821px){
  .nav{padding-top:8px}
  .nav nav{margin-bottom:12px}
}
@media (max-width:820px){
  .hero h1{font-size:clamp(34px,10vw,56px)}
  .hero{grid-template-columns:1fr;padding:100px 6vw 80px}
  .hero-art{order:-1}
  .nav nav{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);flex-direction:column;border-radius:18px;padding:8px;min-width:200px;text-align:center;background:var(--bg);border:1px solid var(--line);box-shadow:0 20px 50px -20px var(--shadow)}
  .nav.open nav{display:flex}
  .nav nav a{font-size:15px;padding:9px 14px}
  .menu{display:inline-flex}
  .nav .btn{margin-left:0}
  .d-phone{width:min(200px,56vw)}
  .dv-stick{padding:96px 0 72px}
  .dv-head h2{font-size:32px}
  .dv-head p{font-size:16px}
  .mid-cta,.sec-dl{padding:80px 6vw}
  .btn.big{padding:14px 22px;font-size:16px}
  .nav .btn.sm{padding:8px 12px;font-size:13px}
  .hero-art img{max-height:32vh;width:auto;margin:0 auto;aspect-ratio:16/10}
  .lede{margin:16px 0 22px;font-size:17px}
  .scroll-cue{bottom:12px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.split .w{opacity:1;transform:none}
  .devices{height:auto}
  .dv-stick{position:relative;height:auto;overflow:visible;padding:80px 0 40px}
  .dv-track{width:100%!important;transform:none!important;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0 6vw}
  .dv{width:auto;opacity:1;transform:none}
  .dv-dots{display:none}
}
