.research-page{--research-blue:#1c539c;--research-pale:#e9eff8;--research-mist:#f1f4f7}
.research-kicker{color:var(--blue);font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}

/* Research landing */
.research-hero{position:relative;display:grid;min-height:clamp(360px,44vh,480px);overflow:hidden;background:var(--navy);color:var(--on-navy)}
.research-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:clamp(56px,6vw,80px) var(--gutter) clamp(40px,5vw,64px);max-width:900px}
.research-hero h1{font-family:var(--font);font-size:clamp(3.5rem,8vw,6.5rem);font-weight:580;line-height:1.04;letter-spacing:-.045em;text-align:left}
.research-hero__copy>p:last-child{max-width:49ch;margin-top:24px;color:var(--navy-copy);font-size:clamp(17px,2vw,22px);line-height:1.55;text-wrap:balance}
.evidence-map{position:absolute;inset:0 0 0 48%;overflow:hidden;opacity:.96;background:linear-gradient(138deg,#0d2b50 4%,#153c6c 60%,#1d579f)}
.evidence-map::before,.evidence-map::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.evidence-map::before{width:48vw;height:48vw;min-width:540px;min-height:540px;right:-12vw;top:-12vw}
.evidence-map::after{width:26vw;height:26vw;min-width:310px;min-height:310px;right:10vw;bottom:-12vw}
.evidence-map__node{position:absolute;z-index:2;width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 8px rgba(255,255,255,.12)}
.evidence-map__node--one{left:18%;top:22%}.evidence-map__node--two{right:21%;top:31%}.evidence-map__node--three{left:28%;bottom:22%}.evidence-map__node--four{right:13%;bottom:18%}
.evidence-map__line{position:absolute;z-index:1;height:1px;background:rgba(255,255,255,.42);transform-origin:left center}
.evidence-map__line--one{width:57%;left:19%;top:23%;transform:rotate(11deg)}
.evidence-map__line--two{width:49%;left:29%;bottom:23%;transform:rotate(-14deg)}
.evidence-map__line--three{width:52%;left:20%;top:24%;transform:rotate(64deg)}
.evidence-map__document{position:absolute;right:11%;top:39%;z-index:3;display:grid;gap:16px;width:clamp(180px,20vw,300px);padding:clamp(28px,4vw,48px);border:1px solid rgba(255,255,255,.35);background:rgba(1,27,59,.74);box-shadow:0 30px 70px rgba(0,0,0,.2);transform:rotate(-3deg)}
.evidence-map__document i{height:6px;background:rgba(255,255,255,.76)}
.evidence-map__document i:nth-child(2){width:72%}.evidence-map__document i:nth-child(3){width:88%}.evidence-map__document i:nth-child(4){width:55%}

.research-index{padding:clamp(36px,4.5vw,60px) var(--gutter) clamp(64px,8vw,104px)}
.research-card{display:grid;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(28px,4vw,52px) 0;gap:28px}
.research-card__meta{display:flex;flex-direction:column;align-items:flex-start;align-content:start;gap:8px;color:var(--muted);font-size:13px;text-align:left}
.research-card__meta time{color:var(--blue)}
.research-card__meta span+span{padding-left:0}
.research-card__meta span+span::before{content:none}
.research-card__body{display:grid;align-content:start;justify-items:start;gap:20px}
.research-card__body h3{max-width:20ch;font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;letter-spacing:-.04em;font-weight:580;text-wrap:balance}
.research-card__body h3 a{color:var(--ink);text-decoration:none}
.research-card__body h3 a:hover{color:var(--blue)}
.research-card__body p{max-width:58ch;color:var(--muted);font-size:17px;line-height:1.65}
.research-card__button{align-self:center;justify-self:end;white-space:nowrap;transition:none}
.research-card__button span{font-size:18px}
.research-empty{margin-top:28px;padding:20px 0}
.research-empty p{color:var(--ink);font-size:15px;font-weight:650}

/* Article */
.article-hero{padding:var(--page-hero-top) var(--gutter) clamp(32px,4vw,56px);background:var(--page-hero-surface)}
/* Keep a 44px hit area while the label and heading match the product grid. */
.article-back{display:flex;align-items:center;gap:8px;width:fit-content;min-height:44px;padding:0 14px;margin-top:calc((1.55em - 44px)/2);margin-bottom:calc(var(--page-hero-label-gap) + (1.55em - 44px)/2);border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--paper);color:var(--blue);font-size:16px;line-height:1.55;font-weight:650;text-decoration:none}
.article-back:hover{border-color:var(--blue);background:var(--wash);color:var(--blue-hover)}
.article-back:active{background:var(--rule)}
.article-back__arrow{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.article-hero h1{max-width:17ch;font-family:var(--font);font-size:clamp(3rem,7vw,6.5rem);font-weight:580;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.article-standfirst{max-width:62ch;margin-top:clamp(30px,4vw,48px);color:var(--muted);font-size:clamp(19px,2vw,24px);line-height:1.55;text-wrap:pretty}
.article-byline{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:32px;color:var(--muted);font-size:13px}
.article-feature{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6vw;min-height:clamp(220px,28vw,360px);margin:0 var(--frame);padding:clamp(24px,3.5vw,48px);overflow:hidden;border-radius:var(--radius);background:var(--navy);color:#fff}
.article-feature>div{position:relative;z-index:2;display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.32);border-radius:50%;font-size:clamp(10px,1vw,13px);font-weight:700;letter-spacing:.1em}
.article-feature__claim{background:var(--blue);box-shadow:0 0 0 clamp(16px,3vw,38px) rgba(28,83,156,.3)}
.article-feature>span{position:absolute;top:50%;left:16%;right:16%;height:1px;background:rgba(255,255,255,.38)}
.article-feature>span:nth-last-child(2){transform:rotate(9deg)}
.article-feature>span:last-child{transform:rotate(-9deg)}
.article-layout{display:grid;gap:48px;padding:clamp(20px,2vw,28px) var(--gutter) clamp(64px,9vw,128px)}
.article-aside{display:none}
.article-body{min-width:0;max-width:760px}
.article-body section{scroll-margin-top:84px}
.article-body p{margin-top:22px;color:#3f4652;font-family:var(--font);font-size:clamp(17px,1.7vw,19px);line-height:1.72}
.article-body__opening{margin-top:0!important;color:var(--ink)!important;font-size:clamp(17px,1.7vw,19px)!important;line-height:1.72!important}
.article-body h2{margin-top:clamp(64px,8vw,96px);font-size:clamp(2rem,4vw,3.5rem);font-weight:580;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.article-body blockquote{margin:clamp(48px,7vw,80px) 0;padding:0 0 0 clamp(24px,4vw,48px);border-left:3px solid var(--blue);color:var(--navy);font-family:var(--font);font-size:clamp(1.5rem,3vw,2.25rem);font-style:normal;font-weight:550;line-height:1.28;letter-spacing:-.025em}
.article-points{display:grid;gap:1px;margin:40px 0;background:var(--rule);border:1px solid var(--rule)}
.article-points div{display:grid;gap:8px;padding:24px;background:var(--paper)}
.article-points strong{font-size:16px}
.article-points span{color:var(--muted);font-size:15px;line-height:1.55}
.article-principle{margin:40px 0;padding:clamp(28px,5vw,48px);background:var(--research-pale);border-radius:var(--radius)}
.article-principle span{display:block;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.article-principle p{margin-top:14px;color:var(--navy);font-family:var(--font);font-size:clamp(20px,2.5vw,28px);font-weight:550;line-height:1.35}
.article-footer{display:grid;gap:24px;margin-top:clamp(72px,9vw,112px);padding-top:32px;border-top:1px solid var(--rule)}
.article-footer>p{margin:0;color:var(--ink);font-family:var(--font);font-size:18px;font-weight:550}
.article-footer>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.research-page .text-link{color:var(--blue);text-decoration:none}
.article-page .research-end{margin-top:0}

@media (min-width:720px){
  .research-card{grid-template-columns:minmax(130px,2fr) minmax(0,6fr) minmax(190px,3fr);align-items:start}
  .article-points{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:980px){
  .article-layout{grid-template-columns:minmax(180px,2fr) minmax(0,7fr) minmax(80px,2fr);column-gap:clamp(48px,7vw,104px);align-items:start}
  .article-aside{position:sticky;top:100px;display:block;grid-column:1}
  .article-aside>p{padding-bottom:14px;border-bottom:1px solid var(--rule);font-size:13px;font-weight:700}
  .article-aside ol{list-style:none;margin:0;padding:0}
  .article-aside li{border-bottom:1px solid var(--rule)}
  .article-aside a{display:flex;align-items:center;min-height:46px;color:var(--muted);font-size:13px;line-height:1.35;text-decoration:none}
  .article-aside a:hover{color:var(--blue)}
  .article-aside a[aria-current="location"]{color:var(--blue);font-weight:650}
  .article-body{grid-column:2}
}
@media (max-width:719px){
  .research-hero{min-height:500px}
  .research-hero__copy{padding-top:64px;padding-bottom:40px}
  .evidence-map{inset:50% 0 0 0}
  .evidence-map__document{right:12%;top:24%}
  .research-card__button{justify-self:start}
  .article-feature{gap:4vw;padding-inline:20px}
  .article-feature>div{font-size:8px}
}
