:root{
  --paper:#f2f1ec; --ink:#181918; --graphite:#777873; --ocean:#c8d3d2; --terrain:#dfded7; --signal:#d7e028;
  --white:#fbfaf6; --line:rgba(24,25,24,.18); --muted:rgba(24,25,24,.62);
  --max:1600px; --gutter:clamp(18px,3vw,48px); --header:78px;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font:inherit}
::selection{background:var(--signal);color:var(--ink)}
.shell{width:min(100%,var(--max));margin:auto;padding-inline:var(--gutter)}
.site-header{height:var(--header);position:sticky;top:0;z-index:20;background:rgba(242,241,236,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{height:100%;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:30px}.brand{display:flex;align-items:flex-start;gap:16px}.brand-name{font-weight:800;font-size:21px;line-height:1;letter-spacing:-.04em}.brand-descriptor{font-size:8px;line-height:1.15;text-transform:uppercase;letter-spacing:.045em;max-width:115px;font-weight:700}.nav{display:flex;align-items:center;gap:34px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.nav a{position:relative}.nav a[aria-current="page"]:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--signal)}.lang{border-left:1px solid var(--line);padding-left:24px}.menu-btn{display:none;border:0;background:transparent;padding:8px;margin:-8px;font-weight:700;text-transform:uppercase;font-size:10px}
.hero{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:7fr 5fr;border-bottom:1px solid var(--line)}.hero-media{position:relative;overflow:hidden;background:var(--ink);min-height:650px}.hero-media .coast{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.88}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.03) 55%,rgba(0,0,0,.16))}.hero-copy{position:absolute;z-index:2;left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px);bottom:clamp(28px,6vw,74px);color:white}.eyebrow{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.hero-number{font-size:clamp(64px,8vw,138px);line-height:.8;font-weight:300;letter-spacing:-.06em;color:var(--signal);margin:22px 0 12px}.hero-title{font-size:clamp(36px,4.6vw,82px);line-height:.92;font-weight:500;letter-spacing:-.055em;text-transform:uppercase;max-width:800px}.hero-meta{display:flex;justify-content:space-between;gap:16px;margin-top:22px;font-size:10px;font-weight:700;text-transform:uppercase}.hero-cta{display:inline-flex;align-items:center;gap:10px;color:var(--signal);margin-top:26px;font-size:10px;font-weight:800;text-transform:uppercase}.hero-intro{padding:clamp(38px,6vw,82px);display:flex;flex-direction:column;justify-content:space-between;background:var(--paper)}.hero-intro h1{font-size:clamp(34px,4vw,66px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;font-weight:600;margin:0;max-width:700px}.hero-intro p{max-width:500px;font-size:17px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;text-transform:uppercase;font-weight:700}.signal-rule{height:4px;width:92px;background:var(--signal);margin:26px 0}
.section{padding:clamp(64px,8vw,126px) 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:3fr 9fr;gap:24px;margin-bottom:58px}.section-kicker{font-size:10px;font-weight:800;text-transform:uppercase}.section-title{font-size:clamp(32px,4.6vw,72px);line-height:.96;letter-spacing:-.05em;font-weight:500;margin:0;text-transform:uppercase;max-width:1050px}.section-copy{grid-column:4/13;max-width:690px;font-size:17px}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.research-card{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:520px;display:flex;flex-direction:column;transition:background .2s}.research-card:hover{background:rgba(255,255,255,.33)}.card-id{font-size:10px;font-weight:800;text-transform:uppercase}.card-title{font-size:22px;line-height:1.02;letter-spacing:-.04em;font-weight:650;text-transform:uppercase;margin:34px 0 6px;min-height:45px}.card-loc{font-size:10px;text-transform:uppercase;font-weight:700}.card-image{aspect-ratio:1/1.08;background:var(--terrain);margin-top:14px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.card-question{font-size:12px;color:var(--muted);margin-top:14px;max-width:38ch}
.archive-list{border-top:1px solid var(--line)}.archive-row{display:grid;grid-template-columns:1fr 1fr 3.2fr 1.4fr 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;align-items:center}.archive-row:hover .archive-title{background:var(--signal)}.archive-title{font-size:18px;font-weight:650;letter-spacing:-.03em;width:max-content;max-width:100%;transition:background .15s}.status{font-weight:700}.status--published:before{content:"●";margin-right:8px;color:var(--signal)}.status--planned:before{content:"○";margin-right:8px}
.page-hero{padding:clamp(70px,10vw,150px) 0 70px;border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:3fr 9fr;gap:24px}.page-label{font-size:10px;font-weight:800;text-transform:uppercase}.page-title{font-size:clamp(54px,9vw,150px);line-height:.78;letter-spacing:-.07em;text-transform:uppercase;font-weight:500;margin:0}.page-deck{grid-column:4/12;margin-top:48px;max-width:740px;font-size:20px}
.report-header{min-height:calc(100vh - var(--header));padding:56px 0 42px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.report-top{display:flex;justify-content:space-between;font-size:11px;font-weight:800;text-transform:uppercase}.report-cover{display:grid;grid-template-columns:6fr 5fr 1fr;gap:24px;align-items:end;flex:1;padding:80px 0 55px}.report-cover h1{font-size:clamp(62px,10vw,158px);line-height:.78;letter-spacing:-.072em;text-transform:uppercase;font-weight:500;margin:0}.report-cover-meta{font-size:10px;text-transform:uppercase;font-weight:700;line-height:1.7}.report-cover-image{aspect-ratio:1.35/1;overflow:hidden;background:var(--terrain)}.report-cover-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.report-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:10px;text-transform:uppercase;font-weight:700}
.report-index{position:fixed;right:18px;top:calc(var(--header) + 24px);z-index:12;width:150px}.report-index-inner{display:flex;flex-direction:column;gap:3px;font-size:8px;text-transform:uppercase;font-weight:800}.report-index a{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:5px;border-left:2px solid transparent;color:var(--muted)}.report-index a:hover,.report-index a.active{color:var(--ink);border-left-color:var(--signal);background:rgba(215,224,40,.10)}.report-toc-toggle{display:none}.report-section{scroll-margin-top:calc(var(--header) + 24px)}
.report-section{padding:clamp(70px,8vw,124px) 0;border-bottom:1px solid var(--line)}.report-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.chapter{grid-column:1/3;font-size:10px;text-transform:uppercase;font-weight:800}.report-text{grid-column:4/7}.report-text.wide{grid-column:4/9}.report-text h2{font-size:clamp(31px,4vw,60px);line-height:.95;text-transform:uppercase;letter-spacing:-.05em;margin:0 0 32px;font-weight:550}.report-text p{font-size:16px;margin:0 0 1em}.report-visual{grid-column:8/13}.report-visual.full{grid-column:4/13;margin-top:40px}.figure{margin:0}.figure-frame{background:var(--white);border:1px solid var(--line);aspect-ratio:1.35;overflow:hidden}.figure-frame svg,.figure-frame img{width:100%;height:100%;object-fit:cover}.caption{display:grid;grid-template-columns:1fr auto;gap:16px;margin-top:10px;font-size:9px;text-transform:uppercase;line-height:1.4}.caption-source{color:var(--muted);text-align:right}.data-table{margin-top:34px;border-top:1px solid var(--line)}.data-row{display:grid;grid-template-columns:1fr 1.6fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.data-key{color:var(--muted)}
.evidence{padding:14px 0;border-top:2px solid var(--ink);margin:22px 0}.evidence-label{font-size:9px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.evidence--observation{border-color:var(--signal)}.evidence--inference{border-style:dashed}.evidence--hypothesis{border-color:var(--graphite);border-style:dotted}.evidence--open{border-color:var(--graphite)}
.assessment-grid{grid-column:4/13;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.assessment-item{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.assessment-label{font-size:9px;text-transform:uppercase;font-weight:800}.assessment-value{font-size:26px;text-transform:uppercase;letter-spacing:-.04em}.assessment-item.signal{background:var(--signal)}.verdict{grid-column:4/13;margin-top:24px;padding:26px 0;border-top:4px solid var(--ink);display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.verdict strong{font-size:clamp(38px,6vw,92px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;font-weight:550}.verdict span{font-size:10px;text-transform:uppercase;font-weight:800}
.source-list{grid-column:4/11;counter-reset:source}.source-item{display:grid;grid-template-columns:44px 1fr 120px;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.source-item:before{counter-increment:source;content:counter(source,decimal-leading-zero)}.source-meta{color:var(--muted);font-size:9px;text-transform:uppercase;text-align:right}.methodology{grid-column:4/9;margin-top:44px;font-size:13px}
.footer{padding:34px 0 26px}.footer-grid{display:grid;grid-template-columns:4fr 4fr 4fr;gap:24px;font-size:10px;text-transform:uppercase}.footer strong{display:block;margin-bottom:10px}.footer-bottom{margin-top:58px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase}
.prose-grid{display:grid;grid-template-columns:3fr 6fr 3fr;gap:24px}.prose{grid-column:4/10;max-width:760px}.prose h2{font-size:32px;line-height:1;letter-spacing:-.04em;text-transform:uppercase;margin:60px 0 18px}.prose h2:first-child{margin-top:0}.prose p{font-size:18px}.contact-big{font-size:clamp(38px,6vw,92px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;font-weight:500;word-break:break-word}.contact-big a:hover{background:var(--signal)}
.placeholder-note{background:var(--signal);padding:14px 16px;font-size:10px;text-transform:uppercase;font-weight:800;margin-bottom:26px}
@media(max-width:900px){.report-index{position:sticky;top:var(--header);right:auto;width:auto;background:var(--paper);border-bottom:1px solid var(--line)}.report-toc-toggle{display:flex;width:100%;justify-content:space-between;border:0;background:var(--paper);padding:12px var(--gutter);font-size:9px;font-weight:800}.report-index-inner{display:none;padding:8px var(--gutter) 16px}.report-index.open .report-index-inner{display:flex}.report-index a{font-size:9px;grid-template-columns:28px 1fr;padding:7px 0}.report-section{scroll-margin-top:calc(var(--header) + 48px)}:root{--header:66px}.header-inner{grid-template-columns:1fr auto}.brand-descriptor{display:none}.nav{display:none;position:absolute;left:0;right:0;top:var(--header);background:var(--paper);border-bottom:1px solid var(--line);padding:24px var(--gutter);flex-direction:column;align-items:flex-start;gap:22px}.nav.open{display:flex}.nav .lang{border-left:0;padding-left:0}.menu-btn{display:block}.hero{grid-template-columns:1fr}.hero-media{min-height:72vh}.hero-intro{min-height:520px}.section-head,.page-hero-grid{grid-template-columns:1fr}.section-copy,.page-deck{grid-column:auto}.research-grid{grid-template-columns:1fr}.research-card{min-height:0}.card-title{min-height:0}.card-image{margin-top:24px;aspect-ratio:1.5}.archive-row{grid-template-columns:80px 100px 1fr}.archive-row>:nth-child(4),.archive-row>:nth-child(5){display:none}.report-cover{grid-template-columns:1fr;align-items:start;padding-top:80px}.report-cover-image{max-width:520px}.report-grid{grid-template-columns:1fr}.chapter,.report-text,.report-text.wide,.report-visual,.report-visual.full,.assessment-grid,.verdict,.source-list,.methodology{grid-column:auto}.report-visual{margin-top:32px}.assessment-grid{grid-template-columns:1fr 1fr}.source-item{grid-template-columns:30px 1fr}.source-meta{grid-column:2;text-align:left}.prose-grid{grid-template-columns:1fr}.prose{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:560px){.hero-title{font-size:42px}.hero-meta{flex-direction:column}.hero-intro{padding-inline:var(--gutter)}.principles{grid-template-columns:1fr}.section{padding-block:64px}.report-cover h1{font-size:62px}.assessment-grid{grid-template-columns:1fr}.verdict{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.footer-bottom{gap:20px;flex-direction:column}.page-title{font-size:56px}}
@media print{.site-header,.report-index,.footer{display:none}.report-section{break-inside:avoid}.report-header{min-height:95vh}body{background:white}.figure-frame{border-color:#aaa}}


/* =========================================================
   CONDITIONS REPORT NAVIGATION v2
   Dedicated left editorial rail below report cover
   ========================================================= */

.report-layout{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  align-items:start;
  border-top:1px solid var(--line);
  background:var(--paper);
}

.report-index{
  position:sticky !important;
  top:var(--header) !important;
  right:auto !important;
  left:auto !important;
  width:190px !important;
  height:calc(100vh - var(--header));
  overflow:auto;
  z-index:10;
  background:var(--paper) !important;
  border-right:1px solid var(--line);
  border-bottom:0 !important;
  padding:28px 18px 36px 20px;
  box-sizing:border-box;
}

.report-index-inner{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  padding:0 !important;
  white-space:normal !important;
  font-size:8px !important;
  line-height:1.2;
  text-transform:uppercase;
  font-weight:800;
}

.report-index a{
  display:grid !important;
  grid-template-columns:25px minmax(0,1fr) !important;
  gap:6px !important;
  padding:7px 5px !important;
  border-left:2px solid transparent !important;
  color:var(--muted) !important;
  background:transparent !important;
}

.report-index a:hover,
.report-index a.active{
  color:var(--ink) !important;
  border-left-color:var(--signal) !important;
  background:rgba(215,224,40,.11) !important;
}

.report-index a .toc-no{
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}

.report-content{
  min-width:0;
  background:var(--paper);
}

.report-content .report-section:first-child{
  border-top:0;
}

.report-content .report-section{
  scroll-margin-top:calc(var(--header) + 20px);
}

.report-toc-toggle{
  display:none !important;
}

/* Full-width analytical maps inside the text report */
.report-map-block{
  margin-top:42px;
  grid-column:2 / -1;
}

.report-map-block .figure-frame{
  aspect-ratio:auto;
  background:transparent;
}

.report-map-block img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.report-map-pair{
  grid-column:2 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:42px;
}

.report-map-pair .figure-frame{
  aspect-ratio:auto;
}

.report-map-pair img{
  width:100%;
  height:auto;
  object-fit:contain;
}

@media (max-width:1100px) and (min-width:901px){
  .report-layout{grid-template-columns:155px minmax(0,1fr)}
  .report-index{
    width:155px !important;
    padding:22px 10px 28px 11px;
  }
  .report-index-inner{font-size:7px !important}
  .report-index a{
    grid-template-columns:21px minmax(0,1fr) !important;
    gap:4px !important;
    padding:6px 3px !important;
  }
}

@media (max-width:900px){
  .report-layout{
    display:block;
  }

  .report-index{
    position:sticky !important;
    top:var(--header) !important;
    width:100% !important;
    height:auto !important;
    overflow:visible;
    border-right:0;
    border-bottom:1px solid var(--line) !important;
    padding:0;
    z-index:20;
  }

  .report-toc-toggle{
    display:flex !important;
    width:100%;
    align-items:center;
    justify-content:space-between;
    border:0;
    background:var(--paper);
    color:var(--ink);
    padding:12px var(--gutter);
    font:inherit;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
  }

  .report-index-inner{
    display:none !important;
    max-height:60vh;
    overflow:auto;
    padding:7px var(--gutter) 16px !important;
  }

  .report-index.open .report-index-inner{
    display:flex !important;
  }

  .report-index a{
    grid-template-columns:30px minmax(0,1fr) !important;
    padding:7px 0 !important;
    font-size:9px !important;
  }

  .report-map-block,
  .report-map-pair{
    grid-column:1 / -1;
  }

  .report-map-pair{
    grid-template-columns:1fr;
  }
}

.placeholder-notice{padding:8px var(--gutter);border-bottom:1px solid var(--line);background:var(--signal);color:var(--ink);font-size:8px;font-weight:800;text-transform:uppercase}

/* =========================================================
   CONDITIONS UI v1.1 — editorial calibration
   2026-08-15
   ========================================================= */

/* Archive: keep the institutional register, but give the work priority. */
.page-hero{
  padding:clamp(58px,7vw,108px) 0 54px;
}
.page-title{
  font-size:clamp(52px,7.4vw,118px);
  line-height:.82;
}
.page-deck{
  margin-top:30px;
  max-width:680px;
}
.section:has(.archive-list){
  padding-top:clamp(42px,5vw,72px);
}
.archive-row{
  grid-template-columns:.72fr .72fr 3.5fr 1.35fr 1fr;
  padding:20px 0;
}
.archive-title{
  font-size:clamp(19px,1.55vw,26px);
  line-height:.95;
}

/* Report cover: retain whitespace, but tighten the vertical composition. */
.report-header{
  padding-top:46px;
}
.report-cover{
  padding-top:58px;
  padding-bottom:48px;
}

/* Desktop contents rail: quieter and slightly narrower. */
@media (min-width:1101px){
  .report-layout{grid-template-columns:168px minmax(0,1fr)}
  .report-index{
    width:168px !important;
    padding:26px 13px 34px 14px;
  }
  .report-index-inner{font-size:7.5px !important}
  .report-index a{
    grid-template-columns:23px minmax(0,1fr) !important;
    gap:5px !important;
    padding:6px 4px !important;
  }
}

/* Analytical headings are deliberately quieter than thesis statements. */
.report-text h2{
  font-size:clamp(30px,3.25vw,50px);
  line-height:.96;
  letter-spacing:-.045em;
  margin-bottom:28px;
}

/* Only the genuinely central statement chapters receive monumental scale. */
#thesis .report-text h2,
#verdict .report-text h2{
  font-size:clamp(42px,5.2vw,76px);
  line-height:.88;
  letter-spacing:-.058em;
}

/* Evidence / thesis callouts: editorial rule + signal marker, not wireframe boxes. */
.evidence,
.evidence--inference,
.evidence--hypothesis,
.evidence--open{
  position:relative;
  border:0;
  border-top:1px solid var(--ink);
  padding:17px 0 8px 18px;
  margin:26px 0 30px;
}
.evidence:before{
  content:"";
  position:absolute;
  left:0;
  top:17px;
  width:3px;
  height:22px;
  background:var(--ink);
}
.evidence--observation{
  border-top-color:var(--signal);
}
.evidence--observation:before,
.evidence--inference:before{
  background:var(--signal);
}
.evidence--open:before{
  width:2px;
  background:var(--graphite);
}
.evidence-label{
  letter-spacing:.02em;
  margin-bottom:10px;
}

/* Assessment stays rigorous; the signal cell remains the single visual emphasis. */
.assessment-item{
  min-height:154px;
  padding:18px;
}
.assessment-value{font-size:24px}

/* Verdicts remain emphatic without becoming poster-sized walls of type. */
.verdict{
  padding-top:22px;
  border-top-width:3px;
}
.verdict strong{
  max-width:10.5em;
  font-size:clamp(34px,4.4vw,66px);
  line-height:.88;
  letter-spacing:-.052em;
}
#verdict .verdict strong{
  font-size:clamp(38px,4.8vw,72px);
  max-width:12em;
}

/* A little more cadence between long-form chapter types. */
#thesis,
#verdict{
  padding-top:clamp(92px,10vw,150px);
  padding-bottom:clamp(92px,10vw,150px);
}
#risk .assessment-grid,
#executive .assessment-grid{
  margin-top:10px;
}

/* Mobile should remain an editorial publication rather than collapse into blog styling. */
@media (max-width:900px){
  .page-hero{padding:54px 0 42px}
  .page-title{font-size:clamp(52px,14vw,86px);line-height:.84}
  .page-deck{margin-top:24px;font-size:17px}
  .section:has(.archive-list){padding-top:34px}
  .archive-row{grid-template-columns:62px 78px 1fr;padding:17px 0}
  .archive-title{font-size:18px}

  .report-header{padding-top:34px}
  .report-cover{padding-top:52px;padding-bottom:38px;gap:28px}
  .report-cover h1{font-size:clamp(54px,16vw,82px);line-height:.82}

  .report-section{padding:68px 0}
  .chapter{margin-bottom:34px;color:var(--muted)}
  .report-text h2{
    font-size:clamp(34px,10.5vw,52px);
    line-height:.91;
    margin-bottom:30px;
  }
  #thesis .report-text h2,
  #verdict .report-text h2{
    font-size:clamp(44px,13vw,66px);
    line-height:.86;
  }
  .report-text p{font-size:17px;line-height:1.48}
  .evidence{margin:30px 0 34px;padding-left:15px}
  .assessment-item{min-height:132px}
  .verdict strong,
  #verdict .verdict strong{
    font-size:clamp(38px,11vw,56px);
    line-height:.88;
    max-width:none;
  }
}

@media (max-width:560px){
  .report-section{padding:58px 0}
  .chapter{font-size:9px;margin-bottom:28px}
  .report-text h2{font-size:clamp(32px,10.8vw,46px)}
  #thesis .report-text h2,
  #verdict .report-text h2{font-size:clamp(40px,13vw,58px)}
  .report-text p{font-size:16px}
  .assessment-grid{grid-template-columns:1fr 1fr}
  .assessment-item{min-height:118px;padding:15px}
  .assessment-value{font-size:21px}
  .verdict strong,
  #verdict .verdict strong{font-size:clamp(34px,10.5vw,48px)}
}


/* =========================================================
   MOBILE NAVIGATION FIX
   Main site nav and report TOC are separate stacked layers.
   ========================================================= */

@media (max-width:900px){

  /* Site header remains the top sticky layer */
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--paper);
  }

  /* Expanded main menu stays inside the header flow */
  .site-header .nav{
    z-index:101;
    background:var(--paper);
  }

  /* Report TOC sits BELOW the complete site header */
  .report-index{
    position:sticky !important;
    top:var(--mobile-header-height, 80px) !important;
    z-index:90 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    background:var(--paper) !important;
    border-top:0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .report-toc-toggle{
    position:relative;
    z-index:91;
    display:flex !important;
    width:100%;
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    padding:0 var(--gutter) !important;
    border:0 !important;
    background:var(--paper) !important;
    color:var(--ink) !important;
    cursor:pointer;
  }

  .report-toc-toggle .toc-symbol{
    font-size:16px;
    line-height:1;
    transition:transform .2s ease;
  }

  .report-index.open .report-toc-toggle .toc-symbol{
    transform:rotate(45deg);
  }

  .report-index-inner{
    display:none !important;
    position:relative !important;
    width:100% !important;
    max-height:calc(100vh - var(--mobile-header-height, 80px) - 58px);
    overflow-y:auto !important;
    padding:10px var(--gutter) 18px !important;
    background:var(--paper) !important;
    border-top:1px solid var(--line);
    box-sizing:border-box;
  }

  .report-index.open .report-index-inner{
    display:flex !important;
    flex-direction:column !important;
  }

  .report-index a{
    width:100%;
    box-sizing:border-box;
  }

  /* Prevent section headings from hiding behind header + TOC */
  .report-content .report-section,
  .report-section{
    scroll-margin-top:calc(var(--mobile-header-height, 80px) + 70px) !important;
  }

  /* When site menu is open, TOC remains below it instead of overlapping */
  body.site-menu-open .report-index{
    position:relative !important;
    top:auto !important;
  }
}


/* =========================================================
   CONDITIONS / RESEARCH ACCESS SYSTEM v2
   Editorial teaser logic for PARTIAL and LOCKED research
   ========================================================= */

.research-access{
  position:relative;
  width:100%;
  isolation:isolate;
}

/* Real content remains structurally present.
   For the public market-test version this is a visual teaser,
   not technical access control. */
.research-access__content{
  position:relative;
  z-index:0;
}

/* ---------------------------------------------------------
   PARTIAL
   Short, subtle research trace. More fade than blur.
   --------------------------------------------------------- */

.research-access--partial{
  --access-preview-height:260px;
  --access-fade-start:82px;
}

.research-access--partial .research-access__content{
  position:relative;
  max-height:var(--access-preview-height);
  overflow:hidden;
  filter:blur(2.25px);
  opacity:.72;
  user-select:none;
  pointer-events:none;
}

.research-access--partial .research-access__content::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:78%;
  background:linear-gradient(
    to bottom,
    rgba(242,241,236,0) 0%,
    rgba(242,241,236,.18) 20%,
    rgba(242,241,236,.60) 54%,
    rgba(242,241,236,.92) 82%,
    rgba(242,241,236,1) 100%
  );
  pointer-events:none;
}

/* ---------------------------------------------------------
   LOCKED
   Only a short trace of the analytical structure remains.
   --------------------------------------------------------- */

.research-access--locked{
  --access-preview-height:165px;
}

.research-access--locked .research-access__content{
  position:relative;
  max-height:var(--access-preview-height);
  overflow:hidden;
  filter:blur(4px);
  opacity:.48;
  user-select:none;
  pointer-events:none;
}

.research-access--locked .research-access__content::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:88%;
  background:linear-gradient(
    to bottom,
    rgba(242,241,236,0) 0%,
    rgba(242,241,236,.36) 24%,
    rgba(242,241,236,.84) 68%,
    rgba(242,241,236,1) 100%
  );
  pointer-events:none;
}

/* ---------------------------------------------------------
   ACCESS GATE
   Treated as editorial metadata, not a sales widget.
   --------------------------------------------------------- */

.research-access__gate{
  position:relative;
  z-index:2;
  width:min(100%,520px);
  margin:-22px 0 0;
  padding:18px 0 34px;
  border-top:1px solid var(--ink);
  background:var(--paper);
}

.research-access__label{
  margin:0 0 10px;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.research-access__text{
  max-width:430px;
  margin:0 0 16px;
  font-size:13px;
  line-height:1.48;
  color:var(--ink);
}

.research-access__cta{
  display:inline-block;
  padding:0 0 3px;
  border-bottom:2px solid var(--signal);
  color:var(--ink);
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
  text-decoration:none;
}

.research-access__cta:hover,
.research-access__cta:focus-visible{
  border-bottom-color:var(--ink);
}

/* If a gate sits inside a .shell, align it with report content rather than
   making it look like a centered marketing component. */
.report-section > .research-access > .shell .research-access__gate{
  margin-left:calc((100% - (100% / 12 * 9)) / 3);
}

/* ---------------------------------------------------------
   MOBILE
   Short preview and immediate access cue.
   --------------------------------------------------------- */

@media(max-width:900px){

  .research-access--partial{
    --access-preview-height:150px;
  }

  .research-access--partial .research-access__content{
    filter:blur(1.8px);
    opacity:.67;
  }

  .research-access--locked{
    --access-preview-height:105px;
  }

  .research-access--locked .research-access__content{
    filter:blur(3px);
    opacity:.45;
  }

  .research-access__gate{
    width:100%;
    margin:-12px 0 0;
    padding:15px 0 27px;
  }

  .report-section > .research-access > .shell .research-access__gate{
    margin-left:0;
  }

  .research-access__text{
    max-width:34rem;
    font-size:13px;
  }

  .research-access__cta{
    min-height:32px;
    display:inline-flex;
    align-items:center;
  }
}



/* =========================================================
   CONDITIONS / MOBILE ACCESS REFINEMENT
   Desktop access gates remain unchanged.
   Mobile keeps editorial continuity by reducing repeated gates.
   ========================================================= */

@media(max-width:900px){

  /* Keep locked/partial previews very short on mobile */
  .research-access--partial{
    --access-preview-height:230px;
  }

  .research-access--locked{
    --access-preview-height:160px;
  }

  .research-access--partial .research-access__content{
    filter:blur(1.7px);
    opacity:.66;
  }

  .research-access--locked .research-access__content{
    filter:blur(2.8px);
    opacity:.46;
  }

  /* Intermediate gates become compact editorial markers */
  .research-access__gate{
    width:100%;
    margin:-8px 0 0;
    padding:10px 0 20px;
    border-top:1px solid var(--line);
    background:var(--paper);
  }

  .research-access__label{
    margin:0;
    font-size:8px;
    line-height:1.2;
    letter-spacing:.04em;
  }

  .research-access__text{
    display:none;
  }

  .research-access__cta{
    margin-top:8px;
    min-height:24px;
    font-size:8px;
    line-height:1.1;
    border-bottom-width:1px;
  }

  /* Final verdict keeps the full explanatory access block */
  #verdict .research-access__gate{
    margin-top:-8px;
    padding:16px 0 30px;
    border-top:1px solid var(--ink);
  }

  #verdict .research-access__label{
    margin-bottom:10px;
    font-size:9px;
  }

  #verdict .research-access__text{
    display:block;
    max-width:34rem;
    margin:0 0 16px;
    font-size:13px;
    line-height:1.45;
  }

  #verdict .research-access__cta{
    min-height:30px;
    margin-top:0;
    font-size:9px;
    border-bottom-width:2px;
  }

  /* Avoid large empty-looking stretches between access blocks and next section */
  .report-section:has(.research-access){
    padding-bottom:clamp(42px,9vw,68px);
  }

  .report-section:has(.research-access) + .report-section{
    padding-top:clamp(48px,10vw,72px);
  }
}

/* =========================================================
   CONDITIONS / FINAL REPORT ACCESS CTA
   Report-level close: editorial, not a sales panel.
   ========================================================= */
.research-access__final-title{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.015em;
  text-transform:uppercase;
}

.research-access__note{
  max-width:430px;
  margin:12px 0 0;
  font-size:9px;
  line-height:1.4;
  color:var(--muted);
}

@media(max-width:900px){
  #verdict .research-access__final-title{
    margin-bottom:10px;
    font-size:17px;
  }

  #verdict .research-access__note{
    display:block;
    margin-top:12px;
    font-size:9px;
    line-height:1.4;
  }
}

/* Planned research cards: visible archive entries, intentionally non-interactive. */
.research-card--planned{cursor:default;}
.research-card--planned:hover{background:transparent;}
.research-card--planned:hover .card-title{background:transparent;}
