
body.research-page{background:var(--paper);color:var(--ink)}
.research-page .site-header{background:rgba(8,16,21,.92)}
.research-hero{padding:82px 0 54px;background:var(--paper);position:relative;overflow:hidden}
.research-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end}
.research-hero h1{font-size:clamp(50px,7vw,88px);line-height:.97;letter-spacing:-.06em;max-width:9ch;margin:20px 0}
.research-hero p{font-size:19px;color:var(--ink-2);max-width:60ch}
.research-meta{font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border-left:1px solid #bfcacc;padding-left:24px}
.research-meta p{font:14px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-2);margin-top:9px}
.research-index{padding:54px 0 92px;background:var(--paper)}
.research-index__grid{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:44px;align-items:start}
.article-list{border-top:1px solid #c7d1d2}
.article-row{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid #c7d1d2;text-decoration:none;overflow:hidden}
.article-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,140,160,.09),transparent 62%);transform:translateX(-102%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.article-row:hover::before,.article-row:focus::before{transform:none}
.article-row>*{position:relative;z-index:1}
.article-row .idx{font:12px var(--mono);letter-spacing:.12em;color:var(--teal);padding-top:5px}
.article-row time{display:block;font:11px var(--mono);color:var(--ink-2);margin-bottom:10px}
.article-row h2{font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-.035em;max-width:20ch;transition:transform .26s ease,color .22s ease}
.article-row:hover h2,.article-row:focus h2{transform:translateX(5px);color:var(--teal)}
.article-row p{color:var(--ink-2);margin-top:12px;max-width:72ch}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tags span{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#61747c;border:1px solid #c8d3d4;padding:4px 7px}
.preview-stage{position:sticky;top:110px;background:#091015;min-height:490px;border:1px solid #1d303b;overflow:hidden}
.preview{position:absolute;inset:0;opacity:0;transform:scale(.985);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.preview.active{opacity:1;transform:scale(1)}
.preview img{width:100%;height:360px;object-fit:cover;opacity:.78}
.preview-copy{padding:20px;color:var(--text)}.preview-copy small{font:11px var(--mono);color:var(--teal-3);letter-spacing:.1em;text-transform:uppercase}.preview-copy p{color:var(--muted);font-size:14px;margin-top:7px}
.research-note{background:#0a1116;color:var(--text);padding:58px 0}
.research-note__line{display:grid;grid-template-columns:220px 1fr;gap:28px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}.research-note p{color:var(--text-2);max-width:75ch}
@media(max-width:980px){.research-hero__inner,.research-index__grid{grid-template-columns:1fr}.preview-stage{position:relative;top:auto;min-height:420px}.preview img{height:300px}}
@media(max-width:620px){.article-row{grid-template-columns:1fr}.research-note__line{grid-template-columns:1fr}.preview-stage{min-height:380px}}
@media(max-width:620px){
  .research-hero{padding:58px 0 42px}.research-hero h1{font-size:clamp(44px,13vw,60px);max-width:none}.research-meta{border-left:0;border-top:1px solid #bfcacc;padding:16px 0 0}
  .research-index{padding:38px 0 62px}.article-row{padding:24px 0;gap:8px}.article-row h2{max-width:none;font-size:clamp(27px,8vw,34px)}
  .preview-stage{min-height:0}.preview{position:relative;display:none;opacity:1;transform:none}.preview.active{display:block}.preview img{height:auto;aspect-ratio:16/9;object-fit:cover}.preview-copy{padding:16px}
}
.preview--planned{background:linear-gradient(145deg,#0a151b,#071015)}.preview-placeholder{height:100%;min-height:490px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;position:relative;overflow:hidden}.preview-placeholder::before{content:"VERIFY";position:absolute;right:-12px;top:40px;font-size:110px;font-weight:900;letter-spacing:-.08em;color:rgba(146,202,212,.05)}.preview-placeholder small{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-3)}.preview-placeholder strong{font-size:54px;line-height:.88;letter-spacing:-.06em;margin:12px 0;color:var(--text)}.preview-placeholder p{color:var(--muted);max-width:34ch}
@media(max-width:620px){.preview-placeholder{min-height:330px;padding:20px}.preview-placeholder strong{font-size:44px}}

/* v7 confirmed 2025 incident-response article preview */
.preview--year{background:linear-gradient(145deg,#0b151b,#071015)}
.year-review-preview{height:100%;min-height:490px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;position:relative;overflow:hidden;color:var(--text)}
.year-review-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,140,160,.08),transparent 58%)}
.year-review-preview>*{position:relative;z-index:1}
.year-review-preview small{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-3)}
.year-review-preview strong{font-size:clamp(74px,10vw,118px);line-height:.84;letter-spacing:-.07em;margin:16px 0 14px;color:var(--text)}
.year-review-preview p{color:var(--muted);max-width:31ch;font-size:14px}
@media(max-width:620px){.year-review-preview{min-height:330px;padding:20px}.year-review-preview strong{font-size:72px}}
