/* ============================================================
   MobileMap — Mission Critical (Concept C)
   Brand blues · Fraunces serif · oversized editorial type
============================================================ */
:root{
  /* MobileMap brand */
  --blue:#194FA2;
  --blue-bright:#0660C4;
  --blue-deep:#0D1D3F;
  --blue-soft:#E6EDFF;
  --blue-eyebrow:#7AA8E8;

  /* Surfaces */
  --bg:#0a0e1a;
  --ink:#0a0e1a;
  --paper:#fafaf7;
  --paper-2:#f1f0e8;
  --paper-line:#e3e1d8;

  /* Text */
  --text-on-dark:#ffffff;
  --text-dim:#bdbcb8;
  --text-muted-paper:#5e5b54;
  --text-paper:#23211d;

  /* Type */
  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;

  /* Layout */
  --max:1240px;
  --gutter:1.5rem;
  --nav-h:72px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text-on-dark);
  font-family:var(--sans);
  letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
[hidden]{display:none !important}

/* ===================== TYPOGRAPHY ===================== */
.kicker{
  display:inline-block;font-family:var(--mono);
  font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue-bright);margin-bottom:1rem;
}
.kicker--soft{color:var(--blue-eyebrow)}
.kicker--paper{color:var(--blue)}

h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;letter-spacing:-.03em;line-height:1.02}
.h-hero{font-size:clamp(3rem, 9vw, 7rem);line-height:.92}
.h-display{font-size:clamp(2.4rem, 5vw, 4rem)}
.h-section{font-size:clamp(2rem, 4vw, 3.2rem)}
.h-card{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.02em;font-weight:600}
em.accent{font-style:italic;font-weight:400;color:var(--blue-bright)}

p{margin:0}
.lede{font-size:18px;line-height:1.55;color:var(--text-dim);max-width:62ch}
.lede--paper{color:#3b3934}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 1.4rem;border-radius:999px;
  font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:-.005em;
  border:1px solid transparent;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--blue-bright);color:#fff}
.btn--primary:hover{background:var(--blue)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.04)}
.btn--paper{background:var(--blue-deep);color:#fff}
.btn--paper:hover{background:var(--blue)}
.btn--big{padding:1.15rem 1.75rem;font-size:16px}

/* ===================== NAV ===================== */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:2rem;
  padding:1rem 1.5rem;height:var(--nav-h);
  background:rgba(10,14,26,.86);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav__logo{display:inline-flex;align-items:center}
.nav__logo img{display:block;height:34px;width:auto}
.nav__links{display:flex;align-items:center;gap:1.75rem;margin-left:auto}
.nav__links a{font-size:14px;color:var(--text-dim);font-weight:500;transition:color .2s}
.nav__links a:hover, .nav__links a[aria-current="page"]{color:#fff}
.nav__links a[aria-current="page"]{position:relative}
.nav__links a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--blue-bright);
}
.nav__cta{
  font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#fff;background:var(--blue-bright);padding:.7rem 1.05rem;border-radius:999px;
  transition:background .2s, color .2s;
}
.nav__cta:hover{background:#fff;color:var(--blue-deep)}

/* SOW Builder featured nav link — outlined pill with NEW badge */
.nav__links a.nav__sow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:14px;font-weight:500;letter-spacing:0;
  color:#fff;
  padding:.4rem .85rem;
  border:1px solid rgba(122,168,232,.55);
  border-radius:999px;
  background:rgba(6,96,196,.10);
  line-height:1.2;
  transition:background .2s, border-color .2s, transform .2s;
}
.nav__links a.nav__sow:hover{
  background:rgba(6,96,196,.22);
  border-color:var(--blue-eyebrow);
  transform:translateY(-1px);
}
.nav__links a.nav__sow .new-badge{
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  padding:.18rem .42rem;
  border-radius:99px;
  background:var(--blue-bright);
  color:#fff;
  line-height:1;
}
.nav__links a.nav__sow[aria-current="page"]{
  background:var(--blue-bright);
  border-color:var(--blue-bright);
  color:#fff;
}
.nav__links a.nav__sow[aria-current="page"]::after{display:none}
.nav__links a.nav__sow[aria-current="page"] .new-badge{
  background:#fff;color:var(--blue-deep);
}

.nav__menubtn{
  display:none;background:transparent;border:1px solid rgba(255,255,255,.18);
  width:40px;height:40px;border-radius:99px;color:#fff;align-items:center;justify-content:center;
}
.nav__menubtn svg{width:18px;height:18px}

@media (max-width:880px){
  .nav__links{
    position:absolute;top:var(--nav-h);left:0;right:0;
    flex-direction:column;gap:0;margin:0;
    background:rgba(10,14,26,.96);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:.5rem 0;
    transform:translateY(-10px);opacity:0;pointer-events:none;
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav__links.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__links a{padding:.85rem 1.5rem;font-size:15px;border-top:1px solid rgba(255,255,255,.06)}
  .nav__links a[aria-current="page"]::after{display:none}
  .nav__menubtn{display:inline-flex;margin-left:auto}
  .nav__cta{display:none}
}

/* ===================== SECTION SHELLS ===================== */
.section{padding:6rem 1.5rem}
.section--paper{background:var(--paper);color:var(--ink)}
.section--blue{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.section--blue::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.12), transparent 50%),
    radial-gradient(ellipse at 10% 90%, rgba(13,29,63,.55), transparent 55%);
  pointer-events:none;
}
.section__inner{max-width:var(--max);margin:0 auto;position:relative}
.section__head{max-width:var(--max);margin:0 auto 3rem;position:relative}

/* ===================== HERO (page-level small hero) ===================== */
.page-hero{
  position:relative;overflow:hidden;
  padding:6rem 1.5rem 5rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(6,96,196,.28), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(25,79,162,.22), transparent 60%);
  pointer-events:none;
}
.page-hero__inner{position:relative;max-width:var(--max);margin:0 auto}
.page-hero__eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-eyebrow);
  display:inline-block;margin-bottom:1.5rem;
  border-top:1px solid rgba(255,255,255,.18);padding-top:1.5rem;
}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.6rem, 7vw, 5.5rem);line-height:1;letter-spacing:-.035em;font-weight:600}
.page-hero p{margin-top:1.5rem;color:var(--text-dim);font-size:18px;line-height:1.55;max-width:62ch}

/* ===================== HOME HERO (oversized) ===================== */
.home-hero{
  position:relative;overflow:hidden;
  padding:5rem 1.5rem 0;
}
.home-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(6,96,196,.30), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(25,79,162,.24), transparent 60%);
  pointer-events:none;
}
.home-hero__inner{
  position:relative;max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;
  padding-bottom:4rem;
}
.home-hero__eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-eyebrow);
  display:inline-block;margin-bottom:2rem;
  border-top:1px solid rgba(255,255,255,.18);padding-top:1.5rem;
}
.home-hero h1{font-family:var(--serif);font-size:clamp(3.5rem, 11vw, 9.5rem);line-height:.88;letter-spacing:-.04em;font-weight:700;margin:0}
.home-hero h1 em{font-style:italic;font-weight:400;color:var(--blue-bright)}
.home-hero__foot{align-self:end}
.home-hero__foot p{color:var(--text-dim);font-size:17px;line-height:1.55;max-width:42ch;margin:0 0 1.5rem}
@media (max-width:920px){
  .home-hero__inner{grid-template-columns:1fr}
  .home-hero h1{font-size:clamp(3rem,16vw,6rem)}
}

/* ===================== MARQUEE ===================== */
.marquee{
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  padding:1.1rem 0;
  background:#0a0e1a;
  font-family:var(--mono);font-size:14px;letter-spacing:.04em;
}
.marquee__track{
  display:inline-flex;gap:1.25rem;white-space:nowrap;
  animation: marqueescroll 35s linear infinite;
  padding-left:1.25rem;
}
.marquee__track span{color:#fff}
.marquee__track span:nth-child(2n){color:var(--blue-bright)}
@keyframes marqueescroll{to{transform:translateX(-50%)}}

/* ===================== STATS ROW ===================== */
.stats{
  background:var(--paper);color:var(--ink);
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--paper-line);
}
.stats > div{padding:2rem 1.5rem;border-right:1px solid var(--paper-line)}
.stats > div:last-child{border-right:0}
.stats b{display:block;font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--blue)}
.stats span{display:block;margin-top:.4rem;font-size:13px;color:var(--text-muted-paper);letter-spacing:.02em}
@media (max-width:720px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats > div:nth-child(2){border-right:0}
}

/* ===================== FEATURE BLOCK ===================== */
.feature{
  background:var(--paper);color:var(--ink);
  padding:6rem 1.5rem;
  display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center;
  max-width:var(--max);margin:0 auto;
}
.feature h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.03em;margin:0 0 1rem;font-weight:600}
.feature p{color:#3b3934;font-size:17px;line-height:1.55;max-width:55ch;margin:0 0 1.5rem}
.feature__list{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid #d8d6cd;padding-top:1.25rem}
.feature__list li{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;
  padding:.6rem 0;border-bottom:1px solid #e9e7de;font-size:15px;color:var(--text-paper);
}
.feature__list li span{font-family:var(--mono);font-size:12px;color:var(--blue);letter-spacing:.04em}
.feature__visual svg{border-radius:14px;border:1px solid var(--blue-deep)}
@media (max-width:980px){.feature{grid-template-columns:1fr}}

/* ===================== SERVICES (compact list, dark) ===================== */
.svc-list{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.1);
}
.svc-list article{
  display:grid;grid-template-columns:48px 1fr;grid-auto-flow:row;
  gap:.5rem 1.25rem;align-items:start;
  padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);
  transition:background .25s ease;
}
.svc-list article > span{grid-column:1;grid-row:1;font-family:var(--mono);font-size:13px;color:var(--blue-bright);letter-spacing:.04em}
.svc-list article > h3{grid-column:2;grid-row:1;font-family:var(--serif);font-size:1.6rem;letter-spacing:-.02em;margin:0 0 .35rem;font-weight:600}
.svc-list article > p{grid-column:2;grid-row:2;min-width:0;margin:0;color:var(--text-dim);font-size:14px;line-height:1.55}
.svc-list article:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)}
.svc-list article:hover{background:rgba(6,96,196,.08)}
@media (max-width:720px){
  .svc-list{grid-template-columns:1fr}
  .svc-list article:nth-child(odd){border-right:0}
}

/* ===================== QUOTE BAND ===================== */
.quote-band{padding:6rem 1.5rem;background:var(--blue);color:#fff;position:relative;overflow:hidden}
.quote-band::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.12), transparent 50%),
    radial-gradient(ellipse at 10% 90%, rgba(13,29,63,.5), transparent 55%);
  pointer-events:none;
}
.quote-band blockquote{position:relative;max-width:1100px;margin:0 auto}
.quote-band p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 1.5rem;color:#fff}
.quote-band cite{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.75)}

/* ===================== COVERAGE MAP ===================== */
.coverage{
  background:var(--paper);color:var(--ink);
  padding:6rem 1.5rem;border-top:1px solid var(--paper-line);
  display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center;
  max-width:var(--max);margin:0 auto;
}
.coverage h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 1rem;font-weight:600}
.coverage p{color:#3b3934;font-size:16px;line-height:1.6;margin:0 0 1.5rem}
.coverage__bullets{display:flex;flex-direction:column;gap:.5rem}
.coverage__bullets li{padding-left:1.25rem;position:relative;color:var(--text-paper);font-size:15px}
.coverage__bullets li::before{content:"";position:absolute;left:0;top:.6rem;width:6px;height:6px;border-radius:99px;background:var(--blue-bright)}
.coverage__map{border:1px solid var(--paper-line);border-radius:18px;overflow:hidden;background:#fff;padding:1.5rem 1.5rem 1.25rem;position:relative}
.coverage__map .map-label{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--blue-deep);margin:0 0 .75rem}
.coverage__map .map-label span:last-child{color:#999;font-size:9px}
.coverage__map svg.us-map{width:100%;height:auto;display:block}
.coverage__map .us-map .states path{fill:rgba(25,79,162,.06);stroke:var(--blue);stroke-width:.6;stroke-linejoin:round}
.coverage__map .us-map .markets .dot{fill:var(--blue-bright)}
.coverage__map .us-map .markets .dot-glow{fill:var(--blue-bright);opacity:.18}
.coverage__map .map-legend{display:flex;gap:1.75rem;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--blue-deep);margin-top:.5rem;flex-wrap:wrap}
.coverage__map .map-legend .li{display:flex;align-items:center;gap:.5rem}
.coverage__map .map-legend .legend-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-bright);box-shadow:0 0 0 4px rgba(6,96,196,.15)}
.coverage__map .map-legend .legend-tile{width:14px;height:10px;background:rgba(25,79,162,.10);border:1px solid var(--blue)}
@media (max-width:980px){.coverage{grid-template-columns:1fr}}

/* ===================== CTA BAND ===================== */
.cta-band{
  padding:5rem 1.5rem;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, transparent, rgba(6,96,196,.08));
}
.cta-band__inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.4fr auto;gap:2rem;align-items:center;
}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1;letter-spacing:-.02em;margin:0;font-weight:600}
.cta-band p{margin-top:.75rem;color:var(--text-dim);font-size:17px;line-height:1.5;max-width:60ch}
@media (max-width:880px){.cta-band__inner{grid-template-columns:1fr}}

/* ===================== CONTACT GRID ===================== */
.contact-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.12);
}
.contact-grid > *{
  display:flex;flex-direction:column;gap:.4rem;
  padding:1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.12);
  border-right:1px solid rgba(255,255,255,.12);
}
.contact-grid > *:last-child{border-right:0}
.contact-grid span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--blue-bright);text-transform:uppercase}
.contact-grid b{font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}
.contact-grid a:hover b{color:var(--blue-bright)}
@media (max-width:880px){
  .contact-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid > *:nth-child(2){border-right:0}
}
@media (max-width:520px){
  .contact-grid{grid-template-columns:1fr}
  .contact-grid > *{border-right:0}
}

/* ===================== FOOTER ===================== */
.footer{
  padding:4rem 1.5rem 2rem;
  border-top:1px solid rgba(255,255,255,.1);
  background:#070a14;
}
.footer__top{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:2rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer__brand img{height:36px;width:auto;margin-bottom:1rem}
.footer__brand p{color:var(--text-dim);font-size:14px;line-height:1.55;max-width:34ch;margin:0}
.footer__col h4{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-eyebrow);margin:0 0 .85rem;font-weight:700}
.footer__col ul{display:flex;flex-direction:column;gap:.5rem}
.footer__col a, .footer__col li{color:var(--text-dim);font-size:14px;line-height:1.5;transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__bot{
  max-width:var(--max);margin:1.5rem auto 0;
  display:flex;justify-content:space-between;gap:1rem;align-items:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#aeaca7;text-transform:uppercase;
}
@media (max-width:880px){
  .footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .footer__top{grid-template-columns:1fr}
  .footer__bot{flex-direction:column;text-align:center}
}

/* ===================== FORM ===================== */
.form{
  background:#0e1322;border:1px solid rgba(255,255,255,.1);border-radius:18px;
  padding:2rem;display:flex;flex-direction:column;gap:1.1rem;
}
.form label{display:flex;flex-direction:column;gap:.4rem;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--blue-eyebrow);text-transform:uppercase}
.form input, .form textarea, .form select{
  font:inherit;color:#fff;background:#0a0e1a;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  padding:.85rem 1rem;font-size:15px;letter-spacing:0;text-transform:none;font-family:var(--sans);
  transition:border-color .2s;
}
.form input:focus, .form textarea:focus, .form select:focus{outline:none;border-color:var(--blue-bright)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.form__row{grid-template-columns:1fr}}
.form button{align-self:flex-start;margin-top:.5rem}

/* ===================== TIMELINE ===================== */
.timeline{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.12);
}
.timeline > div{
  padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);
}
.timeline > div:last-child{border-right:0}
.timeline b{display:block;font-family:var(--serif);font-size:2.2rem;font-weight:600;letter-spacing:-.02em;color:var(--blue-bright);margin-bottom:.4rem}
.timeline h4{font-family:var(--sans);margin:0 0 .35rem;font-size:1rem;font-weight:700;letter-spacing:-.01em}
.timeline p{font-size:14px;color:var(--text-dim);line-height:1.5;margin:0}
@media (max-width:880px){
  .timeline{grid-template-columns:repeat(2,1fr)}
  .timeline > div:nth-child(2){border-right:0}
}
@media (max-width:520px){
  .timeline{grid-template-columns:1fr}
  .timeline > div{border-right:0}
}

/* ===================== CASE CARDS ===================== */
.cases{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.case{
  background:#0e1322;border:1px solid rgba(255,255,255,.08);border-radius:18px;
  padding:0;overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .25s, transform .25s;
}
.case:hover{border-color:var(--blue-bright);transform:translateY(-3px)}
.case__cover{
  aspect-ratio:16/10;
  background:var(--blue-deep);
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.case__cover svg{position:absolute;inset:0;width:100%;height:100%}
.case__body{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.case__tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-bright)}
.case__body h3{font-family:var(--serif);font-size:1.4rem;letter-spacing:-.02em;margin:0;font-weight:600}
.case__body p{color:var(--text-dim);font-size:14px;line-height:1.55;margin:0}
.case__meta{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}
.case__meta div{display:flex;flex-direction:column;gap:.25rem}
.case__meta span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--blue-eyebrow);text-transform:uppercase}
.case__meta b{font-size:13px;font-weight:600;color:#fff}
@media (max-width:980px){.cases{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cases{grid-template-columns:1fr}}

/* ===================== SERVICE DETAIL ===================== */
.svc-detail{
  max-width:var(--max);margin:0 auto;
  display:flex;flex-direction:column;gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;
}
.svc-detail article{
  display:grid;grid-template-columns:120px 1fr 1.15fr;gap:2rem;
  padding:2.5rem 2rem;background:#0a0e1a;
}
.svc-detail article:hover{background:#0c1124}
.svc-detail__num{font-family:var(--mono);font-size:14px;color:var(--blue-bright);letter-spacing:.06em}
.svc-detail h3{font-family:var(--serif);font-size:2rem;letter-spacing:-.025em;margin:0 0 .5rem;font-weight:600}
.svc-detail__copy p{color:var(--text-dim);font-size:15px;line-height:1.55}
.svc-detail__deliv h4{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-eyebrow);margin:0 0 .75rem;font-weight:700}
.svc-detail__deliv ul{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.25rem}
.svc-detail__deliv li{padding-left:1rem;position:relative;font-size:14px;color:#cfd2d8;line-height:1.4}
.svc-detail__deliv li::before{content:"";position:absolute;left:0;top:.55rem;width:5px;height:5px;border-radius:99px;background:var(--blue-bright)}
@media (max-width:980px){
  .svc-detail article{grid-template-columns:1fr;gap:1.25rem}
  .svc-detail__deliv ul{grid-template-columns:1fr}
}

/* ===================== TWO-COL ===================== */
.two-col{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;
}
@media (max-width:880px){.two-col{grid-template-columns:1fr;gap:2rem}}

/* ===================== VALUE GRID ===================== */
.values{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
}
.value{
  padding:1.75rem;background:#0e1322;border:1px solid rgba(255,255,255,.08);border-radius:16px;
}
.value__num{font-family:var(--mono);font-size:12px;color:var(--blue-bright);letter-spacing:.18em}
.value h3{font-family:var(--serif);font-size:1.4rem;letter-spacing:-.02em;margin:.75rem 0 .5rem;font-weight:600}
.value p{color:var(--text-dim);font-size:14px;line-height:1.55;margin:0}
@media (max-width:880px){.values{grid-template-columns:1fr}}

/* ===================== PLATFORMS ===================== */
.platforms{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.platform{
  padding:1.5rem 1.25rem;background:#0e1322;border:1px solid rgba(255,255,255,.08);border-radius:14px;
  display:flex;flex-direction:column;gap:.6rem;
}
.platform__tag{font-family:var(--mono);font-size:10px;color:var(--blue-eyebrow);letter-spacing:.22em;text-transform:uppercase}
.platform__name{font-family:var(--serif);font-size:1.25rem;letter-spacing:-.01em;font-weight:600;margin:0;color:#fff}
.platform__desc{color:var(--text-dim);font-size:13px;line-height:1.5;margin:0}
@media (max-width:980px){.platforms{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.platforms{grid-template-columns:1fr}}
