/* A larger original brand mark, with enough room for its lettering. */
:root { --header-height:128px; }
.brand-logo-link { flex:0 0 96px; width:96px; height:120px; }
.brand-logo { height:116px; width:auto; max-width:100%; }
.travel-surcharge { display:block; margin-top:.45rem; font-size:.8rem; line-height:1.5; color:var(--muted); }
.price-details { margin-top:clamp(2rem,4vw,3.5rem); background:var(--cream); border:1px solid var(--line); scroll-margin-top:calc(var(--header-height) + 1rem); }
.price-details > summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.4rem,3vw,2rem); cursor:pointer; list-style:none; }
.price-details > summary::-webkit-details-marker { display:none; }
.price-details summary strong { display:block; font:400 clamp(1.5rem,2.5vw,2rem)/1.25 var(--serif); }
.price-details summary small { display:block; margin-top:.6rem; color:var(--muted); line-height:1.5; }
.details-plus { flex:none; color:var(--brown); font-size:2rem; }
.price-details[open] .details-plus { transform:rotate(45deg); }
.price-details .price-inclusions { margin-top:0; border:0; border-top:1px solid var(--line); }
/* Biography as a full-width photographic cover, using the hero's proportions. */
.story.story-biography { position:relative; isolation:isolate; color:white; min-height:clamp(680px,100svh,920px); background:#30261f; }
.story-biography .story-grid { position:relative; z-index:1; display:flex; align-items:center; justify-content:flex-end; min-height:inherit; }
.story-biography .story-image { position:absolute; inset:0; top:0; z-index:-2; width:100vw; left:50%; transform:translateX(-50%); height:100%; min-height:0; }
.story-biography .story-image img { object-fit:cover; object-position:center 38%; }
.story-biography .story-image::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(30,22,16,.18),rgba(30,22,16,.87) 65%); pointer-events:none; }
.story-biography .story-copy { max-width:620px; padding-left:2rem; }
.story-biography .eyebrow,.story-biography .biography-text,.story-biography .inline-link,.story-biography .story-copy li svg { color:#fff7ee; }
.story-biography .biography-more summary { color:#fff7ee; border-color:#ffffff66; }
.story-biography .biography-rest { margin-top:1rem; padding:clamp(1.25rem,3vw,2rem); background:#f6f0e8; color:#342923; }
.connection { min-height:620px; }
.quote-section { min-height:520px; }
.photo-credit { display:inline-flex; flex-direction:column; align-items:flex-start; gap:.3rem; padding:.85rem 1rem; margin-top:1.25rem; background:rgba(33,24,19,.8); border:1px solid #ffffff66; color:#fff; font-size:.85rem; line-height:1.5; }
.photo-credit span { font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
 :root { --header-height:124px; }
 .brand-logo-link { flex-basis:90px; width:90px; height:116px; }
 .brand-logo { height:112px; }
 .story-biography .story-copy { max-width:620px; padding-left:0; }
 .story-biography .story-image::after { background:linear-gradient(90deg,rgba(30,22,16,.82),rgba(30,22,16,.58)); }
 .story-biography .story-grid { justify-content:flex-start; }
}
@media(max-width:600px) {
 .story.story-biography { min-height:clamp(640px,100svh,820px); }
 .story-biography .story-image { height:100%; width:100vw; }
 .story-biography .story-copy h2 { font-size:clamp(2.2rem,10vw,2.8rem); }
 .story-biography .story-image img { object-position:58% center; }
 .connection { min-height:560px; }
 .quote-section { min-height:460px; }
 .price-details > summary { gap:.8rem; }
}
