/* ==========================================================================
   CableSpec — www.css
   Public marketing site stylesheet
   Brand colour: #D4A017 (gold)
   ========================================================================== */

/* ── Variables ─────────────────────────────────────────────────────────── */
:root {
  --bg:          #0B1320;
  --bg2:         #101C30;
  --card:        #142038;
  --card2:       #1A2A48;
  --border:      rgba(212,160,23,0.16);
  --blue:        #D4A017;
  --blue-l:      #E8B830;
  --cyan:        #F5CC6A;
  --gold:        #F5C842;
  --green:       #2DD88A;
  --green-dark:  #1fbe78;
  --green-light: #3de89a;
  --green-faint: rgba(45,216,138,0.06);
  --red:         #fc5c5c;
  --text:        #E4EEF8;
  --muted:       #7A95B8;
  --faint:       rgba(212,160,23,0.10);
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Nav ────────────────────────────────────────────────────────────────── */
nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.65rem 4rem;
  border-bottom: 1px solid var(--border);
  background: rgba(11,19,32,0.92);
  backdrop-filter: blur(14px);
  position: sticky; top:0; z-index:100;
}
.logo {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
  letter-spacing: -0.3px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.logo img { height: 49px; width: auto; margin-right: 16px; }
.logo span { color: var(--blue-l); }
nav ul { display: flex; gap: 2rem; list-style: none; }
nav ul a {
  color: var(--muted);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}
nav ul a:hover { color:#fff; }
nav ul a.nav-active { color:#fff; position:relative; }
nav ul a.nav-active::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:2px; background:var(--blue-l); border-radius:2px;
}
.nav-cta {
  background: var(--blue);
  color:#fff !important; border:none; padding:.55rem 1.4rem;
  border-radius:6px; font-family:'DM Sans',sans-serif;
  font-weight:500; font-size:.9rem; cursor:pointer;
  transition:.2s; text-decoration:none;
}
.nav-cta:hover { background: var(--blue-l); }
.nav-right { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
.nav-login {
  color: var(--muted);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 500;
  font-family: 'DM Sans', sans-serif;
  padding: .5rem .9rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  transition: .2s;
}
.nav-login:hover { color: #fff; border-color: rgba(255,255,255,.2); }

/* ── Hamburger button ───────────────────────────────────────────────────── */
.nav-hamburger {
  display:none;
  flex-direction:column; justify-content:center; align-items:center;
  gap:5px; width:38px; height:38px; border-radius:8px;
  background:transparent; border:1px solid var(--border);
  cursor:pointer; padding:0; flex-shrink:0;
  transition:border-color .2s;
}
.nav-hamburger:hover { border-color:rgba(212,160,23,.4); }
.nav-hamburger span {
  display:block; width:18px; height:2px;
  background:var(--muted); border-radius:2px;
  transition:transform .28s ease, opacity .2s ease, background .2s;
  transform-origin:center;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:#fff; }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:#fff; }

/* ── Mobile nav panel ───────────────────────────────────────────────────── */
.nav-mobile {
  display:none;
  position:fixed; top:65px; left:0; right:0; z-index:99;
  background:rgba(11,19,32,.97);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  max-height:0; overflow:hidden;
  transition:max-height .32s cubic-bezier(.4,0,.2,1), opacity .25s ease;
  opacity:0;
}
.nav-mobile.open { max-height:520px; opacity:1; }
.nav-mobile-list {
  list-style:none; padding:1.2rem 1.5rem 1.5rem; margin:0;
  display:flex; flex-direction:column; gap:.2rem;
}
.nav-mobile-list li a {
  display:block; padding:.75rem 1rem; border-radius:8px;
  color:var(--muted); text-decoration:none; font-size:.95rem;
  font-weight:500; transition:color .15s, background .15s;
}
.nav-mobile-list li a:hover { color:#fff; background:rgba(212,160,23,.08); }
.nav-mobile-list li a.nav-active { color:#fff; background:rgba(212,160,23,.1); }
.nav-mobile-divider { height:1px; background:var(--border); margin:.6rem 0; }
.nav-mobile-cta {
  display:block; text-align:center;
  background:var(--blue); color:#fff !important;
  border-radius:8px; padding:.8rem 1rem !important;
  font-weight:600 !important; font-size:.95rem;
  margin-top:.4rem; text-decoration:none;
  transition:background .2s !important;
}
.nav-mobile-cta:hover { background:var(--blue-l) !important; }
.nav-mobile-login {
  text-align:center; border:1px solid var(--border);
  border-radius:8px; margin-top:.4rem;
}
.nav-mobile-login:hover { border-color:rgba(212,160,23,.4) !important; }

/* ── Shared buttons ─────────────────────────────────────────────────────── */
.btn-primary {
  background:var(--blue); color:#fff; text-decoration:none;
  padding:.85rem 2rem; border-radius:10px;
  font-weight:700; font-size:.95rem; transition:.2s;
  font-family:'DM Sans',sans-serif; display:inline-block; border:none; cursor:pointer;
}
.btn-primary:hover { background:var(--blue-l); transform:translateY(-1px); }
.btn-ghost {
  background:transparent; color:var(--text); text-decoration:none;
  padding:.85rem 2rem; border-radius:10px; border:1px solid var(--border);
  font-weight:600; font-size:.95rem; transition:.2s;
  font-family:'DM Sans',sans-serif; display:inline-block; cursor:pointer;
}
.btn-ghost:hover { border-color:var(--blue-l); color:var(--blue-l); }

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero {
  text-align: center;
  padding: 6rem 2rem 4rem;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content:'';
  position:absolute; top:-120px; left:50%; transform:translateX(-50%);
  width:700px; height:700px;
  background: radial-gradient(circle, rgba(212,160,23,0.18) 0%, transparent 70%);
  pointer-events:none;
}
.hero-badge {
  display:inline-block;
  background: rgba(212,160,23,0.12);
  border: 1px solid rgba(212,160,23,0.30);
  color: var(--blue-l);
  font-size:.78rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase;
  padding:.35rem 1rem; border-radius:50px;
  margin-bottom:1.5rem;
  position:relative;
}
.hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 800;
  line-height:1.15;
  letter-spacing:-0.5px;
  max-width:760px; margin:0 auto 1.5rem;
  color:#fff;
}
.hero h1 em { font-style:normal; color: var(--blue-l); }
.hero p {
  font-size:1.1rem; color:var(--muted); max-width:580px; margin:0 auto 2.5rem;
  line-height:1.7;
}
.hero-ctas { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1rem; }
.hero-stats {
  display: flex; justify-content:center; gap:3rem; flex-wrap:wrap;
  margin-top: 3rem; padding-top: 3rem;
  border-top: 1px solid var(--border);
}
.stat { text-align:center; }
.stat-val {
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:2rem; color:#fff;
}
.stat-val span { color:var(--blue-l); }
.stat-label { font-size:.8rem; color:var(--muted); margin-top:.3rem; letter-spacing:.04em; }

/* ── Section title ──────────────────────────────────────────────────────── */
.section-label {
  font-size:.75rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--blue-l);
  margin-bottom:1rem;
  display:flex; align-items:center; gap:.6rem;
}
.section-label::after { content:''; flex:1; height:1px; background:rgba(212,160,23,0.2); }

/* ── Features strip ─────────────────────────────────────────────────────── */
.features-strip {
  display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:1px; background: var(--border);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.feat {
  background: var(--bg2);
  padding:1.8rem 1.6rem;
  display:flex; align-items:flex-start; gap:.9rem;
}
.feat-icon {
  width:40px; height:40px; border-radius:10px;
  background: var(--faint); border: 1px solid rgba(212,160,23,0.20);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:1.1rem; color:var(--blue-l);
}
.feat h3 { font-size:.95rem; font-weight:600; color:#fff; margin-bottom:.3rem; }
.feat p { font-size:.82rem; color:var(--muted); line-height:1.6; }

/* ── LP shared ──────────────────────────────────────────────────────────── */
.lp-section { max-width:1100px; margin:0 auto; padding:5rem 2rem; }
.lp-section.lp-tight { padding:3.5rem 2rem; }
.lp-center { text-align:center; }
.lp-h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.7rem,3.2vw,2.4rem); font-weight:800;
  color:#fff; letter-spacing:-.25px; margin:.4rem 0 1rem; line-height:1.2;
}
.lp-h2 em { font-style:normal; color:var(--blue-l); }
.lp-lead { color:var(--muted); font-size:.97rem; max-width:580px; margin:0 auto; line-height:1.75; }
.lp-divider { border:none; border-top:1px solid var(--border); margin:0; }

/* ── Trust bar ──────────────────────────────────────────────────────────── */
.lp-trust-bar {
  background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:1.2rem 2rem;
}
.lp-trust-inner {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:.6rem 1.2rem;
}
.lp-trust-label { font-size:.75rem; font-weight:600; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.lp-trust-sep { width:1px; height:16px; background:var(--border); flex-shrink:0; }
.lp-trust-name {
  font-size:.84rem; font-weight:600; color:var(--text);
  background:var(--card); border:1px solid var(--border);
  border-radius:20px; padding:.3rem .9rem; white-space:nowrap;
}

/* ── Problem grid ───────────────────────────────────────────────────────── */
.lp-problem-grid {
  display:grid; grid-template-columns:1fr 60px 1fr;
  gap:0; align-items:stretch; margin-top:2.5rem;
}
.lp-before, .lp-after { border-radius:16px; padding:2rem; }
.lp-before { background:rgba(255,80,80,.05); border:1px solid rgba(255,80,80,.15); }
.lp-after  { background:rgba(45,216,138,.05); border:1px solid rgba(45,216,138,.18); }
.lp-ba-head {
  display:flex; align-items:center; gap:.6rem;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.82rem;
  font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.2rem;
}
.lp-before .lp-ba-head { color:rgba(255,130,130,.9); }
.lp-after  .lp-ba-head { color:var(--green); }
.lp-ba-head i { font-size:1.6em; position:relative; top:2px; }
.lp-ba-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem; }
.lp-ba-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.87rem; color:var(--muted); line-height:1.55;
  text-align:left;
}
.lp-before .lp-ba-list li::before { content:'✗'; color:rgba(255,130,130,.8); font-weight:700; flex-shrink:0; }
.lp-after  .lp-ba-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; }
.lp-ba-divider { display:flex; align-items:center; justify-content:center; }
.lp-ba-arrow {
  width:40px; height:40px; border-radius:50%;
  background:var(--blue); display:flex; align-items:center;
  justify-content:center; color:#0B1320; font-size:1.1rem; flex-shrink:0;
}

/* ── How it works ───────────────────────────────────────────────────────── */
.lp-how-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; margin-top:2.5rem; position:relative;
}
.lp-how-grid::before {
  content:''; position:absolute; top:60px; left:calc(16.6% + 28px); right:calc(50% + 28px);
  height:2px; background:linear-gradient(90deg,var(--blue),var(--blue-l));
  opacity:.3; z-index:1;
}
.lp-how-grid::after {
  content:''; position:absolute; top:60px; left:calc(50% + 28px); right:calc(16.6% + 28px);
  height:2px; background:linear-gradient(90deg,var(--blue-l),var(--blue));
  opacity:.3; z-index:1;
}
.lp-how-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2rem 1.6rem; text-align:center;
}
.lp-how-num {
  width:56px; height:56px; border-radius:50%; margin:0 auto 1.2rem;
  background:rgba(212,160,23,.10); border:2px solid rgba(212,160,23,.35);
  display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.3rem;
  font-weight:800; color:var(--blue-l);
  position:relative; z-index:2;
}
.lp-how-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem;
  font-weight:700; color:#fff; margin-bottom:.6rem;
}
.lp-how-card p { font-size:.86rem; color:var(--muted); line-height:1.65; }

/* ── Features grid ──────────────────────────────────────────────────────── */
.lp-feat-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.2rem; margin-top:2.5rem;
}
.lp-feat-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.6rem 1.5rem;
  display:grid; grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  align-content:start; column-gap:.75rem; row-gap:.6rem;
  transition:border-color .2s;
}
.lp-feat-card:hover { border-color:rgba(212,160,23,.32); }
.lp-feat-icon {
  grid-column:1; grid-row:1; align-self:center;
  width:42px; height:42px; border-radius:11px;
  background:var(--faint); border:1px solid rgba(212,160,23,.18);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--blue-l);
}
.lp-feat-card h3 {
  grid-column:2; grid-row:1; align-self:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.97rem;
  font-weight:700; color:#fff; margin:0; text-align:left;
}
.lp-feat-card p { grid-column:1 / -1; grid-row:2; font-size:.83rem; color:var(--muted); line-height:1.65; margin:0; }

/* ── Value prop (who it's for) ──────────────────────────────────────────── */
.lp-vp-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.5rem; margin-top:2.5rem;
}
.lp-vp-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden; display:flex; flex-direction:column;
}
.lp-vp-top { padding:2rem 2rem 1.6rem; border-bottom:1px solid var(--border); }
.lp-vp-body { padding:1.6rem 2rem 2rem; flex:1; }
.vp-badge {
  display:inline-block; font-size:.72rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  background:rgba(212,160,23,.12); border:1px solid rgba(212,160,23,.25);
  color:var(--blue-l); border-radius:20px; padding:.25rem .8rem; margin-bottom:.9rem;
}
.lp-vp-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.15rem;
  font-weight:800; color:#fff; margin-bottom:.6rem;
}
.lp-vp-card > .lp-vp-top > p { font-size:.88rem; color:var(--muted); line-height:1.65; }
.lp-vp-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; }
.lp-vp-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.87rem; color:var(--text); line-height:1.55;
  text-align:left;
}
.lp-vp-list li::before { content:'✓'; color:var(--blue-l); font-weight:700; flex-shrink:0; }

/* ── Testimonials ─────────────────────────────────────────────── */
.lp-testi-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.5rem; margin-top:2.5rem;
}
.lp-testi-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2rem;
}
.lp-testi-stars { color:var(--gold); font-size:.85rem; margin-bottom:.75rem; letter-spacing:.05em; }
.lp-testi-card blockquote {
  font-size:.92rem; color:var(--text); line-height:1.75;
  font-style:italic; margin:0 0 1.4rem; padding:0;
  text-align:left;
}
.lp-testi-card blockquote::before {
  content:'\201C'; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.15em; color:var(--blue-l); margin-right:.1em;
}
.lp-testi-card blockquote::after {
  content:'\201D'; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.15em; color:var(--blue-l); margin-left:.1em;
}
.lp-testi-attr { display:flex; flex-direction:column; gap:.45rem; text-align:left; }
.lp-testi-attr strong { font-size:.88rem; color:#fff; }
.lp-testi-attr span { font-size:.78rem; color:var(--muted); }

/* ── Ecosystem / suite ──────────────────────────────────────────────────── */
.lp-eco-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1rem; margin-top:2.5rem;
}
.lp-eco-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.4rem 1.2rem; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  transition:border-color .2s, transform .18s;
}
.lp-eco-card:hover { border-color:rgba(212,160,23,.3); transform:translateY(-2px); }
.lp-eco-icon {
  width:48px; height:48px; border-radius:13px;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  background:var(--faint); border:1px solid var(--border); color:var(--blue-l);
}
.lp-eco-card h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem;
  font-weight:700; color:#fff; margin:0;
}
.lp-eco-card p { font-size:.77rem; color:var(--muted); line-height:1.5; margin:0; }

/* ── Screen tabs / UI demo ──────────────────────────────────────────────── */
.lp-screens-bg {
  background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.lp-screens-tabs {
  display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; margin-bottom:2.5rem;
}
.lp-stab {
  padding:.5rem 1.2rem; border-radius:8px; border:1px solid var(--border);
  background:transparent; color:var(--muted); font-size:.84rem; font-weight:500;
  cursor:pointer; transition:.2s; font-family:'DM Sans',sans-serif;
}
.lp-stab.active { background:var(--blue); border-color:var(--blue); color:#0B1320; font-weight:700; }
.lp-screen-panel { display:none; }
.lp-screen-panel.active { display:block; animation:fadeUp .3s ease; }
@keyframes fadeUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.lp-screen-frame {
  border-radius:16px; border:1px solid var(--border);
  background:var(--card); overflow:hidden;
  display:flex; flex-direction:column;
}
.lp-screen-bar {
  background:var(--card2); border-bottom:1px solid var(--border);
  padding:.6rem 1rem; display:flex; align-items:center; gap:.4rem;
}
.lp-screen-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.lp-screen-caption { text-align:center; margin-top:1.5rem; font-size:.84rem; color:var(--muted); }
.lp-screen-caption strong { color:var(--text); }

/* ── Pricing embedded on features page ─────────────────────────────────── */
.lp-price-bg {
  background:var(--card); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.lp-price-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.5rem; margin-top:2.5rem;
}
.lp-price-card {
  background:var(--bg); border:1px solid var(--border);
  border-radius:14px; padding:1.75rem; text-align:left;
}
.lp-price-card.lp-featured {
  border-color:rgba(232,113,9,.4);
  box-shadow:0 0 0 1px rgba(232,113,9,.4);
}
.lp-pc-badge {
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--blue-l);
  background:rgba(232,113,9,.10); border:1px solid rgba(232,113,9,.25);
  border-radius:10px; padding:.2rem .65rem; margin-bottom:.75rem;
}
.lp-price-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.1rem;
  font-weight:700; color:#fff; margin:0 0 .5rem;
}
.lp-price-val { font-size:2.4rem; font-weight:800; color:#fff; margin-bottom:.3rem; letter-spacing:-.03em; }
.lp-price-val sub { font-size:.9rem; font-weight:400; color:var(--muted); }
.lp-price-note { font-size:.78rem; color:var(--muted); margin-bottom:1rem; }
.lp-price-incl { list-style:none; padding:0; margin:0 0 1.5rem; display:flex; flex-direction:column; gap:.45rem; }
.lp-price-incl li {
  font-size:.83rem; color:var(--muted); line-height:1.45;
  padding-left:1.1rem; position:relative;
}
.lp-price-incl li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:700; }

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.lp-faq { margin-top:2.5rem; }
.lp-faq-item {
  background:var(--card); border:1px solid var(--border);
  border-radius:0; margin-bottom:-1px; overflow:hidden;
}
.lp-faq-item:first-child { border-radius:14px 14px 0 0; }
.lp-faq-item:last-child  { border-radius:0 0 14px 14px; margin-bottom:0; }
.lp-faq-q {
  padding:1.1rem 1.5rem; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center;
  gap:1rem; user-select:none;
}
.lp-faq-q span { font-size:.92rem; font-weight:600; color:var(--text); }
.lp-faq-q .lp-faq-arr { color:var(--muted); font-size:.8rem; transition:.2s; flex-shrink:0; }
.lp-faq-item.open .lp-faq-arr { transform:rotate(180deg); color:var(--blue-l); }
.lp-faq-item.open .lp-faq-q span { color:#fff; }
.lp-faq-a {
  display:none; padding:0 1.5rem 1.2rem;
  font-size:.87rem; color:var(--muted); line-height:1.7;
}
.lp-faq-item.open .lp-faq-a { display:block; }

/* ── Final CTA ──────────────────────────────────────────────────────────── */
.lp-final-cta {
  text-align:center;
  background:linear-gradient(135deg,rgba(212,160,23,.15) 0%,rgba(212,160,23,.04) 60%,transparent 100%);
  border-top:1px solid rgba(212,160,23,.22);
  padding:5rem 2rem 5.5rem; position:relative; overflow:hidden;
}
.lp-final-cta::before {
  content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:400px;
  background:radial-gradient(circle, rgba(212,160,23,.15) 0%, transparent 70%);
  pointer-events:none;
}
.lp-final-cta h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3rem); font-weight:800;
  color:#fff; letter-spacing:-.3px; margin:.5rem auto 1rem;
  line-height:1.18; max-width:680px; position:relative;
}
.lp-final-cta h2 em { font-style:normal; color:var(--blue-l); }
.lp-final-cta p { color:var(--muted); font-size:1rem; max-width:500px; margin:0 auto 2.5rem; line-height:1.7; position:relative; }
.lp-final-cta .lp-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }
.lp-final-cta .lp-cta-note { font-size:.78rem; color:var(--muted); margin-top:1rem; position:relative; }

/* ==========================================================================
   Calculations page
   ========================================================================== */
.calc-page { max-width:1100px; margin:0 auto; padding:4rem 2rem 6rem; }
.calc-page-hero { text-align:center; padding:1rem 0 3rem; }
.calc-page-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3.2rem); font-weight:800;
  color:#fff; letter-spacing:-.3px; margin:.5rem 0 1.2rem; line-height:1.2;
}
.calc-page-hero h1 em { font-style:normal; color:var(--blue-l); }
.calc-page-hero p { color:var(--muted); font-size:1.05rem; max-width:640px; margin:0 auto; line-height:1.75; }

.calc-checks-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1.2rem; margin-top:2.5rem;
}
.calc-check-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden;
  transition:border-color .2s;
}
.calc-check-card:hover { border-color:rgba(212,160,23,.35); }
.calc-check-header {
  background:var(--card2); border-bottom:1px solid var(--border);
  padding:1.2rem 1.6rem;
  display:flex; align-items:flex-start; gap:1rem;
}
.calc-check-num {
  width:36px; height:36px; border-radius:9px; flex-shrink:0;
  background:rgba(212,160,23,.14); border:1px solid rgba(212,160,23,.3);
  display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;
  font-size:.95rem; color:var(--blue-l);
}
.calc-check-header-text h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem;
  font-weight:700; color:#fff; margin:0 0 .2rem;
}
.calc-reg-badge {
  display:inline-block; font-size:.7rem; font-weight:600;
  background:rgba(212,160,23,.1); border:1px solid rgba(212,160,23,.2);
  color:var(--muted); border-radius:4px; padding:.1rem .5rem;
}
.calc-check-body { padding:1.4rem 1.6rem; display:flex; flex-direction:column; gap:.9rem; }
.calc-check-body p { font-size:.87rem; color:var(--muted); line-height:1.68; margin:0; }
.calc-formula {
  background:var(--bg); border:1px solid var(--border); border-radius:8px;
  padding:.8rem 1rem; font-family:'DM Mono','Courier New',monospace;
  font-size:.82rem; color:var(--blue-l); letter-spacing:.01em;
}
.calc-detail-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.calc-detail-list li {
  display:flex; align-items:flex-start; gap:.5rem;
  font-size:.82rem; color:var(--text); line-height:1.5;
}
.calc-detail-list li::before { content:'→'; color:var(--blue-l); flex-shrink:0; font-size:.8rem; margin-top:.1rem; }

.calc-factor-grid {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:1rem; margin-top:2.5rem;
}
.calc-factor-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.4rem 1.2rem; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
}
.calc-factor-sym {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.6rem;
  font-weight:800; color:var(--blue-l);
  width:52px; height:52px; border-radius:12px;
  background:rgba(212,160,23,.1); border:1px solid rgba(212,160,23,.25);
  display:flex; align-items:center; justify-content:center;
}
.calc-factor-card h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.88rem;
  font-weight:700; color:#fff; margin:0;
}
.calc-factor-card p { font-size:.77rem; color:var(--muted); line-height:1.55; margin:0; }
.calc-factor-ref { font-size:.7rem; color:var(--blue-l); font-weight:600; }

.calc-special-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1rem; margin-top:2rem;
}
.calc-special-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.6rem;
  display:grid; grid-template-columns:42px 1fr;
  column-gap:.75rem; row-gap:.5rem; align-content:start;
}
.calc-special-icon {
  width:42px; height:42px; border-radius:11px;
  background:var(--faint); border:1px solid rgba(212,160,23,.18);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:var(--blue-l); grid-row:1; grid-column:1;
}
.calc-special-card h4 {
  grid-row:1; grid-column:2; align-self:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  font-weight:700; color:#fff; margin:0;
}
.calc-special-card p {
  grid-column:1 / -1; grid-row:2;
  font-size:.83rem; color:var(--muted); line-height:1.65; margin:0;
}

.cable-library-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1rem; margin-top:2rem;
}
.cable-lib-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:12px; padding:1.2rem 1.4rem;
}
.cable-lib-card h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem;
  font-weight:700; color:#fff; margin-bottom:.4rem;
}
.cable-lib-card .cable-std {
  font-size:.7rem; font-weight:600; color:var(--blue-l);
  background:rgba(212,160,23,.1); border:1px solid rgba(212,160,23,.2);
  border-radius:4px; padding:.1rem .5rem; display:inline-block; margin-bottom:.55rem;
}
.cable-lib-card p { font-size:.8rem; color:var(--muted); line-height:1.55; }

.device-lib-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:.8rem; margin-top:2rem;
}
.device-lib-card {
  background:var(--card2); border:1px solid var(--border);
  border-radius:10px; padding:1rem 1.2rem; text-align:center;
}
.device-lib-card .device-mult {
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;
  font-size:1.3rem; color:var(--blue-l); margin-bottom:.25rem;
}
.device-lib-card h5 { font-size:.82rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.device-lib-card p { font-size:.74rem; color:var(--muted); line-height:1.4; }

/* ==========================================================================
   Pricing page
   ========================================================================== */
.prices-hero-wrap { border-bottom:1px solid var(--border); }
.prices-page { max-width:1100px; margin:0 auto; padding:3rem 2rem 6rem; }
.price-cards { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:3rem; }
.price-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2.2rem; display:flex; flex-direction:column; gap:1rem;
}
.price-card.featured {
  border-color:rgba(212,160,23,.5);
  background:linear-gradient(135deg,rgba(212,160,23,.09) 0%,var(--card) 70%);
}
.price-card .badge {
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--blue-l);
  background:rgba(212,160,23,.12); border:1px solid rgba(212,160,23,.25);
  border-radius:20px; padding:.25rem .8rem; width:fit-content;
}
.price-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.15rem;
  font-weight:800; color:#fff;
}
.price-amount { font-family:'Plus Jakarta Sans',sans-serif; font-size:2.2rem; font-weight:800; color:var(--blue-l); line-height:1.1; }
.price-desc { font-size:.86rem; color:var(--muted); line-height:1.65; }
.price-incl { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.price-incl li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.86rem; color:var(--text); line-height:1.5;
}
.price-incl li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; }

.all-incl { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:2rem; margin-top:2rem; }
.all-incl h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem;
  font-weight:700; color:#fff; margin-bottom:1.4rem; text-align:center;
}
.all-incl-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem;
}
.all-incl-item {
  display:flex; align-items:center; gap:.5rem;
  font-size:.82rem; color:var(--muted);
  padding:.45rem .6rem; border-radius:8px;
  background:var(--card2); border:1px solid var(--border);
}
.all-incl-item::before { content:'✓'; color:var(--blue-l); font-weight:700; flex-shrink:0; font-size:.8rem; }

/* ==========================================================================
   About page
   ========================================================================== */
.about-page { max-width:1100px; margin:0 auto; padding:4rem 2rem 6rem; }
.about-hero { text-align:center; padding:1rem 0 3.5rem; }
.about-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3.2rem); font-weight:800;
  color:#fff; letter-spacing:-.3px; margin:.5rem 0 1.2rem; line-height:1.2;
}
.about-hero h1 em { font-style:normal; color:var(--blue-l); }
.about-hero p { color:var(--muted); font-size:1.05rem; max-width:600px; margin:0 auto; line-height:1.75; }

.cable-lib-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1rem; margin-top:2.5rem; text-align:left;
}

.mission-strip {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:16px;
  overflow:hidden; margin-bottom:4rem;
}
.mission-cell { background:var(--card); padding:1.8rem 1.6rem; text-align:center; }
.mission-cell .mc-icon { font-size:1.8rem; margin-bottom:.7rem; color:var(--blue-l); }
.mission-cell h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  font-weight:700; color:#fff; margin-bottom:.4rem;
}
.mission-cell p { font-size:.82rem; color:var(--muted); line-height:1.6; }
@media(max-width:860px) { .mission-strip { grid-template-columns:1fr; } }

.about-two-col { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; margin-bottom:4rem; }
.about-two-col.flip { direction:rtl; }
.about-two-col.flip > * { direction:ltr; }
.about-prose h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:800; color:#fff; letter-spacing:-.2px; margin-bottom:1rem; line-height:1.25;
}
.about-prose h2 em { font-style:normal; color:var(--blue-l); }
.about-prose p { font-size:.92rem; color:var(--muted); line-height:1.75; margin-bottom:1rem; }
.about-prose .about-list { list-style:none; margin:.8rem 0 0; padding:0; }
.about-prose .about-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.88rem; color:var(--text); margin-bottom:.5rem; line-height:1.55;
}
.about-prose .about-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; margin-top:.1rem; }

.about-stat-panel {
  background:var(--card); border:1px solid rgba(212,160,23,.18);
  border-radius:16px; padding:2rem;
  display:flex; flex-direction:column; gap:.9rem;
}
.about-stat-row {
  background:var(--card2); border:1px solid var(--border);
  border-radius:10px; padding:1.1rem 1.4rem;
  display:flex; justify-content:space-between; align-items:center;
}
.asr-label { font-size:.82rem; color:var(--muted); }
.asr-val { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.1rem; font-weight:800; color:var(--blue-l); }

.about-cs-logo {
  background:linear-gradient(135deg,rgba(212,160,23,.14),rgba(212,160,23,.04));
  border:1px solid rgba(212,160,23,.22); border-radius:16px;
  padding:2rem; display:flex; flex-direction:column; gap:.9rem;
}
.cs-wordmark { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.6rem; font-weight:800; color:#fff; }
.cs-wordmark span { color:var(--blue-l); }
.cs-tag { font-size:.75rem; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; font-weight:600; }
.cs-desc { font-size:.85rem; color:var(--muted); line-height:1.65; border-top:1px solid var(--border); padding-top:.9rem; }
.cs-pill-row { display:flex; flex-wrap:wrap; gap:.4rem; }
.cs-pill {
  background:var(--faint); border:1px solid var(--border);
  border-radius:20px; padding:.25rem .75rem; font-size:.73rem; color:var(--muted);
}

.about-section-head { text-align:center; margin-bottom:2.5rem; }
.about-section-head h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.5rem,3vw,2.1rem); font-weight:800;
  color:#fff; letter-spacing:-.2px; margin:.4rem 0 .8rem;
}
.about-section-head p { color:var(--muted); font-size:.93rem; max-width:560px; margin:0 auto; line-height:1.7; }

.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-bottom:4rem; }
a.product-card, .product-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; text-decoration:none;
  transition:border-color .2s, transform .2s;
}
a.product-card:hover, .product-card:hover { border-color:rgba(212,160,23,.35); transform:translateY(-2px); }
.product-card-top {
  padding:1.5rem 1.6rem 1.2rem; border-bottom:1px solid var(--border);
  display:flex; align-items:flex-start; gap:.9rem;
}
.product-icon {
  width:42px; height:42px; border-radius:11px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:var(--blue-l);
  background:var(--faint); border:1px solid rgba(212,160,23,.2);
}
.pi-cc, .pi-cs, .pi-csp, .pi-ep, .pi-fm, .pi-ir, .pi-sc, .pi-tc { background:none; border:none; }
.product-card-top-text h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.98rem;
  font-weight:800; color:#fff; margin-bottom:.25rem;
}
.product-card-top-text .p-tag { font-size:.72rem; color:var(--muted); font-weight:500; }
.product-card-body { padding:1.2rem 1.6rem 1.5rem; flex:1; display:flex; flex-direction:column; gap:.7rem; }
.product-card-body p { font-size:.84rem; color:var(--muted); line-height:1.65; flex:1; }
.product-card-features { list-style:none; padding:0; margin:0; }
.product-card-features li {
  display:flex; align-items:flex-start; gap:.5rem;
  font-size:.79rem; color:var(--muted); margin-bottom:.35rem; line-height:1.45;
}
.product-card-features li::before { content:'•'; color:var(--blue-l); flex-shrink:0; }
.product-card-std {
  display:inline-block; font-size:.7rem; font-weight:600;
  border-radius:20px; padding:.2rem .7rem;
  background:var(--faint); border:1px solid var(--border);
  color:var(--muted); margin-top:auto; width:fit-content;
}

.about-cta {
  text-align:center;
  background:linear-gradient(135deg,rgba(212,160,23,.12),rgba(212,160,23,.03));
  border:1px solid rgba(212,160,23,.22); border-radius:20px; padding:3.5rem 2rem;
}
.about-cta h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:800; color:#fff; margin-bottom:.8rem; letter-spacing:-.2px;
}
.about-cta p { color:var(--muted); font-size:.95rem; max-width:520px; margin:0 auto 2rem; line-height:1.7; }
.about-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ==========================================================================
   Demo / request form page
   ========================================================================== */
.demo-wrap { max-width:1060px; margin:0 auto; padding:4rem 2rem 6rem; }
.demo-wrap h1 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(2rem,4vw,3rem);
  font-weight:800; color:#fff; letter-spacing:-.3px; margin:.5rem 0 1rem; line-height:1.2;
}
.demo-wrap h1 em { font-style:normal; color:var(--blue-l); }
.demo-grid { display:grid; grid-template-columns:1fr 360px; gap:2.5rem; align-items:start; margin-top:2.5rem; }
.demo-form-card {
  background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden;
}
.demo-form-card-header { padding:1.4rem 1.8rem; border-bottom:1px solid var(--border); }
.demo-form-card-header h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem;
  font-weight:700; color:#fff; margin:0 0 .25rem;
}
.demo-form-card-header p { font-size:.8rem; color:var(--muted); margin:0; }
.demo-form-body { padding:1.8rem; }
.demo-sidebar { display:flex; flex-direction:column; gap:1.2rem; position:sticky; top:80px; }
.sb-card {
  background:var(--card); border:1px solid var(--border); border-radius:14px; padding:1.4rem 1.6rem;
}
.sb-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  font-weight:700; color:#fff; margin:0 0 .9rem;
  display:flex; align-items:center; gap:.55rem;
}
.sb-card h3 i { position:relative; top:2px; }
.sb-contact-item {
  display:flex; align-items:center; gap:.75rem;
  padding:.5rem 0; border-bottom:1px solid rgba(212,160,23,.07); font-size:.83rem;
}
.sb-contact-item:last-child { border-bottom:none; }
.sb-contact-icon {
  width:32px; height:32px; border-radius:8px; flex-shrink:0;
  background:var(--faint); border:1px solid rgba(212,160,23,.2);
  display:flex; align-items:center; justify-content:center; font-size:.9rem; color:var(--blue-l);
}
.sb-contact-item a { color:var(--blue-l); text-decoration:none; }
.sb-contact-item a:hover { color:#fff; }
.sb-promise-list { list-style:none; margin:0; padding:0; }
.sb-promise-list li {
  display:flex; align-items:flex-start; gap:.65rem;
  font-size:.83rem; color:var(--muted); line-height:1.55; margin-bottom:.65rem;
}
.sb-promise-list li:last-child { margin-bottom:0; }
.sb-promise-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; }

/* Form elements */
.form-sep {
  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); border-bottom:1px solid var(--border); padding-bottom:.5rem;
  margin:1.4rem 0 1rem;
}
.form-sep:first-child { margin-top:0; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:.9rem; }
.f-group { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.9rem; }
.f-row .f-group { margin-bottom:0; }
.f-label { font-size:.8rem; font-weight:600; color:var(--text); }
.req { color:var(--blue-l); }
.f-input, .f-select, .f-textarea {
  background:var(--bg); border:1px solid var(--border);
  border-radius:8px; padding:.7rem 1rem; font-size:.88rem;
  color:var(--text); font-family:'DM Sans',sans-serif;
  width:100%; outline:none; transition:border-color .2s;
}
.f-input:focus, .f-select:focus, .f-textarea:focus { border-color:rgba(212,160,23,.5); }
.f-input::placeholder, .f-textarea::placeholder { color:var(--muted); }
.f-input.is-invalid, .f-select.is-invalid { border-color:rgba(252,92,92,.5); }
.f-select { appearance:none; cursor:pointer; }
.f-textarea { min-height:110px; resize:vertical; }
.f-error { font-size:.75rem; color:var(--red); min-height:1rem; }
.f-num-wrap { display:flex; align-items:center; }
.f-num-wrap .f-input { border-radius:0; text-align:center; -moz-appearance:textfield; }
.f-num-wrap .f-input::-webkit-outer-spin-button,
.f-num-wrap .f-input::-webkit-inner-spin-button { -webkit-appearance:none; }
.f-num-btn {
  width:38px; height:38px; flex-shrink:0; background:var(--card2);
  border:1px solid var(--border); color:var(--muted); cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:.95rem;
  transition:color .15s, background .15s;
}
.f-num-btn:hover { background:var(--faint); color:#fff; }
.f-num-dec { border-radius:8px 0 0 8px; border-right:none; }
.f-num-inc { border-radius:0 8px 8px 0; border-left:none; }

.demo-submit {
  width:100%; background:var(--blue); color:#0B1320;
  border:none; border-radius:10px; font-family:'DM Sans',sans-serif;
  font-weight:700; font-size:1rem; padding:1rem; cursor:pointer;
  transition:.2s; margin-top:.5rem; letter-spacing:.01em;
}
.demo-submit:hover { background:var(--blue-l); }
.demo-submit:disabled { opacity:.5; cursor:not-allowed; }

.d-alert {
  border-radius:12px; padding:1.1rem 1.4rem; display:flex;
  align-items:flex-start; gap:.9rem; margin-bottom:1.5rem; font-size:.87rem;
}
.d-alert-ok { background:rgba(45,216,138,.08); border:1px solid rgba(45,216,138,.25); color:#e0fef0; }
.d-alert-err { background:rgba(252,92,92,.08); border:1px solid rgba(252,92,92,.25); color:#fee8e8; }
.d-alert-icon { font-size:1.4rem; flex-shrink:0; margin-top:.05rem; }
.d-alert strong { display:block; margin-bottom:.2rem; }

/* ==========================================================================
   Terms / Privacy
   ========================================================================== */
.terms-page { max-width:860px; margin:0 auto; padding:4rem 2rem 6rem; }
.terms-hero { text-align:center; padding:1rem 0 3rem; }
.terms-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.9rem,4vw,3rem); font-weight:800; color:#fff; margin:.6rem 0 1rem;
}
.terms-hero p { font-size:.95rem; color:var(--muted); max-width:600px; margin:0 auto; line-height:1.7; }
.terms-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:2.5rem 3rem; }
.terms-meta {
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:.5rem; margin-bottom:1.4rem;
}
.terms-company { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:1rem; color:#fff; }
.terms-effective { font-size:.8rem; color:var(--muted); }
.terms-rule { border:none; border-top:1px solid var(--border); margin:1.6rem 0; }
.terms-section { margin-bottom:1.8rem; }
.terms-section:last-of-type { margin-bottom:0; }
.terms-section h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem; font-weight:700; color:#fff; margin:0 0 .65rem; }
.terms-section p { font-size:.87rem; color:var(--muted); line-height:1.75; margin:0 0 .5rem; }
.terms-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top:.4rem; }
.terms-footer-contact a {
  display:flex; align-items:center; gap:.4rem;
  font-size:.84rem; color:var(--muted); text-decoration:none; transition:color .15s;
}
.terms-footer-contact a:hover { color:var(--blue-l); }

/* ==========================================================================
   Site footer
   ========================================================================== */
.site-footer { background:var(--bg2); border-top:1px solid var(--border); padding:3rem 4rem; }
.site-footer-inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:2.5rem; align-items:start;
}
.site-footer-logo { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.25rem; color:#fff; }
.site-footer-logo span { color:var(--blue-l); }
.sf-tagline { font-size:.82rem; color:var(--muted); margin-top:.4rem; line-height:1.55; max-width:230px; }
.sf-contact { margin-top:1.2rem; display:flex; flex-direction:column; gap:.35rem; }
.sf-contact a {
  font-size:.8rem; color:var(--muted); text-decoration:none;
  display:flex; align-items:center; gap:.45rem; transition:.15s;
}
.sf-contact a:hover { color:var(--blue-l); }
.sf-col h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.75rem;
  font-weight:700; color:var(--muted); letter-spacing:.08em;
  text-transform:uppercase; margin-bottom:.85rem;
}
.sf-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.5rem; }
.sf-col ul li a { font-size:.84rem; color:var(--muted); text-decoration:none; transition:.15s; }
.sf-col ul li a:hover { color:#fff; }
.sf-bottom {
  max-width:1100px; margin:2rem auto 0; border-top:1px solid var(--border); padding-top:1.2rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem;
}
.sf-bottom p { font-size:.75rem; color:var(--muted); }
.sf-cookie-notice { font-size:.74rem; color:var(--muted); opacity:.7; }
.sf-cookie-notice a { color:var(--muted); text-decoration:underline; text-underline-offset:2px; }
.sf-cookie-notice a:hover { color:var(--blue-l); }

/* ==========================================================================
   Responsive
   ========================================================================== */
/* ── Mobile logo (standard template - keep identical across all apps) ──
   The logo gives way to the menu button: it may shrink, it scales down on
   phones, and a wordmark wrapped as <span class="logo-word">First<span>Second</span></span>
   stacks onto two lines on small screens. */
nav { gap:.75rem; }
nav .logo { flex:0 1 auto; min-width:0; }
nav .nav-right { flex-shrink:0; }
@media (max-width:480px){
  nav .logo { font-size:1.15rem; }
  nav .logo img { height:36px; margin-right:10px; }
  nav .logo-word { font-size:1.15rem; display:flex; flex-direction:column; align-items:flex-start; line-height:1.05; }
  nav .logo-word > span { display:block; }
}

@media(max-width:900px){
  nav { padding:1rem 1.5rem; }
  nav ul { display:none; }
  .nav-cta { display:none; }
  .nav-login { display:none; }
  .nav-mobile { display:block; }
  .nav-hamburger { display:flex; }
  .hero { padding:4rem 1.5rem 3rem; }
  .hero-stats { gap:1.5rem; }
  .lp-problem-grid { grid-template-columns:1fr; gap:1rem; }
  .lp-ba-divider { display:none; }
  .lp-how-grid, .lp-feat-grid { grid-template-columns:1fr 1fr; }
  .lp-how-grid::before, .lp-how-grid::after { display:none; }
  .calc-checks-grid { grid-template-columns:1fr; }
  .calc-factor-grid { grid-template-columns:repeat(3,1fr); }
  .cable-library-grid { grid-template-columns:1fr; }
  .cable-lib-grid { grid-template-columns:1fr 1fr; }
  .device-lib-grid { grid-template-columns:repeat(2,1fr); }
  .lp-vp-grid { grid-template-columns:1fr; }
  .lp-testi-grid { grid-template-columns:1fr; }
  .lp-eco-grid { grid-template-columns:repeat(2,1fr); }
  .lp-price-grid { grid-template-columns:1fr; }
  .price-cards { grid-template-columns:1fr; }
  .all-incl-grid { grid-template-columns:1fr 1fr; }
  .about-two-col, .about-two-col.flip { grid-template-columns:1fr; direction:ltr; }
  .product-grid { grid-template-columns:1fr 1fr; }
  .demo-grid { grid-template-columns:1fr; }
  .demo-sidebar { position:static; }
  .calc-special-grid { grid-template-columns:1fr; }
  .site-footer { padding:2.5rem 2rem; }
  .site-footer-inner { grid-template-columns:1fr 1fr; gap:2rem; }
  .sf-brand { grid-column:1 / -1; }
}
@media(max-width:560px){
  .lp-how-grid, .lp-feat-grid { grid-template-columns:1fr; }
  .lp-eco-grid { grid-template-columns:1fr; }
  .lp-eco-card {
    display:grid; grid-template-columns:48px 1fr;
    grid-template-rows:auto auto;
    column-gap:.75rem; row-gap:.4rem;
    text-align:left; align-items:start;
  }
  .lp-eco-icon { grid-column:1; grid-row:1; }
  .lp-eco-card h4 { grid-column:2; grid-row:1; align-self:center; }
  .lp-eco-card p { grid-column:1 / -1; grid-row:2; }
  .calc-factor-grid { grid-template-columns:repeat(2,1fr); }
  .calc-special-grid { grid-template-columns:1fr; }
  .cable-lib-grid { grid-template-columns:1fr; }
  .device-lib-grid { grid-template-columns:1fr 1fr; }
  .all-incl-grid { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:1fr; }
  .f-row { grid-template-columns:1fr; }
  .terms-card { padding:1.6rem 1.4rem; }
  .site-footer-inner { grid-template-columns:1fr; }
}
