
/* ---------- hero ---------- */
.d2-hero{display:grid;background:var(--deep-2);position:relative;isolation:isolate}
@media(min-width:1000px){.d2-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.d2-hero__copy{padding:clamp(2.75rem,6vw,6rem) var(--pad);display:flex;flex-direction:column;justify-content:center}
.d2-hero__copy>div{width:100%;max-width:38rem;margin-inline:auto}
@media(min-width:1000px){.d2-hero__copy{padding-left:max(var(--pad),calc((100vw - var(--shell)) / 2 + var(--pad)))}
  .d2-hero__copy>div{margin-inline:0;padding-right:clamp(1rem,3vw,3rem)}}
.d2-hero h1{color:var(--paper);margin:1.5rem 0 1.35rem;
  font-size:clamp(2.3rem,1.4rem + 3.6vw,4.1rem);line-height:1;letter-spacing:-.032em}
.d2-hero h1 em{font-style:italic;color:var(--sage-soft)}
.d2-hero .mm-lede{color:rgba(243,255,239,.82)}
.d2-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.d2-hero__media{position:relative;min-height:clamp(340px,58vw,100%)}
.d2-hero__media .mm-slot{position:absolute;inset:0;border-radius:0}
.d2-hero__media .mm-slot img{height:100%}
.d2-hero__stamp{position:absolute;z-index:5;left:0;bottom:0;padding:1.1rem 1.6rem;background:var(--deep-2);
  font:500 .625rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--sage-soft)}

/* ---------- ledger ---------- */
.d2-ledger{background:var(--mint);border-bottom:1px solid var(--hair)}
.d2-ledger__row{display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:1000px){.d2-ledger__row{grid-template-columns:repeat(4,1fr)}}
.d2-ledger__cell{padding:1.9rem clamp(1rem,2.5vw,2rem);position:relative}
.d2-ledger__cell+.d2-ledger__cell::before{content:"";position:absolute;left:0;top:1.9rem;bottom:1.9rem;width:1px;background:var(--hair)}
.d2-ledger__cell:nth-child(3){border-top:1px solid var(--hair)}
.d2-ledger__cell:nth-child(4){border-top:1px solid var(--hair)}
@media(min-width:1000px){.d2-ledger__cell:nth-child(n){border-top:0}}
.d2-ledger__cell:first-child{padding-left:0}
.d2-ledger__cell b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,1.4rem + 1.7vw,2.9rem);line-height:1;color:var(--deep)}
.d2-ledger__cell span{display:block;margin-top:.7rem;font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* ---------- companion strip ---------- */
.d2-strip{background:var(--deep-3);padding-block:clamp(1.75rem,3.5vw,2.75rem)}
.d2-strip__head{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:baseline;justify-content:space-between;margin-bottom:1.35rem}
.d2-strip__head p{margin:0;font:500 .6875rem/1.4 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--sage-soft)}
.d2-strip__rail{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
@media(min-width:800px){.d2-strip__rail{grid-template-columns:repeat(8,1fr)}}

/* ---------- shell ---------- */
.d2-shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad);
  display:grid;gap:clamp(2rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,4.5rem)}
@media(min-width:1100px){.d2-shell{grid-template-columns:minmax(0,236px) minmax(0,1fr)}}

/* index rail */
.d2-index{align-self:start}
@media(min-width:1100px){.d2-index{position:sticky;top:132px;max-height:calc(100vh - 168px);overflow:auto;scrollbar-width:thin;padding-right:.75rem}}
.d2-index__title{margin:0 0 1.15rem;padding-bottom:.9rem;border-bottom:1px solid var(--hair);
  font:500 .625rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--sage-ink)}
.d2-index__group{margin:0 0 1.5rem}
.d2-index__group>span{display:block;margin-bottom:.55rem;font:600 .625rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--deep)}
.d2-index ul{list-style:none;margin:0;padding:0}
.d2-index li a{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;
  padding:.34rem 0;font-size:.8125rem;color:var(--muted);text-decoration:none;
  transition:color .25s,padding-left .3s var(--slow)}
.d2-index li a em{font-style:normal;font-size:.625rem;color:var(--sage-ink)}
.d2-index li a:hover{color:var(--deep);padding-left:.4rem}
.d2-index li a.is-active{color:var(--deep);font-weight:500}
@media(max-width:1099px){
  .d2-index{border:1px solid var(--hair);padding:1.35rem;background:var(--mist)}
  .d2-index__wrap{display:grid;gap:1rem 2rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
}

/* ---------- chapter rule ---------- */
.d2-chapter{margin:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem);padding-top:clamp(1.5rem,3vw,2.25rem);border-top:2px solid var(--deep)}
.d2-chapter:first-child{margin-top:0}
.d2-chapter__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem}
.d2-chapter h2{font-family:var(--serif);font-style:italic;font-size:clamp(1.9rem,1.4rem + 2.1vw,3.1rem);line-height:1;letter-spacing:-.03em;margin:0}

/* ---------- entries ---------- */
.d2-entry{padding-block:clamp(2rem,4vw,3rem);border-top:1px solid var(--hair)}
.d2-entry:first-of-type{border-top:0;padding-top:0}
.d2-entry__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.5rem;margin-bottom:1.15rem}
.d2-entry__head h2{margin:0;font-size:clamp(1.65rem,1.35rem + 1.4vw,2.5rem);line-height:1;letter-spacing:-.03em}
.d2-entry__tally{display:inline-flex;align-items:baseline;gap:.45rem;margin-left:auto;color:var(--muted)}
.d2-entry__tally b{font-family:var(--serif);font-weight:400;font-size:1.35rem;line-height:1;color:var(--sage-ink)}
.d2-entry__tally span{font:500 .625rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}

.d2-entry__banner{position:relative;overflow:hidden;margin-bottom:1.5rem}
.d2-entry__banner .mm-slot{aspect-ratio:21/8}
@media(max-width:700px){.d2-entry__banner .mm-slot{aspect-ratio:16/9}}

.d2-entry__cols{display:grid;gap:clamp(1.25rem,3vw,2.5rem)}
@media(min-width:820px){.d2-entry__cols.has-media{grid-template-columns:minmax(0,.36fr) minmax(0,1fr)}}
.d2-entry__media .mm-slot{aspect-ratio:4/5}
@media(max-width:819px){.d2-entry__media .mm-slot{aspect-ratio:16/9}}

.d2-entry__cities{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid var(--hair)}
.d2-entry__cities>span{display:block;margin-bottom:.9rem;font:500 .5625rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}

/* interlude entry */
.d2-note{position:relative;isolation:isolate;overflow:hidden;background:var(--deep-2);padding:clamp(1.9rem,4vw,3.25rem);margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.d2-note__bg{position:absolute;inset:0;z-index:-2;opacity:.3}
.d2-note::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(43,59,40,.94),rgba(43,59,40,.72))}
.d2-note h2{color:var(--paper);font-size:clamp(1.55rem,1.3rem + 1.3vw,2.3rem);line-height:1.06;letter-spacing:-.028em;margin:.9rem 0 1.15rem}

/* ---------- outro ---------- */
.d2-outro{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(2rem,4vw,3rem);border-top:2px solid var(--deep);text-align:center}
.d2-outro h2{font-size:clamp(1.7rem,1.35rem + 1.6vw,2.6rem);line-height:1.06;letter-spacing:-.028em;margin:1.15rem auto 1.15rem;max-width:20ch}
.d2-outro .mm-body{max-width:58ch;margin-inline:auto}
.d2-outro__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2rem}
