

:root{

  --navy:        #1B3A8A;
  --cyan:        #00B5E2;
  --gray:        #6B6F76;
  --line:        #D9DDE1;
  --white:       #FFFFFF;


  --navy-deep:   #10245C;
  --navy-hover:  #142C69;
  --cyan-ink:    #00799B;
  --ink:         #22262B;
  --muted:       #4A5560;
  --wash:        #F4F6F8;
  --ink-deep:    #0E1117;


  --ff-display: 'Montserrat', 'Segoe UI', Tahoma, sans-serif;
  --ff-body:    'Open Sans', 'Segoe UI', Tahoma, sans-serif;

  --fs-micro: .8125rem;
  --fs-body:  1.0625rem;
  --fs-lead:  1.25rem;
  --fs-h4:    1.5625rem;
  --fs-h3:    1.9375rem;
  --fs-h2:    clamp(1.75rem, 1.2rem + 2.2vw, 2.4375rem);
  --fs-h1:    clamp(2.125rem, 1.15rem + 4vw, 3.5rem);
  --fs-figure: clamp(2.5rem, 1.4rem + 4.4vw, 4.25rem);

  --fs-figure-card: clamp(2.25rem, 1.83rem + 1.58vw, 2.8125rem);


  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem;
  --s6:2rem;   --s7:3rem;  --s8:4rem;   --s9:6rem; --s10:8rem;
  --gap-eyebrow: 12px;
  --sect-y: clamp(3.5rem, 2rem + 6vw, 6.5rem);
  --container: 1200px;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  --radius-btn: 3px;
  --rule: 1px solid var(--line);
  --dur: .22s;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:var(--ff-body); font-size:var(--fs-body); line-height:1.65;
  font-weight:400; -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; height:auto; display:block; }

h1,h2{ font-family:var(--ff-display); font-weight:700; letter-spacing:-.018em; margin:0; }
h3,h4,h5{ font-family:var(--ff-body); font-weight:600; letter-spacing:-.005em; margin:0; }
h1{ font-size:var(--fs-h1); line-height:1.08; }
h2{ font-size:var(--fs-h2); line-height:1.15; }
h3{ font-size:var(--fs-h3); line-height:1.25; }
h4{ font-size:var(--fs-h4); line-height:1.3; }
p{ margin:0 0 var(--s4); }
a{ color:var(--cyan-ink); text-decoration:none; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.sect{ padding-block:var(--sect-y); }
.sect--wash{ background:var(--wash); }
.sect--navy{ background:var(--navy-deep) !important; color:var(--white); }

.sect--wash{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.028'/%3E%3C/svg%3E");
}

.eyebrow{
  display:inline-block; position:relative;
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.14em; text-transform:uppercase; color:var(--gray);
  margin:0 0 var(--gap-eyebrow); padding-bottom:6px;
}
.eyebrow::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--cyan); }
.sect--navy .eyebrow,
.cta-band .eyebrow,
.hero .eyebrow{ color:var(--line); }
.sect--navy h2, .sect--navy h3{ color:var(--white); }
.sect--navy strong, .sect--navy .lede strong{ color:var(--cyan); }

.lede{ font-size:var(--fs-lead); line-height:1.6; color:var(--muted); max-width:62ch; }
.sect--navy .lede{ color:var(--line); }
.prose{ max-width:70ch; }
.prose p{ color:var(--muted); }
.measure-hero{ max-width:88ch; }

.btn{
  display:inline-flex; align-items:center; gap:.6em;
  min-height:48px; padding:.8rem 1.6rem;
  font-family:var(--ff-body); font-weight:600; font-size:1rem;
  letter-spacing:.055em; text-transform:uppercase;
  border-radius:var(--radius-btn); border:2px solid transparent;
  cursor:pointer; transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.btn__arrow{ display:inline-block; transition:transform var(--dur) var(--ease); }
.btn:hover .btn__arrow{ transform:translateX(5px); }

.btn--primary{ background:var(--navy); color:var(--white); border-color:var(--navy); }
.btn--primary:hover{ background:var(--navy-hover); border-color:var(--navy-hover); }
.btn--outline{ background:transparent; color:var(--navy); border-color:var(--navy); }
.btn--outline:hover{ background:var(--navy); color:var(--white); }

.btn--invert{ background:var(--white); color:var(--navy); border-color:var(--white); }
.btn--invert:hover{ background:var(--line); color:var(--navy-deep); }
.btn--ghost-light{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.55); }
.btn--ghost-light:hover{ background:var(--white); color:var(--navy); border-color:var(--white); }
.btn-row{ display:flex; flex-wrap:wrap; gap:var(--s4); margin-top:var(--s6); }

.tlink{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.1em; text-transform:uppercase; color:var(--cyan-ink);
  padding-bottom:4px; border-bottom:2px solid var(--cyan);
}
.tlink .btn__arrow{ transition:transform var(--dur) var(--ease); }
.tlink:hover .btn__arrow{ transform:translateX(5px); }
.sect--navy .tlink{ color:var(--cyan); border-bottom-color:var(--cyan); }

.rd__grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:2.5rem; align-items:end;
}
@media (max-width:1024px){
  .rd__grid{ grid-template-columns:1fr; gap:var(--s7); }
}

.rd__grid > *{ min-width:0; }

.rd__cards{ display:grid; gap:var(--s4); margin-top:var(--s6); }

.rd__card{
  background:var(--white); border:var(--rule); border-left:3px solid var(--navy);
  padding:var(--s4) var(--s5);
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4);
  align-items:center;
  transition:border-left-color var(--dur) var(--ease);
}

.rd__i{
  width:44px; height:44px; display:grid; place-items:center; border-radius:50%;
  color:var(--cyan-ink);
  background:rgba(0,181,226,.10); border:1px solid rgba(0,121,155,.22);
}
.rd__i svg{ width:22px; height:22px; }

.rd__i svg.rd__i--brand{ width:19px; height:19px; }
.rd__card:hover .rd__i{ background:rgba(0,181,226,.16); }
.rd__card:hover{ border-left-color:var(--cyan); }
.rd__k{
  display:block; font-weight:600; font-size:var(--fs-micro); letter-spacing:.12em;
  text-transform:uppercase; color:var(--gray);
  margin-bottom:var(--s2);
}

.rd__v{ margin:0; color:var(--ink); overflow-wrap:anywhere; }

.rd__fig{ margin:0; }
.rd__fig img{ display:block; width:100%; height:auto; border:var(--rule); }
.sect--wash .rd__card{ background:var(--white); }

.logo{ display:block; }
.logo svg{ display:block; height:100%; width:auto; }

.logo img{ display:block; height:100%; width:auto; }
.logo--onlight{
  --lg-w: var(--navy);
  --lg-s: var(--gray);
  --lg-so: 1;
  --lg-m: var(--cyan);
  --lg-r: #B6B5B7;
  --lg-ro: 1;
}
.logo--ondark{
  --lg-w: var(--white);
  --lg-s: var(--white);
  --lg-so: .65;
  --lg-m: var(--cyan);
  --lg-r: var(--white);
  --lg-ro: .318;
}

.hdr{ position:sticky; top:0; z-index:900; background:var(--white); border-bottom:var(--rule); }

.hdr__in{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; gap:var(--s5); min-height:84px; max-width:1350px; }

.hdr .logo{ height:56px; grid-column:1; justify-self:start; }

.nav{ display:flex; align-items:center; gap:clamp(2rem, 0.75rem + 2.2vw, 3rem);
  grid-column:2; justify-self:center; }
.nav__link{
  position:relative; font-family:var(--ff-body); font-weight:600; font-size:.9375rem;
  letter-spacing:.03em; color:var(--navy); padding:.4rem 0;
  display:inline-flex; align-items:center; gap:.4em;
}
.nav__link::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:2px;
  background:var(--cyan); transform:scaleX(0); transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.nav__link:hover::after,.nav__link[aria-current]::after{ transform:scaleX(1); }
.nav__chev{ width:9px; height:9px; flex:0 0 auto; }

.has-menu{ position:relative; }
.has-menu::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; }
.menu{

  position:absolute; top:100%; left:0; margin-top:14px;
  background:var(--white); border:var(--rule); border-top:3px solid var(--cyan);
  padding:var(--s3); opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
  box-shadow:0 18px 40px -18px rgba(16,36,92,.28);
}
.has-menu:hover .menu,.has-menu:focus-within .menu{ opacity:1; visibility:visible; transform:translateY(0); }
.menu__item{ display:block; padding:var(--s3) var(--s4); border-left:2px solid transparent; }
.menu__item:hover{ background:var(--wash); border-left-color:var(--cyan); }
.menu__t{ display:block; font-weight:600; font-size:.9375rem; color:var(--navy); margin-bottom:2px; }

.menu__s{ display:block; font-size:var(--fs-micro); color:var(--muted); line-height:1.45;
  white-space:nowrap; }
.menu__all{ border-top:var(--rule); margin-top:var(--s2); padding-top:var(--s2); }

.hdr__cta{ display:flex; align-items:center; gap:var(--s4);
  grid-column:3; justify-self:end; }

.burger{ display:none; }

.hero{
  background:var(--navy-deep) !important; color:var(--white);

  padding-block:clamp(3rem,2rem + 4.5vw,5rem) clamp(3rem,2rem + 3vw,4.5rem);
  position:relative; overflow:hidden; isolation:isolate;
}

.hero--tear{ padding-bottom:clamp(6.5rem,4rem + 7vw,10.75rem); }

.hero__bg{ position:absolute; inset:0; z-index:-3; pointer-events:none; }

.hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:74% 40%;
  opacity:.34;
  -webkit-mask-image:linear-gradient(100deg, transparent 0%, rgba(0,0,0,.14) 40%, rgba(0,0,0,.62) 74%, #000 100%);
          mask-image:linear-gradient(100deg, transparent 0%, rgba(0,0,0,.14) 40%, rgba(0,0,0,.62) 74%, #000 100%);
}

.hero__bg--low  img{ object-position:58% 84%; }
.hero__bg--high img{ object-position:84% 16%; }
.hero__bg--left img{ object-position:22% 48%; }
.hero__bg--wide img{ object-position:50% 55%; }

.hero::before{
  content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background-image:
    linear-gradient(to right,  rgba(255,255,255,.058) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.058) 1px, transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(125% 155% at 90% 10%, #000 0%, rgba(0,0,0,.5) 46%, transparent 80%);
          mask-image:radial-gradient(125% 155% at 90% 10%, #000 0%, rgba(0,0,0,.5) 46%, transparent 80%);
}

.hero::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(85% 115% at 93% 4%, rgba(0,181,226,.15) 0%, rgba(0,181,226,0) 60%),
    linear-gradient(105deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.08) 46%, rgba(0,0,0,0) 100%);
}

.hero__in{ position:relative; z-index:1; }

.hero__portrait{ display:none; }
@media (min-width:1201px){
  .hero__portrait{
    display:block; position:absolute; bottom:0; z-index:0; pointer-events:none;

    right:calc(max(0px, (100% - 1200px) / 2) + var(--gutter));

    height:clamp(430px, -315.5px + 60.9vw, 530px);
  }
  .hero__portrait img{ display:block; height:100%; width:auto; }
}

.hero h1{ color:var(--white); margin-bottom:var(--s5); max-width:26ch; }

h1,h2{ text-wrap:balance; }
.hero__sub{
  font-family:var(--ff-display); font-weight:600; font-size:var(--fs-h4);
  line-height:1.3; color:var(--cyan); margin:0 0 var(--s5); max-width:46ch;
}
.hero__intro{ color:var(--line); font-size:var(--fs-lead); line-height:1.6; max-width:66ch; }
.hero .btn-row{ margin-bottom:0; }

.tear{ background:var(--white); padding-block:0; }

.tear + .sect{ padding-top:clamp(2.5rem,1.5rem + 3vw,4rem); }
.tear__card{
  background:var(--white);
  border:var(--rule); border-top:3px solid var(--navy);

  margin-top:calc(-1 * clamp(2.5rem, 1.5rem + 3vw, 4.5rem));
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
}

.tear__cell{ padding:3.5rem 20px var(--s6); border-right:var(--rule); min-width:0; }
.tear__cell:last-child{ border-right:0; }
.tear__fig{
  display:block; font-family:var(--ff-display); font-weight:700;
  font-size:var(--fs-figure-card); line-height:.95; letter-spacing:-.03em;
  color:var(--navy);
  margin-bottom:var(--s4); white-space:nowrap;
}
.tear__lbl{
  display:block; font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
  margin-bottom:5px;
}
.tear__note{ display:block; font-size:var(--fs-micro); color:var(--muted); line-height:1.45; }

.tear__card--stats{

  gap:clamp(.625rem, .25rem + .75vw, .875rem);
  padding:clamp(.75rem, .4rem + 1vw, 1.25rem);
}
.tear__card--stats .stat{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:var(--s3); min-width:0;
  background:var(--wash); border:var(--rule); border-radius:var(--radius-btn);
  padding:clamp(1rem, .7rem + .8vw, 1.35rem) 12px;
  transition:border-color var(--dur) var(--ease);
}
.tear__card--stats .stat:hover{ border-color:#BFC6CD; }

.tear__card--stats .stat__i{
  display:grid; place-items:center; width:44px; height:44px; margin-bottom:var(--s2);
  border-radius:50%; color:var(--cyan-ink);
  background:rgba(0,181,226,.10); border:1px solid rgba(0,121,155,.22);
}
.tear__card--stats .stat__i svg{ width:22px; height:22px; }

.tear__card--stats .stat__fig{
  display:block; font-family:var(--ff-display); font-weight:700;
  font-size:1.875rem; line-height:1; letter-spacing:-.02em;
  color:var(--navy); white-space:nowrap;
}

.tear__card--stats .stat__lbl{
  display:block; font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink);
}
.tear__card--stats .stat__note{
  display:block; font-size:var(--fs-micro); line-height:1.45; color:var(--muted);
}

@media (max-width:1200px){
  .tear__card.tear__card--stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .tear__card.tear__card--stats{ grid-template-columns:minmax(0,1fr); }
}

@media (max-width:420px){
  .tear__card.tear__card--stats{ padding:.625rem; }
  .tear__card--stats .stat{ padding:1rem 8px; }
}

.tear__card.tear__card--stats.tear__card--3up{ grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:820px){
  .tear__card.tear__card--stats.tear__card--3up{ grid-template-columns:minmax(0,1fr); }
}

.prob__in{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,1rem + 4vw,4rem); align-items:center;
}

.prob__in--top{ align-items:start; }

.prob__in--stretch{ align-items:stretch; }
.prob__in--stretch .prob__fig{ aspect-ratio:auto; height:100%; }

@media (max-width:820px){
  .prob__in--stretch .prob__fig{ aspect-ratio:16/9; height:auto; }
}

.prose--wide{ max-width:none; }
.prob__copy .lede{ max-width:46ch; }
.prob__copy .pull{ max-width:38ch; }
.prob__fig{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.prob__fig img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.prob__fig--anchor-top img{ object-position:50% 0; }

@media (min-width:821px){
  .prob__fig--anchor-top{ margin-top:var(--s4); }
}
.prob__fig::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(210deg, rgba(16,36,92,.22), rgba(16,36,92,.04));
}

.pull{
  border-left:3px solid var(--cyan); padding-left:var(--s5); margin:var(--s6) 0 0;
  font-family:var(--ff-display); font-weight:600; font-size:var(--fs-h4);
  line-height:1.35; color:var(--navy); max-width:34ch;
}

.proc{ display:grid; gap:var(--s4); margin-top:var(--s7); }
.proc__step{
  display:grid; grid-template-columns:auto 1fr; gap:var(--s5);
  align-items:start;
  background:var(--white); border:var(--rule);
  border-left:3px solid var(--navy);
  padding:var(--s6);
  transition:border-left-color var(--dur) var(--ease);
}
.proc__step:hover{ border-left-color:var(--cyan); }
.proc__n{
  width:54px; height:54px; display:grid; place-items:center;
  background:var(--navy); color:var(--white);
  font-family:var(--ff-display); font-weight:700; font-size:1.25rem;
  line-height:1; letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  -webkit-user-select:none; user-select:none;
}
.proc__b h3{ color:var(--navy); font-size:var(--fs-h4); margin-bottom:var(--s3); }
.proc__b p{ margin-bottom:0; max-width:74ch; color:var(--muted); }

.panels{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); margin-top:var(--s7); }
.panel{
  background:var(--white); border:var(--rule); border-top:3px solid var(--navy);
  padding:0; overflow:hidden;
  display:flex; flex-direction:column;
  transition:border-top-color var(--dur) var(--ease);
}
.panel:hover{ border-top-color:var(--cyan); }

.panel__fig{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.panel__fig img{ width:100%; height:100%; object-fit:cover; }
.panel__fig::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(200deg, rgba(16,36,92,.28), rgba(16,36,92,.05));
}
.panel__b{ padding:var(--s6) var(--s5); display:flex; flex-direction:column; flex:1; }
.panel h3{ font-size:var(--fs-h4); color:var(--navy); margin-bottom:var(--s3); }
.panel p{ color:var(--muted); margin-bottom:0; }
.panels--center{ justify-content:center; }

.fcase{ display:grid; grid-template-columns:1.5fr 1fr; gap:0; margin-top:var(--s7); border:var(--rule); background:var(--white); }
.fcase__b{ padding:clamp(1.75rem,1rem + 2.4vw,3rem); display:flex; flex-direction:column; justify-content:center; }
.fcase__k{
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.12em; text-transform:uppercase; color:var(--cyan-ink); margin-bottom:var(--s3);
}
.fcase__b h3{ font-family:var(--ff-display); font-size:var(--fs-h3); color:var(--navy); line-height:1.2; margin-bottom:var(--s4); }
.fcase__fig{ position:relative; min-height:270px; overflow:hidden; }
.fcase__fig img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }

.fcase__fig::after{ content:""; position:absolute; inset:0; background:linear-gradient(200deg,rgba(16,36,92,.42),rgba(16,36,92,.06)); }

.cta-inline{ background:var(--navy) !important; color:var(--white); }
.cta-inline__in{ display:flex; align-items:center; justify-content:space-between; gap:var(--s6); flex-wrap:wrap; padding-block:var(--s6); }
.cta-inline p{ margin:0; font-family:var(--ff-display); font-weight:600; font-size:var(--fs-h4); line-height:1.3; color:var(--white); max-width:44ch; }

.cta-band{ background:var(--navy-deep) !important; color:var(--white); text-align:left; }
.cta-band__in{
  display:grid; grid-template-columns:minmax(0,1fr) 320px;
  gap:var(--s8); align-items:center;
}
.cta-band h2{ color:var(--white); max-width:26ch; margin-bottom:var(--s5); }
.cta-band .lede{ color:var(--line); max-width:none; margin-bottom:0; }
.cta-band__act{ display:flex; flex-direction:column; gap:var(--s4); align-items:stretch; }
.cta-band__act .btn{ justify-content:center; }
.cta-band__re{
  display:block; font-size:var(--fs-micro);
  letter-spacing:.08em; text-transform:uppercase; color:var(--cyan);
  font-weight:600;
}

.cta-band__act .cta-band__re{ text-align:center; }

.cta-band--stack .cta-band__head{
  display:grid; grid-template-columns:1.25fr 1fr; gap:var(--s8); align-items:start;
}
.cta-band--stack .cta-band__head .lede{ max-width:none; }
.cta-band--stack .cta-band__head h2{ max-width:none; }

.cta-band--stack{ padding-block:clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem); }
.cta-band--stack .cta-band__re{ margin-top:var(--s5); }

.cta-band--stack .btn-row{ justify-content:center; }
.cta-band--stack .cta-band__re{ text-align:center; }
@media (max-width:820px){
  .cta-band--stack .cta-band__head{ grid-template-columns:1fr; gap:var(--s4); }
}

.ftr{ background:var(--ink-deep); color:var(--line); padding-block:var(--s8) var(--s4); }
.ftr__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr; gap:var(--s6); }

.ftr .logo{ height:clamp(2.75rem, 1.25rem + 7.5vw, 3.125rem);
  margin-bottom:var(--s5); width:max-content; max-width:100%; }
.ftr__blurb{ font-size:.9375rem; color:var(--line); max-width:34ch; line-height:1.6; }
.ftr__col{ border-left:1px solid rgba(255,255,255,.12); padding-left:var(--s5); }
.ftr__h{
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.14em; text-transform:uppercase; color:var(--cyan);
  margin:0 0 var(--s4); padding-bottom:var(--s2); border-bottom:1px solid rgba(255,255,255,.12);
}
.ftr__col ul{ list-style:none; margin:0; padding:0; }

.ftr__col li{ margin-bottom:var(--s3); font-size:.9375rem; }
.ftr__col a{ color:var(--line); }
.ftr__col a:hover{ color:var(--cyan); }

.ftr__bot{
  margin-top:var(--s7); padding-top:var(--s5); border-top:1px solid rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:space-between; gap:var(--s5); flex-wrap:wrap;
}
.ftr__soc--col{ margin-top:var(--s5); }
.ftr__eb a{ display:inline-block; }
.ftr__eb img{ transition:opacity var(--dur) var(--ease); }
.ftr__eb a:hover img{ opacity:1; }
.ftr__legal{ font-size:var(--fs-micro); color:var(--line); }
.ftr__legal a{ color:var(--line); border-bottom:1px solid rgba(255,255,255,.28); }
.ftr__legal a:hover{ color:var(--cyan); border-bottom-color:var(--cyan); }

.ftr__col a.ftr__all{
  display:inline-flex; align-items:center; gap:var(--s2);
  padding:.5rem .625rem;
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.02em;
  color:var(--line);
  border:1px solid rgba(255,255,255,.28); border-radius:var(--radius-btn);
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}

@media (min-width:1120px){ .ftr__all{ white-space:nowrap; } }
.ftr__col a.ftr__all:hover{ background:var(--cyan); border-color:var(--cyan); color:var(--ink-deep); }
.ftr__all .btn__arrow{ transition:transform var(--dur) var(--ease); }
.ftr__all:hover .btn__arrow{ transform:translateX(3px); }
@media (prefers-reduced-motion:reduce){
  .ftr__all, .ftr__all .btn__arrow{ transition:none; }
  .ftr__all:hover .btn__arrow{ transform:none; }
}
.ftr__soc{ display:flex; gap:var(--s3); }
.ftr__soc a{
  width:40px; height:40px; border:1px solid rgba(255,255,255,.22);
  display:inline-flex; align-items:center; justify-content:center; color:var(--line);
  transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.ftr__soc a:hover{ background:var(--cyan); border-color:var(--cyan); color:var(--ink-deep); }
.ftr__soc svg{ width:17px; height:17px; fill:currentColor; }
.ftr__eb img{ height:26px; width:auto; opacity:.85; }

.mobilebar{
  display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:var(--navy-deep); border-top:3px solid var(--cyan);
}
.mobilebar a{
  flex:1; min-height:56px; display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--ff-body); font-weight:600; font-size:.875rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--white);
}
.mobilebar a.is-accent{ background:var(--cyan); color:var(--navy-deep); }
body{ padding-bottom:56px; }
@media (min-width:769px){
  .mobilebar{ display:none; }
  body{ padding-bottom:0; }
}

@media (max-width:1200px){

  .nav,.hdr__cta > .btn{ display:none; }
  .burger{
    display:inline-flex; align-items:center; justify-content:center;
    width:48px; height:48px; background:transparent; border:1px solid var(--line);
    border-radius:var(--radius-btn); cursor:pointer;
  }
  .burger svg{ width:20px; height:20px; fill:var(--navy); }

  .hdr__in{ grid-template-columns:auto minmax(0,1fr); }
  .hdr__cta{ grid-column:2; }

  .hdr .logo{ height:clamp(1.875rem, -1.4rem + 16.36vw, 3.5rem); }
  .drawer[hidden]{ display:none; }
  .drawer{
    border-top:var(--rule); background:var(--white);
    max-height:calc(100vh - 84px); overflow-y:auto;

    padding:var(--s4) var(--gutter) var(--s6);
  }

  .drawer a{
    display:block; padding:var(--s4) 0; border-bottom:var(--rule);
    font-weight:600; color:var(--navy); font-size:1.0625rem;
  }
  .drawer .sub a{ padding-left:var(--s5); font-weight:400; color:var(--muted); font-size:1rem; }

  .drawer .sub[hidden]{ display:none; }
  .drawer__row{ display:flex; align-items:center; gap:var(--s4); border-bottom:var(--rule); }
  .drawer__row > a{ flex:1; border-bottom:0; }
  .drawer__x{
    flex:0 0 auto; width:44px; height:44px;
    display:grid; place-items:center;
    background:none; border:0; padding:0; cursor:pointer; color:var(--navy);
  }
  .drawer__x svg{ width:14px; height:14px; transition:transform var(--dur) var(--ease); }
  .drawer__x[aria-expanded="true"] svg{ transform:rotate(180deg); }
  @media (prefers-reduced-motion:reduce){ .drawer__x svg{ transition:none; } }


  .drawer a.drawer__cta{
    display:flex; align-items:center; justify-content:center; gap:.6em;
    margin-top:var(--s5); padding:.85rem 1.25rem; min-height:48px;
    background:var(--navy); color:var(--white); border:0; border-radius:var(--radius-btn);
    font-weight:600; font-size:1rem; letter-spacing:.055em; text-transform:uppercase;
    transition:background var(--dur) var(--ease);
  }
  .drawer a.drawer__cta:hover{ background:var(--navy-hover); }
}
@media (max-width:900px){
  .ftr__top{ grid-template-columns:1fr 1fr; }
  .ftr__col:nth-child(2){ border-left:0; padding-left:0; }
}
@media (max-width:960px){

  .tear__card{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .tear__cell:nth-child(2n){ border-right:0; }
  .tear__cell:nth-child(n+3){ border-top:var(--rule); }
}
@media (max-width:820px){
  .panels{ grid-template-columns:1fr; }
  .fcase{ grid-template-columns:1fr; }
  .fcase__fig{ min-height:200px; order:-1; }
  .cta-inline__in{ flex-direction:column; align-items:flex-start; }

  .prob__in{ grid-template-columns:1fr; }
  .prob__copy .lede, .prob__copy .pull{ max-width:none; }

  .cta-band__in{ grid-template-columns:1fr; gap:var(--s6); }
  .cta-band__act{ align-items:flex-start; }

  .cta-band__act .cta-band__re{ text-align:left; }
}
@media (max-width:560px){
  .ftr__top{ grid-template-columns:1fr; }
  .ftr__col{ border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.12); padding-top:var(--s5); }

  .proc__step{ grid-template-columns:1fr; gap:var(--s4); padding:var(--s5); }
  .proc__n{ width:48px; height:48px; font-size:1.125rem; }

  .tear__cell{ padding:var(--s6) 18px var(--s5); }

  .hero__bg img{ opacity:.22; }

  .btn{ width:100%; justify-content:center; }
  ul{ padding-left:1.25rem; }
}

@media (max-width:420px){
  .tear__card{ grid-template-columns:1fr; }
  .tear__cell{ border-right:0; }
  .tear__cell + .tear__cell{ border-top:var(--rule); }
}
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
:focus-visible{ outline:3px solid var(--cyan); outline-offset:2px; }
.skip{
  position:absolute; left:-9999px; top:0; background:var(--navy); color:var(--white);
  padding:var(--s3) var(--s4); z-index:1000;
}
.skip:focus{ left:0; }
.vh{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.qindex{
  display:grid; grid-template-rows:repeat(4,auto); grid-auto-flow:column;
  grid-auto-columns:1fr; gap:0 var(--s7);
  margin-top:var(--s6); border-top:2px solid var(--navy);
}
.qindex__item{
  display:grid; grid-template-columns:2.6rem 1fr; gap:var(--s4);
  align-items:baseline; padding:var(--s4) 0; border-bottom:var(--rule);
  color:var(--ink); position:relative;
}
.qindex__n{
  font-weight:600; font-size:var(--fs-micro); letter-spacing:.08em;
  color:var(--cyan-ink);
}
.qindex__q{ font-size:1rem; line-height:1.45; color:var(--ink); position:relative; }
.qindex__q::after{
  content:""; position:absolute; left:0; bottom:-3px; width:100%; height:2px;
  background:var(--cyan); transform:scaleX(0); transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.qindex__item:hover .qindex__q::after,
.qindex__item:focus-visible .qindex__q::after{ transform:scaleX(1); }
.qindex__item:hover .qindex__n{ color:var(--navy); }

.qrun{ display:grid; gap:var(--s4); }

.qblock{

  display:grid; grid-template-columns:auto minmax(0,0.95fr) minmax(0,1.05fr);
  gap:var(--s5) var(--s6); align-items:start;
  background:var(--white); border:var(--rule);
  border-left:3px solid var(--navy);
  padding:var(--s6);
  scroll-margin-top:110px;
  transition:border-left-color var(--dur) var(--ease);
}
.qblock:hover{ border-left-color:var(--cyan); }

.qblock__n{
  width:54px; height:54px; display:grid; place-items:center;
  background:var(--navy); color:var(--white);
  font-family:var(--ff-display); font-weight:700; font-size:1.25rem;
  line-height:1; letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  -webkit-user-select:none; user-select:none;
}
.qblock__tag{
  display:inline-block; font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.13em; text-transform:uppercase; color:var(--cyan-ink);
  padding-bottom:5px; border-bottom:2px solid var(--cyan);
  margin-bottom:var(--gap-eyebrow);
}

.qblock__q{ min-width:0; }
.qblock h2{ font-size:var(--fs-h3); color:var(--navy); margin-bottom:0; }
.qblock__a{ color:var(--muted); margin:0; min-width:0; }
.qblock__a + .qblock__a{ margin-top:var(--s4); }

.blic{ display:grid; grid-template-columns:1fr 1fr;
  margin-top:var(--s7); border:var(--rule); background:var(--white); }

.blic__b{ padding:clamp(1.25rem, 0.75rem + 1.8vw, 2.25rem); display:flex; flex-direction:column; justify-content:center; }
.blic__b h2{ font-size:var(--fs-h3); color:var(--navy); margin-bottom:var(--s4); }
.blic__b p{ color:var(--muted); }

.blic__fig{ position:relative; min-height:0; overflow:hidden; }
.blic__fig img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blic__fig::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(200deg, rgba(16,36,92,.40), rgba(16,36,92,.05)); }

@media (max-width:1000px){

  .qblock{ grid-template-columns:auto minmax(0,1fr); }

  .qblock > *:not(.qblock__n){ grid-column:2; }
}
@media (max-width:900px){
  .qindex{ grid-template-rows:none; grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:1fr; }

  .blic{ grid-template-columns:1fr; }
  .blic__fig{ aspect-ratio:16/9; order:-1; }
}

@media (max-width:420px){
  .qblock h2{ font-size:var(--fs-h4); }
}
@media (max-width:560px){
  .qblock{ grid-template-columns:1fr; gap:var(--s4); padding:var(--s5); }

  .qblock > *:not(.qblock__n){ grid-column:auto; }
  .qblock__n{ width:48px; height:48px; font-size:1.125rem; }
  .qblock h2{ max-width:none; }
}

.tear__card--inline{ margin-top:var(--s7); }
.tear__card--3up{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.tear__card--2up{ grid-template-columns:repeat(2, minmax(0,1fr)); }

.tear__card--icons .tear__cell{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4);
  align-items:start;

  padding:var(--s6) var(--s5);
}
@media (max-width:560px){
  .tear__card--icons .tear__cell{ padding:var(--s5); }
}

@media (max-width:820px){
  .tear__card.tear__card--icons{ grid-template-columns:minmax(0,1fr); }
  .tear__card--icons .tear__cell{ border-right:0; }
  .tear__card--icons .tear__cell + .tear__cell{ border-top:var(--rule); }
}
@media (max-width:400px){
  .tear__card--icons .tear__cell{ grid-template-columns:minmax(0,1fr); gap:var(--s3); }
}

.tear__card--cred{ grid-template-columns:minmax(0,1fr); }
.cred__row{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  gap:var(--s5); align-items:start;
  padding:clamp(1.25rem, .9rem + 1.1vw, 1.75rem) clamp(1.25rem, .9rem + 1.1vw, 1.75rem);
}
.cred__row + .cred__row{ border-top:var(--rule); }

.cred__n{
  font-family:var(--ff-display); font-weight:500; font-size:clamp(2rem, 1.4rem + 1.9vw, 2.75rem);
  line-height:1; letter-spacing:-.01em; color:#8B95A1;
  font-variant-numeric:tabular-nums; user-select:none;
}

.cred__b{ display:flex; flex-direction:column; min-width:0;
  border-left:2px solid rgba(27,58,138,.22); padding-left:var(--s5); }
.cred__deg{
  font-family:var(--ff-display); font-weight:700; font-size:var(--fs-h4);
  line-height:1.1; letter-spacing:-.01em; color:var(--navy);
}
.cred__school{
  margin-top:6px; font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.06em; text-transform:uppercase; color:var(--cyan-ink);
}

.cred__school::after{
  content:""; display:block; width:34px; height:2px; margin-top:var(--s3);
  background:var(--line);
}
.cred__note{
  margin-top:var(--s3); font-size:var(--fs-micro); line-height:1.55; color:var(--muted);
  max-width:62ch;
}

.cred__logo{ display:grid; place-items:center; min-width:0; align-self:center; }
.cred__logo:empty{ display:none; }

.cred__logo img{ display:block; max-height:62px; width:auto; max-width:168px; }
@media (max-width:560px){


  .cred__row{ grid-template-columns:minmax(0,1fr); gap:var(--s3);
    justify-items:center; text-align:center; }

  .cred__b{ border-left:0; padding-left:0; align-items:center; }
  .cred__logo:not(:empty){ justify-self:center; margin-top:var(--s4); }

  .cred__school::after{ margin-inline:auto; }
}

.panels--2up{ grid-template-columns:repeat(2, minmax(0,1fr)); }

@media (min-width:821px){
  .proc--row{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--s5); }
  .proc--row .proc__step{
    grid-template-columns:minmax(0,1fr); gap:var(--s4);

    padding:var(--s6) var(--s5);
  }
}
.panels--1up{ grid-template-columns:minmax(0,1fr); }

.defs{ margin-top:var(--s6); border-top:2px solid var(--navy); }
.defs__row{
  display:grid; grid-template-columns:170px 1fr; gap:var(--s5);
  padding:var(--s4) 0; border-bottom:var(--rule); align-items:baseline;
}
.defs__k{
  font-weight:600; font-size:var(--fs-micro); letter-spacing:.12em;
  text-transform:uppercase; color:var(--gray);
}
.defs__v{ margin:0; color:var(--ink); }
.sect--navy .defs{ border-top-color:rgba(255,255,255,.3); }
.sect--navy .defs__row{ border-bottom-color:rgba(255,255,255,.18); }
.sect--navy .defs__k{ color:var(--line); }
.sect--navy .defs__v{ color:var(--white); }

.byline{
  margin-top:var(--s7); padding-top:var(--s5);
  border-top:2px solid var(--navy);
  display:grid; grid-template-columns:auto 1fr; gap:var(--s5); align-items:start;
}
.byline__k{
  font-weight:600; font-size:var(--fs-micro); letter-spacing:.12em;
  text-transform:uppercase; color:var(--gray); white-space:nowrap;
}
.byline p{ margin:0; color:var(--muted); max-width:78ch; }

@media (max-width:820px){
  .panels--2up{ grid-template-columns:minmax(0,1fr); }
  .tear__card--3up,.tear__card--2up{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .defs__row{ grid-template-columns:1fr; gap:var(--s1); }
  .byline{ grid-template-columns:1fr; gap:var(--s3); }
  .tear__card--3up,.tear__card--2up{ grid-template-columns:minmax(0,1fr); }
}

:root{
  --cs-overlap: clamp(2.5rem, 1.5rem + 3vw, 4rem);
  --cs-rail:    290px;

  --cs-measure: 40rem;
  --cs-stick:   109px;
}

.cshero{ position:relative; isolation:isolate; overflow:hidden;
  background:var(--navy-deep); color:var(--white);
  padding-block:clamp(2.25rem, 1.25rem + 3vw, 3.5rem) calc(var(--cs-overlap) + var(--s7)); }

.cshero::after{ content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(85% 115% at 93% 4%, rgba(0,181,226,.15) 0%, rgba(0,181,226,0) 60%),
    linear-gradient(105deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.08) 46%, rgba(0,0,0,0) 100%); }
.cshero__in{ position:relative; z-index:1; }
.cshero h1{ margin:0; font-size:var(--fs-h1); line-height:1.08; max-width:19ch;
  letter-spacing:-.015em; }

.crumb{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2);
  font-size:var(--fs-micro); color:var(--line); margin-bottom:var(--s5); }
.crumb a{ color:var(--line); text-decoration:none; border-bottom:1px solid rgba(217,221,225,.4); }
.crumb a:hover{ color:var(--white); border-bottom-color:var(--white); }
.crumb__sep{ opacity:.55; }
.crumb [aria-current]{ color:rgba(255,255,255,.75); }

.cshero__tag{ display:inline-block; margin:0 0 var(--s5);
  font:600 var(--fs-micro)/1 var(--ff-display); letter-spacing:.14em; text-transform:uppercase;
  color:var(--white); background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.24);
  padding:9px 14px; border-radius:var(--radius-btn); }

.csresult{ position:relative; z-index:3; margin-top:calc(-1 * var(--cs-overlap));
  background:var(--white); border:var(--rule);
  box-shadow:0 26px 64px -30px rgba(16,36,92,.42);
  padding:clamp(1.5rem, .9rem + 2.2vw, 2.5rem); }
.csresult__k{ margin:0; font:600 var(--fs-micro)/1 var(--ff-display);
  letter-spacing:.14em; text-transform:uppercase; color:var(--cyan-ink); }
.csresult__grid{ display:grid; gap:var(--s5); margin-top:var(--s5);
  grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:700px){
  .csresult__grid{ grid-template-columns:minmax(0,1fr); }
}

@media (min-width:701px){
  .csresult__grid > * + *{ padding-left:var(--s5); border-left:var(--rule); }
}

.csfig{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4); align-items:start; }
.csfig__v{ display:block; font:700 var(--fs-figure-card)/1 var(--ff-display);
  color:var(--navy); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.csfig__k{ display:block; margin-top:var(--s3);
  font:600 var(--fs-micro)/1.3 var(--ff-display); letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink); }
.csfig__n{ display:block; margin-top:6px; font-size:var(--fs-micro); line-height:1.5; color:var(--muted); }

.cspoint{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4); align-items:start; }
.cspoint__i{ width:42px; height:42px; display:grid; place-items:center;
  background:var(--wash); border:var(--rule); border-radius:var(--radius-btn); color:var(--navy); }
.cspoint__i svg{ width:22px; height:22px; }
.cspoint__h{ margin:0; font:700 var(--fs-h4)/1.2 var(--ff-display); color:var(--navy);
  letter-spacing:-.01em; }
.cspoint__n{ margin:6px 0 0; font-size:var(--fs-micro); line-height:1.55; color:var(--muted); }

.csbody{ padding-block:clamp(2.5rem, 1.5rem + 4vw, 4.5rem); }
.csbody__in{ display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s7); }
@media (min-width:1000px){
  .csbody__in{ grid-template-columns:var(--cs-rail) minmax(0,1fr);
    gap:clamp(3rem, 1rem + 5vw, 5.5rem); align-items:start; }
  .csrail{ position:sticky; top:var(--cs-stick); }
}
.csfacts{ border:var(--rule); background:var(--wash); padding:var(--s5); }
.csfacts__k{ margin:0 0 var(--s4); font:600 var(--fs-micro)/1 var(--ff-display);
  letter-spacing:.14em; text-transform:uppercase; color:var(--cyan-ink); }
.csfacts dl{ margin:0; }
.csfacts dt{ font:600 var(--fs-micro)/1.3 var(--ff-display); letter-spacing:.08em;
  text-transform:uppercase; color:var(--gray); }
.csfacts dd{ margin:5px 0 0; font-size:.9375rem; line-height:1.55; color:var(--ink); }
.csfacts dd + dt{ margin-top:var(--s4); padding-top:var(--s4); border-top:var(--rule); }

.csrail .btn{ width:100%; justify-content:center; margin-top:var(--s5); }
.csrail__re{ margin:var(--s3) 0 0; font-size:var(--fs-micro); color:var(--gray); text-align:center; }

.csart > * + *{ margin-top:clamp(2.5rem, 1.5rem + 3vw, 4rem); }

.cshead{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4);
  align-items:baseline; margin-bottom:var(--s5); padding-bottom:var(--s4);
  border-bottom:var(--rule); }
.cshead__n{ font:700 var(--fs-micro)/1 var(--ff-display); letter-spacing:.1em;
  color:var(--cyan-ink); font-variant-numeric:tabular-nums; }
.cshead h2{ margin:0; font-size:var(--fs-h3); line-height:1.15; letter-spacing:-.015em; color:var(--ink); }
.csart .lede{ max-width:var(--cs-measure); }
.cssit p{ max-width:var(--cs-measure); }

.csteps{ margin-top:var(--s6); }
.csstep{ position:relative; display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:var(--s5); padding-bottom:var(--s7); }
.csstep:last-child{ padding-bottom:0; }

.csstep:not(:last-child)::before{ content:""; position:absolute; left:26px; top:60px; bottom:8px;
  width:1px; background:var(--line); }
.csstep__i{ position:relative; z-index:1; width:52px; height:52px; display:grid; place-items:center;
  background:var(--white); border:var(--rule); border-radius:var(--radius-btn); color:var(--navy); }
.csstep__i svg{ width:26px; height:26px; }
.csstep__n{ display:block; font:600 var(--fs-micro)/1 var(--ff-display); letter-spacing:.14em;
  text-transform:uppercase; color:var(--cyan-ink); margin-bottom:8px; }
.csstep h3{ margin:0; font-size:var(--fs-h4); line-height:1.25; letter-spacing:-.01em; color:var(--ink); }
.csstep p{ margin:var(--s3) 0 0; color:var(--muted); max-width:62ch; }
@media (max-width:520px){
  .csstep{ grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .csstep:not(:last-child)::before{ display:none; }
  .csstep__i{ width:46px; height:46px; }
  .csstep__i svg{ width:23px; height:23px; }
}

.csout{ position:relative; overflow:hidden; background:var(--ink-deep); color:var(--white);
  padding:clamp(1.5rem, .9rem + 2.2vw, 2.5rem); }
.csout .cshead{ border-bottom-color:rgba(255,255,255,.16); }
.csout .cshead h2{ color:var(--white); }
.csout .cshead__n{ color:var(--cyan); }
.csout p{ position:relative; z-index:1; color:var(--line); }

.csout .lede, .csout > p{ max-width:var(--cs-measure); }
.csout p + p{ margin-top:var(--s4); }

.csout__mark{ position:absolute; right:-40px; bottom:-46px; width:230px; height:230px;
  color:var(--cyan); opacity:.10; pointer-events:none; z-index:0; }
@media (max-width:900px){ .csout__mark{ display:none; } }

.csmidcta{ display:none; }
@media (max-width:999px){
  .csmidcta{ display:block; background:var(--navy); color:var(--white); padding:var(--s5); }
  .csmidcta p{ margin:0 0 var(--s4); color:var(--white); font-size:var(--fs-lead);
    line-height:1.45; max-width:38ch; }

  .csmidcta .btn{ width:100%; justify-content:center; }
}

.csauthor{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s5);
  align-items:start; border:var(--rule); background:var(--wash); padding:var(--s5); }
.csauthor__mono{ width:64px; height:64px; display:grid; place-items:center;
  background:var(--navy); color:var(--white); border-radius:var(--radius-btn);
  font:700 1.375rem/1 var(--ff-display); letter-spacing:.02em; }
.csauthor__k{ margin:0 0 6px; font:600 var(--fs-micro)/1 var(--ff-display);
  letter-spacing:.14em; text-transform:uppercase; color:var(--cyan-ink); }
.csauthor p{ margin:0; color:var(--muted); font-size:.9375rem; line-height:1.6; }
@media (max-width:520px){ .csauthor{ grid-template-columns:minmax(0,1fr); } }

.csmore{ display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:var(--s5);
  margin-top:var(--s6); }
.csmore__card{ grid-column:span 2; }

.csmore__card:nth-child(3n+1):nth-last-child(2){ grid-column:2 / span 2; }
.csmore__card:nth-child(3n+1):last-child{ grid-column:3 / span 2; }

@media (max-width:1024px){
  .csmore{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .csmore__card:nth-child(3n+1):nth-last-child(2),
  .csmore__card:nth-child(3n+1):last-child{ grid-column:span 2; }
  .csmore__card:nth-child(2n+1):last-child{ grid-column:2 / span 2; }
}

@media (max-width:760px){
  .csmore{ grid-template-columns:minmax(0,1fr); }
  .csmore__card,
  .csmore__card:nth-child(3n+1):nth-last-child(2),
  .csmore__card:nth-child(3n+1):last-child,
  .csmore__card:nth-child(2n+1):last-child{ grid-column:auto; }
}
.csmore__card{ position:relative; display:flex; flex-direction:column; background:var(--white);
  border:var(--rule); overflow:hidden;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
             border-color var(--dur) var(--ease); }
.csmore__card:hover{ transform:translateY(-3px); border-color:#BFC6CD;
  box-shadow:0 18px 42px -22px rgba(16,36,92,.38); }
.csmore__fig{ margin:0; aspect-ratio:16/9; overflow:hidden; background:var(--wash); }
.csmore__fig img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s var(--ease); }
.csmore__card:hover .csmore__fig img{ transform:scale(1.035); }
.csmore__b{ padding:var(--s5); display:flex; flex-direction:column; gap:var(--s3); flex:1; }
.csmore__tag{ margin:0; font:600 var(--fs-micro)/1.3 var(--ff-display); letter-spacing:.1em;
  text-transform:uppercase; color:var(--cyan-ink); }

.csmore__b h3{ margin:0; font-size:1.375rem; line-height:1.25; letter-spacing:-.01em;
  color:var(--ink); }

.csmore__cta, .qblock__cta{
  display:inline-flex; align-items:center; gap:var(--s3);
  font-family:var(--ff-body); font-weight:600; font-size:var(--fs-micro);
  letter-spacing:.08em; text-transform:uppercase; color:var(--navy);
}

.csmore__cta{ align-self:flex-start; margin-top:auto; padding-top:var(--s4); }
.csmore__cta .btn__arrow, .qblock__cta .btn__arrow{
  display:grid; place-items:center; width:32px; height:32px; flex:0 0 auto;
  border:var(--rule); border-radius:var(--radius-btn);
  transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease),
             color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.csmore__card:hover .csmore__cta .btn__arrow,
.qblock:hover .qblock__cta .btn__arrow,
.qblock__cta:hover .btn__arrow{
  background:var(--navy); border-color:var(--navy); color:var(--white); transform:translateX(3px);
}

.csmore__card a.csmore__cta::after{ content:""; position:absolute; inset:0; }

@media (prefers-reduced-motion:reduce){
  .csmore__card, .csmore__fig img{ transition:none; }
  .csmore__card:hover{ transform:none; }
  .csmore__card:hover .csmore__fig img{ transform:none; }
  .csmore__cta .btn__arrow, .qblock__cta .btn__arrow{ transition:none; }
  .qblock:hover .qblock__cta .btn__arrow{ transform:none; }
  .csmore__card:hover .csmore__cta .btn__arrow{ transform:none; }
}

.qrun--cases .qblock__tag{
  display:inline-block; padding:6px 10px; margin-bottom:var(--gap-eyebrow);
  background:var(--wash); border:var(--rule); border-radius:var(--radius-btn);
  color:var(--muted); letter-spacing:.1em;
}

@media (max-width:1200px){
  .hero{ display:flex; flex-direction:column; }
  .hero__portrait{
    display:block; order:1; align-self:center;
    width:min(260px, 58%); margin-top:var(--s6);
  }
  .hero__portrait img{ display:block; width:100%; height:auto; }

  .hero--tear{ padding-bottom:0; }
}

.rev{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--s5);
  margin-top:var(--s6); }
@media (max-width:900px){ .rev{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

@media (max-width:620px){ .rev{ grid-template-columns:minmax(0,1fr); } }
.rev__note{ margin-top:var(--s4); color:var(--muted); }
.rev__card{
  background:var(--white); border:var(--rule); border-top:3px solid var(--cyan);
  padding:var(--s5); display:flex; flex-direction:column; gap:var(--s4); min-width:0;
}

.rev__t{ margin:0; }
.rev__q{
  font-family:var(--ff-display); font-weight:700; font-size:2.5rem; line-height:.7;
  color:var(--cyan-ink);
  -webkit-user-select:none; user-select:none;
}
.rev__skel{ display:grid; gap:var(--s3); }
.rev__bar{ height:12px; background:var(--wash); border:var(--rule); border-radius:2px; }
.rev__bar:nth-child(2){ width:92%; }
.rev__bar:nth-child(3){ width:64%; }

.rev__pending, .rev__by{
  margin:auto 0 0; padding-top:var(--s4); border-top:var(--rule);
  min-height:calc(2.6em + var(--s4) + 1px);
  font:600 var(--fs-micro)/1.3 var(--ff-display); letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}

@media (max-width:900px){
  .ftr__bot{ flex-direction:column; align-items:center;
    margin-top:var(--s5); gap:var(--s2); padding-top:var(--s4); }
  .ftr__legal{ text-align:center; }
}
