:root{
  --bg:#07090d;
  --bg-2:#0b0f17;
  --panel:rgba(17,21,30,.72);
  --line:rgba(255,255,255,.08);
  --text:#eef2ff;
  --muted:#a9b2c8;
  --blue:#5eb8ff;
  --cyan:#74f0ff;
  --gold:#d7b47a;
  --gold-2:#fff0c8;
  --shadow:0 24px 80px rgba(0,0,0,.45);
  --radius:24px;
  --radius-sm:18px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 10%, rgba(94,184,255,.16), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(215,180,122,.13), transparent 24%),
    linear-gradient(180deg, #07090d 0%, #090d14 35%, #07090d 100%);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max), calc(100% - 40px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(7,9,13,.72);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.topbar-inner{
  min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
}
.brand-left,.brand-right{display:flex;align-items:center;gap:16px}
.brand-right{justify-content:flex-end}
.logo-pill{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);border-radius:999px;
}
.logo-pill img{height:22px;width:auto;object-fit:contain}
.eyebrow-center{
  text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:#cdd6eb;text-align:center;font-weight:700;
}
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;padding:64px 0 32px;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(7,9,13,.92) 0%, rgba(7,9,13,.72) 38%, rgba(7,9,13,.38) 65%, rgba(7,9,13,.7) 100%);
  z-index:1;
}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-glow{position:absolute;inset:auto auto 8% 10%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle, rgba(94,184,255,.22), transparent 64%);filter:blur(12px);z-index:1}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:end}
.hero-copy{padding:28px 0 44px}
.kicker{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);padding:10px 14px;border-radius:999px;font-size:13px;color:#dce5fa}
.kicker strong{color:var(--gold-2)}
h1{font-family:Fraunces,serif;font-size:clamp(46px, 7vw, 88px);line-height:.94;margin:20px 0 18px;letter-spacing:-.04em}
.grad{background:linear-gradient(90deg,var(--gold-2) 0%, var(--gold) 28%, var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{font-size:clamp(17px, 1.7vw, 21px);line-height:1.68;color:#d5dcef;max-width:760px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;border-radius:999px;font-weight:700;transition:.28s ease;border:1px solid transparent
}
.btn.primary{background:linear-gradient(90deg,var(--gold) 0%, #ffe8bb 100%);color:#15181f;box-shadow:0 14px 34px rgba(215,180,122,.25)}
.btn.secondary{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#edf2ff}
.btn:hover{transform:translateY(-2px)}
.hero-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px}
.note{padding:16px 16px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);backdrop-filter:blur(10px)}
.note strong{display:block;font-size:22px;margin-bottom:4px;color:#fff}
.note span{color:var(--muted);font-size:13px;line-height:1.45}
.hero-stack{display:grid;gap:18px;align-self:center}
.hero-card,.glass{
  background:linear-gradient(180deg, rgba(18,22,31,.9), rgba(12,15,22,.72));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.hero-main{padding:18px;overflow:hidden;position:relative}
.hero-main .shot{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.07)}
.hero-main .shot img{aspect-ratio:1.05/1;object-fit:cover;width:100%}
.hero-badge{
  position:absolute;left:28px;bottom:28px;padding:14px 18px;border-radius:18px;background:rgba(7,9,13,.72);
  border:1px solid rgba(255,255,255,.08);max-width:68%;backdrop-filter:blur(14px)
}
.hero-badge strong{display:block;font-size:16px;margin-bottom:5px}
.hero-badge span{font-size:13px;color:#d2daed;line-height:1.5}
.hero-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.product-mini{padding:16px;display:grid;gap:12px;align-content:start}
.product-mini img{height:240px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.product-mini .label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#bfd9ff}
.product-mini h3{margin:0;font-size:20px}
.product-mini p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}
.section{padding:96px 0;position:relative}
.section-head{display:grid;gap:12px;margin-bottom:34px;max-width:860px}
.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#7fd0ff;font-weight:800}
.section h2{font-family:Fraunces,serif;font-size:clamp(34px, 4vw, 56px);line-height:1.02;margin:0;letter-spacing:-.03em}
.section p.lead{margin:0;color:#cdd6eb;font-size:18px;line-height:1.72}
.grid-3,.grid-4,.grid-2{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{padding:24px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);box-shadow:var(--shadow);transition:.28s ease}
.card:hover{transform:translateY(-4px);border-color:rgba(126,208,255,.26)}
.card h3{margin:0 0 10px;font-size:24px}
.card p{margin:0;color:var(--muted);line-height:1.7}
.card .tiny{margin-top:16px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#b8c9e7}
.replacement-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}
.replacement-list{display:grid;gap:14px;margin-top:18px}
.tick{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.tick b{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg, var(--gold), #fff0c8);color:#0c1017;font-size:14px}
.highlight-box{padding:28px;display:grid;gap:16px;align-content:center}
.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.metric{padding:16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.metric strong{display:block;font-size:28px;color:#fff}
.metric span{font-size:13px;color:var(--muted);line-height:1.45}
.gallery-main{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch}
.gallery-hero,.gallery-side,.showcase-tile{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#0c1017;box-shadow:var(--shadow)}
.gallery-hero img,.gallery-side img,.showcase-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-hero:hover img,.gallery-side:hover img,.showcase-tile:hover img{transform:scale(1.03)}
.gallery-hero{min-height:520px}
.gallery-side-wrap{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.caption{position:absolute;left:18px;right:18px;bottom:18px;padding:14px 16px;border-radius:18px;background:rgba(7,9,13,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.caption strong{display:block;margin-bottom:4px}
.caption span{font-size:13px;color:#d7def0;line-height:1.5}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.showcase-tile{aspect-ratio:1/1}
.audience-grid,.facts-grid,.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.audience-card .num,.fact-card .num{font-family:Fraunces,serif;font-size:42px;line-height:1;color:var(--gold-2);margin-bottom:12px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.visual-stage{padding:18px;position:relative;overflow:hidden}
.visual-stage img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.44))}
.ribbon{position:absolute;top:22px;right:-40px;transform:rotate(18deg);padding:10px 56px;background:linear-gradient(90deg,var(--gold),#ffe7b0);color:#101319;font-weight:800;letter-spacing:.12em;font-size:11px;text-transform:uppercase;box-shadow:0 14px 32px rgba(0,0,0,.24)}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.spec{padding:16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.spec b{display:block;margin-bottom:6px}
.kpi-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
.logo-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.logo-row img{height:34px;width:auto;object-fit:contain}
.cta-box{padding:34px;display:grid;gap:18px;background:linear-gradient(135deg, rgba(11,15,22,.92), rgba(17,24,37,.84));border-radius:28px;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow)}
.cta-box h2{margin:0}
.cta-line{display:flex;flex-wrap:wrap;gap:18px;color:#d0d8ea}
.footer{padding:36px 0 48px;border-top:1px solid rgba(255,255,255,.07);color:#aab5ca}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.footer small{display:block;line-height:1.75}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (max-width: 1120px){
  .hero-inner,.replacement-wrap,.gallery-main,.split,.kpi-wrap{grid-template-columns:1fr}
  .grid-4,.audience-grid,.facts-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 820px){
  .topbar-inner{grid-template-columns:1fr;justify-items:center;padding:14px 0}
  .brand-left,.brand-right{justify-content:center;flex-wrap:wrap}
  .hero{padding-top:30px}
  .hero-copy{padding-bottom:14px}
  .hero-notes,.hero-products,.showcase-grid,.specs,.metric-row,.grid-3,.grid-2,.grid-4,.audience-grid,.facts-grid,.module-grid{grid-template-columns:1fr}
  .gallery-side-wrap{grid-template-rows:auto}
  .gallery-hero{min-height:360px}
  .footer-grid{grid-template-columns:1fr}
}


/* Robust overflow fixes */
.hero-inner, .hero-stack, .hero-products, .replacement-wrap, .gallery-main, .gallery-side-wrap,
.showcase-grid, .audience-grid, .facts-grid, .module-grid, .split, .specs, .metric-row,
.grid-2, .grid-3, .grid-4, .footer-grid { min-width: 0; }

.hero-inner > *, .hero-stack > *, .hero-products > *, .replacement-wrap > *, .gallery-main > *,
.gallery-side-wrap > *, .showcase-grid > *, .audience-grid > *, .facts-grid > *, .module-grid > *,
.split > *, .specs > *, .metric-row > *, .grid-2 > *, .grid-3 > *, .grid-4 > * { min-width: 0; }

.card, .note, .metric, .spec, .tick, .caption, .hero-badge, .product-mini, .logo-pill {
  min-width: 0;
  overflow: hidden;
}

h1, h2, h3, p, span, small, a, strong, b {
  overflow-wrap: anywhere;
  word-break: normal;
}

.card h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.18; }
.product-mini h3 { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.18; }
.section p.lead, .hero-copy p, .card p, .product-mini p { max-width: 100%; }
.audience-grid .card, .facts-grid .card, .module-grid .card { height: 100%; }
.module-grid .card, .audience-grid .card, .facts-grid .card, .spec, .metric { display: flex; flex-direction: column; }
.module-grid .card .tiny { margin-top: auto; padding-top: 14px; }
.logo-pill span { font-size: 14px; line-height: 1.25; }
.caption strong { font-size: 15px; }
.caption span { display: block; }
.visual-stage img { max-height: 640px; margin-inline: auto; }
.product-mini img { background: transparent; }
