/* ==========================================================================
   BlueShield — Page-specific sections, namespaced by body class.
   ========================================================================== */

/* ---------------------------------------------------------------------- */
/* Shared section furniture                                                */
/* ---------------------------------------------------------------------- */
.section-head{ max-width:640px; margin-bottom:var(--s-8); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s-6); margin-bottom:var(--s-8); flex-wrap:wrap; }

.icon-box{ position:relative; }
.icon-box svg{ width:100%; height:100%; }
[data-placeholder="photo"]{ position:relative; overflow:hidden; background:var(--ink-700); }
[data-placeholder="photo"] svg{ position:absolute; inset:0; width:100%; height:100%; }

/* ---------------------------------------------------------------------- */
/* HOME — Hero                                                             */
/* ---------------------------------------------------------------------- */
body.page-home .hero{
  position:relative; overflow:hidden;
  min-height:88svh; display:flex; align-items:center;
  padding-top:calc(var(--topbar-h) + var(--header-h) + var(--s-8));
  padding-bottom:var(--s-8);
  margin-top:calc((var(--topbar-h) + var(--header-h)) * -1);
}
.hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:var(--s-8); align-items:center; }
.hero-copy h1{ margin-bottom:var(--s-5); }
.hero-copy .lead{ margin-bottom:var(--s-7); }
.hero-actions{ display:flex; gap:var(--s-4); flex-wrap:wrap; }
.hero-visual{ position:relative; aspect-ratio:1/1; }
.hero-visual .orb{ position:absolute; inset:8%; background:radial-gradient(circle, rgba(30,107,255,.5), transparent 70%); filter:blur(40px); }
.hero-visual svg{ position:relative; z-index:1; width:100%; height:100%; animation:float-hero 6s ease-in-out infinite; }
@keyframes float-hero{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@media (max-width:992px){
  body.page-home .hero{ padding-top:calc(var(--topbar-h) + var(--header-h) + var(--s-6)); min-height:auto; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ max-width:340px; margin-inline:auto; }
}

.trust-marquee{ padding-block:var(--s-7); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.trust-marquee p{ text-align:center; margin-bottom:var(--s-6); }

/* ---------------------------------------------------------------------- */
/* HOME — The Live Loop                                                    */
/* ---------------------------------------------------------------------- */
.live-loop{ position:relative; }
.live-loop-stage{ display:grid; grid-template-columns:1fr 380px; gap:var(--s-7); align-items:center; }
.live-loop-diagram{ position:relative; }
.live-loop-diagram svg{ width:100%; height:auto; }
.loop-node{ cursor:pointer; }
.loop-node circle.node-bg{ transition:all var(--dur) var(--ease-out); }
.loop-node.is-active circle.node-bg{ fill:var(--accent-500); }
.loop-node.is-dim{ opacity:.4; }
.loop-node text{ font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; fill:var(--text-hi); pointer-events:none; }
.loop-particle{ fill:var(--signal); filter:drop-shadow(0 0 6px var(--signal)); }

.loop-detail-card{ background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--s-6); min-height:280px; }
.loop-detail-card h4{ margin-bottom:var(--s-3); }
.loop-detail-card p{ font-size:.9375rem; color:var(--text-mid); margin-bottom:var(--s-4); }
.loop-detail-card ul{ display:flex; flex-direction:column; gap:var(--s-2); margin-bottom:var(--s-5); }
.loop-detail-card li{ display:flex; gap:var(--s-2); font-size:.875rem; }
.loop-detail-card li .marker{ flex:none; width:14px; height:14px; margin-top:3px; color:var(--signal); }

.loop-stepper{ display:none; }
@media (max-width:992px){
  .live-loop-stage{ grid-template-columns:1fr; }
  .loop-stepper{ display:flex; flex-direction:column; gap:var(--s-3); margin-bottom:var(--s-5); }
  .loop-stepper button{ display:flex; align-items:center; gap:var(--s-3); padding:var(--s-4); border:1px solid var(--line); border-radius:var(--r-md); text-align:left; }
  .loop-stepper button.is-active{ border-color:var(--accent-500); background:var(--accent-soft); }
  .loop-stepper .step-num{ font-family:var(--font-mono); font-size:.8125rem; color:var(--accent-400); flex:none; }
  .live-loop-diagram{ display:none; }
}

/* ---------------------------------------------------------------------- */
/* HOME — Why local matters                                                */
/* ---------------------------------------------------------------------- */
.why-local{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); align-items:center; }
.why-local-proof{ display:flex; flex-direction:column; gap:var(--s-4); }
.why-local-proof .card{ border-color:rgba(227,190,133,.25); }
.why-local-proof .card:hover{ border-color:rgba(227,190,133,.55); box-shadow:0 24px 60px -24px rgba(227,190,133,.3); }
.why-local-proof .card-icon{ background:var(--sand-soft); width:40px; height:40px; margin-bottom:var(--s-3); }
.why-local-proof .card-icon svg{ width:20px; height:20px; color:var(--sand); }
.why-local-proof h4{ margin-bottom:6px; }
.why-local-proof p{ font-size:.875rem; color:var(--text-mid); }
@media (max-width:900px){ .why-local{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* HOME — Industries strip                                                 */
/* ---------------------------------------------------------------------- */
.industries-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-4); }
.industry-chip-card{ display:flex; flex-direction:column; align-items:center; gap:var(--s-3); text-align:center; padding:var(--s-5); border:1px solid var(--line); border-radius:var(--r-md); }
.industry-chip-card:hover{ border-color:var(--sand); background:var(--sand-soft); }
.industry-chip-card svg{ width:28px; height:28px; color:var(--sand); }
.industry-chip-card span{ font-size:.8125rem; font-weight:600; color:var(--text-hi); }
@media (max-width:900px){ .industries-strip{ grid-template-columns:repeat(2,1fr); } }

/* ---------------------------------------------------------------------- */
/* Case study spotlight / swiper                                          */
/* ---------------------------------------------------------------------- */
.spotlight-slide{ display:grid; grid-template-columns:1.1fr .9fr; gap:0; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; background:var(--ink-700); }
.spotlight-img{ aspect-ratio:16/11; }
.spotlight-body{ padding:var(--s-7); display:flex; flex-direction:column; justify-content:center; }
.spotlight-body h3{ margin-bottom:var(--s-3); }
.spotlight-body p{ color:var(--text-mid); margin-bottom:var(--s-5); }
.spotlight-metrics{ display:flex; gap:var(--s-6); margin-bottom:var(--s-5); }
.spotlight-metrics .stat-number{ font-size:1.75rem; }
@media (max-width:900px){ .spotlight-slide{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* Service pages                                                           */
/* ---------------------------------------------------------------------- */
.coverage-matrix{ display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s-3); }
.coverage-cell{ padding:var(--s-4); border:1px solid var(--line); border-radius:var(--r-md); text-align:center; }
.coverage-cell svg{ width:24px; height:24px; margin-inline:auto; margin-bottom:var(--s-2); color:var(--accent-400); }
.coverage-cell span{ font-size:.8125rem; font-weight:600; color:var(--text-hi); }
@media (max-width:900px){ .coverage-matrix{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px){ .coverage-matrix{ grid-template-columns:repeat(2,1fr); } }

.process-row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-7); align-items:center; padding-block:var(--s-7); border-top:1px solid var(--line-soft); }
.process-row:first-of-type{ border-top:0; }
.process-row:nth-of-type(even) .process-visual{ order:2; }
.process-row .step-index{ font-family:var(--font-mono); font-size:.8125rem; color:var(--accent-400); margin-bottom:var(--s-3); display:block; }
.process-visual{ aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); }
@media (max-width:800px){ .process-row{ grid-template-columns:1fr; } .process-row:nth-of-type(even) .process-visual{ order:0; } }

/* MDR — minutes to containment comparison */
.mtc-compare{ display:flex; flex-direction:column; gap:var(--s-6); }
.mtc-row{ display:flex; flex-direction:column; gap:var(--s-2); }
.mtc-row-label{ display:flex; justify-content:space-between; font-size:.875rem; }
.mtc-row-label strong{ color:var(--text-hi); }
.mtc-row-label span{ font-family:var(--font-mono); color:var(--text-low); }
.mtc-bar-track{ height:14px; border-radius:var(--r-pill); background:var(--ink-700); border:1px solid var(--line); overflow:hidden; }
.mtc-bar-fill{ height:100%; border-radius:var(--r-pill); width:0; transition:width 1.1s var(--ease-out); }
.mtc-bar-fill--typical{ background:linear-gradient(90deg,var(--sev-high),var(--sev-critical)); }
.mtc-bar-fill--blueshield{ background:var(--grad-accent); }

/* CTEM ring (reuses loop-node styling via .ctem-ring) */
.ctem-ring .live-loop-diagram{ }

/* Threat Response — ATT&CK-style grid */
.attck-scroll{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-md); }
.attck-grid{ display:grid; grid-template-columns:repeat(14, minmax(84px,1fr)); min-width:1100px; }
.attck-grid .h{ padding:var(--s-3) var(--s-2); font-family:var(--font-mono); font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--text-low); border-bottom:1px solid var(--line); text-align:center; }
.attck-cell{ height:40px; border:1px solid var(--line-soft); position:relative; cursor:default; }
.attck-cell[data-cov="high"]{ background:rgba(30,107,255,.55); }
.attck-cell[data-cov="med"]{ background:rgba(30,107,255,.28); }
.attck-cell[data-cov="low"]{ background:rgba(30,107,255,.1); }
.attck-legend{ display:flex; gap:var(--s-5); align-items:center; margin-top:var(--s-4); font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-low); }
.attck-legend span{ display:flex; align-items:center; gap:6px; }
.attck-legend i{ width:12px; height:12px; border-radius:3px; display:inline-block; }

/* Cyber Resilience — maturity spectrum */
.maturity-scale{ position:relative; padding-top:var(--s-8); }
.maturity-track{ position:relative; height:6px; border-radius:var(--r-pill); background:var(--line); }
.maturity-fill{ position:absolute; inset:0; width:52%; border-radius:var(--r-pill); background:var(--grad-accent); }
.maturity-stops{ display:grid; grid-template-columns:repeat(5,1fr); margin-top:var(--s-5); }
.maturity-stop{ text-align:center; position:relative; padding-top:var(--s-5); }
.maturity-stop::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:12px; height:12px; border-radius:50%; background:var(--ink-800); border:2px solid var(--line); }
.maturity-stop.is-current::before{ border-color:var(--signal); background:var(--signal); }
.maturity-stop strong{ display:block; font-size:.8125rem; color:var(--text-hi); margin-bottom:4px; }
.maturity-stop span{ font-size:.75rem; color:var(--text-mid); }

/* Response & Remediation — machine/human split */
.split-panel{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.split-half{ padding:var(--s-7); }
.split-half:first-child{ background:var(--ink-700); border-right:1px solid var(--line); }
.split-half .mono{ margin-bottom:var(--s-4); }
.split-half ul{ display:flex; flex-direction:column; gap:var(--s-3); margin-top:var(--s-4); }
.split-half li{ display:flex; gap:var(--s-2); font-size:.9375rem; }
.split-half li .marker{ flex:none; width:14px; height:14px; margin-top:4px; color:var(--accent-400); }
@media (max-width:800px){ .split-panel{ grid-template-columns:1fr; } .split-half:first-child{ border-right:0; border-bottom:1px solid var(--line); } }

/* ---------------------------------------------------------------------- */
/* services.html — comparison table                                        */
/* ---------------------------------------------------------------------- */
.service-groups{ display:flex; flex-direction:column; gap:var(--s-9); }
.service-group-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); }
@media (max-width:900px){ .service-group-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .service-group-grid{ grid-template-columns:1fr; } }
.compare-scroll{ overflow-x:auto; }
.compare-table{ min-width:900px; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.compare-table th,.compare-table td{ padding:var(--s-3) var(--s-4); border-bottom:1px solid var(--line-soft); text-align:center; font-size:.8125rem; }
.compare-table th:first-child,.compare-table td:first-child{ text-align:left; }
.compare-table thead th{ background:var(--ink-700); font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-mid); }
.compare-table tbody th{ color:var(--text-hi); font-weight:600; }
.compare-table .yes{ color:var(--signal); font-weight:700; }
.compare-table .no{ color:var(--text-low); }

/* ---------------------------------------------------------------------- */
/* mdr-pricing.html — package builder                                      */
/* ---------------------------------------------------------------------- */
.builder{ background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-xl); padding:var(--s-7); display:grid; grid-template-columns:1fr 320px; gap:var(--s-8); }
.builder-field{ margin-bottom:var(--s-6); }
.builder-field > label,.builder-field > span.mono{ display:block; margin-bottom:var(--s-3); }
.builder-checks{ display:flex; flex-wrap:wrap; gap:var(--s-3); }
.builder-result{ background:var(--ink-800); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--s-6); align-self:flex-start; position:sticky; top:calc(var(--header-h) + var(--s-5)); }
.builder-result .mono{ margin-bottom:var(--s-3); }
.builder-result h3{ margin-bottom:var(--s-3); }
.builder-result p{ font-size:.875rem; color:var(--text-mid); margin-bottom:var(--s-5); }
@media (max-width:900px){ .builder{ grid-template-columns:1fr; } .builder-result{ position:static; } }

/* ---------------------------------------------------------------------- */
/* Advisories                                                               */
/* ---------------------------------------------------------------------- */
.filter-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-4); padding:var(--s-5); background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-lg); margin-bottom:var(--s-7); }
.filter-search{ flex:1; min-width:220px; position:relative; }
.filter-search svg{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--text-low); }
.filter-search input{ width:100%; padding:12px 16px 12px 40px; background:var(--ink-900); border:1px solid var(--line); border-radius:var(--r-sm); color:var(--text-hi); min-height:44px; }
.filter-select{ background:var(--ink-900); border:1px solid var(--line); border-radius:var(--r-sm); padding:10px 36px 10px 14px; min-height:44px; color:var(--text); }
.filter-count{ font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-low); margin-bottom:var(--s-6); }
[data-paged-hidden]{ display:none !important; }
.load-more-wrap{ display:flex; justify-content:center; margin-top:var(--s-7); }

.advisory-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); }
.advisory-card{ display:flex; flex-direction:column; gap:var(--s-3); }
.advisory-card .meta-row{ display:flex; align-items:center; gap:var(--s-3); }
.advisory-card .cve{ font-family:var(--font-mono); font-size:11px; color:var(--text-low); }
.advisory-card h4{ line-height:1.35; }
.advisory-card p{ font-size:.875rem; color:var(--text-mid); }
@media (max-width:1000px){ .advisory-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .advisory-grid{ grid-template-columns:1fr; } }

.advisory-detail-layout{ display:grid; grid-template-columns:1fr 300px; gap:var(--s-8); align-items:flex-start; }
.advisory-sidebar{ position:sticky; top:calc(var(--header-h) + var(--s-5)); display:flex; flex-direction:column; gap:var(--s-5); }
.advisory-sidebar nav{ background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-md); padding:var(--s-5); }
.advisory-sidebar nav a{ display:block; font-size:.8125rem; color:var(--text-mid); padding:6px 0; }
.advisory-sidebar nav a:hover{ color:var(--accent-400); }
.advisory-body h2{ margin-top:var(--s-7); margin-bottom:var(--s-4); font-size:1.5rem; }
.advisory-body h2:first-child{ margin-top:0; }
.advisory-meta-row{ display:flex; flex-wrap:wrap; gap:var(--s-5); padding:var(--s-5); background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-md); margin-bottom:var(--s-7); }
.advisory-meta-row div span{ display:block; }
.advisory-meta-row .label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-low); margin-bottom:4px; }
.advisory-meta-row .val{ color:var(--text-hi); font-weight:600; font-size:.9375rem; }
@media (max-width:900px){ .advisory-detail-layout{ grid-template-columns:1fr; } .advisory-sidebar{ position:static; } }

/* ---------------------------------------------------------------------- */
/* Briefings                                                                */
/* ---------------------------------------------------------------------- */
.briefing-featured{ display:grid; grid-template-columns:220px 1fr; gap:var(--s-6); background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--s-6); align-items:center; }
.briefing-date-block{ text-align:center; background:var(--ink-800); border-radius:var(--r-md); padding:var(--s-5); }
.briefing-date-block .day{ font-family:var(--font-display); font-size:2.5rem; font-weight:800; color:var(--text-hi); }
.briefing-date-block .month{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--signal); }
.briefing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); }
.briefing-card .thumb{ aspect-ratio:16/10; border-radius:var(--r-md); overflow:hidden; margin-bottom:var(--s-4); }
.briefing-card ul{ margin-top:var(--s-3); display:flex; flex-direction:column; gap:6px; }
.briefing-card li{ font-size:.8125rem; color:var(--text-mid); display:flex; gap:6px; }
@media (max-width:900px){ .briefing-featured{ grid-template-columns:1fr; } .briefing-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .briefing-grid{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* Case studies                                                            */
/* ---------------------------------------------------------------------- */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); }
.case-card .thumb{ aspect-ratio:16/9; border-radius:var(--r-md); overflow:hidden; margin-bottom:var(--s-4); }
.case-card .headline{ font-family:var(--font-display); font-weight:700; font-size:1.0625rem; color:var(--text-hi); margin-bottom:var(--s-2); }
.case-card .metric{ font-family:var(--font-display); font-weight:800; color:var(--signal); font-size:1.375rem; margin-bottom:var(--s-3); }
@media (max-width:1000px){ .case-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .case-grid{ grid-template-columns:1fr; } }

.case-detail-hero{ display:grid; gap:var(--s-4); }
.case-kpi{ margin-top:calc(var(--s-9) * -1); position:relative; z-index:2; }
.case-body-layout{ display:grid; grid-template-columns:1fr 300px; gap:var(--s-8); }
.case-body h2{ margin-top:var(--s-8); margin-bottom:var(--s-4); font-size:1.5rem; }
.case-body h2:first-child{ margin-top:0; }
.case-pull-quote{ border-left:3px solid var(--sand); padding-left:var(--s-5); margin-block:var(--s-6); font-family:var(--font-display); font-size:1.25rem; font-weight:600; color:var(--paper-ink); }
.case-sidebar{ position:sticky; top:calc(var(--header-h) + var(--s-5)); background:#fff; border:1px solid var(--paper-line); border-radius:var(--r-md); padding:var(--s-5); align-self:flex-start; }
.case-sidebar dl{ display:flex; flex-direction:column; gap:var(--s-4); margin-bottom:var(--s-5); }
.case-sidebar dt{ font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#8A97AC; margin-bottom:2px; }
.case-sidebar dd{ font-weight:600; color:var(--paper-ink); }
@media (max-width:900px){ .case-body-layout{ grid-template-columns:1fr; } .case-sidebar{ position:static; } }

/* ---------------------------------------------------------------------- */
/* Industries                                                              */
/* ---------------------------------------------------------------------- */
.industries-layout{ display:grid; grid-template-columns:200px 1fr; gap:var(--s-8); }
@media (max-width:1199px){ .industries-layout{ grid-template-columns:1fr; } .sector-index{ display:none; } }
.sector-block{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-7); align-items:center; padding-block:var(--s-9); border-top:1px solid var(--line-soft); scroll-margin-top:calc(var(--header-h) + var(--s-5)); }
.sector-block:first-child{ border-top:0; padding-top:0; }
.sector-block:nth-of-type(even) .sector-img{ order:2; }
.sector-img{ aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); }
.sector-block h3{ margin-bottom:var(--s-4); }
.sector-block .chip-group{ margin-block:var(--s-5); }
.sector-services{ display:flex; flex-direction:column; gap:var(--s-2); }
@media (max-width:800px){ .sector-block{ grid-template-columns:1fr; } .sector-block:nth-of-type(even) .sector-img{ order:0; } }

/* ---------------------------------------------------------------------- */
/* About                                                                    */
/* ---------------------------------------------------------------------- */
.mission-block{ max-width:760px; margin-inline:auto; }
.mission-block p{ max-width:none; margin-bottom:var(--s-5); font-size:1.0625rem; }
.mission-pull{ border-left:3px solid var(--sand); padding-left:var(--s-6); font-family:var(--font-display); font-size:1.5rem; font-weight:600; color:var(--text-hi); margin-block:var(--s-7); }
.different-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); }
@media (max-width:900px){ .different-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .different-grid{ grid-template-columns:1fr; } }
.leadership-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); }
.leader-card{ text-align:center; }
.leader-card .avatar{ aspect-ratio:1/1; border-radius:var(--r-lg); overflow:hidden; margin-bottom:var(--s-4); background:var(--ink-700); }
.leader-card strong{ display:block; color:var(--text-hi); }
.leader-card span{ display:block; font-size:.8125rem; color:var(--text-mid); margin-top:2px; }
@media (max-width:900px){ .leadership-grid{ grid-template-columns:1fr 1fr; } }
.values-list{ display:flex; flex-direction:column; }
.value-item{ display:grid; grid-template-columns:60px 1fr; gap:var(--s-5); padding-block:var(--s-6); border-top:1px solid var(--line-soft); }
.value-item:first-child{ border-top:0; }
.value-item .num{ font-family:var(--font-mono); font-size:1.5rem; color:var(--accent-400); font-weight:600; }
.frameworks-strip{ display:flex; flex-wrap:wrap; gap:var(--s-4); justify-content:center; }
.framework-badge{ display:flex; align-items:center; gap:var(--s-2); padding:var(--s-3) var(--s-5); border:1px solid var(--line); border-radius:var(--r-pill); font-size:.8125rem; color:var(--text-mid); }
.framework-badge svg{ width:16px; height:16px; color:var(--signal); }

/* Compliance Badges Grid */
.compliance-badges-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--s-5);
}
.compliance-badge-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:var(--s-6) var(--s-5) var(--s-5);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:linear-gradient(168deg, rgba(12,27,51,.7) 0%, rgba(5,11,24,.9) 100%);
  backdrop-filter:blur(12px);
  transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease;
  overflow:hidden;
}
.compliance-badge-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(160deg, rgba(30,107,255,.25) 0%, transparent 40%, transparent 60%, rgba(34,211,238,.15) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s ease;
}
.compliance-badge-card:hover{
  transform:translateY(-6px);
  border-color:rgba(30,107,255,.3);
  box-shadow:0 20px 50px -20px rgba(30,107,255,.2), 0 0 0 1px rgba(30,107,255,.12);
}
.compliance-badge-card:hover::before{ opacity:1; }

.compliance-badge-img{
  position:relative;
  width:110px;
  height:110px;
  margin-bottom:var(--s-4);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:radial-gradient(circle, rgba(30,107,255,.08) 0%, transparent 70%);
}
.compliance-badge-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 0 20px rgba(30,107,255,.15));
  transition:filter .35s ease, transform .35s ease;
}
.compliance-badge-card:hover .compliance-badge-img img{
  filter:drop-shadow(0 0 28px rgba(30,107,255,.3));
  transform:scale(1.06);
}

.compliance-badge-body{ flex:1; margin-bottom:var(--s-4); }
.compliance-badge-body h3{
  font-family:var(--font-heading);
  font-size:1.125rem;
  font-weight:700;
  color:var(--text-hi);
  margin-bottom:var(--s-2);
  letter-spacing:.01em;
}
.compliance-badge-body p{
  font-size:.8125rem;
  line-height:1.6;
  color:var(--text-mid);
  margin:0;
}

.compliance-badge-status{
  display:flex;
  align-items:center;
  gap:var(--s-2);
  padding:var(--s-2) var(--s-4);
  border-radius:var(--r-pill);
  background:rgba(34,211,238,.08);
  font-size:.75rem;
  font-weight:600;
  color:var(--signal);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.compliance-check{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(34,211,238,.16);
}
.compliance-check svg{
  width:12px;
  height:12px;
  color:var(--signal);
}

@media(max-width:1024px){
  .compliance-badges-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media(max-width:540px){
  .compliance-badges-grid{ grid-template-columns:1fr; max-width:340px; margin-inline:auto; }
}

/* ---------------------------------------------------------------------- */
/* Contact                                                                  */
/* ---------------------------------------------------------------------- */
.contact-layout{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); }
.contact-cards{ display:flex; flex-direction:column; gap:var(--s-4); }
.contact-card{ display:flex; gap:var(--s-4); padding:var(--s-5); border:1px solid var(--line); border-radius:var(--r-md); background:var(--ink-700); }
.contact-card svg{ width:22px; height:22px; color:var(--accent-400); flex:none; }
.contact-card--danger{ border-color:rgba(255,77,94,.4); background:var(--sev-critical-soft); }
.contact-card--danger svg{ color:var(--sev-critical); }
.contact-card strong{ display:block; color:var(--text-hi); margin-bottom:4px; }
.contact-card p,.contact-card a{ font-size:.875rem; color:var(--text-mid); }
.map-block{ margin-top:var(--s-6); aspect-ratio:16/8; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); position:relative; }
.map-styled{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:var(--s-3); background:var(--ink-700); }
.route-strip{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-top:var(--s-8); }
@media (max-width:900px){ .contact-layout{ grid-template-columns:1fr; } .route-strip{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* Book a demo                                                             */
/* ---------------------------------------------------------------------- */
body.page-simplified .site-footer .footer-grid{ grid-template-columns:1fr; }
body.page-simplified .footer-col:not(.footer-brand){ display:none; }
.demo-layout{ display:grid; grid-template-columns:.85fr 1.15fr; gap:var(--s-9); }
.demo-rail-list{ display:flex; flex-direction:column; gap:var(--s-5); margin-block:var(--s-6); }
.demo-rail-item{ display:flex; gap:var(--s-4); }
.demo-rail-item .num{ width:32px; height:32px; border-radius:50%; background:var(--accent-soft); color:var(--accent-400); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:.8125rem; flex:none; }
.duration-chip{ display:inline-flex; align-items:center; gap:6px; background:var(--signal-soft); color:var(--signal); padding:8px 16px; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:var(--s-5); }
.demo-form-card{ background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-xl); padding:var(--s-7); }
@media (max-width:900px){ .demo-layout{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* Request a quote — wizard                                                */
/* ---------------------------------------------------------------------- */
.quote-layout{ display:grid; grid-template-columns:1fr 280px; gap:var(--s-8); align-items:flex-start; }
.wizard-progress{ display:flex; align-items:center; gap:var(--s-3); margin-bottom:var(--s-8); }
.wizard-step-ind{ display:flex; align-items:center; gap:var(--s-2); flex:1; }
.wizard-step-ind .circle{ width:32px; height:32px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:.8125rem; color:var(--text-low); flex:none; }
.wizard-step-ind.is-active .circle,.wizard-step-ind.is-done .circle{ border-color:var(--accent-500); background:var(--grad-accent); color:#fff; }
.wizard-step-ind span.label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-low); }
.wizard-step-ind.is-active span.label{ color:var(--text-hi); }
.wizard-step-line{ flex:1; height:1px; background:var(--line); }
.wizard-step-line.is-done{ background:var(--accent-500); }

.wizard-panel{ display:none; }
.wizard-panel.is-active{ display:block; }
.wizard-actions{ display:flex; justify-content:space-between; margin-top:var(--s-7); gap:var(--s-4); }
.wizard-fieldset{ margin-bottom:var(--s-7); }
.wizard-fieldset > legend{ font-family:var(--font-display); font-weight:700; font-size:1.0625rem; color:var(--text-hi); margin-bottom:var(--s-4); padding:0; }
.check-chips{ display:flex; flex-wrap:wrap; gap:var(--s-3); }
.check-chip{ position:relative; }
.check-chip input{ position:absolute; opacity:0; }
.check-chip label{ display:inline-flex; padding:9px 16px; border:1px solid var(--line); border-radius:var(--r-pill); font-size:.8125rem; cursor:pointer; }
.check-chip input:checked + label{ border-color:var(--accent-500); background:var(--accent-soft); color:var(--text-hi); }

.summary-card{ background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--s-6); margin-bottom:var(--s-6); }
.summary-section{ padding-block:var(--s-5); border-top:1px solid var(--line-soft); }
.summary-section:first-child{ border-top:0; padding-top:0; }
.summary-section-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--s-3); }
.summary-section-head h4{ font-size:.9375rem; }
.summary-row{ display:flex; justify-content:space-between; font-size:.8125rem; padding-block:4px; color:var(--text-mid); }
.summary-row strong{ color:var(--text-hi); font-weight:500; }

.quote-sidebar{ position:sticky; top:calc(var(--header-h) + var(--s-5)); display:flex; flex-direction:column; gap:var(--s-5); }
.quote-sidebar .card{ padding:var(--s-5); }
.process-mini-strip{ display:flex; flex-direction:column; gap:var(--s-3); margin-top:var(--s-4); }
.process-mini-strip div{ display:flex; gap:var(--s-3); align-items:center; font-size:.8125rem; color:var(--text-mid); }
.process-mini-strip .n{ font-family:var(--font-mono); color:var(--accent-400); }
@media (max-width:1000px){ .quote-layout{ grid-template-columns:1fr; } .quote-sidebar{ position:static; flex-direction:row; flex-wrap:wrap; } }
@media (max-width:600px){ .wizard-step-ind span.label{ display:none; } }

/* ---------------------------------------------------------------------- */
/* Thank you / 404                                                         */
/* ---------------------------------------------------------------------- */
body.page-utility .site-header,body.page-utility .topbar{ position:relative; }
.confirm-block{ text-align:center; max-width:620px; margin-inline:auto; padding-block:var(--s-9); }
.confirm-check{ width:72px; height:72px; border-radius:50%; background:var(--signal-soft); display:flex; align-items:center; justify-content:center; margin:0 auto var(--s-6); }
.confirm-check svg{ width:32px; height:32px; color:var(--signal); }
.confirm-steps{ display:flex; flex-direction:column; gap:var(--s-4); text-align:left; margin-block:var(--s-7); }
.confirm-while{ display:flex; gap:var(--s-5); justify-content:center; flex-wrap:wrap; margin-top:var(--s-7); }

.error-404{ text-align:center; padding-block:var(--s-9); max-width:640px; margin-inline:auto; }
.error-404 .glitch{ font-family:var(--font-mono); font-size:clamp(3rem,10vw,6rem); font-weight:700; color:var(--text-hi); letter-spacing:.05em; }
.error-search{ max-width:420px; margin:var(--s-7) auto; position:relative; }
.error-search input{ width:100%; padding:14px 16px 14px 44px; background:var(--ink-700); border:1px solid var(--line); border-radius:var(--r-pill); color:var(--text-hi); min-height:52px; }
.error-search svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--text-low); }
.error-search-results{ text-align:left; margin-top:var(--s-3); }
.error-search-results a{ display:block; padding:var(--s-3) var(--s-4); border:1px solid var(--line); border-radius:var(--r-sm); margin-bottom:6px; font-size:.875rem; }
.popular-links{ display:flex; gap:var(--s-4); justify-content:center; flex-wrap:wrap; margin-top:var(--s-6); }

/* ---------------------------------------------------------------------- */
/* Legal pages                                                             */
/* ---------------------------------------------------------------------- */
.legal-layout{ display:grid; grid-template-columns:240px 1fr; gap:var(--s-8); }
.legal-toc{ position:sticky; top:calc(var(--header-h) + var(--s-5)); display:none; }
.legal-toc a{ display:block; font-size:.8125rem; color:#5C6C88; padding:6px 0; }
.legal-toc a:hover{ color:var(--accent-600); }
.legal-body{ max-width:72ch; }
.legal-body h2{ margin-top:var(--s-8); margin-bottom:var(--s-4); font-size:1.375rem; }
.legal-body h2:first-child{ margin-top:0; }
.legal-body p,.legal-body li{ margin-bottom:var(--s-4); color:#3C4A63; }
.legal-body ul{ padding-left:var(--s-5); list-style:disc; }
@media (min-width:992px){ .legal-toc{ display:block; } }
@media (max-width:991px){ .legal-layout{ grid-template-columns:1fr; } }
