/* ============================================================
   AMBIZENT IT CONSULTANTS — v2 brand system
   Brand: deep royal blue (#003C90) + burnt orange (#ED7D14)
   Display: Sora · Body: Plus Jakarta Sans · Mono: JetBrains Mono
   Direction: bold product-studio. Kinetic, confident, brand-forward.
   ============================================================ */

:root{
  --blue:        #003C90;
  --blue-700:    #0A4FB0;
  --blue-deep:   #001E48;
  --blue-night:  #00132E;
  --blue-bright: #1E6BE6;
  --blue-glow:   #2F7BFF;
  --orange:      #ED7D14;
  --orange-br:   #FB9A2B;
  --orange-soft: #FFB85C;

  --ink:        #0A1A33;
  --ink-soft:   #45587A;
  --ink-faint:  #7889A5;
  --paper:      #FFFFFF;
  --mist:       #F2F6FC;
  --mist-2:     #E9F0FA;
  --line:       #E1E9F5;
  --line-2:     #D2DDEE;

  --on-dark:        #EAF1FB;
  --on-dark-muted:  #A4B7D8;
  --on-dark-faint:  #6379A1;
  --line-dark:      #1C3460;
  --line-dark-2:    #11264A;

  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 68px);
  --radius: 18px;
  --radius-lg: 26px;
  --radius-sm: 11px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --font-display: "Sora", system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; font-family:var(--font-body); color:var(--ink); background:var(--paper);
  line-height:1.6; font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--orange); color:#fff; }

/* ---------- layout ---------- */
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(72px,10vw,150px); position:relative; }
.section--tight{ padding-block:clamp(52px,6vw,90px); }
.section--mist{ background:var(--mist); }
.section--white{ background:var(--paper); }
.section--blue{ background:var(--blue-deep); color:var(--on-dark); }
.section--night{ background:var(--blue-night); color:var(--on-dark); }

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--font-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--blue); display:inline-flex; align-items:center; gap:.7em; margin:0 0 1.5rem; font-weight:600;
}
.eyebrow::before{ content:""; width:24px; height:2px; background:var(--orange); border-radius:2px; }
.eyebrow--plain::before{ display:none; }
.section--blue .eyebrow,.section--night .eyebrow,.phero .eyebrow,.hero .eyebrow{ color:var(--orange-soft); }

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; margin:0; letter-spacing:-.02em; }
.display{ font-size:clamp(2.7rem, 6.4vw, 5.6rem); line-height:.97; font-weight:800; letter-spacing:-.035em; }
.h2{ font-size:clamp(2rem, 4vw, 3.4rem); line-height:1.02; font-weight:800; letter-spacing:-.03em; }
.h3{ font-size:clamp(1.3rem,2vw,1.7rem); line-height:1.12; font-weight:700; }
.lede{ font-size:clamp(1.08rem,1.5vw,1.32rem); line-height:1.55; color:var(--ink-soft); max-width:60ch; }
.section--blue .lede,.section--night .lede,.phero .lede,.hero .lede{ color:var(--on-dark-muted); }
.measure{ max-width:62ch; }
.accent{ color:var(--orange); }
.blue{ color:var(--blue); }
.section--blue .blue,.section--night .blue,.hero .blue{ color:#6FA8FF; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6em; font-family:var(--font-body);
  font-size:.96rem; font-weight:600; padding:1em 1.6em; border-radius:100px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .3s var(--ease-out), background .25s, border-color .25s, color .25s, box-shadow .3s;
  white-space:nowrap; position:relative; will-change:transform;
}
.btn:focus-visible{ outline:2px solid var(--orange); outline-offset:3px; }
.btn--primary{ background:var(--orange); color:#26160a; box-shadow:0 10px 30px -10px rgba(237,125,20,.6); }
.btn--primary:hover{ background:var(--orange-br); transform:translateY(-2px); box-shadow:0 16px 38px -10px rgba(237,125,20,.7); }
.btn--blue{ background:var(--blue); color:#fff; box-shadow:0 10px 30px -12px rgba(0,60,144,.6); }
.btn--blue:hover{ background:var(--blue-700); transform:translateY(-2px); }
.btn--ghost{ border-color:var(--line-2); color:var(--ink); background:transparent; }
.btn--ghost:hover{ border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }
.section--blue .btn--ghost,.section--night .btn--ghost,.hero .btn--ghost,.phero .btn--ghost,.cta-band .btn--ghost{ border-color:rgba(255,255,255,.28); color:#fff; }
.section--blue .btn--ghost:hover,.section--night .btn--ghost:hover,.hero .btn--ghost:hover,.phero .btn--ghost:hover,.cta-band .btn--ghost:hover{ border-color:#fff; color:#fff; background:rgba(255,255,255,.07); }
.btn .arr{ transition:transform .3s var(--ease-out); }
.btn:hover .arr{ transform:translateX(4px); }

.tlink{ font-weight:600; display:inline-flex; align-items:center; gap:.5em; color:var(--blue); position:relative; }
.tlink::after{ content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease-out); }
.tlink:hover::after{ transform:scaleX(1); }
.section--blue .tlink,.section--night .tlink,.hero .tlink,.cta-band .tlink{ color:#fff; }

/* ---------- nav ---------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:100; transition:background .35s var(--ease), box-shadow .35s var(--ease); padding:6px 0; }
.nav__in{ max-width:var(--maxw); margin-inline:auto; padding:14px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nav__logo{ display:block; line-height:0; }
.nav__logo img{ height:52px; width:auto; }
.logo-color{ display:none; }
.nav.scrolled{ background:rgba(255,255,255,.86); backdrop-filter:blur(16px) saturate(1.2); box-shadow:0 1px 0 var(--line), 0 10px 30px -20px rgba(0,30,72,.3); }
.nav.scrolled .logo-white{ display:none; }
.nav.scrolled .logo-color{ display:block; }
.nav.scrolled .nav__links a{ color:var(--ink-soft); }
.nav.scrolled .nav__links a:hover,.nav.scrolled .nav__links a[aria-current="page"]{ color:var(--blue); }
.nav__links{ display:flex; align-items:center; gap:34px; }
.nav__links a{ font-size:.95rem; font-weight:500; color:rgba(255,255,255,.82); transition:color .2s; position:relative; }
.nav__links a:hover,.nav__links a[aria-current="page"]{ color:#fff; }
.nav__links a[aria-current="page"]::after{ content:""; position:absolute; left:0; right:0; bottom:-7px; height:2px; background:var(--orange); border-radius:2px; }
.nav__cta{ display:flex; align-items:center; gap:14px; }
.nav__toggle{ display:none; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:11px; padding:9px; color:#fff; cursor:pointer; }
.nav.scrolled .nav__toggle{ background:var(--mist); border-color:var(--line); color:var(--blue); }
.nav .btn{ padding:.7em 1.25em; font-size:.9rem; }

/* ---------- HERO (aurora) ---------- */
.hero{ position:relative; background:var(--blue-night); color:var(--on-dark); overflow:hidden; padding-top:clamp(120px,16vh,180px); padding-bottom:clamp(60px,8vw,110px); }
.hero__aurora{ position:absolute; inset:-20% -10% 0; z-index:0; pointer-events:none; filter:saturate(1.1); }
.hero__aurora span{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; mix-blend-mode:screen; animation:drift 18s var(--ease) infinite alternate; }
.hero__aurora .a1{ width:46vw; height:46vw; left:-6%; top:-8%; background:radial-gradient(circle,#0E5BD6,transparent 65%); }
.hero__aurora .a2{ width:42vw; height:42vw; right:-8%; top:-2%; background:radial-gradient(circle,#ED7D14,transparent 62%); opacity:.4; animation-delay:-6s; animation-duration:22s; }
.hero__aurora .a3{ width:50vw; height:50vw; left:24%; top:18%; background:radial-gradient(circle,#1E6BE6,transparent 60%); opacity:.42; animation-delay:-11s; animation-duration:26s; }
@keyframes drift{ 0%{transform:translate(0,0) scale(1);} 50%{transform:translate(4%,3%) scale(1.12);} 100%{transform:translate(-3%,5%) scale(1.04);} }
.hero__grid{ position:absolute; inset:0; z-index:0; opacity:.4; pointer-events:none;
  background-image:linear-gradient(rgba(110,150,230,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(110,150,230,.12) 1px,transparent 1px);
  background-size:62px 62px; -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 80%); mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 80%); }
.hero__in{ position:relative; z-index:2; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.hero__badge{ display:inline-flex; align-items:center; gap:.6em; font-family:var(--font-mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--on-dark); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); padding:8px 15px; border-radius:100px; margin-bottom:30px; }
.hero__badge .dot{ width:7px; height:7px; border-radius:50%; background:#2ED98B; }
.hero h1{ max-width:16ch; margin:0 0 1.7rem; }
.hero h1 .word{ display:inline-block; opacity:0; transform:translateY(28px); filter:blur(6px); animation:wordin .8s var(--ease-out) forwards; }
@keyframes wordin{ to{ opacity:1; transform:none; filter:none; } }
.hero__sub{ font-size:clamp(1.1rem,1.5vw,1.34rem); color:var(--on-dark-muted); max-width:54ch; margin:0 0 2.4rem; line-height:1.55; }
.hero__cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero__pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:42px; }
.hero__pill{ display:inline-flex; align-items:center; gap:.6em; font-family:var(--font-mono); font-size:.78rem; color:var(--on-dark); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.13); padding:9px 15px; border-radius:100px; transition:border-color .25s, transform .25s; }
.hero__pill:hover{ border-color:var(--orange); transform:translateY(-2px); }
.hero__pill .dot{ width:7px; height:7px; border-radius:50%; background:#2ED98B; box-shadow:0 0 0 0 rgba(46,217,139,.5); animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(46,217,139,.5);} 70%{box-shadow:0 0 0 7px rgba(46,217,139,0);} 100%{box-shadow:0 0 0 0 rgba(46,217,139,0);} }

/* ---------- marquee ---------- */
.marquee{ background:var(--blue); color:#fff; padding:20px 0; overflow:hidden; white-space:nowrap; border-block:1px solid rgba(255,255,255,.1); }
.marquee__track{ display:inline-flex; animation:scroll 32s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__track span{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.1rem,1.8vw,1.5rem); letter-spacing:-.01em; padding:0 28px; display:inline-flex; align-items:center; gap:56px; }
.marquee__track span::after{ content:"✦"; color:var(--orange-soft); font-size:.8em; }
@keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- stat counters ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,48px); }
.stat__n{ font-family:var(--font-display); font-weight:800; font-size:clamp(2.6rem,5vw,4.2rem); line-height:1; letter-spacing:-.03em; background:linear-gradient(135deg,var(--blue),var(--blue-bright)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.section--blue .stat__n,.section--night .stat__n{ background:linear-gradient(135deg,#fff,#8FB6F2); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat__n .suf{ color:var(--orange); -webkit-text-fill-color:var(--orange); }
.stat__l{ font-size:.96rem; color:var(--ink-soft); margin-top:12px; font-weight:500; }
.section--blue .stat__l,.section--night .stat__l{ color:var(--on-dark-muted); }

/* ---------- section heads ---------- */
.head{ max-width:760px; margin-bottom:clamp(44px,5vw,68px); }
.head--split{ max-width:none; display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:end; }
.head__aside{ color:var(--ink-faint); font-size:1rem; line-height:1.6; }
.section--blue .head__aside,.section--night .head__aside{ color:var(--on-dark-faint); }

/* ---------- services bento ---------- */
.bento{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.bcard{ position:relative; border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(28px,3vw,44px); background:var(--paper); overflow:hidden; transition:transform .4s var(--ease-out), box-shadow .4s, border-color .3s; display:flex; flex-direction:column; min-height:300px; }
.bcard::after{ content:""; position:absolute; inset:0; background:radial-gradient(120% 120% at 100% 0%, rgba(30,107,230,.08), transparent 55%); opacity:0; transition:opacity .4s; pointer-events:none; }
.bcard:hover{ transform:translateY(-6px); box-shadow:0 40px 70px -40px rgba(0,40,100,.35); border-color:var(--blue-bright); }
.bcard:hover::after{ opacity:1; }
.bcard__ico{ width:54px; height:54px; border-radius:15px; display:grid; place-items:center; background:linear-gradient(135deg,var(--blue),var(--blue-bright)); color:#fff; margin-bottom:22px; box-shadow:0 12px 26px -12px rgba(0,60,144,.6); }
.bcard__ico svg{ width:26px; height:26px; }
.bcard:nth-child(2) .bcard__ico,.bcard:nth-child(3) .bcard__ico{ background:linear-gradient(135deg,var(--orange),var(--orange-br)); box-shadow:0 12px 26px -12px rgba(237,125,20,.6); }
.bcard h3{ font-size:clamp(1.3rem,1.8vw,1.6rem); margin-bottom:12px; }
.bcard p{ color:var(--ink-soft); margin:0; font-size:1rem; line-height:1.6; }
.bcard__spec{ margin-top:auto; padding-top:22px; display:flex; flex-wrap:wrap; gap:8px; }
.bcard__spec span{ font-family:var(--font-mono); font-size:.72rem; color:var(--blue); background:var(--mist); border-radius:100px; padding:5px 11px; }
.bcard__link{ margin-top:20px; font-weight:600; color:var(--blue); display:inline-flex; align-items:center; gap:.5em; transition:gap .3s var(--ease-out), color .3s; position:relative; z-index:1; }
.bcard:hover .bcard__link{ gap:.85em; color:var(--orange); }

/* ---------- immersive work cards ---------- */
.works{ display:grid; gap:24px; }
.workcard{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; border-radius:var(--radius-lg); overflow:hidden; background:var(--blue-deep); color:var(--on-dark); min-height:380px; border:1px solid var(--line-dark); transition:transform .4s var(--ease-out), box-shadow .4s; }
.workcard:hover{ transform:translateY(-5px); box-shadow:0 50px 90px -50px rgba(0,20,60,.8); }
.workcard__body{ padding:clamp(30px,3.5vw,54px); display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.workcard__kicker{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-soft); margin-bottom:18px; display:flex; align-items:center; gap:.6em; }
.workcard h3{ font-size:clamp(1.7rem,2.8vw,2.6rem); font-weight:800; margin-bottom:16px; line-height:1.02; }
.workcard p{ color:var(--on-dark-muted); margin:0 0 26px; max-width:42ch; }
.workcard__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.workcard__tags span{ font-family:var(--font-mono); font-size:.72rem; color:var(--on-dark); border:1px solid rgba(255,255,255,.18); border-radius:100px; padding:5px 11px; }
.workcard__visual{ position:relative; overflow:hidden; background:linear-gradient(150deg,#06245A,#0A3D8F 60%,#0E1F40); display:flex; align-items:center; justify-content:center; padding:36px; }
.workcard__visual::before{ content:""; position:absolute; width:120%; height:120%; background:radial-gradient(circle at 70% 30%, rgba(237,125,20,.35), transparent 55%); }
.workcard__visual::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:34px 34px; -webkit-mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%); mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%); }
.workcard--alt{ grid-template-columns:.95fr 1.05fr; }
.workcard--alt .workcard__visual{ order:-1; }

.dash{ position:relative; z-index:1; width:100%; max-width:380px; border-radius:14px; background:#0B1F44; border:1px solid rgba(255,255,255,.12); box-shadow:0 40px 80px -40px rgba(0,0,0,.7); overflow:hidden; }
.dash__bar{ display:flex; align-items:center; gap:6px; padding:11px 14px; border-bottom:1px solid rgba(255,255,255,.1); }
.dash__bar i{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.25); }
.dash__bar small{ margin-left:8px; font-family:var(--font-mono); font-size:.66rem; color:var(--on-dark-faint); }
.dash__body{ padding:16px; display:grid; gap:12px; }
.dash__row{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.dash__k{ font-family:var(--font-mono); font-size:.7rem; color:var(--on-dark-faint); }
.dash__v{ font-family:var(--font-mono); font-size:.74rem; color:var(--on-dark); font-weight:600; }
.dash__v b{ color:var(--orange-soft); }
.dash__bars{ display:flex; align-items:flex-end; gap:7px; height:74px; padding-top:6px; }
.dash__bars i{ flex:1; border-radius:5px 5px 0 0; background:linear-gradient(180deg,var(--blue-bright),#0B3F92); }
.dash__bars i:nth-child(3){ background:linear-gradient(180deg,var(--orange-br),var(--orange)); }

/* ---------- products ---------- */
.products{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.product{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper); display:flex; flex-direction:column; transition:transform .4s var(--ease-out), box-shadow .4s, border-color .3s; }
.product:hover{ transform:translateY(-5px); box-shadow:0 40px 70px -44px rgba(0,40,100,.4); border-color:var(--blue-bright); }
.product__bar{ display:flex; align-items:center; gap:11px; padding:12px 17px; border-bottom:1px solid var(--line); background:var(--mist); }
.product__dots{ display:flex; gap:6px; }
.product__dots i{ width:9px; height:9px; border-radius:50%; background:var(--line-2); display:block; }
.product__url{ font-family:var(--font-mono); font-size:.75rem; color:var(--ink-faint); }
.product__body{ padding:26px clamp(20px,2.4vw,32px) 30px; display:flex; flex-direction:column; gap:14px; flex:1; }
.product__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product__body h3{ font-size:1.5rem; }
.badge{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 11px; border-radius:100px; border:1px solid; white-space:nowrap; display:inline-flex; align-items:center; gap:.45em; font-weight:600; }
.badge--live{ color:#0A8F56; border-color:rgba(46,184,116,.4); background:rgba(46,184,116,.08); }
.badge--new{ color:var(--orange); border-color:rgba(237,125,20,.4); background:rgba(237,125,20,.08); }
.badge--soon{ color:var(--ink-faint); border-color:var(--line-2); }
.section--blue .badge--soon,.section--night .badge--soon{ color:var(--on-dark-faint); border-color:var(--line-dark); }
.badge .dot{ width:6px; height:6px; border-radius:50%; background:currentColor; }
.product p{ color:var(--ink-soft); margin:0; font-size:.97rem; line-height:1.55; }
.product__chips{ display:flex; flex-wrap:wrap; gap:7px; }
.product__chips span{ font-family:var(--font-mono); font-size:.69rem; color:var(--blue); background:var(--mist); border-radius:100px; padding:5px 10px; }
.product__foot{ margin-top:auto; padding-top:6px; }
.product__link{ font-weight:600; color:var(--blue); display:inline-flex; gap:.5em; align-items:center; transition:gap .3s var(--ease-out), color .3s; }
.product:hover .product__link{ gap:.85em; color:var(--orange); }

/* coming-suite strip */
.suite{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.suite__mod{ background:rgba(255,255,255,.04); border:1px solid var(--line-dark); border-radius:16px; padding:22px 18px; transition:transform .3s, border-color .3s; }
.suite__mod:hover{ transform:translateY(-4px); border-color:var(--orange); }
.suite__mod .badge{ margin-bottom:14px; }
.suite__mod h4{ font-size:1.06rem; margin:0 0 6px; color:var(--on-dark); }
.suite__mod p{ font-size:.83rem; color:var(--on-dark-faint); margin:0; line-height:1.45; }

/* phone mock */
.phone{ width:250px; max-width:100%; aspect-ratio:9/19; border-radius:36px; border:1px solid var(--line-dark); background:linear-gradient(170deg,#0C2550,#0A1A3A); padding:12px; box-shadow:0 50px 90px -40px rgba(0,0,0,.7); position:relative; margin-inline:auto; }
.phone::before{ content:""; position:absolute; top:17px; left:50%; transform:translateX(-50%); width:62px; height:5px; border-radius:5px; background:rgba(255,255,255,.18); z-index:2; }
.phone__screen{ height:100%; border-radius:26px; background:radial-gradient(120% 80% at 50% 0%, #14366E, #0A1A3A 62%); border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; gap:10px; padding:32px 14px 16px; overflow:hidden; }
.phone__row{ display:flex; align-items:center; gap:9px; }
.phone__av{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--orange-br),var(--orange)); flex:none; }
.phone__lines{ flex:1; display:flex; flex-direction:column; gap:5px; }
.phone__lines i{ display:block; height:6px; border-radius:4px; background:rgba(255,255,255,.16); }
.phone__lines i:first-child{ width:55%; }
.phone__media{ height:84px; border-radius:13px; background:linear-gradient(135deg,#0E5BD6,#06245A); border:1px solid rgba(255,255,255,.1); position:relative; }
.phone__live{ position:absolute; top:9px; left:9px; font-family:var(--font-mono); font-size:.52rem; letter-spacing:.1em; color:#fff; background:#E23B3B; padding:3px 7px; border-radius:5px; font-weight:600; }
.phone__pill{ height:38px; border-radius:11px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); margin-top:auto; }

/* ---------- process ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.step{ position:relative; padding:30px 24px 32px; border-radius:var(--radius); border:1px solid var(--line-dark); background:rgba(255,255,255,.03); transition:transform .3s, border-color .3s; }
.section--mist .step,.section--white .step{ border-color:var(--line); background:var(--paper); }
.step:hover{ transform:translateY(-5px); border-color:var(--orange); }
.step__no{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--orange); letter-spacing:-.02em; }
.step h3{ font-size:1.18rem; margin:16px 0 10px; }
.section--blue .step h3,.section--night .step h3{ color:var(--on-dark); }
.step p{ font-size:.93rem; color:var(--ink-soft); margin:0; line-height:1.55; }
.section--blue .step p,.section--night .step p{ color:var(--on-dark-muted); }

/* ---------- chips / compliance ---------- */
.chips{ display:flex; flex-wrap:wrap; gap:11px; }
.chip{ font-family:var(--font-body); font-weight:500; font-size:.92rem; border:1px solid var(--line); border-radius:100px; padding:11px 18px; display:inline-flex; align-items:center; gap:.6em; color:var(--ink); background:var(--paper); transition:border-color .25s, transform .25s; }
.chip:hover{ border-color:var(--blue); transform:translateY(-2px); }
.section--blue .chip,.section--night .chip{ background:rgba(255,255,255,.04); border-color:var(--line-dark); color:var(--on-dark); }
.chip svg{ width:18px; height:18px; color:#fff; background:var(--orange); border-radius:50%; padding:3px; flex:none; }

/* ---------- columns ---------- */
.cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,44px); }
.col__no{ font-family:var(--font-mono); font-size:.74rem; color:var(--orange); display:block; margin-bottom:14px; letter-spacing:.08em; }
.col h3{ font-size:1.2rem; margin-bottom:12px; }
.section--blue .col h3,.section--night .col h3{ color:var(--on-dark); }
.col p{ color:var(--ink-soft); font-size:.97rem; margin:0; }
.section--blue .col p,.section--night .col p{ color:var(--on-dark-muted); }

/* ---------- ledger / feature ---------- */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.feature__body h2{ margin-bottom:1.4rem; }
.tag{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line); color:var(--ink-soft); padding:6px 12px; border-radius:100px; display:inline-flex; align-items:center; gap:.5em; }
.section--blue .tag,.section--night .tag{ border-color:var(--line-dark); color:var(--on-dark-muted); }
.taglist{ display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 30px; }
.ledger{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper); }
.section--blue .ledger,.section--night .ledger{ border-color:var(--line-dark); background:rgba(255,255,255,.03); }
.ledger__row{ display:flex; justify-content:space-between; gap:18px; padding:16px 22px; border-bottom:1px solid var(--line); font-family:var(--font-mono); font-size:.82rem; }
.section--blue .ledger__row,.section--night .ledger__row{ border-color:var(--line-dark); }
.ledger__row:last-child{ border-bottom:0; }
.ledger__row .k{ color:var(--ink-faint); }
.section--blue .ledger__row .k,.section--night .ledger__row .k{ color:var(--on-dark-faint); }
.ledger__row .v{ font-weight:600; }
.ledger__row .v a{ color:var(--blue); }
.section--blue .ledger__row .v a,.section--night .ledger__row .v a{ color:#6FA8FF; }

/* ---------- faq ---------- */
.faq{ border-top:1px solid var(--line); }
.section--blue .faq,.section--night .faq{ border-color:var(--line-dark); }
.faq details{ border-bottom:1px solid var(--line); }
.section--blue .faq details,.section--night .faq details{ border-color:var(--line-dark); }
.faq summary{ list-style:none; cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; gap:20px; align-items:center; font-family:var(--font-display); font-weight:700; font-size:clamp(1.05rem,1.4vw,1.25rem); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .pm{ font-size:1.4rem; color:var(--orange); transition:transform .3s var(--ease-out); flex:none; line-height:1; }
.faq details[open] summary .pm{ transform:rotate(45deg); }
.faq p{ color:var(--ink-soft); margin:0 0 24px; max-width:72ch; }
.section--blue .faq p,.section--night .faq p{ color:var(--on-dark-muted); }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; background:var(--blue); color:#fff; overflow:hidden; }
.cta-band::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 85% 0%, rgba(237,125,20,.4), transparent 60%), radial-gradient(50% 100% at 10% 100%, rgba(30,107,230,.5), transparent 60%); }
.cta-band__in{ position:relative; z-index:1; display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:center; }
.cta-band h2{ margin-bottom:16px; }
.cta-band .lede{ color:rgba(255,255,255,.85); }

/* ---------- footer ---------- */
.foot{ background:var(--blue-night); color:var(--on-dark-muted); }
.foot__in{ max-width:var(--maxw); margin-inline:auto; padding:clamp(56px,7vw,90px) var(--gutter) 30px; }
.foot__top{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:36px; padding-bottom:48px; border-bottom:1px solid var(--line-dark); }
.foot__logo img{ height:58px; margin-bottom:20px; }
.foot__brand p{ font-size:.95rem; max-width:34ch; color:var(--on-dark-faint); margin:0; line-height:1.6; }
.foot h4{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark-faint); margin:0 0 18px; font-weight:600; }
.foot ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.foot a{ font-size:.95rem; color:var(--on-dark-muted); transition:color .2s; }
.foot a:hover{ color:#fff; }
.foot__bottom{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:26px; font-size:.85rem; color:var(--on-dark-faint); }
.foot__made{ display:inline-flex; align-items:center; gap:.5em; }

/* ---------- page hero (inner) ---------- */
.phero{ position:relative; background:var(--blue-night); color:var(--on-dark); overflow:hidden; padding-top:clamp(120px,15vh,170px); padding-bottom:clamp(48px,6vw,84px); border-bottom:1px solid var(--line-dark); }
.phero__aurora{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.phero__aurora::before{ content:""; position:absolute; width:50vw; height:50vw; right:-10%; top:-20%; background:radial-gradient(circle,rgba(237,125,20,.3),transparent 62%); filter:blur(60px); }
.phero__aurora::after{ content:""; position:absolute; width:46vw; height:46vw; left:-8%; top:-10%; background:radial-gradient(circle,rgba(14,91,214,.4),transparent 62%); filter:blur(60px); }
.phero__in{ position:relative; z-index:2; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.phero h1{ max-width:18ch; margin:0 0 1.3rem; }
.crumbs{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.05em; color:var(--on-dark-faint); margin-bottom:28px; }
.crumbs a:hover{ color:#fff; }
.crumbs span{ color:var(--orange-soft); }

/* ---------- spec bar (case studies) ---------- */
.specbar{ background:var(--blue-deep); border-block:1px solid var(--line-dark); }
.specbar__in{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); display:grid; grid-template-columns:repeat(4,1fr); }
.specbar__cell{ padding:30px clamp(8px,2vw,28px); border-left:1px solid var(--line-dark); }
.specbar__cell:first-child{ border-left:0; }
.specbar__n{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem,2.8vw,2.6rem); letter-spacing:-.02em; color:#fff; line-height:1; }
.specbar__n .suf{ color:var(--orange); }
.specbar__l{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--on-dark-faint); margin-top:11px; }

/* ---------- prose ---------- */
.prose{ max-width:72ch; }
.prose p{ color:var(--ink-soft); margin:0 0 1.35em; font-size:1.05rem; line-height:1.7; }
.prose h2{ margin:2em 0 .6em; }
.prose ul{ margin:0 0 1.35em; padding-left:1.1em; color:var(--ink-soft); }
.prose li{ margin-bottom:.5em; }

/* ---------- contact form ---------- */
.contact-form{ display:flex; flex-direction:column; gap:18px; }
.contact-form label{ display:flex; flex-direction:column; gap:8px; font-weight:600; font-size:.86rem; color:var(--ink); }
.contact-form input,.contact-form select,.contact-form textarea{ font-family:var(--font-body); font-size:1rem; color:var(--ink); background:var(--paper); border:1.5px solid var(--line-2); border-radius:13px; padding:14px 16px; transition:border-color .2s, box-shadow .2s; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 4px rgba(0,60,144,.1); }
.contact-form textarea{ resize:vertical; }
.contact-form .btn{ align-self:flex-start; margin-top:4px; }
.form-note{ font-size:.86rem; color:var(--ink-faint); font-weight:400; margin:6px 0 0; line-height:1.5; }

/* ---------- reveal ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; } .reveal[data-d="2"]{ transition-delay:.16s; } .reveal[data-d="3"]{ transition-delay:.24s; }

@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero h1 .word{ animation:none; opacity:1; transform:none; filter:none; }
  .hero__aurora span,.marquee__track,.hero__pill .dot{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .stats{ grid-template-columns:repeat(2,1fr); gap:36px 24px; }
  .bento{ grid-template-columns:1fr; }
  .feature{ grid-template-columns:1fr; }
  .head--split{ grid-template-columns:1fr; align-items:start; }
  .cta-band__in{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .products{ grid-template-columns:1fr; }
  .suite{ grid-template-columns:1fr 1fr; }
  .cols{ grid-template-columns:1fr; gap:28px; }
  .workcard,.workcard--alt{ grid-template-columns:1fr; }
  .workcard__visual{ min-height:300px; }
  .workcard--alt .workcard__visual{ order:0; }
  .foot__top{ grid-template-columns:1fr 1fr; }
  .specbar__in{ grid-template-columns:repeat(2,1fr); }
  .specbar__cell:nth-child(3){ border-left:0; }
}
@media (max-width:680px){
  .nav__logo img{ height:44px; }
  .nav__links{ display:none; position:absolute; top:100%; left:var(--gutter); right:var(--gutter); flex-direction:column; align-items:flex-start; gap:0; background:#fff; border:1px solid var(--line); border-radius:16px; padding:8px 18px; box-shadow:0 30px 60px -30px rgba(0,30,72,.4); margin-top:8px; }
  .nav__links.open{ display:flex; }
  .nav__links a{ color:var(--ink-soft) !important; padding:14px 0; width:100%; border-bottom:1px solid var(--line); }
  .nav__links a:last-child{ border-bottom:0; }
  .nav__toggle{ display:inline-flex; }
  .nav__cta .btn{ display:none; }
  .stats{ grid-template-columns:1fr 1fr; }
  .steps{ grid-template-columns:1fr; }
  .suite{ grid-template-columns:1fr; }
  .specbar__in{ grid-template-columns:1fr; }
  .specbar__cell{ border-left:0; border-top:1px solid var(--line-dark); }
  .specbar__cell:first-child{ border-top:0; }
  .foot__top{ grid-template-columns:1fr; gap:30px; }
}

/* ---------- specgrid / scard (service & blog cards) ---------- */
.specgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.scard{ position:relative; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(26px,3vw,38px); display:flex; flex-direction:column; gap:14px; min-height:220px; transition:transform .4s var(--ease-out), box-shadow .4s, border-color .3s; overflow:hidden; }
.scard:hover{ transform:translateY(-5px); box-shadow:0 36px 64px -44px rgba(0,40,100,.35); border-color:var(--blue-bright); }
.section--blue .scard,.section--night .scard{ background:rgba(255,255,255,.03); border-color:var(--line-dark); }
.scard__no{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; color:var(--orange); font-weight:600; }
.scard h3{ font-size:clamp(1.2rem,1.7vw,1.45rem); }
.section--blue .scard h3,.section--night .scard h3{ color:var(--on-dark); }
.scard p{ color:var(--ink-soft); margin:0; font-size:.97rem; line-height:1.6; }
.section--blue .scard p,.section--night .scard p{ color:var(--on-dark-muted); }
.scard__spec{ margin-top:auto; padding-top:14px; display:flex; flex-wrap:wrap; gap:7px; font-family:var(--font-mono); font-size:.72rem; }
.scard__spec span{ color:var(--blue); background:var(--mist); border-radius:100px; padding:5px 10px; }
.section--blue .scard__spec span,.section--night .scard__spec span{ color:var(--on-dark-muted); background:rgba(255,255,255,.06); }
.scard__link{ font-weight:600; color:var(--blue); display:inline-flex; align-items:center; gap:.5em; transition:gap .3s var(--ease-out), color .3s; }
.scard:hover .scard__link{ gap:.85em; color:var(--orange); }
.section--blue .scard__link,.section--night .scard__link{ color:#6FA8FF; }

/* legacy section aliases -> new palette */
.section--paper{ background:var(--mist); color:var(--ink); }
.section--ink{ background:var(--blue-deep); color:var(--on-dark); }
.section--ink .eyebrow{ color:var(--orange-soft); }
.section--ink .lede,.section--ink .head__aside{ color:var(--on-dark-muted); }
.section--ink .chip{ background:rgba(255,255,255,.04); border-color:var(--line-dark); color:var(--on-dark); }
.section--ink .ledger{ border-color:var(--line-dark); background:rgba(255,255,255,.03); }
.section--ink .ledger__row{ border-color:var(--line-dark); }
.section--ink .ledger__row .k{ color:var(--on-dark-faint); }
.section--ink .ledger__row .v a{ color:#6FA8FF; }
.section--ink .col h3,.section--ink .step h3{ color:var(--on-dark); }
.section--ink .col p,.section--ink .step p{ color:var(--on-dark-muted); }
.section--ink .tag{ border-color:var(--line-dark); color:var(--on-dark-muted); }
.section--ink .faq,.section--ink .faq details{ border-color:var(--line-dark); }
.section--ink .faq p{ color:var(--on-dark-muted); }
.section--ink .scard{ background:rgba(255,255,255,.03); border-color:var(--line-dark); }
.section--ink .scard h3{ color:var(--on-dark); }
.section--ink .scard p{ color:var(--on-dark-muted); }
.section--ink .scard__spec span{ color:var(--on-dark-muted); background:rgba(255,255,255,.06); }
.section--ink .step{ border-color:var(--line-dark); background:rgba(255,255,255,.03); }
.section--ink .badge--soon{ color:var(--on-dark-faint); border-color:var(--line-dark); }

/* ============ BLOG / ARTICLES ============ */
/* post meta in hero */
.phero .post-meta{ display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-top:24px; font-family:var(--font-mono); font-size:.78rem; color:var(--on-dark-muted); }
.phero .post-meta .av{ width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,var(--orange-br),var(--orange)); display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:.8rem; }
.phero .post-meta span.sep{ opacity:.4; }

/* article two-column with sticky TOC */
.article{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start; }
.article__toc{ position:sticky; top:96px; font-size:.9rem; }
.article__toc h4{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 14px; font-weight:600; }
.article__toc ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; border-left:2px solid var(--line); }
.article__toc a{ display:block; padding:7px 0 7px 16px; margin-left:-2px; border-left:2px solid transparent; color:var(--ink-soft); transition:color .2s, border-color .2s; line-height:1.35; }
.article__toc a:hover{ color:var(--blue); border-left-color:var(--orange); }
.article__body{ max-width:none; }
.article__body h2{ font-size:clamp(1.5rem,2.4vw,2.05rem); margin:2.2em 0 .6em; scroll-margin-top:90px; letter-spacing:-.02em; }
.article__body h2:first-child{ margin-top:0; }
.article__body h3{ font-size:1.2rem; margin:1.6em 0 .5em; }
.article__body p{ color:var(--ink-soft); font-size:1.06rem; line-height:1.75; margin:0 0 1.3em; }
.article__body ul,.article__body ol{ color:var(--ink-soft); font-size:1.06rem; line-height:1.7; margin:0 0 1.4em; padding-left:1.2em; }
.article__body li{ margin-bottom:.6em; }
.article__body li::marker{ color:var(--orange); }
.article__body strong{ color:var(--ink); font-weight:700; }
.article__body a{ color:var(--blue); font-weight:600; text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:3px; transition:text-decoration-color .2s; }
.article__body a:hover{ text-decoration-color:var(--orange); }
.article__body blockquote{ margin:1.6em 0; padding:4px 0 4px 24px; border-left:3px solid var(--orange); font-family:var(--font-display); font-weight:600; font-size:1.2rem; line-height:1.4; color:var(--ink); letter-spacing:-.01em; }

/* callouts */
.callout{ display:flex; gap:14px; padding:20px 22px; border-radius:var(--radius); margin:1.7em 0; background:var(--mist); border:1px solid var(--line); }
.callout__ico{ flex:none; width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:.95rem; background:var(--blue); }
.callout--tip .callout__ico{ background:var(--orange); }
.callout--warn .callout__ico{ background:#E2683B; }
.callout p{ margin:0 !important; font-size:.98rem !important; color:var(--ink-soft); }
.callout p strong{ color:var(--ink); }

/* comparison / data tables */
.ptable-wrap{ overflow-x:auto; margin:1.7em 0; border:1px solid var(--line); border-radius:var(--radius); }
.ptable{ width:100%; border-collapse:collapse; font-size:.95rem; min-width:520px; }
.ptable th,.ptable td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); }
.ptable thead th{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); background:var(--mist); }
.ptable tbody tr:last-child td{ border-bottom:0; }
.ptable td:first-child,.ptable th:first-child{ font-weight:600; color:var(--ink); }
.ptable .pos{ color:#0A8F56; font-weight:600; }
.ptable .neg{ color:#C0492B; font-weight:600; }

/* author / share footer of article */
.article-foot{ margin-top:40px; padding-top:28px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; align-items:center; }
.article-foot__by{ display:flex; align-items:center; gap:12px; }
.article-foot__by .av{ width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--blue-bright)); display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; }
.article-foot__by b{ display:block; font-size:.96rem; color:var(--ink); }
.article-foot__by span{ font-size:.85rem; color:var(--ink-faint); }

/* blog index post grid */
.post-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.postcard{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:var(--paper); transition:transform .4s var(--ease-out), box-shadow .4s, border-color .3s; }
.postcard:hover{ transform:translateY(-5px); box-shadow:0 40px 70px -44px rgba(0,40,100,.4); border-color:var(--blue-bright); }
.postcard__cover{ aspect-ratio:16/8; position:relative; overflow:hidden; background:linear-gradient(150deg,#06245A,#0A3D8F 60%,#0E1F40); display:flex; align-items:center; justify-content:center; padding:24px; }
.postcard__cover::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:30px 30px; -webkit-mask-image:radial-gradient(circle at 70% 30%,#000,transparent 75%); mask-image:radial-gradient(circle at 70% 30%,#000,transparent 75%); }
.postcard__cover.is-orange{ background:linear-gradient(150deg,#5A2D06,#C25E12 55%,#3A1F0E); }
.postcard__tag{ position:relative; z-index:1; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; border:1px solid rgba(255,255,255,.3); padding:6px 13px; border-radius:100px; }
.postcard__body{ padding:24px clamp(20px,2.4vw,28px) 26px; display:flex; flex-direction:column; gap:11px; flex:1; }
.postcard__meta{ font-family:var(--font-mono); font-size:.74rem; color:var(--ink-faint); }
.postcard h3{ font-size:1.24rem; line-height:1.2; }
.postcard h3 a:hover{ color:var(--blue); }
.postcard p{ color:var(--ink-soft); font-size:.96rem; margin:0; line-height:1.55; }
.postcard__link{ margin-top:auto; padding-top:6px; font-weight:600; color:var(--blue); display:inline-flex; align-items:center; gap:.5em; transition:gap .3s var(--ease-out), color .3s; }
.postcard:hover .postcard__link{ gap:.85em; color:var(--orange); }
.postcard--wide{ grid-column:1/-1; }
.postcard--wide{ flex-direction:row; }
.postcard--wide .postcard__cover{ aspect-ratio:auto; width:42%; flex:none; }
.postcard--wide .postcard__body{ justify-content:center; }

@media (max-width:900px){
  .article{ grid-template-columns:1fr; }
  .article__toc{ position:static; top:auto; border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; background:var(--mist); }
  .article__toc ol{ border-left:0; }
  .article__toc a{ padding:6px 0; border-left:0; margin-left:0; }
  .post-grid{ grid-template-columns:1fr; }
  .postcard--wide{ flex-direction:column; }
  .postcard--wide .postcard__cover{ width:100%; aspect-ratio:16/8; }
}
