/* Extend the existing dark editorial system. */
:root{--reading-width:66ch}
.section p{overflow-wrap:break-word}
.home-diversity,.signature-story,.home-host,.home-safari-collection{border-top:1px solid var(--line)}
.home-diversity .section-intro{align-items:end;margin-bottom:2.4rem}
.home-diversity .section-intro>p{max-width:31rem;font-size:1rem;line-height:1.8}
.diversity-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem;align-items:start;margin-bottom:2rem}
.diversity-grid figure{margin:0;min-width:0}
.diversity-grid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.diversity-grid figure:nth-child(2){padding-top:3rem}
.diversity-grid figure:nth-child(3){padding-top:6rem}
.diversity-grid figcaption{font:1.05rem/1.5 var(--serif);padding-top:1rem;color:var(--ink)}
.diversity-grid figcaption span{display:block;font:0.75rem/1.8 Arial,sans-serif;color:var(--muted)}
.signature-story .signature-copy>p:not(.eyebrow){font-size:1rem;line-height:1.85}
.signature-main img{height:auto;aspect-ratio:4/5;object-fit:cover}
.signature-secondary{max-width:14rem}
.signature-secondary img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.signature-secondary span{display:block;padding:.65rem 0;color:var(--gold);font:1rem var(--serif)}
.home-host p:not(.eyebrow){font-size:1rem;line-height:1.85;max-width:var(--reading-width)}
.four-steps{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin:1.8rem 0}
.four-steps p{display:block!important;border-top:1px solid var(--line);padding:.9rem 0!important;margin:0!important}
.four-steps strong{display:block;font:1.4rem var(--serif);margin-bottom:.5rem}
.four-steps span{font-size:.9rem;line-height:1.75;display:block;color:var(--muted)}
.gallery-intro>div:last-child{max-width:26rem;font-size:1rem;line-height:1.8}
.gallery-grid{gap:2.4rem 1.4rem}
.gallery-image img{aspect-ratio:4/5;object-fit:cover}
.gallery-title{font-size:1.6rem;line-height:1.2}
.gallery-label{font-size:.75rem;line-height:1.6}
.gallery-read-story{font-size:.875rem}
.gallery-filters button{font-size:.875rem;min-height:44px}
.gallery-summary,.portfolio-note{font-size:.875rem;line-height:1.8}
.related-frames{border-top:1px solid var(--line);padding-top:1.1rem}
.related-frames button{display:block;color:var(--gold);background:none;border:0;text-align:left;padding:.6rem 0;font:1rem var(--serif);min-height:44px;cursor:pointer}
.room-choice{margin:1.5rem 0;padding:1.2rem 1.4rem;border-left:2px solid var(--gold);background:#d6b58008}
.room-choice h3{font:1.5rem var(--serif);margin:0 0 .6rem}
.room-choice p,.room-choice-hint{font-size:.9rem;line-height:1.8;color:var(--muted)}
.booking-benefits{border-top:1px solid var(--line);padding:2rem 0 1.8rem}
.booking-benefits h2{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.12;margin:1rem 0 1.6rem;letter-spacing:-.7px}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem}
.benefit-grid article{min-width:0}
.benefit-grid svg{width:25px;height:25px;stroke:var(--gold);fill:none;stroke-width:1.5}
.benefit-grid h3{font:1.15rem/1.3 var(--serif);margin:.6rem 0}
.benefit-grid p{font-size:.875rem;line-height:1.8;color:var(--muted)}
.departure-windows{border-top:1px solid var(--line);margin:2.8rem 0;padding-top:2.4rem}
.departure-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:end;margin-bottom:1.5rem}
.departure-heading h3{font:2.3rem/1.1 var(--serif);margin:.8rem 0 0}
.departure-heading p:not(.eyebrow){font-size:.95rem;line-height:1.8;color:var(--muted);max-width:var(--reading-width)}
.departure-calendar summary{display:flex;justify-content:space-between;gap:1rem;font-size:1rem;cursor:pointer;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.2rem 0;list-style:none}
.departure-calendar summary::-webkit-details-marker{display:none}
.departure-calendar ul{list-style:none;padding:0;margin:0}
.departure-calendar li{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0;font-size:.95rem}
.departure-calendar li strong{font-weight:400}
.departure-calendar li>a{font-size:.875rem;color:var(--gold);padding:.5rem 0;min-height:44px;display:flex;align-items:center}
.safari-dropdown-content .category-intro,.page-lead>p,.expedition-intro{font-size:1rem;line-height:1.8}
.circuit-editions span{font-size:.875rem;line-height:1.6}
.circuit-price{font-size:1.7rem}
.book-page .booking-fields label{font-size:.875rem}
.book-page .form-hint{font-size:.875rem;line-height:1.8}
.safari-dropdown-title{overflow-wrap:normal}
@media(max-width:900px){
.diversity-grid{gap:1rem}
.diversity-grid figure:nth-child(2){padding-top:1.5rem}
.diversity-grid figure:nth-child(3){padding-top:3rem}
.four-steps{gap:.5rem 1rem}
.departure-heading{gap:1.5rem}
}
@media(max-width:760px){
.home-diversity .section-intro{display:block}
.home-diversity .section-intro>p{margin-top:1.3rem}
.diversity-grid{grid-template-columns:1fr 1fr}
.diversity-grid figure:first-child{grid-column:1/-1}
.diversity-grid figure:nth-child(2),.diversity-grid figure:nth-child(3){padding-top:0}
.diversity-grid figure:first-child img{aspect-ratio:4/5}
.diversity-grid figcaption{font-size:1rem}
.signature-story .signature-copy>p:not(.eyebrow){font-size:1rem}
.signature-secondary{max-width:15rem;margin-top:1.5rem}
.departure-heading{grid-template-columns:1fr;gap:1.2rem}
.departure-calendar li{grid-template-columns:1fr 2fr;gap:.35rem 1rem}
.departure-calendar li>a{grid-column:2}
.departure-calendar li strong{line-height:1.6}
.safari-dropdown-title{font-size:clamp(1.4rem,5.8vw,2rem)}
.benefit-grid{gap:1.3rem}
}
@media(max-width:600px){
.gallery-grid,.featured-work .gallery-grid{grid-template-columns:1fr;gap:2rem}
.gallery-title{font-size:1.7rem}
.gallery-summary{display:block}
.gallery-summary #gallery-count{text-align:left;margin-top:.4rem;font-size:.875rem}
.gallery-intro{display:block}
.gallery-intro>div:last-child{margin-top:1.4rem}
}
@media(max-width:390px){
.diversity-grid{grid-template-columns:1fr}
.diversity-grid figure:first-child{grid-column:auto}
.benefit-grid,.four-steps{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.gallery-image img,.diversity-grid img{transition:none}}
