:root{--gold:#f4c04d;--gold2:#c8921f;--ink:#0a0907;--cream:#fbf6ea;--text:#2b2418}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Poppins,sans-serif;line-height:1.65;overflow-x:hidden;text-align:center}
.wrap{max-width:1180px;margin:auto;padding:0 20px}
.sec{position:relative;padding:90px 0;overflow:hidden}
.dark{background:radial-gradient(circle at 80% 0,#2a2010,var(--ink) 55%);color:#f3ead6}
.light{background:linear-gradient(180deg,var(--cream),#fff);color:var(--text)}
.glow{position:absolute;width:520px;height:520px;left:50%;top:-180px;translate:-50% 0;background:radial-gradient(circle,rgba(244,192,77,.22),transparent 65%);animation:pulse 6s ease-in-out infinite;pointer-events:none}
h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.2}
h1{font-size:clamp(2.6rem,7vw,5rem);margin:18px 0}
h2{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:16px}
h3{font-size:1.4rem;margin:30px 0 14px}
.gold{background:linear-gradient(90deg,var(--gold),#fff1c2,var(--gold2),var(--gold));background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
.light .gold{background-image:linear-gradient(90deg,#b07a10,#e0ac3a,#b07a10)}
.eyebrow{color:var(--gold2);font-weight:600;letter-spacing:.15em;font-size:.8rem;text-transform:uppercase;margin-bottom:10px}
.lead{max-width:720px;margin:0 auto 26px;font-size:1.08rem;opacity:.9}
.logo{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--gold)}
.logo small{display:block;font-family:Poppins;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:#d9c79a}
.chips,.checks,.tick{list-style:none}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:34px}
.chips li{padding:8px 18px;border:1px solid rgba(244,192,77,.4);border-radius:30px;font-size:.9rem;transition:.3s}
.chips li:hover{background:rgba(244,192,77,.15);transform:translateY(-3px)}
.btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;margin-top:38px;padding:15px 36px;border-radius:50px;font-weight:600;text-decoration:none;color:#1a1204;background:linear-gradient(135deg,#ffd978,var(--gold2));box-shadow:0 8px 26px rgba(244,192,77,.35);overflow:hidden;transition:transform .3s,box-shadow .3s;animation:glowbtn 2.5s ease-in-out infinite}
.btn::before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:sweep 3.2s infinite}
.btn i{font-style:normal;transition:transform .3s}
.btn:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 14px 34px rgba(244,192,77,.55)}
.btn:hover i{transform:translateX(7px)}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;color:var(--gold);border:2px solid var(--gold);box-shadow:none;animation:none}
.btn.ghost::before{display:none}
.btn.ghost:hover{background:var(--gold);color:#1a1204}
.light .btn.ghost{color:#8a5d08;border-color:#c8921f}
.btn.sm{padding:12px 26px;margin-top:22px;font-size:.92rem}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mock{position:relative;margin:60px auto 0;max-width:640px}
.laptop{background:#12100c;border:2px solid #3a3020;border-radius:16px 16px 6px 6px;padding:22px;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 60px rgba(244,192,77,.18);animation:bob 6s ease-in-out infinite}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.stats div{background:#1d1810;border-radius:10px;padding:10px}
.stats small{display:block;font-size:.65rem;opacity:.7}
.stats b{color:var(--gold);font-size:1.05rem}
.laptop svg{width:100%;height:110px}
.line{stroke-dasharray:600;stroke-dashoffset:600}
.mock.in .line{animation:draw 2.5s .5s forwards}
.float{position:absolute;font-size:1.6rem;background:#1d1810;border:1px solid var(--gold2);border-radius:14px;padding:8px 12px;animation:bob 4s ease-in-out infinite}
.f1{top:-20px;left:-10px}.f2{top:30px;right:-14px;animation-delay:.8s}.f3{bottom:40px;left:-18px;animation-delay:1.6s}
.tag{display:block;margin-top:26px;font-family:Caveat,cursive;font-size:1.9rem;color:var(--gold)}
.note{max-width:720px;margin:0 auto 40px;padding:18px 24px;border-radius:16px;border:1px solid rgba(200,146,31,.4);background:rgba(244,192,77,.12);font-weight:500}
.video{position:relative;max-width:760px;margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35);border:2px solid var(--gold2)}
.video img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.play{position:absolute;inset:0;margin:auto;width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#1a1204;font-size:1.8rem;text-decoration:none;animation:ring 2s infinite;transition:transform .3s}
.play:hover{transform:scale(1.15)}
.vcap{position:absolute;bottom:14px;left:0;right:0;color:#fff;font-weight:600;text-shadow:0 2px 8px #000}
.vcap small{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;max-width:820px;margin:0 auto}
.checks li{padding:12px 16px;background:#fff;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.07)}
.checks li::before{content:"✔ ";color:var(--gold2)}
.grid{display:grid;gap:22px;margin-top:34px}
.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{position:relative;padding:30px 22px;border-radius:20px;transition:opacity .9s ease,transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.light .card{background:#fff;border:1px solid #efe3c4;box-shadow:0 8px 24px rgba(120,90,20,.08)}
.dark .card{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.01));border:1px solid rgba(244,192,77,.35)}
.card:hover{box-shadow:0 20px 44px rgba(244,192,77,.25);border-color:var(--gold)}
.card p{font-size:.88rem;opacity:.8}
.ic{display:inline-grid;place-items:center;width:62px;height:62px;margin-bottom:12px;font-size:1.8rem;border-radius:50%;background:rgba(244,192,77,.18);transition:transform .6s}
.card:hover .ic{transform:rotateY(360deg) scale(1.1)}
.sub{color:var(--gold);margin-bottom:12px}
.price{margin:12px 0;padding:12px 0;border-block:1px solid rgba(244,192,77,.25)}
.price b{display:block;font-size:1.5rem;color:var(--gold)}
.tick{margin-top:14px;text-align:left;display:inline-block}
.tick li{font-size:.9rem;padding:3px 0}
.tick li::before{content:"✔ ";color:var(--gold)}
.dark .pop{background:linear-gradient(160deg,#fff6dc,#f4d98b);color:#2b2418}
.pop .sub,.pop .price b,.pop .tick li::before{color:#8a5d08}
.badge{position:absolute;top:-14px;left:50%;translate:-50% 0;background:#1a1204;color:var(--gold);padding:4px 16px;border-radius:20px;font-size:.75rem;font-weight:600}
.reveal{opacity:0;transform:translateY(46px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.card.reveal{transform:translateY(60px) scale(.9)}
.reveal.in{opacity:1;transform:none}
.card.reveal.in:hover{transform:translateY(-10px)}
.pop.reveal.in{transform:scale(1.04)}
.pop.reveal.in:hover{transform:scale(1.04) translateY(-10px)}
@keyframes shine{to{background-position:200% 0}}
@keyframes pulse{50%{opacity:.5;scale:1.15}}
@keyframes sweep{to{left:140%}}
@keyframes glowbtn{50%{box-shadow:0 8px 40px rgba(244,192,77,.7)}}
@keyframes bob{50%{transform:translateY(-12px)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(244,192,77,.7)}100%{box-shadow:0 0 0 28px rgba(244,192,77,0)}}
@media(max-width:700px){.sec{padding:64px 0}.float{display:none}.pop.reveal.in,.pop.reveal.in:hover{transform:none}.btn{padding:14px 28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* brand / logo */
.brand{display:inline-flex;align-items:center;gap:14px;text-align:left;color:var(--gold);font:700 1.7rem/1.1 'Playfair Display',serif;text-decoration:none}
.brand img{width:76px;height:76px;flex:none;border-radius:50%;object-fit:contain;background:#fbf9f3;padding:4px;border:2px solid var(--gold2);box-shadow:0 0 0 6px rgba(244,192,77,.15),0 8px 26px rgba(0,0,0,.5);transition:transform .4s}
.brand:hover img{transform:rotate(-6deg) scale(1.06)}
.brand small{display:block;margin-top:5px;font:500 .62rem Poppins,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#d9c79a}
/* spacing fix: note box under card grids */
.grid+.note{margin-top:46px}
/* video player */
.video{aspect-ratio:16/9;background:#000}
.video img{height:100%}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{border:0;cursor:pointer;font-family:inherit;padding-left:5px}
/* footer */
.foot{padding-bottom:50px}
.foot h2{font-size:clamp(1.6rem,4vw,2.4rem)}
.disc{max-width:860px;margin:0 auto;font-size:.93rem;opacity:.85}
.flinks,.social{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:30px}
.flinks a{color:var(--gold);font-weight:500;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .3s}
.flinks a:hover{background-size:100% 1px}
.addr{margin-top:26px;font-size:.85rem;opacity:.7}
.social a{padding:8px 22px;border:1px solid rgba(244,192,77,.4);border-radius:30px;color:var(--gold);text-decoration:none;transition:.3s}
.social a:hover{background:var(--gold);color:#1a1204;transform:translateY(-4px);box-shadow:0 10px 24px rgba(244,192,77,.3)}
.foot .brand{margin:42px 0 14px}
.tagl{font-size:.92rem;opacity:.85}
.copy{margin-top:26px;padding-top:20px;border-top:1px solid rgba(244,192,77,.2);font-size:.8rem;opacity:.6}
.totop{position:fixed;right:18px;bottom:18px;z-index:50;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--gold);background:rgba(10,9,7,.88);color:var(--gold);font-size:1.4rem;text-decoration:none;opacity:0;pointer-events:none;transition:.3s}
.totop.show{opacity:1;pointer-events:auto}
.totop:hover{background:var(--gold);color:#1a1204;transform:translateY(-4px)}
@media(max-width:700px){.brand{font-size:1.35rem}.brand img{width:60px;height:60px}.flinks{flex-direction:column;gap:10px}.social{gap:10px}.social a{padding:7px 16px;font-size:.9rem}}
