/* Editorial layout responds to the description column, not just viewport size. */
.opd-description{--opd-ink:#3b3337;--opd-muted:#8f7480;--opd-line:#eee5e8;container-type:inline-size;color:var(--opd-ink);width:100%;max-width:100%;font-family:inherit;font-size:16px;line-height:1.85;overflow-wrap:anywhere;text-align:left;}
.opd-description .opd-section{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding:38px 0;align-items:center;}
.opd-description .opd-section+.opd-section{border-top:1px solid var(--opd-line);}
.opd-description .opd-section:first-child{padding-top:12px;}
.opd-description .opd-copy{min-width:0;max-width:100%;}
.opd-description p{font-size:inherit;line-height:inherit;margin:0 0 1.15em;color:inherit;}
.opd-description :is(h1,h2,h3,h4,h5,h6){font-family:inherit;color:var(--opd-ink);font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:1.25em 0 .7em;text-transform:none;border:0;padding:0;}
.opd-description h2{font-size:clamp(26px,3vw,36px);}
.opd-description h3{font-size:clamp(22px,2.4vw,28px);}
.opd-description :is(h4,h5,h6){font-size:20px;}
.opd-description .opd-copy>:first-child,.opd-description .opd-copy>:first-child>:first-child{margin-top:0;}
.opd-description .opd-copy>:last-child,.opd-description .opd-copy>:last-child>:last-child{margin-bottom:0;}
.opd-description :is(ul,ol){padding-left:1.25em;margin:1.2em 0;}
.opd-description li{padding-left:.2em;margin:.45em 0;}
.opd-description li::marker{color:var(--opd-muted);}
.opd-description strong{font-weight:600;color:inherit;}
.opd-description img{max-width:100%;height:auto;}
.opd-description table{max-width:100%;}
.opd-description .opd-figure{position:relative;display:block;min-width:0;width:100%;box-sizing:border-box;margin:0;padding:0;border:0;background:none;box-shadow:none;}
.opd-description .opd-zoom{position:relative;display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1000/1333;color:var(--opd-ink);text-decoration:none;cursor:zoom-in;overflow:hidden;border-radius:3px;background:#fff;}
.opd-description .opd-zoom img{display:block;position:absolute;inset:0;object-fit:contain;width:100%;height:100%;max-width:100%;max-height:none;margin:0;padding:0;border:0;transition:transform .55s ease;}
.opd-description .opd-zoom:hover img{transform:scale(1.025);}
.opd-description .opd-zoom:focus-visible{outline:2px solid var(--opd-muted);outline-offset:4px;}
.opd-description .opd-zoom-hint{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #eadfe3;border-radius:50%;background:rgba(255,255,255,.94);opacity:.75;transition:opacity .2s;}
.opd-description .opd-zoom-hint::before,.opd-description .opd-zoom-hint::after{content:'';position:absolute;width:10px;height:1px;background:#6e5661;}
.opd-description .opd-zoom-hint::after{transform:rotate(90deg);}
.opd-description .opd-zoom:hover .opd-zoom-hint{opacity:1;}
@container (min-width:720px){
 .opd-description .opd-section{gap:clamp(36px,6cqi,84px);padding:clamp(45px,6cqi,76px) 0;}
 .opd-description .opd-section--visual{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);}
 .opd-description .opd-section--reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);}
 .opd-description .opd-section--reverse>.opd-figure{grid-column:1;grid-row:1;}
 .opd-description .opd-section--reverse>.opd-copy{grid-column:2;grid-row:1;}
 .opd-description .opd-section--text>.opd-copy{max-width:76ch;}
}
.opd-lightbox{box-sizing:border-box;border:0;border-radius:12px;padding:56px 18px 18px;background:#fff;max-width:94vw;max-height:94vh;width:fit-content;box-shadow:0 24px 80px #0003;}
.opd-lightbox::backdrop{background:rgba(30,23,28,.8);}
.opd-lightbox img{display:block;object-fit:contain;width:auto;height:auto;max-width:86vw;max-height:76vh;margin:auto;}
.opd-lightbox .opd-close{position:absolute;right:12px;top:10px;border:1px solid #eadfe3;border-radius:50%;width:36px;height:36px;background:#faf6f7;color:#393136;font:26px/1 sans-serif;cursor:pointer;display:grid;place-items:center;}
.opd-lightbox .opd-close:focus-visible{outline:3px solid #866975;}
@media(max-width:600px){.opd-description{font-size:15px;line-height:1.8;}.opd-description .opd-section{padding:30px 0;gap:22px;}}
@media(prefers-reduced-motion:reduce){.opd-description .opd-zoom img,.opd-description .opd-zoom-hint{transition:none;}.opd-description .opd-zoom:hover img{transform:none;}}
