:root {
  --bg: #040610;
  --bg-soft: #090d1b;
  --panel: rgba(12, 18, 36, .78);
  --panel-strong: rgba(14, 21, 43, .94);
  --line: rgba(112, 153, 255, .19);
  --line-strong: rgba(103, 158, 255, .42);
  --text: #f5f8ff;
  --muted: #aab6cf;
  --blue: #1f7dff;
  --cyan: #43e8ff;
  --violet: #7b61ff;
  --success: #4ff1a8;
  --danger: #ff6a8b;
  --radius: 28px;
  --radius-sm: 16px;
  --shadow: 0 32px 100px rgba(0,0,0,.45);
  --max: 1280px;
  --header: 82px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; font-family: "Segoe UI", Arial, sans-serif; color: var(--text); background:
  radial-gradient(circle at 14% 8%, rgba(31,125,255,.18), transparent 26rem),
  radial-gradient(circle at 88% 24%, rgba(123,97,255,.12), transparent 30rem),
  linear-gradient(180deg, #040610 0%, #070b17 45%, #040610 100%); line-height: 1.65; overflow-x: hidden; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-2; background-image: linear-gradient(rgba(95,132,208,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(95,132,208,.04) 1px, transparent 1px); background-size:56px 56px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 85%); }
.site-noise { position: fixed; inset: 0; pointer-events: none; z-index: 1000; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 2000; padding: .8rem 1rem; background: white; color: black; border-radius: 10px; }
.skip-link:focus { top: 1rem; }
.section-shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow { margin: 0 0 .75rem; color: var(--cyan); text-transform: uppercase; letter-spacing: .18em; font-weight: 750; font-size: .76rem; }
h1,h2,h3 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 7vw, 7.2rem); }
h2 { font-size: clamp(2.15rem, 4.5vw, 4.7rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.65rem); }
p { color: var(--muted); }
.text-link { display:inline-flex; gap:.55rem; align-items:center; margin-top:1rem; color:#fff; font-weight:750; text-decoration:none; border-bottom:1px solid var(--cyan); padding-bottom:.3rem; }
.text-link:hover { color:var(--cyan); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.8rem 1.3rem; border:1px solid transparent; border-radius:999px; text-decoration:none; font-weight:760; cursor:pointer; transition:.25s ease; }
.button-primary { color:#02050c; background:linear-gradient(120deg, var(--cyan), #75a7ff); box-shadow:0 12px 40px rgba(67,232,255,.18); }
.button-primary:hover { transform:translateY(-2px); box-shadow:0 18px 55px rgba(67,232,255,.28); }
.button-secondary { background:rgba(255,255,255,.06); border-color:var(--line-strong); }
.button-secondary:hover, .button-ghost:hover { border-color:var(--cyan); background:rgba(67,232,255,.08); }
.button-ghost { background:transparent; border-color:var(--line); }
.button-small { min-height:42px; padding:.62rem 1rem; font-size:.88rem; }
.text-button { background:none; border:0; padding:0; cursor:pointer; color:var(--muted); text-decoration:underline; }

/* Header */
.site-header { position:sticky; top:0; z-index:900; height:var(--header); background:rgba(4,6,16,.62); border-bottom:1px solid rgba(255,255,255,.06); backdrop-filter:blur(22px) saturate(140%); }
.header-shell { width:min(calc(100% - 32px), 1440px); height:100%; margin:auto; display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:1.5rem; }
.brand img { width:178px; height:auto; }
.primary-nav { display:flex; justify-content:center; gap:.4rem; }
.primary-nav a { padding:.75rem 1rem; border-radius:999px; color:var(--muted); text-decoration:none; font-weight:700; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color:#fff; background:rgba(255,255,255,.07); }
.header-social { display:flex; gap:.5rem; }
.header-social a { width:36px; height:36px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; text-decoration:none; font-size:.75rem; font-weight:800; }
.header-social a:hover { border-color:var(--cyan); color:var(--cyan); }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.04); padding:10px; }
.menu-toggle span { display:block; height:2px; background:#fff; margin:5px 0; transition:.2s; }

/* Hero */
.hero { min-height:calc(100svh - var(--header)); position:relative; display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr); align-items:center; gap:3rem; padding-block:6rem; }
.hero::after { content:""; position:absolute; inset:8% 0; z-index:-1; background:radial-gradient(circle at 68% 48%, rgba(31,125,255,.24), transparent 23rem); }
.hero-copy { max-width:850px; }
.hero-kicker { color:var(--cyan); text-transform:uppercase; letter-spacing:.22em; font-size:.78rem; font-weight:800; }
.hero h1 span { color:var(--cyan); text-shadow:0 0 26px rgba(67,232,255,.7); }
.hero-copy>p:not(.hero-kicker) { max-width:680px; font-size:clamp(1.05rem, 2vw, 1.35rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.hero-mark { width:min(38vw, 480px); aspect-ratio:1; justify-self:end; position:relative; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(67,232,255,.2); box-shadow:inset 0 0 80px rgba(31,125,255,.08), 0 0 100px rgba(31,125,255,.12); }
.hero-mark::before,.hero-mark::after { content:""; position:absolute; inset:10%; border-radius:50%; border:1px dashed rgba(123,97,255,.45); animation:spin 22s linear infinite; }
.hero-mark::after { inset:23%; animation-direction:reverse; animation-duration:14s; }
.hero-mark span { font-size:clamp(6rem, 14vw, 13rem); font-weight:900; letter-spacing:-.12em; transform:translateX(-.08em); color:transparent; -webkit-text-stroke:1px rgba(139,206,255,.9); text-shadow:0 0 32px rgba(67,232,255,.4); }
.hero-mark i { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--cyan); box-shadow:0 0 18px var(--cyan); }
.hero-mark i:nth-of-type(1){top:15%;left:55%}.hero-mark i:nth-of-type(2){bottom:20%;left:16%}.hero-mark i:nth-of-type(3){right:10%;bottom:38%}
.hero-orbit { position:absolute; border:1px solid rgba(76,138,255,.11); border-radius:50%; z-index:-1; }
.hero-orbit-one { width:620px; height:620px; right:-280px; top:-240px; }
.hero-orbit-two { width:420px; height:420px; left:-300px; bottom:-200px; }
@keyframes spin { to { transform:rotate(360deg); } }

/* Generic sections */
.section-heading { max-width:850px; margin-bottom:2.2rem; }
.section-heading>p:last-child { font-size:1.08rem; max-width:700px; }
.media-section,.carousel-section,.image-led-section,.feature-section,.product-list,.future-packs,.faq-list,.legal-layout,.contact-layout,.cta-panel { margin-top:clamp(5rem, 10vw, 9rem); }
.video-frame { position:relative; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; min-height:clamp(340px, 55vw, 720px); background:linear-gradient(135deg, rgba(12,18,36,.92), rgba(5,7,18,.98)); box-shadow:var(--shadow); }
.video-frame::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%, rgba(31,125,255,.22), transparent 45%); pointer-events:none; }
.video-consent-placeholder { position:absolute; inset:0; z-index:2; display:grid; place-content:center; text-align:center; padding:2rem; }
.video-consent-placeholder p { max-width:520px; margin-inline:auto; }
.video-consent-placeholder a { color:var(--cyan); margin-top:1rem; }
.play-symbol { width:78px;height:78px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;margin:0 auto 1.3rem;color:var(--cyan);box-shadow:0 0 40px rgba(67,232,255,.16); }
.video-player, .video-player iframe { width:100%; height:100%; position:absolute; inset:0; border:0; }
.experience-carousel { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#02030a; box-shadow:var(--shadow); }
.carousel-stage { position:relative; aspect-ratio:4/3; min-height:340px; display:grid; place-items:center; }
.carousel-stage img { width:100%; height:100%; object-fit:contain; transition:opacity .55s ease, transform .8s ease; }
.carousel-stage img.is-changing { opacity:0; transform:scale(.985); }
.carousel-shade { position:absolute; inset:auto 0 0; height:20%; background:linear-gradient(transparent, rgba(0,0,0,.75)); pointer-events:none; }
.carousel-meta { position:absolute; inset:auto 1rem 1rem; display:flex; align-items:center; justify-content:space-between; font-size:.82rem; letter-spacing:.12em; }
.carousel-meta button { background:rgba(5,8,18,.75); border:1px solid var(--line); border-radius:999px; padding:.45rem .8rem; cursor:pointer; }
.carousel-progress { height:3px; background:rgba(255,255,255,.07); }
.carousel-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg, var(--blue), var(--cyan)); }
.carousel-progress span.is-running { animation:progress 3s linear forwards; }
@keyframes progress { from{width:0}to{width:100%} }
.feature-section { display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr); gap:clamp(2rem, 6vw, 6rem); align-items:center; position:relative; }
.feature-section.feature-reverse .feature-image { order:2; }
.feature-section.feature-reverse .feature-copy { order:1; }
.feature-image { border-radius:var(--radius); border:1px solid var(--line); overflow:hidden; background:rgba(255,255,255,.025); box-shadow:var(--shadow); position:relative; }
.feature-image::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 70px rgba(38,99,255,.08); pointer-events:none; }
.feature-image img { width:100%; height:auto; object-fit:contain; }
.portrait-media { max-width:620px; justify-self:center; }
.founder-media { max-width:420px; justify-self:center; background:linear-gradient(145deg,rgba(12,20,40,.95),rgba(4,7,15,.95)); padding:1rem; }
.founder-media img { border-radius:20px; }
.feature-copy { max-width:600px; }
.feature-copy p { font-size:1.06rem; }
.feature-wide { grid-template-columns:1.15fr .85fr; }
.image-led-section>img { width:100%; border-radius:var(--radius); border:1px solid var(--line); box-shadow:var(--shadow); }
.section-summary { max-width:850px; font-size:1.08rem; }

/* Page heroes */
.compact-hero { min-height:480px; padding-block:7rem 4rem; display:grid; grid-template-columns:1fr 320px; align-items:center; gap:2rem; }
.compact-hero h1 { font-size:clamp(3.2rem, 7vw, 6.5rem); }
.compact-hero p:not(.eyebrow) { max-width:720px; font-size:1.18rem; }
.page-hero-visual { width:260px; aspect-ratio:1; justify-self:end; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; box-shadow:0 0 80px rgba(31,125,255,.18), inset 0 0 50px rgba(123,97,255,.14); position:relative; }
.page-hero-visual::before,.page-hero-visual::after { content:"";position:absolute;border:1px dashed rgba(67,232,255,.28);border-radius:50%;inset:14%;animation:spin 20s linear infinite; }
.page-hero-visual::after { inset:30%; animation-direction:reverse; }
.page-hero-visual span { color:var(--cyan); letter-spacing:.15em; font-weight:900; font-size:1.5rem; }
.notice-panel { padding:1.4rem 1.6rem; border:1px solid rgba(255,198,92,.28); background:rgba(255,183,43,.06); border-radius:var(--radius-sm); display:flex; gap:1.5rem; align-items:flex-start; }
.notice-panel strong { color:#ffd37a; min-width:max-content; }
.notice-panel p { margin:0; }

/* Products */
.product-detail { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(340px, .95fr); gap:clamp(2rem, 5vw, 5rem); align-items:center; margin-bottom:clamp(5rem, 9vw, 9rem); }
.product-detail.product-reverse .product-media { order:2; }.product-detail.product-reverse .product-copy{order:1}
.product-media { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#02040a; box-shadow:var(--shadow); }
.product-media img { width:100%; height:auto; object-fit:contain; }
.product-number { color:var(--cyan); letter-spacing:.16em; font-weight:800; }
.product-copy h2 { margin-bottom:1.5rem; }
.spec-list { list-style:none; padding:0; margin:0; columns:2; column-gap:1.3rem; }
.spec-list li { break-inside:avoid; position:relative; padding:.55rem 0 .55rem 1.25rem; color:var(--muted); border-bottom:1px solid rgba(255,255,255,.055); }
.spec-list li::before { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--cyan); left:0; top:1.2rem; box-shadow:0 0 12px rgba(67,232,255,.7); }
.pack-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.pack-grid article { min-height:270px; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:linear-gradient(160deg,rgba(13,21,42,.84),rgba(5,8,17,.96)); position:relative; overflow:hidden; }
.pack-grid article::after { content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(31,125,255,.12);filter:blur(40px);right:-90px;bottom:-90px; }
.pack-grid span { color:var(--cyan);font-size:.8rem;letter-spacing:.12em; }.pack-grid h3{margin:4rem 0 1rem}.future-note{margin-top:1rem;font-size:.9rem}
.cta-panel { margin-bottom:clamp(5rem,10vw,9rem); padding:clamp(2rem,5vw,4rem); border:1px solid var(--line-strong); border-radius:var(--radius); background:radial-gradient(circle at 85% 20%,rgba(67,232,255,.15),transparent 35%),rgba(10,15,31,.78); display:flex; align-items:center; justify-content:space-between; gap:2rem; }

/* Contact */
.contact-orbit { width:250px;aspect-ratio:1;justify-self:end;position:relative;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 70px rgba(31,125,255,.18) }
.contact-orbit i {position:absolute;inset:12%;border:1px dashed rgba(67,232,255,.25);border-radius:50%;animation:spin 15s linear infinite}.contact-orbit i:nth-child(2){inset:26%;animation-direction:reverse}.contact-orbit i:nth-child(3){inset:39%;animation-duration:9s}.contact-orbit span{font-size:4rem;color:var(--cyan)}
.contact-layout { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start;margin-bottom:8rem; }
.contact-card,.contact-aside { border:1px solid var(--line);border-radius:var(--radius);background:rgba(10,15,31,.78);box-shadow:var(--shadow); }
.contact-card { padding:clamp(1.4rem,4vw,3rem); }.contact-card-heading{margin-bottom:2rem}.contact-card-heading span{color:var(--cyan);font-size:.75rem;text-transform:uppercase;letter-spacing:.17em}.contact-card-heading h2{font-size:2.3rem;margin-top:.4rem}
.contact-form { display:grid;gap:1.1rem }.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label>span{display:block;font-weight:720;margin-bottom:.45rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(1,4,12,.7);color:#fff;padding:.9rem 1rem;outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(67,232,255,.09)}.contact-form textarea{resize:vertical}.legal-check{display:flex!important;align-items:flex-start;gap:.7rem}.legal-check input{width:18px;height:18px;margin-top:.25rem;accent-color:var(--cyan)}.legal-check span{font-weight:500!important;margin:0!important;color:var(--muted)}.legal-check a{color:var(--cyan)}.submit-button{justify-self:start;min-width:160px;gap:1rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-aside{padding:2rem;position:sticky;top:calc(var(--header) + 2rem)}.contact-aside a{display:block;color:#fff;text-decoration:none;margin:.7rem 0}.contact-aside a:hover{color:var(--cyan)}.contact-aside hr{border:0;border-top:1px solid var(--line);margin:1.6rem 0}.form-alert{padding:1rem;border-radius:12px;margin-bottom:1rem}.form-alert.error{background:rgba(255,106,139,.1);border:1px solid rgba(255,106,139,.3);color:#ffd1dc}

/* Confirmation */
.confirmation-shell { min-height:calc(100svh - var(--header)); display:grid;place-items:center;padding-block:6rem }.confirmation-card{width:min(760px,100%);text-align:center;padding:clamp(2rem,7vw,5rem);border:1px solid var(--line-strong);border-radius:var(--radius);background:radial-gradient(circle at 50% 0,rgba(31,125,255,.2),transparent 45%),rgba(8,13,27,.88);box-shadow:var(--shadow)}.confirmation-card p:not(.eyebrow){max-width:570px;margin:1.3rem auto 2rem}.success-orbit{width:180px;aspect-ratio:1;margin:0 auto 2rem;display:grid;place-items:center;border:1px solid rgba(79,241,168,.35);border-radius:50%;position:relative}.success-orbit span{font-size:3.6rem;color:var(--success)}.success-orbit i{position:absolute;inset:12%;border:1px dashed rgba(79,241,168,.3);border-radius:50%;animation:spin 10s linear infinite}.success-orbit i:nth-of-type(2){inset:28%;animation-direction:reverse}.success-orbit i:nth-of-type(3){inset:42%}.success-orbit.gone{border-color:rgba(255,106,139,.35)}.success-orbit.gone span{font-size:2rem;color:var(--danger)}

/* FAQ */
.faq-list { max-width:1000px; margin-bottom:7rem }.faq-list details{border-bottom:1px solid var(--line);padding:1.4rem 0}.faq-list summary{list-style:none;cursor:pointer;font-size:1.22rem;font-weight:730;display:flex;align-items:center;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--cyan);font-size:.75rem;letter-spacing:.14em}.faq-list summary::after{content:"+";margin-left:auto;color:var(--cyan);font-size:1.6rem;font-weight:300}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding-left:3rem;max-width:780px}

/* Legal */
.legal-hero small{display:block;margin-top:1rem;color:var(--muted)}.legal-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:3rem;align-items:start;margin-bottom:8rem}.legal-toc{position:sticky;top:calc(var(--header) + 1.5rem);max-height:calc(100svh - var(--header) - 3rem);overflow:auto;padding-right:.6rem}.legal-toc>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(10,15,31,.74);padding:1.1rem}.legal-toc nav{display:grid}.legal-toc a{display:grid;grid-template-columns:34px 1fr;gap:.5rem;padding:.55rem .3rem;border-bottom:1px solid rgba(255,255,255,.045);color:var(--muted);text-decoration:none;font-size:.82rem;line-height:1.35}.legal-toc a:hover{color:var(--cyan)}.legal-toc a span{color:var(--cyan);font-family:monospace}.legal-content{min-width:0}.legal-section{scroll-margin-top:calc(var(--header) + 1.5rem);padding:2rem 0;border-bottom:1px solid var(--line)}.legal-section:first-child{padding-top:0}.legal-section h2{font-size:clamp(1.6rem,3vw,2.4rem);display:flex;gap:1rem;align-items:baseline;margin-bottom:1.2rem}.legal-section h2 span{color:var(--cyan);font-size:.8rem;letter-spacing:.16em;flex:0 0 auto}.legal-section p,.legal-section li{color:#c1c9d8}.legal-section ul{padding-left:1.25rem}.legal-section li{margin:.45rem 0}.legal-address{padding:1rem 1.1rem;border-left:2px solid var(--cyan);background:rgba(67,232,255,.035);border-radius:0 10px 10px 0}.legal-section a{color:var(--cyan)}

/* Footer */
.site-footer { margin-top:4rem;border-top:1px solid var(--line);background:rgba(2,4,11,.82);padding:4rem max(20px,calc((100% - var(--max))/2)) 1.5rem; }
.footer-grid { display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:2rem }.footer-logo{width:150px}.footer-grid h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.footer-grid a{display:block;color:var(--muted);text-decoration:none;margin:.6rem 0}.footer-grid a:hover{color:var(--cyan)}.footer-grid p{font-size:.92rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}

/* Cookies */
.cookie-banner { position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:1200;width:min(calc(100% - 24px),1120px);border:1px solid var(--line-strong);border-radius:20px;background:rgba(5,9,20,.96);backdrop-filter:blur(20px);box-shadow:0 25px 80px rgba(0,0,0,.55);padding:1rem 1.15rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center }.cookie-banner[hidden],.modal-backdrop[hidden]{display:none!important}.cookie-banner strong{font-size:1rem}.cookie-banner p{margin:.25rem 0 0;font-size:.84rem}.cookie-banner a{color:var(--cyan)}.cookie-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.modal-backdrop{position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.75);display:grid;place-items:center;padding:1rem}.cookie-modal{width:min(620px,100%);padding:2rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:#080d1c;box-shadow:var(--shadow);position:relative}.modal-close{position:absolute;right:1rem;top:1rem;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);font-size:1.4rem;cursor:pointer}.preference-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.preference-row span{display:block;color:var(--muted);font-size:.88rem}.preference-row input{width:42px;height:22px;accent-color:var(--cyan)}.modal-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}

/* Reveals */
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .header-shell{grid-template-columns:180px 1fr auto}.hero{grid-template-columns:1fr;min-height:auto;padding-top:7rem}.hero-mark{justify-self:center;width:min(72vw,450px)}
  .feature-section,.feature-wide,.product-detail{grid-template-columns:1fr;}.feature-section.feature-reverse .feature-image,.product-detail.product-reverse .product-media{order:1}.feature-section.feature-reverse .feature-copy,.product-detail.product-reverse .product-copy{order:2}.feature-copy{max-width:none}.feature-image{max-width:850px;width:100%;justify-self:center}.portrait-media{max-width:600px}.pack-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.legal-layout{grid-template-columns:1fr}.legal-toc{position:relative;top:0;max-height:none}.legal-toc nav{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 780px) {
  :root{--header:70px}.section-shell{width:min(calc(100% - 24px),var(--max))}.site-header{height:var(--header)}.header-shell{grid-template-columns:1fr auto}.brand img{width:140px}.menu-toggle{display:block}.primary-nav{position:fixed;top:var(--header);left:12px;right:12px;display:grid;background:rgba(6,10,22,.98);border:1px solid var(--line);border-radius:18px;padding:.75rem;box-shadow:var(--shadow);transform:translateY(-10px);opacity:0;pointer-events:none;transition:.2s}.primary-nav.is-open{transform:none;opacity:1;pointer-events:auto}.primary-nav a{text-align:center}.header-social{display:none}.hero{padding-block:5rem 3rem;gap:2rem}.hero h1{font-size:clamp(2.8rem,13vw,4.8rem)}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-mark{width:min(82vw,380px)}.media-section,.carousel-section,.image-led-section,.feature-section,.product-list,.future-packs,.faq-list,.legal-layout,.contact-layout,.cta-panel{margin-top:4.5rem}.video-frame{min-height:320px}.carousel-stage{min-height:260px}.compact-hero{grid-template-columns:1fr;min-height:390px;padding-top:5rem}.page-hero-visual,.contact-orbit{display:none}.notice-panel{display:block}.notice-panel strong{display:block;margin-bottom:.5rem}.spec-list{columns:1}.pack-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.contact-aside{position:relative;top:0}.form-grid{grid-template-columns:1fr}.cta-panel{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}.legal-toc nav{grid-template-columns:1fr}.legal-section h2{align-items:flex-start}.legal-section h2 span{padding-top:.4rem}
}
@media (max-width: 520px) {
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.cookie-actions{display:grid}.cookie-actions .button{width:100%}.modal-actions{display:grid}.carousel-meta{font-size:.7rem}.contact-card{padding:1rem}.feature-copy p{font-size:1rem}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}
}
