/* ============================================================
   SMMA — Design System
   Editorial / minimal. Black + white + brand blue (#184888).
   ============================================================ */

:root{
  --blue:#184888;
  --blue-bright:#2a66c4;
  --ink:#0c0d10;
  --ink-2:#3a3d44;
  --ink-3:#73777f;
  --line:#e8e7e4;
  --line-strong:#d6d5d1;
  --paper:#ffffff;        /* white */
  --paper-2:#f1f1f0;
  --white:#ffffff;

  --maxw:1480px;
  --gutter:clamp(20px,5vw,72px);

  --r:14px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-2:cubic-bezier(.16,1,.3,1);

  --f-display:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-body:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}

*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{
  margin:0;
  font-family:var(--f-body);
  background:var(--paper);
  color:var(--ink);
  font-size:18px;
  line-height:1.5;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--blue);color:#fff;}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
section{position:relative;}
.pad-y{padding-block:clamp(80px,12vw,180px);}
.pad-y-sm{padding-block:clamp(56px,8vw,110px);}

/* ---------- Type scale ---------- */
.kicker{
  font-family:var(--f-mono);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-3);
  display:inline-flex;align-items:center;gap:.7em;
}
.kicker::before{
  content:"";width:26px;height:1px;background:var(--line-strong);display:inline-block;
}
.kicker.on-dark{color:rgba(255,255,255,.62);}
.kicker.on-dark::before{background:rgba(255,255,255,.3);}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;margin:0;line-height:.98;letter-spacing:-.02em;}
.display{
  font-weight:800;
  font-size:clamp(38px,6.4vw,100px);
  line-height:.94;
  letter-spacing:-.035em;
}
.h-xl{font-size:clamp(30px,4.6vw,62px);line-height:.98;letter-spacing:-.03em;font-weight:800;}
.h-lg{font-size:clamp(26px,3.4vw,46px);line-height:1.02;letter-spacing:-.025em;font-weight:700;}
.h-md{font-size:clamp(22px,2.6vw,34px);line-height:1.06;letter-spacing:-.02em;font-weight:700;}
.lead{font-size:clamp(19px,1.7vw,26px);line-height:1.42;color:var(--ink-2);font-weight:400;max-width:40ch;}
.body-lg{font-size:clamp(17px,1.3vw,21px);line-height:1.55;color:var(--ink-2);}
p{margin:0 0 1em;}
.muted{color:var(--ink-3);}
.italic-serif{font-style:italic;}
.blue{color:var(--blue);}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--ink);--fg:#fff;
  position:relative;display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--f-body);font-weight:600;font-size:15px;letter-spacing:-.01em;
  padding:18px 30px;border-radius:100px;border:1px solid var(--bg);
  background:var(--bg);color:var(--fg);overflow:hidden;cursor:pointer;
  transition:color .5s var(--ease),border-color .5s var(--ease);
  will-change:transform;
}
.btn .lbl{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.6em;}
.btn::after{
  content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;
  background:var(--blue);transform:translateY(101%);transition:transform .55s var(--ease);
}
.btn:hover::after{transform:translateY(0);}
.btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line-strong);}
.btn--ghost:hover{color:#fff;border-color:var(--blue);}
.btn--blue{--bg:var(--blue);--fg:#fff;}
.btn--blue::after{background:var(--ink);}
.btn--on-dark{--bg:#fff;--fg:var(--ink);}
.btn--on-dark:hover{color:#fff;}
.btn .arr{transition:transform .45s var(--ease);}
.btn:hover .arr{transform:translate(4px,-4px);}

.link-u{
  position:relative;display:inline-flex;align-items:center;gap:.5em;font-weight:600;
}
.link-u::after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);}
.link-u:hover::after{transform:scaleX(1);transform-origin:left;}

/* ---------- (custom cursor removed — native pointer) ---------- */

/* ---------- Header / Nav ---------- */
.nav{position:fixed;top:0;left:0;width:100%;z-index:900;
  transition:transform .5s var(--ease),background .4s,border-color .4s;
  border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-color:var(--line);}
.nav.hide{transform:translateY(-100%);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;
  height:84px;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
.nav__logo{height:40px;width:auto;transition:opacity .3s;}
.nav__logo:hover{opacity:.7;}
.nav__menu{display:flex;align-items:center;gap:34px;}
.nav__links{display:flex;align-items:center;gap:30px;}
.nav__link{font-size:15px;font-weight:500;letter-spacing:-.01em;position:relative;padding:6px 0;}
.nav__link::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--blue);
  transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);}
.nav__link:hover::after,.nav__link.active::after{transform:scaleX(1);transform-origin:left;}
.nav__link.active{color:var(--blue);}

/* dropdown */
.has-drop{position:relative;}
.drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--white);border:1px solid var(--line);border-radius:14px;padding:10px;min-width:280px;
  box-shadow:0 24px 60px -28px rgba(12,13,16,.4);opacity:0;visibility:hidden;transition:.35s var(--ease);}
.has-drop:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.drop a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border-radius:9px;
  font-size:15px;font-weight:500;transition:background .25s,color .25s;}
.drop a:hover{background:var(--paper);color:var(--blue);}
.drop a .di{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);}
.drop a:hover .di{color:var(--blue);}

.nav__cta{display:inline-flex;}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;
  background:none;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.burger span{width:18px;height:1.5px;background:var(--ink);transition:.3s var(--ease);}
@media (max-width:1040px){
  .nav__links,.nav__cta{display:none;}
  .burger{display:flex;}
}

/* mobile menu overlay */
.mobile-menu{position:fixed;inset:0;z-index:899;background:var(--blue);color:#fff;
  padding:110px var(--gutter) 40px;display:flex;flex-direction:column;justify-content:space-between;
  transform:translateY(-100%);transition:transform .6s var(--ease);}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{font-family:var(--f-display);font-weight:700;font-size:clamp(30px,8vw,52px);
  letter-spacing:-.02em;line-height:1.05;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;align-items:baseline;}
.mobile-menu a .mi{font-family:var(--f-mono);font-size:12px;color:rgba(255,255,255,.4);}
.mobile-menu .mm-foot{font-family:var(--f-mono);font-size:13px;color:rgba(255,255,255,.5);display:flex;justify-content:space-between;}

/* ---------- Marquee ---------- */
.marquee{display:flex;overflow:hidden;white-space:nowrap;gap:0;user-select:none;}
.marquee__track{display:flex;flex-shrink:0;gap:0;animation:marq var(--dur,32s) linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__track span{display:inline-flex;align-items:center;padding-inline:.4em;}
.marquee__track .dot{width:12px;height:12px;border-radius:50%;background:var(--blue);margin-inline:.5em;flex-shrink:0;}
@keyframes marq{to{transform:translateX(-50%);}}

/* ---------- Reveal animations ----------
   Content is visible by default, but JS-enabled browsers add `.motion-pending`
   early in <head> so the first paint starts from the animated state instead of
   flashing the final layout before motion begins. */
.reveal{opacity:1;}
.line-mask{overflow:hidden;display:block;padding-bottom:.16em;margin-bottom:-.16em;}
.line-mask > span{display:block;transform:none;}
.clip-img{clip-path:none;}
.clip-img img,.clip-img .ph{transform:none;}

html.motion-pending:not(.anim-on) .reveal{opacity:0;}
html.motion-pending:not(.anim-on) .line-mask > span{transform:translateY(106%);}
html.motion-pending:not(.anim-on) .clip-img{clip-path:inset(0 0 100% 0);}
html.motion-pending:not(.anim-on) .clip-img img,
html.motion-pending:not(.anim-on) .clip-img .ph{transform:scale(1.18);}

@keyframes revUp{from{opacity:0;transform:translateY(34px);}to{opacity:1;transform:none;}}
@keyframes lineUp{from{transform:translateY(106%);}to{transform:translateY(0);}}
@keyframes clipIn{from{clip-path:inset(0 0 100% 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes clipScale{from{transform:scale(1.18);}to{transform:scale(1);}}

html.anim-on .reveal{opacity:0;}
html.anim-on .reveal.in{animation:revUp 1s var(--ease) both;}
html.anim-on .reveal-d1{animation-delay:.08s;}
html.anim-on .reveal-d2{animation-delay:.16s;}
html.anim-on .reveal-d3{animation-delay:.24s;}
html.anim-on .reveal-d4{animation-delay:.32s;}
html.anim-on .line-mask > span{transform:translateY(106%);}
html.anim-on .line-mask.in > span{animation:lineUp 1.05s var(--ease-2) both;}
html.anim-on .clip-img{clip-path:inset(0 0 100% 0);}
html.anim-on .clip-img.in{animation:clipIn 1.2s var(--ease-2) both;}
html.anim-on .clip-img img,html.anim-on .clip-img .ph{transform:scale(1.18);}
html.anim-on .clip-img.in img,html.anim-on .clip-img.in .ph{animation:clipScale 1.4s var(--ease-2) both;}

@media (prefers-reduced-motion:reduce){
  html.anim-on .reveal,html.anim-on .line-mask>span,html.anim-on .clip-img,
  html.anim-on .clip-img img,html.anim-on .clip-img .ph{animation:none !important;opacity:1 !important;transform:none !important;clip-path:none !important;}
}

/* ---------- Image placeholders ---------- */
.ph{width:100%;height:100%;background:
  repeating-linear-gradient(135deg,var(--paper-2),var(--paper-2) 11px,var(--paper) 11px,var(--paper) 22px);
  display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-family:var(--f-mono);
  font-size:12px;letter-spacing:.05em;text-align:center;padding:20px;}
.ph.dark{background:
  repeating-linear-gradient(135deg,#16181d,#16181d 11px,#1d2027 11px,#1d2027 22px);color:rgba(255,255,255,.4);}
.ph.blue{background:
  repeating-linear-gradient(135deg,#16407a,#16407a 11px,#1b4a8d 11px,#1b4a8d 22px);color:rgba(255,255,255,.55);}

/* ---------- Sections: dark (brand blue) ---------- */
.dark-sec{background:var(--blue);color:#fff;}
.dark-sec .lead,.dark-sec .body-lg{color:rgba(255,255,255,.66);}
.dark-sec .muted{color:rgba(255,255,255,.45);}
.dark-sec .line,.dark-sec hr{border-color:rgba(255,255,255,.14);}

/* ---------- Service hover list (Stif-style) ---------- */
.svc-list{border-top:1px solid var(--line-strong);}
.svc-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;
  padding:clamp(26px,3.4vw,46px) 0;border-bottom:1px solid var(--line-strong);
  transition:padding-left .5s var(--ease),color .5s var(--ease);}
.svc-row__num{font-family:var(--f-mono);font-size:14px;color:var(--ink-3);transition:color .5s;}
.svc-row__title{font-family:var(--f-display);font-weight:700;font-size:clamp(26px,3.4vw,46px);
  letter-spacing:-.025em;line-height:1;transition:transform .5s var(--ease);}
.svc-row__meta{font-family:var(--f-mono);font-size:13px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;
  display:flex;align-items:center;gap:14px;transition:color .5s;}
.svc-row__arrow{transition:transform .5s var(--ease);}
.svc-row:hover{padding-left:clamp(14px,2vw,40px);color:var(--blue);}
.svc-row:hover .svc-row__num,.svc-row:hover .svc-row__meta{color:var(--blue);}
.svc-row:hover .svc-row__arrow{transform:translate(8px,-8px);}
/* floating hover preview */
.svc-hover-img{position:fixed;top:0;left:0;width:300px;height:210px;border-radius:12px;overflow:hidden;
  pointer-events:none;z-index:50;opacity:0;transform:translate(-50%,-50%) scale(.7);
  transition:opacity .4s var(--ease),transform .5s var(--ease);box-shadow:0 30px 70px -30px rgba(12,13,16,.5);}
.svc-hover-img.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
@media (max-width:900px){.svc-hover-img{display:none;}
  .svc-row{grid-template-columns:auto 1fr;}.svc-row__meta{display:none;}}

/* ---------- Cards ---------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,3vw,40px);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(12,13,16,.3);border-color:var(--line-strong);}

/* ---------- Footer ---------- */
.foot{background:var(--ink);color:#fff;padding-top:clamp(70px,9vw,130px);}
.foot a:hover{color:#fff;}
.foot .lead{color:rgba(255,255,255,.72);}
.foot .muted{color:rgba(255,255,255,.5);}
.foot__big{font-family:var(--f-display);font-weight:800;font-size:clamp(40px,8vw,118px);line-height:.86;
  letter-spacing:-.04em;color:#fff;}
.foot__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
@media (max-width:820px){.foot__cols{grid-template-columns:1fr;gap:34px;}}
.foot__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(50px,7vw,90px);padding:30px 0;
  font-family:var(--f-mono);font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.04em;}
.foot__logo{height:26px;}

/* utility */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}
.flex{display:flex;}
hr,.rule{border:none;border-top:1px solid var(--line-strong);margin:0;}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line-strong);
  border-radius:100px;color:var(--ink-2);}
.dark-sec .tag{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.7);}

/* testimonials (used on home + about) */
.tlist{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;
  gap:24px;padding-bottom:18px;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;}
.tlist .tcard{flex:0 0 clamp(330px,40%,460px);scroll-snap-align:start;}
.tlist::-webkit-scrollbar{height:6px;}
.tlist::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:100px;}
.tlist::-webkit-scrollbar-track{background:transparent;}
.tcard{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:16px;
  padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:22px;transition:transform .5s var(--ease),background .5s;}
.tcard:hover{background:rgba(255,255,255,.1);transform:translateY(-6px);}
.tstars{color:#fff;letter-spacing:3px;font-size:15px;}
.tcard blockquote{margin:0;font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:rgba(255,255,255,.92);flex:1;}
.tcard figcaption{display:flex;flex-direction:column;gap:3px;font-size:15px;}
.tcard figcaption .muted{font-size:13px;color:rgba(255,255,255,.55);}
@media (max-width:900px){.tlist .tcard{flex-basis:78%;}}

/* testimonials controls */
.treview-side{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:32ch;}
.treview-ctrls{display:flex;gap:12px;}
.tarrow{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;
  color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);}
.tarrow:hover{background:#fff;color:var(--ink);border-color:#fff;}
.tarrow:active{transform:scale(.94);}
.tarrow.is-disabled{opacity:.32;cursor:default;}
.tarrow.is-disabled:hover{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);}
@media (max-width:680px){.tarrow{width:48px;height:48px;}}

/* ============================================================
   Shared footer detail (all pages)
   ============================================================ */
.foot__lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.4);display:block;margin-bottom:20px;}
.foot__mail{display:block;font-family:var(--f-display);font-weight:600;font-size:clamp(20px,2vw,26px);
  letter-spacing:-.02em;margin-bottom:8px;transition:color .3s;}
.foot__links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.foot__links a{font-size:17px;color:rgba(255,255,255,.7);transition:color .3s;}
.foot__links a:hover{color:#fff;}

/* shared marquee strip */
.marq-sec{padding:26px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);}
.marq-sec .marquee__track span{font-family:var(--f-display);font-weight:700;font-size:clamp(26px,4vw,52px);
  letter-spacing:-.02em;color:#fff;}

/* ============================================================
   Inner page hero
   ============================================================ */
.phero{padding-top:clamp(130px,18vh,210px);padding-bottom:clamp(40px,5vw,70px);}
.phero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(36px,5vw,70px);align-items:end;}
@media (max-width:860px){.phero__grid{grid-template-columns:1fr;align-items:start;gap:30px;}}
.phero__index{font-family:var(--f-mono);font-size:13px;color:var(--blue);letter-spacing:.1em;}
.phero__title{font-weight:800;font-size:clamp(38px,6.2vw,100px);line-height:.92;letter-spacing:-.035em;margin-top:26px;}
.phero__lead{font-size:clamp(19px,1.7vw,27px);line-height:1.4;color:var(--ink-2);}
.phero__meta{display:flex;flex-direction:column;gap:18px;}
.phero__meta .mrow{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line-strong);}
.phero__meta .mrow:last-child{border-bottom:none;}
.phero__meta .mk{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);}
.phero__meta .mv{font-weight:600;text-align:right;}

/* big image band */
.imgband{position:relative;width:100%;aspect-ratio:16/7;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(180deg,#f8f9fc,#eef2fb);}
.imgband > img,
.imgband > iframe{width:100%;height:100%;display:block;border:0;}
.imgband > img{object-fit:cover;object-position:center;}
@media (max-width:700px){.imgband{aspect-ratio:4/3;}}

/* prose split */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:start;}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:24px;}}
.split__title{font-weight:800;font-size:clamp(28px,3.6vw,50px);line-height:1.02;letter-spacing:-.03em;}
.prose p{font-size:clamp(17px,1.35vw,21px);line-height:1.6;color:var(--ink-2);margin-bottom:1.1em;}
.prose p:last-child{margin-bottom:0;}
.dark-sec .prose p{color:rgba(255,255,255,.7);}

/* feature list */
.feat{border-top:1px solid var(--line-strong);}
.feat-row{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,60px);
  padding:clamp(26px,3vw,42px) 0;border-bottom:1px solid var(--line-strong);}
.feat-row__n{font-family:var(--f-mono);font-size:14px;color:var(--blue);}
.feat-row__t{font-weight:700;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;line-height:1.05;}
.feat-row__d{font-size:clamp(16px,1.2vw,19px);line-height:1.55;color:var(--ink-2);margin-top:12px;max-width:60ch;}
.dark-sec .feat-row,.dark-sec .feat{border-color:rgba(255,255,255,.14);}
.dark-sec .feat-row__d{color:rgba(255,255,255,.66);}
.feat-row__body{display:flex;flex-direction:column;}
@media (max-width:640px){.feat-row{grid-template-columns:1fr;gap:10px;}}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,50px);}
@media (max-width:760px){.statband{grid-template-columns:1fr;gap:30px;}}
.statband .s-v{font-family:var(--f-display);font-weight:800;font-size:clamp(40px,5vw,74px);line-height:.92;letter-spacing:-.04em;display:block;}
.statband .s-l{margin-top:14px;font-size:15px;max-width:26ch;}

/* related services */
.related{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:760px){.related{grid-template-columns:1fr;}}
.related a{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:var(--r);background:var(--white);
  transition:transform .5s var(--ease),border-color .5s,background .5s;}
.related a:hover{transform:translateY(-5px);border-color:var(--blue);}
.related a .rt{font-family:var(--f-display);font-weight:700;font-size:clamp(24px,3vw,40px);letter-spacing:-.02em;}
.related a .ra{font-size:24px;color:var(--blue);transition:transform .45s var(--ease);}
.related a:hover .ra{transform:translate(6px,-6px);}

/* generic section heading */
.sec-head2{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.cta-band{text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;}
.cta-band .display{color:inherit;}
.cta-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center;margin-top:12px;}
