/* Neural Revive — design system
   Palette taken from the product artwork: deep navy screen, electric-blue brain, cyan glow, white wordmark */
:root{
  --navy-900:#061126;
  --navy-800:#0a1a38;
  --navy-700:#10264f;
  --primary:#1f6fff;       /* electric blue (brain) */
  --primary-600:#1557d6;
  --secondary:#3fd0ff;     /* cyan glow / wordmark outline */
  --accent:#ffc83d;        /* warm highlight for recommended + price */
  --bg:#f5f8ff;
  --card:#ffffff;
  --heading:#0a1a38;
  --text:#3d4a66;
  --muted:#6b7895;
  --line:#dfe6f5;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(10,26,56,.08);
  --shadow-lg:0 24px 60px rgba(10,26,56,.16);
  --wrap:1180px;
  --font-h:'Urbanist',system-ui,sans-serif;
  --font-b:'Hind',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-b);font-size:18px;line-height:1.7;color:var(--text);background:var(--bg);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-h);color:var(--heading);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800}
h3{font-size:1.3rem;font-weight:700}
p{margin:0 0 1.1em}
.wrap{width:min(var(--wrap),92%);margin-inline:auto}
.narrow{width:min(820px,92%);margin-inline:auto}
.section{padding:clamp(64px,8vw,104px) 0}
.section.alt{background:#fff}
.section.dark{background:radial-gradient(1200px 600px at 80% -10%,#173a7a 0,transparent 60%),var(--navy-900);color:#c9d6f2}
.section.dark h2,.section.dark h3{color:#fff}
.eyebrow{display:inline-block;font-family:var(--font-h);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);background:rgba(31,111,255,.09);padding:6px 14px;border-radius:999px;margin-bottom:16px}
.dark .eyebrow{color:var(--secondary);background:rgba(63,208,255,.12)}
.center{text-align:center}
.lead{font-size:1.15rem;color:var(--muted);max-width:720px}
.center .lead{margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:999}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:3px solid var(--secondary);outline-offset:3px;border-radius:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-h);font-weight:800;font-size:1.05rem;letter-spacing:.01em;padding:16px 30px;border-radius:999px;border:0;cursor:pointer;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;min-height:52px}
.btn-primary{background:linear-gradient(135deg,var(--primary),#3a8bff 60%,var(--secondary));color:#fff;box-shadow:0 12px 26px rgba(31,111,255,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(31,111,255,.42)}
.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 6px 14px rgba(31,111,255,.35)}
.btn-ghost{background:transparent;color:var(--heading);border:2px solid var(--line)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}
.dark .btn-ghost,.hero .btn-ghost,.cta-band .btn-ghost,.page-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.dark .btn-ghost:hover,.hero .btn-ghost:hover,.cta-band .btn-ghost:hover{color:#fff;border-color:var(--secondary)}
.btn-lg{padding:20px 40px;font-size:1.15rem}
.btn-block{width:100%}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,17,38,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-h);font-weight:800;font-size:1.45rem;color:#fff!important;text-decoration:none!important;white-space:nowrap}
.brand-mark{width:34px;height:34px;flex:none}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav-links a{display:block;color:#c9d6f2;font-family:var(--font-h);font-weight:600;font-size:.98rem;padding:8px 12px;border-radius:10px;text-decoration:none}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}
.nav-cta{padding:12px 22px;font-size:.98rem;min-height:44px}
.menu-toggle{display:none;background:none;border:0;color:#fff;width:46px;height:46px;border-radius:12px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px auto;transition:.25s}
@media (max-width:1080px){
  .nav-links{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:var(--navy-900);padding:12px 4% 24px;gap:2px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s;border-bottom:1px solid rgba(255,255,255,.08);max-height:calc(100vh - 74px);overflow:auto}
  .nav-links a{padding:14px 12px;font-size:1.08rem}
  .nav-links.open{transform:none;opacity:1;visibility:visible}
  .menu-toggle{display:block}
  .nav-cta{display:none}
  .nav-links .mobile-cta{display:block;margin-top:10px}
}
.nav-links .mobile-cta{display:none}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 75% 30%,#1a4fae 0,transparent 60%),radial-gradient(700px 500px at 10% 100%,#0f2f6e 0,transparent 60%),var(--navy-900);color:#c9d6f2;padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,110px)}
.hero h1{color:#fff}
.hero h1 .glow{background:linear-gradient(90deg,#fff,var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;position:relative;z-index:2}
.hero p.lead{color:#b5c4e6}
.ticks{list-style:none;padding:0;margin:22px 0 30px;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;color:#dfe8fb}
.ticks svg{flex:none;margin-top:4px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:.95rem;color:#9fb1d8}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{order:-1}}

/* 3D product stage — animated background + floating companions behind the product */
.stage{position:relative;aspect-ratio:1/1;max-width:560px;margin-inline:auto;perspective:1100px}
.stage-bg{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1.5px solid rgba(63,208,255,.35);transform-style:preserve-3d}
.ring.r1{width:96%;height:96%;margin:-48% 0 0 -48%;animation:spinA 26s linear infinite}
.ring.r2{width:76%;height:76%;margin:-38% 0 0 -38%;border-color:rgba(31,111,255,.45);animation:spinB 20s linear infinite}
.ring.r3{width:56%;height:56%;margin:-28% 0 0 -28%;border-style:dashed;border-color:rgba(255,255,255,.22);animation:spinA 34s linear infinite reverse}
.ring::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--secondary);box-shadow:0 0 16px var(--secondary);top:-5px;left:50%}
@keyframes spinA{from{transform:rotateX(68deg) rotateZ(0)}to{transform:rotateX(68deg) rotateZ(360deg)}}
@keyframes spinB{from{transform:rotateY(64deg) rotateZ(0)}to{transform:rotateY(64deg) rotateZ(-360deg)}}
.glow-orb{position:absolute;left:50%;top:50%;width:70%;height:70%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(63,208,255,.35),rgba(31,111,255,.15) 45%,transparent 70%);filter:blur(8px);animation:pulse 6s ease-in-out infinite}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.08);opacity:.8}}
.wave-line{position:absolute;left:0;right:0;top:58%;opacity:.55}
.wave-line path{stroke-dasharray:6 10;animation:dash 6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-160}}
.companion{position:absolute;width:24%;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45));animation:bob 7s ease-in-out infinite;z-index:1}
.companion img{border-radius:6px}
.companion.c1{left:-2%;top:6%;transform:rotate(-12deg);animation-delay:-1s}
.companion.c2{right:-1%;top:2%;transform:rotate(10deg);animation-delay:-3s;width:22%}
.companion.c3{right:2%;bottom:6%;transform:rotate(8deg);animation-delay:-5s;width:21%}
.companion.icon{width:15%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:4%;backdrop-filter:blur(4px)}
.companion.c4{left:4%;bottom:10%;animation-delay:-2s}
@keyframes bob{50%{translate:0 -14px}}
.product-3d{position:absolute;inset:14% 6% 12%;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;transition:transform .25s ease;z-index:3}
.product-3d img{width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));animation:float 6s ease-in-out infinite}
.product-3d::after{content:"";position:absolute;bottom:-4%;left:18%;right:18%;height:22px;background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 70%);filter:blur(4px);animation:shadow 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-14px) rotateY(-4deg)}}
@keyframes shadow{50%{transform:scaleX(.85);opacity:.7}}

/* Cards */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;transform-style:preserve-3d}
.card:hover{transform:perspective(900px) translateY(-6px) rotateX(2deg);box-shadow:var(--shadow-lg)}
.card h3{margin-top:4px}
.card p:last-child{margin-bottom:0}
.dark .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);box-shadow:none;color:#c9d6f2}
.icon-badge{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(31,111,255,.12),rgba(63,208,255,.18));color:var(--primary);margin-bottom:18px}
.dark .icon-badge{background:rgba(63,208,255,.12);color:var(--secondary)}
.card-link{display:block;color:inherit;text-decoration:none!important}
.card-link .more{font-family:var(--font-h);font-weight:700;color:var(--primary);display:inline-flex;gap:6px;align-items:center;margin-top:8px}
.num{font-family:var(--font-h);font-weight:800;font-size:2.6rem;line-height:1;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px;display:block}

/* Split layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.rev .split-media{order:2}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.rev .split-media{order:0}}
.media-frame{position:relative;border-radius:28px;padding:clamp(18px,4vw,40px);background:radial-gradient(circle at 50% 40%,#1b4ea8,var(--navy-900) 70%);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-frame img{position:relative;z-index:2;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}
.media-frame::before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent,rgba(63,208,255,.18),transparent 30%);animation:sweep 12s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.checklist{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.checklist li{position:relative;padding-left:34px}
.checklist li::before{content:"";position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}

/* Spec table */
.spec{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.spec th,.spec td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.spec th{width:36%;font-family:var(--font-h);color:var(--heading);background:#f8faff}
@media (max-width:640px){.spec th,.spec td{display:block;width:100%}.spec th{border-bottom:0;padding-bottom:4px}}

/* Steps */
.steps{counter-reset:s}
.step{position:relative;padding-top:64px}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;top:24px;left:30px;font-family:var(--font-h);font-weight:800;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));width:46px;height:46px;border-radius:14px;display:grid;place-items:center}
.step{padding:84px 30px 30px}

/* Pricing / offer */
.offer{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);max-width:1040px;margin-inline:auto}
.offer-media{background:radial-gradient(circle at 50% 40%,#1b4ea8,var(--navy-900) 72%);padding:40px;display:grid;place-items:center;position:relative}
.offer-media .tag{position:absolute;top:18px;left:18px;background:var(--accent);color:#2a1d00;font-family:var(--font-h);font-weight:800;font-size:.85rem;padding:6px 14px;border-radius:999px}
.offer-body{padding:clamp(28px,4vw,48px)}
.price{font-family:var(--font-h);font-weight:800;font-size:3.6rem;color:var(--heading);line-height:1}
.price small{font-size:1rem;color:var(--muted);font-weight:600;margin-left:6px}
.offer-list{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px}
.offer-list li{display:flex;gap:10px;align-items:flex-start}
.offer-list li svg{flex:none;margin-top:5px;color:var(--primary)}
.secure-row{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem;color:var(--muted);margin-top:16px}
.secure-row span{display:inline-flex;gap:6px;align-items:center}
.fine{font-size:.88rem;color:var(--muted)}
@media (max-width:860px){.offer{grid-template-columns:1fr}}

/* Bonus cards */
.bonus{display:flex;gap:20px;align-items:center}
.bonus img{width:96px;flex:none;border-radius:6px;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.bonus .free{display:inline-block;font-family:var(--font-h);font-weight:800;font-size:.75rem;letter-spacing:.1em;color:#0b6b3a;background:#dff7ea;padding:3px 10px;border-radius:999px;margin-bottom:6px}

/* Guarantee */
.guarantee{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;background:#fff;border-radius:28px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow);border:1px solid var(--line)}
.seal{width:200px;height:200px;margin-inline:auto}
@media (max-width:760px){.guarantee{grid-template-columns:1fr;text-align:center}}

/* Reviews */
.quote{position:relative}
.quote blockquote{margin:0 0 18px;font-size:1.08rem;color:var(--heading);font-style:italic}
.quote .who{display:flex;gap:14px;align-items:center}
.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-h);font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary))}
.who strong{display:block;font-family:var(--font-h);color:var(--heading)}
.who small{color:var(--muted)}
.src{font-size:.82rem;color:var(--muted);margin-top:14px;display:block}

/* FAQ */
.faq{display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:22px 60px 22px 24px;font-family:var(--font-h);font-weight:700;font-size:1.12rem;color:var(--heading);cursor:pointer;position:relative;line-height:1.35}
.faq-q::after{content:"";position:absolute;right:22px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:rgba(31,111,255,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f6fff' stroke-width='3'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s}
.faq-q[aria-expanded="true"]::after{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.faq-a>div{overflow:hidden;padding:0 24px}
.faq-q[aria-expanded="true"]+.faq-a{grid-template-rows:1fr}
.faq-q[aria-expanded="true"]+.faq-a>div{padding-bottom:22px}

/* Page hero (inner pages) */
.page-hero{background:radial-gradient(800px 400px at 85% 0,#1a4fae 0,transparent 60%),var(--navy-900);color:#b5c4e6;padding:clamp(56px,7vw,92px) 0;position:relative;overflow:hidden}
.page-hero h1{color:#fff}
.page-hero .lead{color:#b5c4e6}
.crumbs{font-size:.9rem;margin-bottom:14px;color:#8fa3cf}
.crumbs a{color:#cfe0ff}
.page-hero .split-media{max-width:440px;justify-self:end}
@media (max-width:900px){.page-hero .split-media{justify-self:center}}

/* Article */
.article{background:#fff;border-radius:24px;padding:clamp(24px,5vw,56px);box-shadow:var(--shadow);border:1px solid var(--line)}
.article h2{font-size:1.7rem;margin-top:1.6em}
.article h2:first-child{margin-top:0}
.article ul{padding-left:1.2em}
.article li{margin-bottom:.4em}
.callout{background:linear-gradient(135deg,rgba(31,111,255,.07),rgba(63,208,255,.1));border-left:4px solid var(--primary);border-radius:12px;padding:20px 24px;margin:28px 0}
.thumb{border-radius:14px;overflow:hidden;margin:-30px -30px 22px;aspect-ratio:16/9;background:var(--navy-800)}
.thumb img,.thumb svg{width:100%;height:100%;object-fit:cover}
.meta{font-size:.9rem;color:var(--muted)}

/* Product network cards */
.pcard{display:flex;flex-direction:column;padding:0;overflow:hidden}
.pcard .pimg{aspect-ratio:4/3;background:radial-gradient(circle at 50% 45%,#ffffff,#e9f0ff);display:grid;place-items:center;padding:18px}
.pcard .pimg img{max-height:100%;width:auto;object-fit:contain}
.pcard .pimg .ph{font-family:var(--font-h);font-weight:800;font-size:1.4rem;color:var(--primary);text-align:center;padding:10px}
.pcard .pbody{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.pcard .cat{font-size:.78rem;font-family:var(--font-h);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pcard .btn{margin-top:auto;align-self:flex-start;padding:12px 22px;min-height:46px;font-size:.98rem}
.pcard .alt-links{font-size:.82rem;color:var(--muted);margin-top:12px}

/* CTA band */
.cta-band{background:radial-gradient(700px 400px at 20% 20%,#1b4ea8,transparent 60%),var(--navy-900);border-radius:32px;padding:clamp(32px,5vw,64px);color:#c9d6f2;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;overflow:hidden;position:relative}
.cta-band h2{color:#fff}
@media (max-width:860px){.cta-band{grid-template-columns:1fr;text-align:center}.cta-band .hero-actions{justify-content:center}}

/* Footer */
.site-footer{background:var(--navy-900);color:#8fa3cf;padding:72px 0 32px;font-size:.96rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-footer a{color:#c9d6f2}
.foot-legal{border-top:1px solid rgba(255,255,255,.08);margin-top:44px;padding-top:24px;font-size:.86rem;line-height:1.6}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* Promo modal */
.promo-overlay{position:fixed;inset:0;background:rgba(4,10,24,.72);display:flex;align-items:center;justify-content:center;padding:18px;z-index:200;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.promo-overlay.show{opacity:1;visibility:visible}
.promo{position:relative;background:#fff;border-radius:24px;max-width:430px;width:100%;max-height:calc(100vh - 36px);overflow:auto;text-align:center;padding:34px 28px 28px;box-shadow:0 40px 90px rgba(0,0,0,.45);transform:scale(.92) translateY(10px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.promo-overlay.show .promo{transform:none}
.promo-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:#eef3ff;color:var(--heading);font-size:22px;line-height:1;cursor:pointer}
.promo-close:hover{background:#dfe8ff}
.promo img{width:78%;margin:0 auto 10px;filter:drop-shadow(0 16px 20px rgba(10,26,56,.25))}
.promo h2{font-size:1.7rem;margin-bottom:6px}
.promo .price{font-size:2.8rem;margin:10px 0 2px}
.promo p{font-size:1rem;margin-bottom:14px}
body.modal-open{overflow:hidden}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
.dark .quote blockquote,.dark .who strong{color:#fff}
.dark .who small,.dark .src{color:#9fb1d8}
.pcard .alt-links{margin:0 0 14px}
