:root{
  --navy:#10243A;
  --navy-deep:#0A1826;
  --sage:#EDF2EC;
  --sage-deep:#C9D8C6;
  --white:#FFFFFF;
  --body:#2B3A46;
  --muted:#66757F;
  --onnavy:#F4F8F3;
  --wrap:1200px;
  --pad:clamp(4rem,8vw,7.5rem);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--white);color:var(--body);
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img,svg,video,iframe{max-width:100%;height:auto;}
h1,h2,h3{font-family:Montserrat,system-ui,sans-serif;color:var(--navy);margin:0 0 .6em;letter-spacing:-.02em;line-height:1.06;}
p{margin:0 0 1.1em;}
a{color:var(--navy);}
ul,ol{margin:0;padding:0;list-style:none;}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px;}
.sr,.searchbar__label,.drawer__search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
.hero :focus-visible,.roundup :focus-visible,.ftr :focus-visible,.drawer :focus-visible,.ticker :focus-visible{outline-color:var(--sage);}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--navy);color:var(--onnavy);
  padding:.7rem 1.1rem;border-radius:99px;font-family:Montserrat;font-weight:600;font-size:.8rem;transition:top .2s;}
.skip:focus{top:12px;}

/* buttons + bits */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:Montserrat;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;
  padding:.95rem 1.5rem;border-radius:99px;text-decoration:none;border:2px solid transparent;
  min-height:48px;transition:transform .2s,background .2s,color .2s,box-shadow .2s;cursor:pointer;text-align:center;}
.btn--primary{background:var(--navy);color:var(--onnavy);}
.btn--primary:hover{background:var(--navy-deep);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(16,36,58,.7);}
.btn--sage{background:var(--sage);color:var(--navy);box-shadow:0 18px 34px -20px rgba(0,0,0,.6);}
.btn--sage:hover{background:var(--white);transform:translateY(-2px);}
.btn--block{display:flex;width:100%;}
.pill{display:inline-block;background:var(--navy);color:var(--onnavy);border-radius:99px;
  font-family:Montserrat;font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.55rem 1.05rem;margin:0 0 1.2rem;}
.pill--onnavy{background:var(--sage);color:var(--navy);}
.tlink{display:inline-flex;align-items:center;font-family:Montserrat;font-weight:600;font-size:.9rem;
  color:var(--navy);text-decoration:none;border-bottom:2px solid var(--sage-deep);padding-bottom:2px;}
.tlink:hover{border-bottom-color:var(--navy);}
.tlink--sm{font-size:.8rem;}
.tlink--onnavy{color:var(--onnavy);border-bottom-color:rgba(244,248,243,.45);}
.tlink--onnavy:hover{border-bottom-color:var(--sage);}
.chip{display:inline-block;font-family:Montserrat;font-weight:600;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--navy);background:var(--sage);border:1px solid var(--sage-deep);
  border-radius:99px;padding:.3rem .6rem;}

/* ticker */
.ticker{background:var(--navy-deep);color:rgba(244,248,243,.82);}
.ticker__in{display:flex;flex-wrap:wrap;gap:.25rem .7rem;justify-content:center;
  font-family:Montserrat;font-weight:600;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;padding:.55rem 22px;}
.ticker__dot{color:var(--sage-deep);}

/* header */
.hdr{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--sage-deep);transition:box-shadow .25s;}
.hdr__in{display:flex;align-items:center;gap:1rem;padding-top:1rem;padding-bottom:1rem;transition:padding .25s;}
.hdr.is-stuck{box-shadow:0 12px 34px -24px rgba(16,36,58,.6);}
.hdr.is-stuck .hdr__in{padding-top:.5rem;padding-bottom:.5rem;}
.brand{flex:0 0 auto;display:block;min-width:0;}
.brand img{width:230px;display:block;transition:width .25s;}
.hdr.is-stuck .brand img{width:190px;}
.nav{margin-left:auto;min-width:0;}
.nav__list{display:flex;gap:1.4rem;}
.nav__list a{font-family:Montserrat;font-weight:600;font-size:.84rem;text-decoration:none;color:var(--navy);
  position:relative;padding:.3rem 0;}
.nav__list a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--navy);transition:right .28s;}
.nav__list a:hover::after{right:0;}
.hdr__tools{display:flex;align-items:center;gap:.45rem;margin-left:auto;}
.iconbtn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--sage-deep);
  background:var(--white);border-radius:50%;cursor:pointer;color:var(--navy);flex:0 0 auto;}
.iconbtn:hover{background:var(--sage);}
.iconbtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.social{display:flex;gap:.15rem;flex-wrap:wrap;}
.social a{display:grid;place-items:center;width:42px;height:42px;color:var(--navy);border-radius:50%;}
.social a:hover{background:var(--sage);}
.social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;}
.hdr__cta{padding:.8rem 1.05rem;font-size:.7rem;}
.burger{display:none;width:46px;height:46px;border:1px solid var(--sage-deep);background:var(--white);
  border-radius:12px;cursor:pointer;padding:0;flex:0 0 auto;}
.burger span{display:block;width:20px;height:2px;background:var(--navy);margin:4px auto;}
.searchbar{background:var(--sage);border-top:1px solid var(--sage-deep);}
.searchbar__in{display:flex;gap:.6rem;padding-top:.9rem;padding-bottom:.9rem;}
.searchbar input{flex:1;min-width:0;border:1px solid var(--sage-deep);background:var(--white);border-radius:99px;
  padding:.75rem 1.1rem;font:inherit;color:var(--body);}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(10,24,38,.6);z-index:95;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,90%);background:var(--navy);color:var(--onnavy);
  z-index:100;padding:1.1rem 1.2rem 2rem;overflow-y:auto;box-shadow:-30px 0 60px -30px rgba(0,0,0,.8);}
.drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;}
.drawer__eyebrow{font-family:Montserrat;font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);}
.iconbtn--close{background:transparent;border-color:rgba(244,248,243,.35);color:var(--onnavy);}
.iconbtn--close:hover{background:rgba(244,248,243,.12);}
.drawer__list{margin-bottom:1.4rem;}
.drawer__list a{display:block;padding:.9rem 0;border-bottom:1px solid rgba(201,216,198,.22);
  font-family:Montserrat;font-weight:600;font-size:1rem;color:var(--onnavy);text-decoration:none;}
.drawer__search{margin:1.2rem 0;}
.drawer__search input{width:100%;border:1px solid rgba(201,216,198,.4);background:rgba(255,255,255,.07);
  color:var(--onnavy);border-radius:99px;padding:.8rem 1.05rem;font:inherit;}
.drawer__search input::placeholder{color:rgba(244,248,243,.6);}
.social--drawer a{color:var(--onnavy);border:1px solid rgba(201,216,198,.3);}
.social--drawer a:hover{background:rgba(244,248,243,.12);}

/* hero */
.hero{background:var(--navy);color:var(--onnavy);position:relative;overflow:hidden;
  padding:clamp(3rem,6.5vw,6rem) 0 clamp(3.5rem,8vw,7rem);}
.hero__glow{position:absolute;top:-30%;right:-15%;width:min(760px,110%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(201,216,198,.16),rgba(201,216,198,0) 68%);pointer-events:none;}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(201,216,198,.25);}
.hero__in{position:relative;display:grid;gap:clamp(2.2rem,4vw,3rem);align-items:center;}
.hero h1{color:var(--onnavy);font-weight:800;font-size:clamp(2.35rem,6vw,4.5rem);line-height:1.02;max-width:16ch;}
.hero__lede{font-size:clamp(1.05rem,1.5vw,1.1875rem);color:rgba(244,248,243,.94);max-width:56ch;}
.hero__sub{color:rgba(244,248,243,.7);max-width:52ch;}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.6rem;margin-top:1.6rem;}
.hero__art{position:relative;min-width:0;}
.hero__artfield{background:var(--white);border:1px solid var(--sage-deep);border-radius:26px;
  padding:clamp(.9rem,2.2vw,1.7rem);box-shadow:0 50px 90px -50px rgba(0,0,0,.9);}
.hero__artfield img{display:block;width:100%;}
.hero__caption{margin:.9rem 0 0;font-family:Montserrat;font-weight:600;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sage-deep);}

/* press */
.press{padding:clamp(2rem,4vw,3rem) 0;background:var(--white);border-bottom:1px solid var(--sage-deep);}
.press__in{display:grid;gap:1.4rem;align-items:center;}
.press__label{font-family:Montserrat;font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0;}
.press__logos{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 1rem;align-items:center;}
.press__logos li{display:flex;justify-content:center;min-width:0;}
.press__logos img{width:100%;max-width:150px;opacity:.5;filter:grayscale(1);transition:opacity .25s,filter .25s;}
.press__logos img:hover{opacity:1;filter:grayscale(0);}

/* diff */
.diff{background:var(--sage);padding:var(--pad) 0;position:relative;overflow:hidden;}
.diff__in{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:center;}
.diff__copy h2{font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch;}
.diff__copy p{max-width:56ch;}
.diff__copy .btn{margin-top:.6rem;}
.diff__art{margin:0;background:var(--white);border:1px solid var(--sage-deep);border-radius:24px;
  padding:1rem;box-shadow:0 40px 70px -46px rgba(16,36,58,.6);}
.diff__art img{display:block;width:100%;}
.diff__art figcaption{margin-top:.7rem;padding:0 .4rem .2rem;font-family:Montserrat;font-weight:600;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* trust */
.trust{background:var(--white);padding:var(--pad) 0;}
.trust__head{max-width:68ch;margin-bottom:clamp(2rem,4vw,3.4rem);}
.trust__head h2{font-size:clamp(1.9rem,3.6vw,3rem);}
.trust__standfirst{font-size:1.125rem;color:var(--body);}
.rail{border-top:2px solid var(--navy);}
.rail__step{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.2rem;align-items:start;
  padding:1.7rem 0;border-bottom:1px solid var(--sage-deep);transition:background .25s;}
.rail__num{font-family:Montserrat;font-weight:800;font-size:clamp(2.2rem,5vw,3.6rem);line-height:.9;color:var(--sage-deep);}
.rail__body h3{font-size:clamp(1.1rem,2vw,1.5rem);margin-bottom:.4em;}
.rail__body p{max-width:62ch;color:var(--muted);margin:0;}
.trust__cta{margin-top:2.2rem;}

/* article index */
.index{background:var(--sage);padding:var(--pad) 0;}
.index__head{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-end;justify-content:space-between;
  margin-bottom:clamp(2rem,4vw,3rem);}
.index__head h2{font-size:clamp(1.9rem,3.6vw,3rem);margin:0;}
.index__grid{display:grid;gap:clamp(2rem,4vw,3rem);}
.lead{background:var(--white);border:1px solid var(--sage-deep);border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;min-width:0;
  box-shadow:0 30px 60px -46px rgba(16,36,58,.55);}
.lead:hover{transform:translateY(-4px);box-shadow:0 34px 60px -34px rgba(16,36,58,.55);}
.lead__media{display:block;overflow:hidden;background:var(--sage);}
.lead__media img{display:block;width:100%;height:clamp(230px,38vw,400px);object-fit:cover;object-position:center 25%;
  transition:transform .5s;}
.lead:hover .lead__media img{transform:scale(1.05);}
.lead__body{padding:clamp(1.3rem,2.5vw,2rem);}
.lead__index{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;flex-wrap:wrap;}
.lead__num{font-family:Montserrat;font-weight:800;font-size:1.4rem;color:var(--sage-deep);}
.lead__body h3{font-size:clamp(1.4rem,2.6vw,2.05rem);}
.lead__body h3 a,.row__body h3 a{color:var(--navy);text-decoration:none;}
.lead__body h3 a:hover,.row__body h3 a:hover{text-decoration:underline;text-underline-offset:4px;}
.excerpt{color:var(--muted);}
.rows{border-top:2px solid var(--navy);}
.row{display:grid;grid-template-columns:auto 74px 1fr;gap:.7rem .9rem;align-items:center;
  padding:1.1rem 0;border-bottom:1px solid var(--sage-deep);min-width:0;}
.row__num{font-family:Montserrat;font-weight:800;font-size:1.2rem;color:var(--sage-deep);}
.row__thumb{display:block;width:74px;height:74px;border-radius:14px;overflow:hidden;background:var(--white);flex:0 0 auto;}
.row__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.row:hover .row__thumb img{transform:scale(1.08);}
.row__body{min-width:0;}
.row__body h3{font-size:1.0625rem;margin-bottom:.3em;}
.row__body .excerpt{font-size:.95rem;margin-bottom:.4em;}

/* roundup */
.roundup{background:var(--navy);color:var(--onnavy);padding:var(--pad) 0;position:relative;overflow:hidden;}
.roundup__ghost{position:absolute;right:-2%;top:-6%;font-family:Montserrat;font-weight:800;
  font-size:clamp(10rem,24vw,24rem);line-height:.8;color:rgba(201,216,198,.07);pointer-events:none;}
.roundup__in{position:relative;max-width:820px;border-left:2px solid var(--sage-deep);
  padding-left:clamp(1.1rem,3vw,2.4rem);}
.roundup h2{color:var(--onnavy);font-size:clamp(1.9rem,4.4vw,3.4rem);font-weight:800;}
.roundup__body{color:rgba(244,248,243,.85);max-width:60ch;}
.roundup__form{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem;}
.roundup__form input[type=email]{flex:1 1 240px;min-width:0;border:1px solid rgba(201,216,198,.45);
  background:rgba(255,255,255,.07);color:var(--onnavy);border-radius:99px;padding:.9rem 1.2rem;font:inherit;}
.roundup__form input[type=email]::placeholder{color:rgba(244,248,243,.6);}

/* footer */
.ftr{background:var(--navy-deep);color:rgba(244,248,243,.82);padding:clamp(3rem,6vw,4.5rem) 0 1.5rem;}
.ftr__in{display:grid;gap:2.2rem;}
.ftr h2{font-family:Montserrat;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:1rem;}
.ftr__logo{display:inline-block;background:var(--white);border-radius:14px;padding:.7rem .9rem;margin-bottom:1.1rem;}
.ftr__logo img{width:min(220px,100%);display:block;}
.ftr__brand p{max-width:44ch;}
.ftr__nav a{color:rgba(244,248,243,.85);text-decoration:none;font-family:Montserrat;font-weight:600;font-size:.9rem;
  display:inline-block;padding:.4rem 0;}
.ftr__nav a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px;}
.social--ftr{margin-bottom:1.1rem;}
.social--ftr a{color:var(--onnavy);border:1px solid rgba(201,216,198,.3);}
.social--ftr a:hover{background:rgba(244,248,243,.12);}
.ftr__legal{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid rgba(201,216,198,.2);
  display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;justify-content:space-between;font-size:.9rem;}
.ftr__legal p{margin:0;}
.ftr__legal a{color:var(--sage-deep);}
.dns{font-family:Montserrat;font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(244,248,243,.55);text-decoration:none;}
.dns:hover{color:var(--onnavy);}

/* back to top */
.totop{position:fixed;right:16px;bottom:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--sage-deep);
  background:var(--navy);color:var(--onnavy);display:grid;place-items:center;cursor:pointer;z-index:80;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s;}
.totop.is-on{opacity:1;visibility:visible;transform:none;}
.totop svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;}

/* reveal — only hidden when JS is available to reveal it */
.reveal{opacity:1;}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.js .reveal.is-in{opacity:1;transform:none;}

/* responsive */
@media (max-width:1079px){
  .nav,.hdr__cta,.social--hdr{display:none;}
  .burger{display:block;}
}
@media (max-width:560px){
  .brand img{width:180px;}
  .hdr.is-stuck .brand img{width:160px;}
  .ticker__in{font-size:.6rem;letter-spacing:.09em;}
  .row{grid-template-columns:auto 1fr;gap:.5rem .8rem;}
  .row__thumb{grid-column:1;grid-row:2;width:64px;height:64px;}
  .row__body{grid-column:2;grid-row:2;}
  .row__num{grid-column:1 / -1;grid-row:1;font-size:1rem;letter-spacing:.08em;}
}
@media (min-width:600px){
  .press__logos{grid-template-columns:repeat(4,1fr);}
  .row{grid-template-columns:auto 100px 1fr;}
  .row__thumb{width:100px;height:100px;}
}
@media (min-width:900px){
  .press__in{grid-template-columns:auto 1fr;gap:2.4rem;}
  .diff__in{grid-template-columns:5.4fr 6.6fr;}
  .diff__art{margin-right:clamp(-6rem,-4vw,-1rem);transform:rotate(-1.2deg);}
  .rail__step{grid-template-columns:120px 1fr;gap:2rem;}
  .rail__body{max-width:62ch;}
  .ftr__in{grid-template-columns:1.4fr 1fr 1fr;gap:3rem;}
}
@media (min-width:1024px){
  .hero__in{grid-template-columns:6.4fr 5.6fr;}
  .hero__art{margin-right:clamp(-7rem,-5vw,-2rem);}
  .index__grid{grid-template-columns:5.6fr 6.4fr;align-items:start;}
  .lead__media img{height:420px;}
  .rail__step:hover{background:linear-gradient(90deg,rgba(237,242,236,.7),rgba(237,242,236,0));}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .js .reveal{opacity:1;transform:none;}
  .diff__art{transform:none!important;}
}