:root{
  --ink:#0a0a09;
  --ink-soft:#141512;
  --paper:#f1f0ea;
  --sage:#adc0b7;
  --gold:#d2a638;
  --muted:#92958f;
  --line:rgba(241,240,234,.15);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:"Manrope","Helvetica Neue","PingFang SC",Arial,sans-serif;
  font-weight:300;
  letter-spacing:0;
}
a{color:inherit}
button{font:inherit}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;background:var(--gold);color:var(--ink);padding:.65rem .9rem;transform:translateY(-160%)}
.skip-link:focus{transform:none}

.draft-banner{
  position:relative;
  z-index:20;
  padding:.65rem 5vw;
  background:var(--gold);
  color:var(--ink);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.case-nav{
  position:relative;
  z-index:10;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.1rem 4.5vw;
  border-bottom:1px solid var(--line);
}
.case-brand{
  font-family:"Italiana","Baskerville","Songti SC",serif;
  font-size:1.25rem;
  text-decoration:none;
}
.case-nav-links{display:flex;align-items:center;gap:1.5rem}
.case-nav-links a{
  color:rgba(241,240,234,.62);
  font-size:.64rem;
  letter-spacing:.12em;
  text-decoration:none;
  text-transform:uppercase;
}
.case-nav-links a:hover{color:var(--sage)}

.case-hero{
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  border-bottom:1px solid var(--line);
}
.case-hero-copy{
  align-self:center;
  padding:7rem 7vw 6rem 5vw;
}
.case-kicker,.section-kicker{
  display:block;
  margin-bottom:1.25rem;
  color:var(--sage);
  font-size:.64rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.case-hero h1,.section-title,.case-result-quote{
  margin:0;
  font-family:"Italiana","Baskerville","Songti SC",serif;
  font-weight:400;
  letter-spacing:0;
}
.case-hero h1{
  max-width:760px;
  font-size:clamp(3.15rem,6.1vw,6.8rem);
  line-height:.91;
}
.case-hero h1 em{color:var(--sage);font-weight:400}
.case-deck{
  max-width:610px;
  margin:2.1rem 0 0;
  color:rgba(241,240,234,.62);
  font-size:.96rem;
  line-height:1.8;
}
.case-status{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  margin-top:2rem;
  padding:.7rem 0;
  border-bottom:1px solid rgba(210,166,56,.55);
  color:rgba(241,240,234,.72);
  font-size:.72rem;
}
.case-status::before{content:"";width:7px;height:7px;background:var(--gold);border-radius:50%}

.photo-placeholder{
  position:relative;
  min-height:260px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#171914;
  border:1px solid rgba(173,192,183,.18);
}
.photo-placeholder::before{
  content:attr(data-slot);
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  color:rgba(173,192,183,.19);
  font-family:"Italiana","Baskerville",serif;
  font-size:clamp(4rem,9vw,9rem);
}
.photo-placeholder figcaption,.photo-placeholder .photo-caption{
  position:relative;
  z-index:1;
  width:100%;
  padding:1rem 1.1rem;
  background:rgba(10,10,9,.9);
  color:rgba(241,240,234,.7);
  font-size:.7rem;
  line-height:1.55;
}
.case-hero-visual{min-height:720px;border:0;border-left:1px solid var(--line)}
.case-hero-visual::before{font-size:clamp(8rem,18vw,18rem)}

.case-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}
.case-fact{min-height:150px;padding:2.2rem 2.1rem;border-right:1px solid var(--line)}
.case-fact:last-child{border-right:0}
.case-fact dt{margin-bottom:1rem;color:var(--sage);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}
.case-fact dd{margin:0;color:rgba(241,240,234,.68);font-size:.84rem;line-height:1.6}
.draft-value{color:rgba(210,166,56,.8);font-style:italic}

.case-section{padding:7rem 5vw;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:5vw;margin-bottom:4rem}
.section-title{font-size:clamp(2.3rem,4.8vw,5rem);line-height:.98}
.section-intro{max-width:680px;margin:0;color:rgba(241,240,234,.58);font-size:.94rem;line-height:1.85}
.internal-note{
  margin-top:1.25rem;
  padding-left:1rem;
  border-left:2px solid var(--gold);
  color:rgba(210,166,56,.78);
  font-size:.76rem;
  line-height:1.7;
}

.evidence-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.evidence-grid figure{margin:0}
.evidence-grid .wide{grid-column:span 7;min-height:520px}
.evidence-grid .narrow{grid-column:span 5;min-height:520px}
.evidence-grid .third{grid-column:span 4;min-height:360px}

.route-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.route-step{padding:2.4rem 2rem;border-right:1px solid var(--line)}
.route-step:last-child{border-right:0}
.route-num{display:block;margin-bottom:3rem;color:var(--sage);font-size:.66rem;letter-spacing:.12em}
.route-step h3{margin:0 0 1rem;font-family:"Italiana","Baskerville",serif;font-size:1.55rem;font-weight:400}
.route-step p{margin:0;color:rgba(241,240,234,.55);font-size:.82rem;line-height:1.75}

.result-band{background:var(--paper);color:var(--ink)}
.result-band .section-kicker{color:#64756d}
.result-band .section-intro{color:rgba(10,10,9,.62)}
.result-band .internal-note{color:#8b6b15}
.result-band .photo-placeholder{background:#dfe2dc;border-color:rgba(10,10,9,.13)}
.result-band .photo-placeholder::before{color:rgba(10,10,9,.13)}
.result-band .photo-placeholder .photo-caption{background:rgba(241,240,234,.93);color:rgba(10,10,9,.65)}

.maintenance-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}
.case-result-quote{font-size:clamp(2.1rem,4.1vw,4.5rem);line-height:1.08;color:var(--sage)}
.maintenance-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.maintenance-list li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);color:rgba(241,240,234,.6);font-size:.82rem;line-height:1.65}
.maintenance-list strong{color:rgba(241,240,234,.85);font-weight:500}

.case-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:4rem 5vw 5rem}
.case-footer p{max-width:620px;margin:0;color:rgba(241,240,234,.42);font-size:.74rem;line-height:1.7}
.case-footer a{color:var(--sage);font-size:.7rem;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}

@media(max-width:900px){
  .case-nav-links a:not(.home-link){display:none}
  .case-hero{min-height:auto;grid-template-columns:1fr}
  .case-hero-copy{padding:5.5rem 6vw 4rem}
  .case-hero-visual{min-height:560px;border-left:0;border-top:1px solid var(--line)}
  .case-facts{grid-template-columns:repeat(2,1fr)}
  .case-fact:nth-child(2){border-right:0}
  .case-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-head{grid-template-columns:1fr;gap:1.5rem}
  .route-grid{grid-template-columns:1fr}
  .route-step{border-right:0;border-bottom:1px solid var(--line)}
  .maintenance-layout{grid-template-columns:1fr;gap:3rem}
}

@media(max-width:600px){
  .draft-banner{font-size:.58rem;line-height:1.5}
  .case-nav{min-height:62px;padding:.9rem 5vw}
  .case-brand{font-size:1rem}
  .case-nav-links{gap:.8rem}
  .case-hero-copy{padding:4.5rem 5vw 3.2rem}
  .case-hero h1{font-size:clamp(2.8rem,15vw,4.2rem)}
  .case-deck{font-size:.86rem}
  .case-hero-visual{min-height:460px}
  .case-facts{grid-template-columns:1fr}
  .case-fact,.case-fact:nth-child(2){min-height:120px;border-right:0;border-bottom:1px solid var(--line)}
  .case-section{padding:5rem 5vw}
  .section-head{margin-bottom:2.6rem}
  .evidence-grid{grid-template-columns:1fr}
  .evidence-grid .wide,.evidence-grid .narrow,.evidence-grid .third{grid-column:auto;min-height:390px}
  .route-step{padding:2rem 1.2rem}
  .route-num{margin-bottom:2rem}
  .maintenance-list li{grid-template-columns:1fr;gap:.4rem}
  .case-footer{flex-direction:column;align-items:flex-start;padding:3rem 5vw 4rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Prevent editorial components from scaling indefinitely on wide displays. */
@media(min-width:901px){
  .case-nav{
    padding-inline:max(3rem,calc((100vw - 1320px)/2));
  }
  .case-hero{
    width:100%;
    max-width:1320px;
    min-height:590px;
    margin-inline:auto;
  }
  .case-hero-copy{padding:4.75rem 4rem}
  .case-hero h1{max-width:620px;font-size:clamp(3rem,3.8vw,4.7rem);line-height:.94}
  .case-hero-visual{min-height:590px}
  .case-facts{max-width:1320px;margin-inline:auto}
  .case-fact{min-height:132px;padding:1.8rem 2rem}
  .case-section{padding:5.5rem max(3rem,calc((100vw - 1280px)/2))}
  .section-head{gap:4rem;margin-bottom:3.5rem}
  .section-title{font-size:clamp(2.2rem,3vw,3.7rem)}
  .case-result-quote{font-size:clamp(2.1rem,3vw,3.7rem)}
  .case-footer{
    width:100%;
    max-width:1320px;
    margin-inline:auto;
    padding:3.5rem 2rem 4.5rem;
  }
}
