/* Volumetric: identidade visual compartilhada
   Fundo quase preto, acento vermelho, tipografia técnica.
   Archivo (títulos em corte expandido, texto em corte normal) + IBM Plex Mono (labels/dados). */

:root{
  --bg:#0a0a0c;
  --panel:#111114;
  --panel-2:#17171b;
  --line:rgba(255,255,255,0.09);
  --red:#e63946;
  --text:#f2f2f0;
  --text-dim:rgba(242,242,240,0.62);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth; scrollbar-color:var(--panel-2) var(--bg); scrollbar-width:thin;}
body{background:var(--bg); color:var(--text); font-family:'Archivo',sans-serif; -webkit-font-smoothing:antialiased;}
h1, h2{font-stretch:expanded;}
.mono{font-family:'IBM Plex Mono',monospace;}

/* ---------- Superfícies do navegador: seleção, scrollbar, foco de teclado ---------- */
::selection{background:rgba(230,57,70,0.35); color:#fff;}
::-webkit-scrollbar{width:11px; height:11px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--panel-2); border:2px solid var(--bg); border-radius:20px;}
::-webkit-scrollbar-thumb:hover{background:rgba(230,57,70,0.5);}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--red); outline-offset:3px; border-radius:2px;
}
.cta-btn:focus-visible{outline-offset:2px;}

/* ---------- Motion: entrada ao rolar ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.7s cubic-bezier(.16,1,.3,1);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{transform:none; transition:opacity 0.5s ease;}
}
/* Stagger: cartões/itens de uma mesma lista entram em sequência, não juntos */
.svc-grid > .reveal:nth-child(1), .svc6-grid > .reveal:nth-child(1), .instr-grid > .reveal:nth-child(1), .why-list > .reveal:nth-child(1), .error-tags > .reveal:nth-child(1){transition-delay:0s;}
.svc-grid > .reveal:nth-child(2), .svc6-grid > .reveal:nth-child(2), .instr-grid > .reveal:nth-child(2), .why-list > .reveal:nth-child(2), .error-tags > .reveal:nth-child(2){transition-delay:0.07s;}
.svc-grid > .reveal:nth-child(3), .svc6-grid > .reveal:nth-child(3), .instr-grid > .reveal:nth-child(3), .why-list > .reveal:nth-child(3), .error-tags > .reveal:nth-child(3){transition-delay:0.14s;}
.svc-grid > .reveal:nth-child(4), .svc6-grid > .reveal:nth-child(4), .instr-grid > .reveal:nth-child(4), .why-list > .reveal:nth-child(4), .error-tags > .reveal:nth-child(4){transition-delay:0.21s;}
.svc6-grid > .reveal:nth-child(5), .instr-grid > .reveal:nth-child(5), .why-list > .reveal:nth-child(5), .error-tags > .reveal:nth-child(5){transition-delay:0.28s;}
.svc6-grid > .reveal:nth-child(6), .instr-grid > .reveal:nth-child(6), .why-list > .reveal:nth-child(6){transition-delay:0.35s;}
.why-list > .reveal:nth-child(7){transition-delay:0.4s;}
.why-list > .reveal:nth-child(8){transition-delay:0.45s;}
.error-tags > .reveal{transform:translateY(10px);}
@media (prefers-reduced-motion: reduce){
  .svc-grid > .reveal, .svc6-grid > .reveal, .instr-grid > .reveal, .why-list > .reveal, .error-tags > .reveal{transition-delay:0s !important;}
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1280px; margin:0 auto; padding:0 40px;}

/* ---------- Header / Nav ---------- */
header{position:fixed; top:0; left:0; right:0; z-index:50; padding:22px 0; background:linear-gradient(rgba(10,10,12,0.9), rgba(10,10,12,0.55));backdrop-filter:blur(6px);}
header.solid{background:rgba(10,10,12,0.92); border-bottom:1px solid var(--line);}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.logo{font-weight:700; font-size:20px; letter-spacing:0.02em; text-decoration:none; color:var(--text); display:flex; align-items:center;}
.logo span{color:var(--red);}
.logo img{height:58px; width:auto; display:block;}
@media (max-width:880px){ .logo img{height:44px;} }
nav{display:flex; align-items:center; gap:24px;}
nav a{color:var(--text); text-decoration:none; font-size:14px; opacity:0.85;}
nav a:hover{opacity:1;}
nav a.active{opacity:1; color:var(--red);}

nav a:not(.cta-btn){position:relative;}
nav a:not(.cta-btn)::after{
  content:''; position:absolute; left:0; bottom:-6px; width:100%; height:2px;
  background:var(--red); transform:scaleX(0); transform-origin:center;
  transition:transform 0.35s cubic-bezier(.16,1,.3,1);
}
nav a:not(.cta-btn):hover::after{transform:scaleX(1);}
nav a.active::after{transform:scaleX(1);}
.cta-btn{
  background:var(--red); color:#0a0a0c; font-weight:600; font-size:13.5px;
  padding:11px 20px; border-radius:3px; text-decoration:none; display:inline-block;
  transition:transform 0.15s ease, background 0.15s ease;
}
.cta-btn:hover{background:#ff4d5a; transform:translateY(-1px);}
.cta-btn:active{transform:translateY(0) scale(0.97); transition-duration:0.08s;}
.nav-toggle{display:none; background:none; border:none; color:var(--text); font-size:24px; cursor:pointer;}

.header-social{display:flex; align-items:center; gap:12px; margin-left:2px;}
.header-social a{display:flex; opacity:0.85; transition:opacity 0.15s ease, transform 0.15s ease;}
.header-social a::after{display:none;}
.header-social a:hover{opacity:1; transform:translateY(-1px);}
.header-social img{width:30px; height:30px; display:block;}
@media (max-width:880px){
  .header-social{margin-left:0; margin-top:22px;}
}

@media (max-width:880px){
  nav{position:fixed; top:0; right:-100%; height:100vh; width:78%; max-width:320px; background:var(--panel); flex-direction:column; align-items:flex-start; justify-content:center; gap:26px; padding:0 36px; transition:right 0.3s ease; border-left:1px solid var(--line);}
  nav.open{right:0;}
  nav a{font-size:16px;}
  .nav-toggle{display:block;}
}

/* ---------- Hero (home only) ---------- */
.hero{position:relative; height:100vh; min-height:640px; display:flex; align-items:flex-end; overflow:hidden;}
.hero video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero .scrim{position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,10,12,0.55) 0%, rgba(10,10,12,0.15) 35%, rgba(10,10,12,0.35) 65%, rgba(10,10,12,0.95) 100%);}
.loop-fade{position:absolute; inset:0; z-index:2; background:#0a0a0c; opacity:0; pointer-events:none; transition:opacity 0.5s ease;}
.hero-content{position:relative; z-index:3; width:100%; padding-bottom:64px;}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--red); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:18px; display:block;}
h1{font-size:50px; line-height:1.12; font-weight:600; letter-spacing:-0.02em; max-width:680px; margin-bottom:18px;}
h2{letter-spacing:-0.01em;}
h1 .accent{color:var(--red);}
.hero p.lede{font-size:16.5px; color:var(--text-dim); max-width:460px; margin-bottom:30px; line-height:1.6;}
.hero-ctas{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}
.ghost{color:var(--text); text-decoration:none; font-size:14px; border-bottom:1px solid rgba(255,255,255,0.3); padding-bottom:3px;}

.scroll-hint{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:3; font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(255,255,255,0.5); display:flex; flex-direction:column; align-items:center; gap:8px;}
.scroll-hint .bar{width:1px; height:26px; background:rgba(255,255,255,0.3); position:relative; overflow:hidden;}
.scroll-hint .bar::after{content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--red); animation:scrollDown 1.6s ease-in-out infinite;}
@keyframes scrollDown{ to{ top:100%; } }

/* ---------- Sections (home) ---------- */
section.reveal{padding:90px 0;}
.sec-head{max-width:640px; margin-bottom:50px;}
.sec-head .eyebrow{margin-bottom:14px;}
.sec-head h2{font-size:32px; font-weight:600; line-height:1.2;}
.sec-head p{color:var(--text-dim); font-size:15.5px; margin-top:14px;}

.svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
.svc-card{background:var(--panel); padding:30px 26px; border-radius:8px; border:1px solid rgba(230,57,70,0.4); box-shadow:0 0 0 1px rgba(230,57,70,0.08), 0 18px 40px -22px rgba(0,0,0,0.7); transition:opacity 0.7s cubic-bezier(.16,1,.3,1), background 0.2s, border-color 0.2s, transform 0.7s cubic-bezier(.16,1,.3,1);}
.svc-card.is-visible{transition:opacity 0.7s cubic-bezier(.16,1,.3,1), background 0.2s, border-color 0.2s, transform 0.2s;}
.svc-card:hover{background:var(--panel-2); border-color:var(--red); transform:translateY(-3px);}
.svc-card .tag{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--red); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:12px; display:block;}
.svc-card h3{font-size:17px; margin-bottom:10px; font-weight:600;}
.svc-card p{font-size:13.5px; color:var(--text-dim); line-height:1.55;}
.svc-card a{display:inline-block; margin-top:14px; font-size:12.5px; color:var(--red); text-decoration:none; font-family:'IBM Plex Mono',monospace;}

.instr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:880px){.instr-grid{grid-template-columns:1fr;}}

.equip-card{padding:0; overflow:hidden;}
.equip-card .equip-thumb{height:170px; background-size:cover; background-position:center; position:relative;}
.equip-card .equip-thumb::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,12,0.02), rgba(10,10,12,0.12) 65%, var(--panel) 100%);}
.equip-card .equip-thumb.no-image{background:var(--panel-2);}
.equip-card .equip-body{padding:26px;}
.equip-list{list-style:none; margin:14px 0 0;}
.equip-list li{display:flex; justify-content:space-between; gap:10px; font-size:13px; color:var(--text-dim); padding:9px 0; border-bottom:1px solid var(--line);}
.equip-list li:last-child{border-bottom:none;}
.equip-list .qty{font-family:'IBM Plex Mono',monospace; color:var(--red); font-size:11.5px; white-space:nowrap;}

/* ---------- Dedicated pages (Ballbar / Laser / Autocolimador): leve, sem vídeo ---------- */
.page-hero{padding:170px 0 70px; border-bottom:1px solid var(--line);}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero h1{font-size:40px; max-width:760px;}
.page-hero p.lede{font-size:16px; max-width:640px; margin-top:16px; margin-bottom:28px;}
.page-hero .hero-ctas{margin-top:6px;}

.article-layout{display:grid; grid-template-columns:1fr 340px; gap:64px; padding-top:70px; padding-bottom:70px; align-items:start;}
.article-body{max-width:780px;}
.article-body h2{font-size:24px; font-weight:600; margin:44px 0 16px;}
.article-body h2:first-child{margin-top:0;}
.article-body p{font-size:15.5px; line-height:1.75; color:var(--text-dim); margin-bottom:16px;}
.article-body ul{margin:0 0 20px 0; padding-left:0; list-style:none;}
.article-body li{font-size:15px; line-height:1.7; color:var(--text-dim); padding:10px 0 10px 22px; border-bottom:1px solid var(--line); position:relative;}
.article-body li:last-child{border-bottom:none;}
.article-body li::before{content:"•"; color:var(--red); position:absolute; left:0;}
.article-body strong{color:var(--text); font-weight:600;}

.diagram-box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:16px; margin:28px 0;}
.diagram-box svg, .diagram-box img{width:100%; height:auto; display:block; border-radius:3px;}
.diagram-caption{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-dim); margin-top:14px; letter-spacing:0.02em;}

.diagram-photo{position:relative; overflow:hidden; isolation:isolate; aspect-ratio:3/2;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%, #000 50%, transparent 90%);
  mask-image:radial-gradient(ellipse at 50% 50%, #000 50%, transparent 90%);
}
.diagram-photo img{width:100%; height:100%; object-fit:cover; filter:brightness(0.8) saturate(1.05);}
.diagram-photo::after{content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%, transparent 35%, rgba(10,10,12,0.8) 92%);}
@media (max-width:600px){.diagram-photo{aspect-ratio:4/3;}}

.diagram-cutout{display:flex; align-items:center; justify-content:center; aspect-ratio:3/2; position:relative;
  background:radial-gradient(ellipse 55% 55% at 50% 55%, rgba(230,57,70,0.14), transparent 72%);
}
.diagram-cutout img{max-width:94%; max-height:94%; width:auto; height:auto; object-fit:contain; filter:drop-shadow(0 18px 30px rgba(0,0,0,0.5));}
@media (max-width:600px){.diagram-cutout{aspect-ratio:4/3;}}

.sidebar{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.side-box{background:var(--panel); padding:22px;}
.side-box .tag{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--red); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:10px; display:block;}
.side-box p{font-size:13.5px; color:var(--text-dim); line-height:1.6; margin-bottom:14px;}
.side-box .cta-btn{width:100%; text-align:center;}
.side-links a{display:block; font-size:13.5px; padding:9px 0; text-decoration:none; color:var(--text-dim); border-bottom:1px solid var(--line);}
.side-links a:last-child{border-bottom:none;}
.side-links a:hover{color:var(--text);}

.error-tags{display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 28px;}
.error-tag{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--text); border:1px solid var(--line); background:var(--panel); padding:7px 12px; border-radius:4px;}

.closing-cta{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:64px 0; text-align:center;}
.closing-cta h2{font-size:26px; margin-bottom:22px; max-width:600px; margin-left:auto; margin-right:auto;}

@media (max-width:880px){
  .article-layout{grid-template-columns:1fr; gap:40px;}
  .sidebar{position:static;}
  .page-hero h1{font-size:30px;}
}

/* ---------- Contato ---------- */
.contact-grid-v2{display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:22px; padding-top:80px; padding-bottom:80px;}
.contact-block{background:var(--panel); border:1px solid rgba(230,57,70,0.4); box-shadow:0 0 0 1px rgba(230,57,70,0.08), 0 18px 40px -22px rgba(0,0,0,0.7); border-radius:8px; padding:32px; transition:opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.7s cubic-bezier(.16,1,.3,1), box-shadow 0.3s cubic-bezier(.16,1,.3,1), border-color 0.3s ease;}
.contact-block.is-visible{transition:opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.3s cubic-bezier(.16,1,.3,1), box-shadow 0.3s cubic-bezier(.16,1,.3,1), border-color 0.3s ease;}
.contact-block:hover{transform:translateY(-3px); border-color:rgba(230,57,70,0.65); box-shadow:0 0 0 1px rgba(230,57,70,0.14), 0 24px 50px -22px rgba(0,0,0,0.8);}
.contact-block h3{font-size:18px; margin-bottom:20px;}
.contact-block.featured{display:flex; flex-direction:column; background:linear-gradient(160deg, rgba(230,57,70,0.14), var(--panel) 55%);}
.contact-block.featured .tag{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--red); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:12px; display:block;}
.contact-block.featured p{font-size:14px; color:var(--text-dim); line-height:1.6; margin:12px 0 22px; flex:1;}
.contact-block.featured .cta-btn{text-align:center;}
@media (max-width:1100px){.contact-grid-v2{grid-template-columns:1fr 1fr;}}
@media (max-width:880px){.contact-grid-v2{grid-template-columns:1fr;}}
.contact-row{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
.contact-row:last-child{border-bottom:none;}
.contact-row .k{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--red); text-transform:uppercase; letter-spacing:0.06em; min-width:90px; padding-top:2px;}
.contact-row .v{font-size:14.5px; color:var(--text); line-height:1.6;}
.contact-row a{text-decoration:none; color:var(--text);}
.contact-row a:hover{color:var(--red);}

/* ---------- Contato: hero com imagem, ícones, banner final ---------- */
.page-hero.split .wrap{display:grid; grid-template-columns:1fr 560px; gap:56px; align-items:center;}
.hero-visual{position:relative; overflow:hidden; isolation:isolate; aspect-ratio:4/3;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%, #000 45%, transparent 88%);
  mask-image:radial-gradient(ellipse at 50% 50%, #000 45%, transparent 88%);
}
.hero-visual img{width:100%; height:100%; object-fit:cover; filter:brightness(0.72) saturate(1.05);}
.hero-visual::after{content:""; position:absolute; inset:0; z-index:1; background:radial-gradient(ellipse 70% 60% at 70% 25%, rgba(230,57,70,0.35), transparent 65%), radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(10,10,12,0.75) 88%);}
@media (max-width:980px){
  .page-hero.split .wrap{grid-template-columns:1fr;}
  .hero-visual{aspect-ratio:16/9; margin-top:32px;}
}

.row-icon{width:34px; height:34px; min-width:34px; border-radius:50%; background:var(--panel-2); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--red); transition:background 0.25s ease, border-color 0.25s ease, transform 0.25s cubic-bezier(.16,1,.3,1);}
.row-icon svg{width:16px; height:16px;}
.row-icon img{width:18px; height:18px;}
.contact-block.featured .row-icon img{width:22px; height:22px;}
.contact-row.has-icon{align-items:flex-start;}
.contact-row.has-icon .row-content{flex:1; min-width:0;}
.contact-row.has-icon .k{display:block; min-width:0; margin-bottom:4px; padding-top:0;}
.contact-row.has-icon:hover .row-icon{background:rgba(230,57,70,0.16); border-color:rgba(230,57,70,0.45); transform:scale(1.08);}
.contact-block.featured .row-icon{background:rgba(230,57,70,0.14); border-color:rgba(230,57,70,0.4); margin-bottom:16px;}
.contact-block.featured:hover .row-icon{transform:scale(1.06);}

.cta-banner{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:36px 0;}
.cta-banner .wrap{display:flex; align-items:center; gap:26px;}
.cta-banner .row-icon{width:52px; height:52px; min-width:52px; background:rgba(230,57,70,0.14); border-color:rgba(230,57,70,0.4);}
.cta-banner .row-icon svg{width:24px; height:24px;}
.cta-banner-text{flex:1;}
.cta-banner h2{font-size:20px; margin-bottom:6px;}
.cta-banner p{font-size:14px; color:var(--text-dim);}
.cta-banner .cta-btn{white-space:nowrap;}
@media (max-width:700px){
  .cta-banner .wrap{flex-direction:column; align-items:flex-start; text-align:left;}
  .cta-banner .cta-btn{width:100%; text-align:center;}
}

/* ---------- Brand / manufacturer logo strip: carrossel automático em loop ---------- */
.brand-strip{padding:56px 0 64px; border-bottom:1px solid var(--line);}
.brand-strip .sec-head{margin-bottom:34px; text-align:center;}
.brand-label{font-size:12.5px; color:var(--text-dim); letter-spacing:0.04em;}
.marquee{position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
.marquee-track{display:flex; gap:28px; width:max-content; animation:marquee-scroll 110s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee-scroll{ from{transform:translateX(0);} to{transform:translateX(calc(-50% - 14px));} }
.quadro{
  flex:none; width:360px; height:230px; border-radius:8px; border:1px solid var(--line);
  background:var(--panel);
  display:flex; align-items:center; justify-content:center; padding:26px;
}
.quadro img{max-width:78%; max-height:66%; object-fit:contain;}
@media (max-width:880px){
  .quadro{width:260px; height:170px; padding:20px;}
  .marquee-track{animation-duration:75s;}
}
/* ---------- Fundo com foto escurecida (para as seções pós-hero não ficarem lisas) ---------- */
.bg-photo{position:relative; isolation:isolate; background-color:var(--bg);}
.bg-photo::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background-image:var(--bg-photo); background-size:cover; background-position:var(--bg-pos, center);
  filter:brightness(0.68) saturate(1.1);
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  mask-image:linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
}
.bg-photo::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 60% 50% at var(--glow-pos, 50% 0%), rgba(230,57,70,0.2), transparent 65%),
    linear-gradient(180deg, rgba(10,10,12,0.25), rgba(10,10,12,0.65) 55%, rgba(10,10,12,0.88) 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  mask-image:linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
}

/* ---------- Por que e quando (diagnostic rationale) ---------- */
.why-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; padding-top:90px; padding-bottom:90px;}
.why-diagram{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:18px;}
.why-diagram img{border-radius:3px;}
.why-list{list-style:none;}
.why-list li{display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.6; color:var(--text-dim);}
.why-list li.reveal{transform:translateY(14px);}
.why-list li:first-child{padding-top:0;}
.why-list .num{font-family:'IBM Plex Mono',monospace; color:var(--red); font-size:13px; min-width:24px; padding-top:2px;}
.why-list a{color:var(--red); text-decoration:underline; text-underline-offset:2px;}
@media (max-width:880px){.why-grid{grid-template-columns:1fr;} .why-diagram{position:static;}}

/* ---------- Full services grid (6 real services) ---------- */
.svc6-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.svc6-card{background:var(--panel); border:1px solid rgba(230,57,70,0.4); box-shadow:0 0 0 1px rgba(230,57,70,0.08), 0 18px 40px -22px rgba(0,0,0,0.7); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; transition:opacity 0.7s cubic-bezier(.16,1,.3,1), border-color 0.2s, transform 0.7s cubic-bezier(.16,1,.3,1), box-shadow 0.2s; text-decoration:none;}
.svc6-card.is-visible{transition:opacity 0.7s cubic-bezier(.16,1,.3,1), border-color 0.2s, transform 0.2s, box-shadow 0.2s;}
.svc6-card:hover{border-color:var(--red); transform:translateY(-3px);}
.svc6-card.has-video:hover{box-shadow:0 0 0 1px rgba(230,57,70,0.2), 0 22px 44px -20px rgba(0,0,0,0.8), 0 0 40px -14px rgba(230,57,70,0.3);}
.svc6-card .thumb{height:130px; background-size:cover; background-position:center; position:relative;}
.svc6-card .thumb::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,12,0.1), rgba(10,10,12,0.85));}
.svc6-card .thumb.no-image{background:var(--panel-2);}
.svc6-card .thumb .play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1;
  width:44px; height:44px; border-radius:50%; background:var(--red); color:#0a0a0c;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 8px rgba(230,57,70,0.14); transition:transform 0.2s ease;
}
.svc6-card .thumb .play svg{width:16px; height:16px; margin-left:2px;}
.svc6-card.has-video:hover .thumb .play{transform:translate(-50%,-50%) scale(1.12);}
.svc6-card .body{padding:22px; display:flex; flex-direction:column; flex:1;}
.svc6-card h3{font-size:15.5px; font-weight:600; margin-bottom:10px; line-height:1.35; color:var(--text);}
.svc6-card p{font-size:13px; color:var(--text-dim); line-height:1.6; flex:1;}
.svc6-card > a{display:inline-block; margin-top:14px; font-size:12px; color:var(--red); text-decoration:none; font-family:'IBM Plex Mono',monospace;}
.svc6-card .video-cap{font-size:11px; color:var(--red); margin-top:14px; letter-spacing:0.02em;}
@media (max-width:880px){.svc6-grid{grid-template-columns:1fr;}}

/* ---------- Podcast ---------- */
.podcast{padding:90px 0; text-align:center;}
.podcast .sec-head{max-width:600px; margin-left:auto; margin-right:auto; text-align:center;}
.podcast .sec-head .eyebrow{justify-content:center;}
.podcast h2{font-size:34px; margin-bottom:0;}
.podcast .sec-head p{max-width:520px; margin-left:auto; margin-right:auto;}
.podcast-frame{
  max-width:760px; margin:40px auto 0; position:relative; border-radius:10px; overflow:hidden; display:block;
  border:1px solid rgba(230,57,70,0.5);
  box-shadow:0 0 0 1px rgba(230,57,70,0.1), 0 30px 70px -30px rgba(0,0,0,0.85), 0 0 60px -20px rgba(230,57,70,0.25);
  transition:opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.7s cubic-bezier(.16,1,.3,1), box-shadow 0.25s ease;
}
.podcast-frame.is-visible{transition:opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.25s ease, box-shadow 0.25s ease;}
.podcast-frame:hover{transform:translateY(-4px); box-shadow:0 0 0 1px rgba(230,57,70,0.2), 0 34px 74px -28px rgba(0,0,0,0.9), 0 0 80px -16px rgba(230,57,70,0.35);}
.podcast-frame img{width:100%; display:block;}
.podcast-frame .play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.podcast-frame .play span{width:72px; height:72px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; color:#0a0a0c; box-shadow:0 0 0 10px rgba(230,57,70,0.14); transition:transform 0.2s ease;}
.podcast-frame .play span svg{width:26px; height:26px; margin-left:3px;}
.podcast-frame:hover .play span{transform:scale(1.08);}
.podcast-frame .cap{position:absolute; left:0; right:0; bottom:0; padding:18px 22px; background:linear-gradient(0deg, rgba(10,10,12,0.92), transparent); text-align:left; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-dim); letter-spacing:0.04em;}

/* ---------- Footer regions + social ---------- */
.foot-social{display:flex; gap:14px; justify-content:center; margin-bottom:24px;}
.foot-social a{width:34px; height:34px; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:transform 0.15s ease; opacity:0.9;}
.foot-social a:hover{transform:translateY(-2px); opacity:1;}
.foot-social a img{width:100%; height:100%; object-fit:contain;}
.foot-regions{display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:820px; margin:0 auto 30px; text-align:left; padding-top:30px; border-top:1px solid var(--line);}
.foot-regions h4{font-size:12px; font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:0.06em; color:var(--red); margin-bottom:12px;}
.foot-regions p{font-size:13px; color:var(--text-dim); line-height:1.7;}
.foot-regions a{color:var(--text-dim); text-decoration:none;}
.foot-regions a:hover{color:var(--text);}
@media (max-width:880px){.foot-regions{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
footer{padding:44px 0; text-align:center; color:var(--text-dim); font-size:13px; border-top:1px solid var(--line);}
footer .foot-links{display:flex; gap:22px; justify-content:center; margin-bottom:18px; flex-wrap:wrap;}
footer .foot-links a{text-decoration:none; color:var(--text-dim); font-size:13px;}
footer .foot-links a:hover{color:var(--text);}

@media (max-width:880px){
  h1{font-size:34px; font-stretch:normal;}
  h2{font-stretch:normal;}
  .svc-grid, .proof-grid{grid-template-columns:1fr;}
  .scroll-hint{display:none;}
}
