/* CCTV Baltic — shared product detail page styles (matches Option C) */
:root{
  --bg:#FBFBFA;
  --ink:#101214;
  --ink-deep:#0A0C0E;
  --ink-2:#54585C;
  --ink-3:#8A8E92;
  --line:#E5E4E0;
  --accent:#EE9A2B;
  --accent-deep:#C77E14;
  --accent-soft:#FBEEDA;
  --accent-ink:#B5710D;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Hanken Grotesk",system-ui,sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3,h4{font-weight:800;letter-spacing:-0.025em;line-height:1.04}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent-ink)}

/* placeholder */
.ph{position:relative;background:repeating-linear-gradient(45deg,#EAE9E4,#EAE9E4 11px,#E3E2DD 11px,#E3E2DD 22px);overflow:hidden}
.ph::after{content:attr(data-label);position:absolute;left:14px;bottom:12px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#9a978f;background:var(--bg);padding:3px 8px}
.ph.dark{background:repeating-linear-gradient(45deg,#16181b,#16181b 11px,#1b1e22 11px,#1b1e22 22px)}
.ph.dark::after{background:var(--ink-deep);color:#6a6f74}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(251,251,250,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:40px;height:70px}
.brand{font-weight:800;font-size:19px;letter-spacing:-0.02em}
.brand b{color:var(--accent)}
.nav nav{display:flex;gap:30px;margin-left:6px}
.nav nav a{font-size:14.5px;font-weight:600;color:var(--ink-2);transition:.15s}
.nav nav a:hover{color:var(--ink)}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:16px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:11px 20px;border-radius:8px;transition:.16s;cursor:pointer}
.nav .brand{display:flex;align-items:center}
.brand .logo{height:27px;width:auto;display:block}
.foot .logo-foot{height:30px;width:auto;display:block}
.btn-accent{background:var(--accent);color:var(--ink)}
.btn-accent:hover{background:var(--accent-deep)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#26282b}
.btn-line{border:1.5px solid var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--ink-3)}
.btn-line-light{border:1.5px solid #34373b;color:#fff}
.btn-line-light:hover{border-color:#5a5d61}
.link-quiet{font-size:14px;font-weight:600;color:var(--ink-2)}
.link-quiet:hover{color:var(--ink)}

/* breadcrumb */
.crumb{padding:26px 0 0;font-size:13.5px;color:var(--ink-3);font-weight:600;display:flex;gap:9px;align-items:center}
.crumb a:hover{color:var(--ink)}
.crumb .sep{opacity:.5}

/* HERO */
.phero{padding:40px 0 64px;border-bottom:1px solid var(--line)}
.phero .eyebrow{margin-bottom:18px}
.phero h1{font-size:clamp(38px,5vw,68px);max-width:16ch}
.phero .lede{margin-top:24px;font-size:clamp(17px,1.6vw,21px);color:var(--ink-2);max-width:60ch}
.phero .cta{margin-top:32px;display:flex;gap:13px;flex-wrap:wrap}
.phero-media{margin-top:48px;height:min(46vw,460px);border-radius:14px;border:1px solid var(--line)}

/* stat bar */
.statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:48px}
.statbar .s{background:#fff;padding:26px 28px}
.statbar .s .v{font-size:30px;font-weight:800;letter-spacing:-0.03em}
.statbar .s .k{font-size:13px;color:var(--ink-2);margin-top:8px;font-weight:600}

/* section */
section{padding:80px 0}
.sec-head{margin-bottom:44px}
.sec-head .eyebrow{margin-bottom:14px;display:block}
.sec-head h2{font-size:clamp(28px,3.4vw,44px);max-width:20ch}
.sec-head p{color:var(--ink-2);font-size:16px;margin-top:16px;max-width:60ch}

/* feature grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;transition:.16s}
.feat:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,18,20,.07);border-color:transparent}
.feat .n{font-size:13px;font-weight:800;color:var(--accent)}
.feat h3{font-size:20px;margin:14px 0 10px}
.feat p{font-size:14.5px;color:var(--ink-2)}

/* dark band */
.band{background:var(--ink);color:#fff;border-radius:18px;overflow:hidden}
.band-inner{padding:56px}
.band .eyebrow{color:#F4B45E}
.band h2{color:#fff}

/* product list */
.plist{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.16s}
.pcard:hover{box-shadow:0 14px 34px rgba(16,18,20,.07)}
.pcard .ph{height:190px}
.pcard .b{padding:26px 28px 30px}
.pcard .cat{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.pcard h3{font-size:23px;margin:8px 0 10px}
.pcard p{font-size:14.5px;color:var(--ink-2)}
.pcard ul{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:8px}
.pcard ul li{font-size:13.5px;color:var(--ink-2);padding-left:18px;position:relative}
.pcard ul li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:2px;background:var(--accent)}

/* spec/comparison table */
.ctable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table.ctable{width:100%;border-collapse:collapse;min-width:760px}
table.ctable th,table.ctable td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
table.ctable thead th{background:var(--ink);color:#fff;font-size:15px;font-weight:800;position:sticky;top:0}
table.ctable thead th:first-child{border-top-left-radius:0}
table.ctable tbody th{font-weight:700;color:var(--ink);width:200px;background:var(--accent-soft)}
table.ctable td{color:var(--ink-2)}
table.ctable .yes{color:var(--accent);font-weight:800}
table.ctable tr:last-child th,table.ctable tr:last-child td{border-bottom:0}
table.ctable .colhdr{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;display:block;margin-bottom:5px}

/* applications */
.apps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.app{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:12px;transition:.15s}
.app:hover{border-color:var(--accent)}
.app .d{width:8px;height:8px;border-radius:2px;background:var(--accent);flex:none}

/* two-col prose */
.prose{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.prose h2{font-size:clamp(26px,3vw,40px);max-width:16ch}
.prose p{color:var(--ink-2);font-size:16px;margin-top:18px}
.prose .pts{margin-top:24px;display:flex;flex-direction:column;gap:13px}
.prose .pts div{display:flex;gap:12px;font-weight:600;font-size:15px;align-items:flex-start}
.prose .pts .mk{width:8px;height:8px;background:var(--accent);border-radius:2px;flex:none;margin-top:7px}
.prose-media{height:420px;border-radius:14px;border:1px solid var(--line)}

/* highlight callout */
.callout{background:var(--accent-soft);border:1px solid #F0DCB4;border-radius:14px;padding:32px 36px}
.callout .q{font-size:clamp(19px,2.2vw,26px);font-weight:700;letter-spacing:-0.02em;max-width:48ch}
.callout .src{margin-top:16px;font-size:13px;font-weight:700;color:var(--accent-ink);letter-spacing:.04em;text-transform:uppercase}

/* partner CTA */
.partner{background:var(--ink);color:#fff;border-radius:18px;padding:56px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.partner h2{color:#fff;font-size:clamp(28px,3.4vw,42px);max-width:18ch}
.partner p{color:rgba(255,255,255,.78);margin-top:14px;font-size:16px;max-width:42ch}
.partner .actions{display:flex;flex-direction:column;gap:12px;min-width:230px}
.btn-onaccent{background:var(--accent);color:var(--ink);justify-content:center;padding:14px 22px}
.btn-onaccent:hover{background:var(--accent-deep)}
.btn-onaccent-line{border:1.5px solid rgba(255,255,255,.45);color:#fff;justify-content:center;padding:14px 22px}

/* FOOTER */
footer{background:var(--ink-deep);color:#fff;padding:72px 0 40px;margin-top:80px}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px}
.foot .brand{color:#fff;font-size:21px}
.foot h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6f7378;margin-bottom:18px;font-weight:700}
.foot a{display:block;font-size:14.5px;color:#B0B3B7;margin-bottom:11px}
.foot a:hover{color:#fff}
.foot .addr{font-size:13.5px;color:#B0B3B7;line-height:1.55;margin-top:14px}
.foot .addr b{color:#E7E8EA;font-weight:700;display:block;margin-top:12px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:60px;padding-top:26px;border-top:1px solid #23262a;font-size:13px;color:#74787d}

@media(max-width:1080px){
  .statbar{grid-template-columns:1fr 1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .plist{grid-template-columns:1fr}
  .apps{grid-template-columns:1fr 1fr}
  .prose{grid-template-columns:1fr;gap:32px}
  .prose-media{order:-1;height:300px}
  .partner{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .band-inner{padding:40px 32px}
}
@media(max-width:720px){
  .wrap{padding:0 22px}
  .nav nav,.nav .right .link-quiet{display:none}
  .feat-grid,.apps,.statbar{grid-template-columns:1fr}
}
