
:root{
  --paper:#f4f0e7;
  --paper-2:#e8dfcf;
  --ink:#17201c;
  --muted:#6d746f;
  --forest:#173127;
  --forest-deep:#0d1b16;
  --gold:#b79257;
  --white:#fffdf8;
  --line:rgba(23,32,28,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Libre Franklin",sans-serif;
  line-height:1.6;
}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Playfair Display",serif}
a{text-decoration:none;color:inherit}

.progress{
  position:fixed;
  left:0;top:0;
  height:3px;width:0;
  background:var(--gold);
  z-index:1000
}

.topbar{
  position:fixed;
  z-index:900;
  top:0;left:0;right:0;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4vw;
  background:rgba(244,240,231,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(23,32,28,.08)
}
.wordmark{
  font-family:"Playfair Display",serif;
  font-weight:700
}
.chapter-nav{
  display:flex;
  gap:28px;
  align-items:center
}
.chapter-nav a{
  display:flex;
  gap:7px;
  font-size:.83rem;
  color:#343b37
}
.chapter-nav a span{
  color:var(--gold);
  font-weight:700
}
.nav-toggle{
  display:none;
  background:none;border:0;
  font-weight:700
}

.cover{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(183,146,87,.28), transparent 28%),
    linear-gradient(135deg,#1c342b 0%,#0e1d18 72%);
  color:var(--white);
  padding:120px 7vw 70px
}
.cover-glow{
  position:absolute;
  width:520px;height:520px;
  border-radius:50%;
  right:-160px;bottom:-190px;
  background:rgba(183,146,87,.12);
  filter:blur(20px)
}
.cover-inner{
  width:min(1180px,100%);
  margin:0 auto;
  position:relative
}
.kicker,.section-kicker{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.72rem;
  font-weight:700
}
.kicker{color:rgba(255,255,255,.72)}

.cover-title{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:end;
  margin-top:55px
}
.cover-title h1{
  font-size:clamp(4.7rem,9.5vw,9rem);
  line-height:.87;
  letter-spacing:-.045em;
  margin-bottom:0
}
.cover-title p{
  font-size:clamp(1.25rem,2.2vw,2rem);
  line-height:1.4;
  color:rgba(255,255,255,.8);
  margin-bottom:8px
}
.cover-credits{
  display:grid;
  grid-template-columns:.8fr 1.4fr auto;
  gap:24px;
  margin-top:72px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.2)
}
.credit-card{
  display:flex;
  flex-direction:column;
  gap:5px
}
.credit-card span{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:rgba(255,255,255,.5);
  font-weight:700
}
.credit-card strong{
  font-family:"Playfair Display",serif;
  font-size:1.5rem
}
.credit-card small{
  color:rgba(255,255,255,.68);
  font-size:.86rem
}
.edition{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  color:rgba(255,255,255,.55);
  font-size:.82rem
}
.begin{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:48px;
  padding:13px 20px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px
}
.begin:hover{background:rgba(255,255,255,.08)}

.section{
  position:relative;
  padding:120px 7vw
}
.light{background:var(--paper)}
.sand{background:var(--paper-2)}
.dark{background:var(--forest-deep);color:var(--white)}
.forest{background:var(--forest);color:var(--white)}
.chapter-mark{
  position:absolute;
  right:4vw;top:75px;
  font-family:"Playfair Display",serif;
  font-size:clamp(5rem,11vw,11rem);
  color:rgba(23,32,28,.05);
  line-height:1
}
.dark .chapter-mark,.forest .chapter-mark{color:rgba(255,255,255,.045)}
.section-head{
  max-width:960px;
  margin-bottom:68px
}
.section-kicker{color:var(--gold)}
.section-head h2,.forecast-copy h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  letter-spacing:-.03em;
  margin:16px 0 0
}
.section-intro{
  max-width:720px;
  margin-top:24px;
  font-size:1.15rem;
  color:rgba(255,255,255,.7)
}



.earnings-table-section{
  background:
    radial-gradient(circle at 12% 8%, rgba(183,146,87,.13), transparent 26%),
    #f6f1e8;
}
.earnings-table-intro{
  max-width:820px;
  margin-top:24px;
  color:var(--muted);
  font-size:1.08rem;
}
.kpi-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-bottom:42px;
  background:rgba(23,32,28,.12);
  border:1px solid rgba(23,32,28,.12);
}
.kpi-strip article{
  padding:28px;
  background:#fffdf8;
}
.kpi-strip span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.66rem;
  font-weight:700;
  color:var(--muted);
}
.kpi-strip strong{
  display:block;
  margin:20px 0 6px;
  font-family:"Playfair Display",serif;
  font-size:2.45rem;
}
.kpi-strip small{color:var(--muted)}

.financial-table-wrap,
.scenario-table-wrap,
.annual-bridge-wrap{
  margin-top:34px;
  background:#fff;
  border:1px solid rgba(23,32,28,.12);
  box-shadow:0 18px 55px rgba(23,32,28,.05);
}
.table-heading{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  padding:28px 30px 22px;
  border-bottom:1px solid rgba(23,32,28,.1);
}
.table-heading h3{
  margin:7px 0 0;
  font-family:"Playfair Display",serif;
  font-size:1.85rem;
}
.table-heading>span{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(183,146,87,.14);
  color:#7a5d2e;
  font-size:.76rem;
  font-weight:700;
}
.financial-table,
.scenario-table,
.bridge-table{
  width:100%;
  border-collapse:collapse;
}
.financial-table th,
.scenario-table th{
  padding:15px 18px;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.66rem;
  color:var(--muted);
  background:#f3eee5;
}
.financial-table td,
.scenario-table td,
.bridge-table td{
  padding:18px;
  border-top:1px solid rgba(23,32,28,.08);
  vertical-align:top;
}
.financial-table td:nth-child(2),
.financial-table td:nth-child(3),
.scenario-table td:nth-child(2),
.scenario-table td:nth-child(3){
  white-space:nowrap;
  font-weight:700;
}
.financial-table td:last-child,
.scenario-table td:last-child{
  color:#505853;
}
.financial-table tfoot td{
  font-weight:700;
  background:var(--forest);
  color:var(--white);
}
.financial-table tfoot td:last-child{
  color:rgba(255,255,255,.75);
}
.highlight-row{
  background:rgba(183,146,87,.08);
}
.scenario-tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
}
.scenario-tag.conservative{
  background:#ece8df;
  color:#5f655f;
}
.scenario-tag.expected{
  background:#e8d4a9;
  color:#6d5125;
}
.scenario-tag.strong{
  background:#dce9df;
  color:#31513c;
}
.bridge-table td:first-child{
  width:60%;
}
.bridge-table td:nth-child(2),
.bridge-table td:nth-child(3){
  text-align:right;
  font-weight:700;
  white-space:nowrap;
}
.bridge-total td{
  background:var(--forest);
  color:var(--white);
  font-size:1.05rem;
  font-weight:700;
}
.model-note{
  margin-top:34px;
  padding:28px 30px;
  border-left:3px solid var(--gold);
  background:rgba(183,146,87,.1);
}
.model-note span{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  font-weight:700;
}
.model-note p{margin:8px 0 0;max-width:980px}

@media(max-width:900px){
  .kpi-strip{grid-template-columns:1fr}
  .table-heading{align-items:flex-start;flex-direction:column}
  .financial-table,
  .scenario-table,
  .bridge-table{
    display:block;
    overflow-x:auto;
    white-space:normal;
  }
}

.editorial-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:90px;
  max-width:1100px
}
.lede p{
  font-family:"Playfair Display",serif;
  font-size:2rem;
  line-height:1.35
}
.copy p{font-size:1.08rem}
.thesis{
  margin-top:75px;
  max-width:980px;
  padding:34px 36px;
  border-left:3px solid var(--gold);
  background:rgba(183,146,87,.11)
}
.thesis span{
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.7rem;
  font-weight:700
}
.thesis p{
  margin:8px 0 0;
  font-family:"Playfair Display",serif;
  font-size:1.75rem
}

.findings-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(23,32,28,.12);
  border:1px solid rgba(23,32,28,.12)
}
.finding{
  min-height:280px;
  padding:28px;
  background:rgba(255,255,255,.45)
}
.finding span,.roadmap article span{color:var(--gold);font-weight:700}
.finding h3{margin-top:48px;font-size:1.25rem}

.system-list{border-top:1px solid rgba(255,255,255,.16)}
.system-row{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:28px;
  padding:30px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  align-items:start
}
.system-row>span{color:var(--gold);font-weight:700}
.system-row h3{
  font-family:"Playfair Display",serif;
  font-size:1.7rem;
  margin-bottom:8px
}
.system-row p{color:rgba(255,255,255,.7);max-width:700px}
.system-row em{
  color:rgba(255,255,255,.45);
  font-size:.8rem;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.1em
}

.forecast-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start
}
.forecast-copy>p:not(.section-kicker):not(.score-note){
  color:rgba(255,255,255,.72);
  font-size:1.08rem;
  max-width:620px
}
.score-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:45px
}
.score-panel span{
  display:block;
  font-size:.69rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:700
}
.score-panel strong{font-size:2.6rem}
.score-panel small{color:rgba(255,255,255,.55)}
.score-track{
  height:10px;
  background:rgba(255,255,255,.1);
  border-radius:999px;
  margin:24px 0 18px;
  overflow:hidden
}
.score-track div{
  width:75%;
  height:100%;
  background:linear-gradient(90deg,#b79257,#ead0a0);
  transition:width .25s ease
}
.score-note{color:rgba(255,255,255,.66)}
.controls{
  display:grid;
  gap:25px;
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.04)
}
.controls label span{
  display:flex;
  justify-content:space-between;
  margin-bottom:8px;
  font-size:.9rem
}
.controls input{width:100%;accent-color:var(--gold)}

.roadmap{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px
}
.roadmap article{
  padding-top:20px;
  border-top:2px solid var(--gold)
}
.roadmap h3{margin-top:38px}
.next-note{
  margin-top:72px;
  padding:26px 28px;
  background:var(--paper-2)
}

footer{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding:44px 7vw;
  background:#09120f;
  color:rgba(255,255,255,.62);
  font-size:.84rem
}
footer strong{
  color:var(--white);
  font-family:"Playfair Display",serif;
  font-size:1.25rem
}

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease
}
.reveal.visible{
  opacity:1;
  transform:none
}

@media(max-width:900px){
  .topbar{height:64px}
  .nav-toggle{display:block}
  .chapter-nav{
    display:none;
    position:absolute;
    top:64px;left:0;right:0;
    padding:20px 5vw;
    flex-direction:column;
    align-items:flex-start;
    background:var(--paper);
    border-bottom:1px solid var(--line)
  }
  .chapter-nav.open{display:flex}
  .cover{padding:110px 6vw 60px}
  .cover-title,.cover-credits,.editorial-grid,.forecast-layout,.earnings-hero{
    grid-template-columns:1fr
  }
  .cover-title{gap:28px}
  .cover-title h1{font-size:clamp(4rem,18vw,6.5rem)}
  .cover-credits{gap:22px}
  .edition{align-items:flex-start}
  .section{padding:90px 6vw}
  .findings-grid,.roadmap,.earnings-grid{grid-template-columns:1fr}
  .mix-row{grid-template-columns:1fr}
  .mix-row small{text-align:left}
  .mix-header{align-items:flex-start;flex-direction:column}
  .earnings-range{grid-template-columns:1fr 1fr}
  .system-row{grid-template-columns:50px 1fr}
  .system-row em{grid-column:2}
  .chapter-mark{top:40px}
  footer{flex-direction:column}
}


/* Actionable content intelligence */
.intelligence-section{
  background:
    radial-gradient(circle at 88% 10%, rgba(183,146,87,.15), transparent 28%),
    #f7f3eb;
}
.intelligence-intro{
  max-width:850px;
  margin-top:24px;
  color:var(--muted);
  font-size:1.08rem;
}
.content-kpi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:34px;
}
.content-kpi-grid article{
  min-height:245px;
  padding:28px;
  background:var(--forest);
  color:var(--white);
  border:1px solid rgba(255,255,255,.08);
}
.content-kpi-grid span,
.planner-recommendation span,
.upload-slate>span,
.mix-output-top>span,
.measurement-note span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.67rem;
  font-weight:700;
}
.content-kpi-grid span{color:#d7bb88}
.content-kpi-grid strong{
  display:block;
  margin:42px 0 12px;
  font-family:"Playfair Display",serif;
  font-size:1.75rem;
  line-height:1.15;
}
.content-kpi-grid p{margin:0;color:rgba(255,255,255,.7)}

.content-engine,
.mix-planner{
  margin-top:34px;
  border:1px solid rgba(23,32,28,.12);
  background:#fffdf8;
  box-shadow:0 18px 55px rgba(23,32,28,.05);
}
.content-engine{padding:30px}
.content-engine-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(23,32,28,.1);
}
.content-engine-head h3,
.mix-planner h3{
  margin:7px 0 8px;
  font-family:"Playfair Display",serif;
  font-size:2rem;
}
.content-engine-head p{max-width:750px;margin:0;color:var(--muted)}
.signal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  font-size:.74rem;
  color:var(--muted);
  white-space:nowrap;
}
.signal-legend span{display:flex;align-items:center;gap:7px}
.signal-dot{
  width:8px;height:8px;border-radius:50%;
  display:inline-block;
}
.signal-dot.core{background:var(--forest)}
.signal-dot.growth{background:var(--gold)}
.signal-dot.support{background:#9ba39e}

.theme-ranking{display:grid}
.theme-row{
  display:grid;
  grid-template-columns:minmax(210px,1.15fr) minmax(220px,1.5fr) 74px minmax(190px,1fr);
  gap:22px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid rgba(23,32,28,.09);
}
.theme-row:last-child{border-bottom:0}
.theme-name strong{display:block;font-size:1rem}
.theme-name span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.78rem;
}
.theme-bar{
  height:11px;
  overflow:hidden;
  background:#e8e4dc;
  border-radius:999px;
}
.theme-bar>i{
  display:block;
  height:100%;
  width:var(--signal);
  border-radius:inherit;
  background:var(--forest);
  transform-origin:left;
  animation:signalGrow .9s ease both;
}
.theme-row[data-role="growth"] .theme-bar>i{background:var(--gold)}
.theme-row[data-role="support"] .theme-bar>i{background:#9ba39e}
.theme-score{
  font-family:"Playfair Display",serif;
  font-size:1.55rem;
  font-weight:700;
}
.theme-score small{
  font-family:"Libre Franklin",sans-serif;
  color:var(--muted);
  font-size:.68rem;
  font-weight:500;
}
.theme-job{
  color:#4f5852;
  font-size:.84rem;
}
.theme-job strong{display:block;color:var(--ink);margin-bottom:3px}
@keyframes signalGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.mix-planner{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
}
.planner-copy{
  padding:34px;
  background:var(--forest-deep);
  color:var(--white);
}
.planner-copy>p:not(.section-kicker){color:rgba(255,255,255,.67)}
.goal-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.goal-tab{
  border:1px solid rgba(255,255,255,.2);
  background:transparent;
  color:rgba(255,255,255,.72);
  padding:9px 12px;
  border-radius:999px;
  font:600 .78rem "Libre Franklin",sans-serif;
  cursor:pointer;
}
.goal-tab:hover,
.goal-tab.active{
  color:var(--forest-deep);
  background:#e8d4a9;
  border-color:#e8d4a9;
}
.planner-recommendation{
  margin-top:30px;
  padding:22px;
  border-left:3px solid var(--gold);
  background:rgba(255,255,255,.06);
}
.planner-recommendation span{color:#d7bb88}
.planner-recommendation p{margin:8px 0 0;color:rgba(255,255,255,.82)}
.mix-output{padding:34px}
.mix-output-top{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(23,32,28,.1);
}
.mix-output-top>span,
.upload-slate>span{color:var(--muted)}
.mix-output-top strong{
  font-family:"Playfair Display",serif;
  font-size:1.45rem;
}
.content-mix{margin-top:8px}
.mix-row{
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(180px,1.5fr) 55px;
  gap:16px;
  align-items:center;
  padding:13px 0;
}
.mix-row strong{font-size:.86rem}
.mix-track{
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:#e8e4dc;
}
.mix-track i{
  display:block;
  height:100%;
  width:var(--mix);
  background:linear-gradient(90deg,var(--forest),#315d49);
  border-radius:inherit;
  transition:width .35s ease;
}
.mix-row small{text-align:right;font-weight:700;color:var(--forest)}
.upload-slate{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(23,32,28,.1);
}
.upload-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.upload-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  background:#eee9df;
  color:#3f4742;
  font-size:.72rem;
  font-weight:700;
}
.upload-chip.anchor{background:#dce9df;color:#31513c}
.upload-chip.discovery{background:#eeddbb;color:#6d5125}
.upload-chip.support{background:#e7e6ea;color:#575262}

.action-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:34px;
}
.action-grid article{
  padding:25px;
  border-top:3px solid var(--gold);
  background:rgba(232,223,207,.65);
}
.action-grid span{
  color:#806334;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
  font-weight:700;
}
.action-grid h3{
  margin:34px 0 10px;
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  line-height:1.2;
}
.action-grid p{margin:0;color:#59615c;font-size:.9rem}
.measurement-note{
  margin-top:34px;
  padding:28px 30px;
  border-left:3px solid var(--gold);
  background:rgba(183,146,87,.1);
}
.measurement-note p{
  max-width:1000px;
  margin:8px 0 0;
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  line-height:1.4;
}

@media(max-width:1050px){
  .content-kpi-grid{grid-template-columns:1fr}
  .content-kpi-grid article{min-height:0}
  .content-kpi-grid strong{margin-top:24px}
  .theme-row{
    grid-template-columns:minmax(180px,1fr) minmax(160px,1.2fr) 68px;
  }
  .theme-job{grid-column:1/-1;margin-top:-10px}
  .action-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .content-engine-head{align-items:flex-start;flex-direction:column}
  .mix-planner{grid-template-columns:1fr}
}
@media(max-width:650px){
  .content-engine{padding:22px}
  .theme-row{
    grid-template-columns:1fr 58px;
    gap:10px 14px;
  }
  .theme-bar{grid-column:1/-1;grid-row:2}
  .theme-score{grid-column:2;grid-row:1;text-align:right}
  .theme-job{grid-column:1/-1;grid-row:3;margin:0}
  .mix-row{grid-template-columns:1fr 45px}
  .mix-track{grid-column:1/-1;grid-row:2}
  .mix-row small{grid-column:2;grid-row:1}
  .action-grid{grid-template-columns:1fr}
  .mix-output-top{align-items:flex-start;flex-direction:column}
}
