/* Ovium website — light theme. Brand yellow is used for fills (buttons, tabs, badges) with dark
   text on top; yellow is never used for body text on white (too low contrast) — --ink-gold is. */
:root{
  --bg:#FFFFFF; --bg2:#F8F7F3; --card:#FFFFFF; --field:#FFFFFF; --line:#E8E6DF; --line2:#D9D6CC;
  --text:#15171D; --muted:#545A66; --dim:#858A95;
  --gold:#FFD400; --amber:#FFAA00; --ink-gold:#8F6400; --soft-gold:#FFF6CF;
  --red:#D93A3F; --green:#1F9D61;
  --shadow:0 1px 2px rgba(20,22,29,.05),0 8px 24px rgba(20,22,29,.06);
  --r:18px; --max:1180px;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Outfit",system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- top bar ---------- */
.testing{background:var(--soft-gold);color:#5C4300;text-align:center;font-size:14px;padding:9px 16px;border-bottom:1px solid #F3E2A0}
.testing b{color:#3D2C00}
.testing a{color:#3D2C00;font-weight:600}
nav.top{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:rgba(255,255,255,.86);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:38px;height:38px}
.brand span{font-weight:700;letter-spacing:.16em;font-size:21px;color:var(--text)}
nav.top .links{display:flex;gap:26px;margin-left:12px}
nav.top .links a{text-decoration:none;color:var(--muted);font-size:15px}
nav.top .links a:hover{color:var(--text)}
nav.top .right{margin-left:auto;display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;
  font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:.18s}
.btn.primary{background:linear-gradient(180deg,#FFD84D,var(--gold));color:#15171D;box-shadow:0 6px 20px rgba(255,190,0,.35),inset 0 -1px 0 rgba(0,0,0,.08)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(255,190,0,.45)}
.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:#BDB9AC}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.small{padding:8px 16px;font-size:14px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:80px 0 70px;background:linear-gradient(180deg,#FFFDF4,#fff 70%)}
.hero::before{content:"";position:absolute;inset:-35% -12% auto auto;width:900px;height:900px;
  background:radial-gradient(closest-side,rgba(255,212,0,.28),transparent 70%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--ink-gold);background:var(--soft-gold);border:1px solid #F1DC8E;padding:6px 12px;border-radius:999px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(217,58,63,.15)}
h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.02em;margin:22px 0 18px;font-weight:700}
h1 em{font-style:normal;background:linear-gradient(180deg,#F5A300,#E07B00);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:19px;color:var(--muted);max-width:540px;margin:0 0 30px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:22px;margin-top:30px;color:var(--dim);font-size:14px;flex-wrap:wrap}
.trust span::before{content:"✓ ";color:var(--green);font-weight:700}

/* TV mock — the set itself stays dark, like a real TV */
.tv{position:relative}
.tv .screen{border-radius:14px;overflow:hidden;border:10px solid #121318;outline:1px solid #2a2d36;
  box-shadow:0 40px 90px rgba(20,22,29,.25)}
.tv .stand{width:34%;height:14px;margin:0 auto;background:linear-gradient(#2a2d36,#15171D);border-radius:0 0 12px 12px}
.tv .glow{position:absolute;inset:auto 10% -40px 10%;height:60px;background:radial-gradient(closest-side,rgba(255,190,0,.35),transparent);filter:blur(20px);z-index:-1}

/* ---------- language strip ---------- */
.langs{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden}
.langs .row{display:flex;gap:12px;width:max-content;animation:slide 40s linear infinite}
.langs .chip{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);white-space:nowrap;font-size:15px}
.langs .chip b{color:var(--text);font-weight:600;margin-right:6px}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.langs .row{animation:none;flex-wrap:wrap;width:auto}}

/* ---------- sections ---------- */
section{padding:96px 0}
.alt-bg{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:720px;margin-bottom:46px}
.sec-head .kicker{color:var(--ink-gold);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.12;letter-spacing:-.015em;margin:10px 0 14px}
.sec-head p{color:var(--muted);margin:0;font-size:18px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.feature .ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px;
  background:var(--soft-gold);border:1px solid #F1DC8E;margin-bottom:18px}
.feature h3{margin:0 0 8px;font-size:20px}
.feature p{margin:0;color:var(--muted);font-size:16px}

.points{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}
.points li{display:flex;gap:14px;color:var(--muted)}
.points li b{color:var(--text);display:block}
.points .n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--gold);color:#15171D}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:28px;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;font-weight:700;background:var(--gold);color:#15171D;box-shadow:0 4px 12px rgba(255,190,0,.4)}
.step h3{margin:10px 0 6px}
.step p{margin:0;color:var(--muted)}
.code-demo{display:inline-block;margin-top:14px;font-family:ui-monospace,Menlo,monospace;letter-spacing:.3em;font-size:22px;
  padding:8px 14px;border-radius:10px;background:var(--soft-gold);border:1px dashed #E2B800;color:#3D2C00;font-weight:700}

/* faq */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--ink-gold);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin:12px 0 0}

/* call-to-action band */
.waitlist{background:linear-gradient(135deg,#FFE680,#FFD400 55%,#FFC000);border-radius:26px;padding:52px;text-align:center;color:#15171D;
  box-shadow:0 20px 50px rgba(255,190,0,.30)}
.waitlist p{color:#3D2C00 !important}
.waitlist .btn.primary{background:#15171D;color:#fff;box-shadow:none}
input,select{font-family:inherit;font-size:16px;color:var(--text);background:var(--field);border:1px solid var(--line2);border-radius:12px;padding:13px 16px;outline:none;min-width:0}
input:focus,select:focus{border-color:#E2B800;box-shadow:0 0 0 4px rgba(255,212,0,.25)}
.note{font-size:14px;color:var(--dim);margin-top:12px}
.ok{color:var(--green)} .err{color:var(--red)}

footer{border-top:1px solid var(--line);padding:40px 0 60px;color:var(--dim);font-size:14px;background:var(--bg2)}
footer .wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
footer a{color:var(--muted);text-decoration:none}

/* ---------- forms / account ---------- */
.auth{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:48px 20px;
  background:radial-gradient(700px 420px at 70% 0%,rgba(255,212,0,.18),transparent),var(--bg2)}
.panel{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 20px 60px rgba(20,22,29,.08)}
.panel h1{font-size:30px;margin:0 0 6px}
.panel .sub{color:var(--muted);margin:0 0 24px}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:14px;color:var(--muted);font-weight:500}
.field input,.field select{width:100%}
.panel .btn{width:100%;margin-top:6px}
.panel .alt{color:var(--muted);font-size:15px;margin-top:18px;text-align:center}
.panel .alt a{color:var(--ink-gold);text-decoration:none;font-weight:600}
.msg{min-height:22px;font-size:15px;margin:6px 0 0}

.account{padding:56px 0 90px;background:var(--bg2);min-height:calc(100vh - 72px)}
.account h1{font-size:38px;margin:0 0 6px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}
.card h3{margin:0 0 10px;font-size:18px;color:var(--muted);font-weight:600}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:22px}
.status i{width:10px;height:10px;border-radius:50%}
.status.on i{background:var(--green);box-shadow:0 0 0 5px rgba(31,157,97,.15)}
.status.off i{background:var(--red);box-shadow:0 0 0 5px rgba(217,58,63,.15)}
.meter{height:8px;background:#F0EEE7;border-radius:99px;overflow:hidden;margin:16px 0 8px}
.meter b{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--gold))}
.devlist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.devlist li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.devlist small{color:var(--dim);display:block}
.code-input{font-family:ui-monospace,Menlo,monospace;letter-spacing:.35em;text-transform:uppercase;font-size:28px;text-align:center;width:100%}
.tvcode{font-family:ui-monospace,Menlo,monospace;font-size:24px;font-weight:700;letter-spacing:.06em;background:var(--soft-gold);
  border:1px dashed #E2B800;border-radius:12px;padding:12px 14px;text-align:center;color:#3D2C00;word-break:break-all}
table.admin{width:100%;border-collapse:collapse;font-size:15px}
table.admin th,table.admin td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
table.admin th{color:var(--muted);font-weight:600}

/* ---------- packages ---------- */
.pack-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.pack-tabs button{font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;
  border-radius:999px;border:1px solid var(--line2);background:#fff;color:var(--muted);font-size:15px;transition:.15s}
.pack-tabs button span{color:var(--text);font-weight:600}
.pack-tabs button em{font-style:normal;font-size:12px;background:var(--bg2);border-radius:999px;padding:2px 8px;color:var(--dim)}
.pack-tabs button:hover{border-color:#BDB9AC}
.pack-tabs button[aria-selected="true"]{background:var(--gold);color:#15171D;border-color:var(--gold);box-shadow:0 6px 16px rgba(255,190,0,.35)}
.pack-tabs button[aria-selected="true"] span{color:#15171D}
.pack-tabs button[aria-selected="true"] em{background:rgba(0,0,0,.10);color:#15171D}
.pack-panel{background:radial-gradient(120% 140% at 100% 0%,rgba(255,212,0,.12),transparent 55%),#fff;
  border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.pack-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.pack-head h3{margin:0;font-size:24px}
.pack-head span{color:var(--muted);font-size:15px}
.pack-native{font-size:34px !important;font-weight:700;color:rgba(224,160,0,.45) !important;line-height:1}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ch{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center;transition:.15s}
.ch:hover{border-color:#E2B800;transform:translateY(-2px);box-shadow:var(--shadow)}
.ch-logo{height:72px;border-radius:12px;background:var(--bg2);display:grid;place-items:center;overflow:hidden;margin-bottom:10px;
  color:#15171D;font-weight:700;font-size:22px}
.ch-logo img{max-width:88%;max-height:62px;object-fit:contain}
.ch-name{font-weight:600;font-size:15px;line-height:1.25}
.ch-genre{color:var(--dim);font-size:13px;margin-top:2px}
.pack-note{color:var(--dim);font-size:14px;margin-top:16px}

/* ---------- request form ---------- */
.panel.wide{max-width:640px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);
  background:#fff;cursor:pointer;font-size:15px;color:var(--muted);user-select:none}
.checks input{accent-color:#E2B800;width:auto;margin:0}
.checks label:has(input:checked){border-color:#E2B800;color:var(--text);background:var(--soft-gold)}
textarea{font-family:inherit;font-size:16px;color:var(--text);background:var(--field);border:1px solid var(--line2);border-radius:12px;
  padding:13px 16px;outline:none;width:100%;min-height:90px;resize:vertical}
textarea:focus{border-color:#E2B800;box-shadow:0 0 0 4px rgba(255,212,0,.25)}
.done{text-align:center}
.done .big{font-size:56px;line-height:1}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.badge.pending{background:var(--soft-gold);color:var(--ink-gold)} .badge.approved{background:rgba(31,157,97,.12);color:var(--green)}
.badge.declined{background:rgba(217,58,63,.10);color:var(--red)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr}
  .grid3,.steps,.cards{grid-template-columns:1fr}
  nav.top .links{display:none}
  section{padding:70px 0}
}
@media (max-width:520px){
  .wrap{padding:0 16px}
  .btn{padding:11px 18px}
  nav.top .right .ghost{display:none}
  .waitlist{padding:32px 20px}
  .panel{padding:26px}
  .row2{grid-template-columns:1fr}
  .pack-panel{padding:18px}
  .ch-grid{grid-template-columns:repeat(2,1fr)}
}
