/* Keep the established editorial palette and spacing; separate portfolio from Stories. */
.header nav{gap:clamp(16px,2.2vw,30px)}
.portfolio-lead{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.portfolio-lead h1{font-size:clamp(3.5rem,7vw,7rem);line-height:1;letter-spacing:-.04em;margin-top:1rem}
.portfolio-lead h1 em{display:inline;margin:0}
.portfolio-lead>p{font:1.2rem/1.7 var(--serif);color:var(--muted)}
.portfolio-filters{margin-bottom:2rem;flex-wrap:wrap}
.portfolio-masonry{columns:3;column-gap:1.25rem}
.portfolio-image{display:block;break-inside:avoid;width:100%;padding:0;margin:0 0 1.25rem;background:none;overflow:hidden}
.portfolio-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transition:opacity .2s}
.portfolio-image:hover img{opacity:.9}
.portfolio-credit{margin-top:2rem;font-size:.8rem;color:var(--muted)}
.portfolio-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;margin:0;background:#080c09;color:var(--ink);overflow:hidden}
.portfolio-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.portfolio-viewer::backdrop{background:#080c09}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;font-size:.875rem;color:var(--muted)}
.viewer-toolbar button{background:none;font-size:.875rem;min-height:44px;padding:.5rem;color:var(--ink)}
.viewer-stage{min-height:0;display:flex;align-items:center;justify-content:center;padding:0 2rem;touch-action:pan-y}
.viewer-stage img{display:block;width:100%;height:100%;object-fit:contain}
.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.viewer-caption h2{font-size:clamp(1.3rem,2.3vw,2rem);letter-spacing:0;line-height:1.2}
.viewer-caption .text-link{display:inline-block;font-size:.875rem;margin-top:.4rem;padding:.35rem 0;min-height:32px}
.viewer-caption nav{display:flex;gap:.6rem;flex-shrink:0}
.viewer-caption button{width:48px;height:48px;font-size:1.4rem;background:transparent;border:1px solid var(--line)}
.viewer-caption button:disabled{opacity:.25}
.stories-section .gallery-intro h1{font-size:clamp(3rem,6vw,6rem)}
.stories-note{margin-top:1rem;font-size:.875rem;color:var(--muted)}
.stories-page .gallery-grid{gap:3rem 1.5rem}
.stories-page .gallery-read-story{font-size:.9rem}
.room-choice-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.room-choice-controls button{padding:.8rem 1rem;min-height:48px;border:1px solid var(--line);background:none;color:var(--ink);font-size:.875rem;line-height:1.5}
.room-choice-controls button[aria-pressed=true]{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.room-choice-status{font-size:.875rem;color:var(--gold);line-height:1.8}
.room-choice-note{font-size:.875rem;color:var(--muted);line-height:1.8}
@media(max-width:1100px){.header nav{gap:18px}.header-enquire{gap:12px}.header .brand-logo{width:215px}}
@media(min-width:761px) and (max-width:1000px){.header .brand-logo{width:175px}.header{gap:14px}.header nav{gap:13px}.header-enquire{font-size:11px;padding:10px}.portfolio-masonry{columns:2}}
@media(max-width:760px){.portfolio-masonry{columns:2;column-gap:.8rem}.portfolio-image{margin-bottom:.8rem}.portfolio-lead{display:block}.portfolio-lead>p{margin-top:1.25rem}.viewer-toolbar{padding:.4rem 1rem}.viewer-stage{padding:0 .5rem}.viewer-caption{padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.viewer-caption button{width:44px;height:44px}.stories-section .gallery-intro h1{line-height:1.03;letter-spacing:-.03em}.stories-section .gallery-intro h1 em{display:block;margin-left:0;margin-top:.2rem}}
@media(max-width:600px){.portfolio-masonry{columns:1}.portfolio-filters{gap:.4rem}.portfolio-filters button{font-size:.85rem;padding:.6rem .8rem}.room-choice-controls{display:grid;grid-template-columns:1fr}.viewer-caption h2{font-size:1.2rem}.viewer-caption nav{gap:.4rem}}
@media(prefers-reduced-motion:reduce){.portfolio-image img{transition:none}}

/* A single editorial statement, separate from the logo. */
.forest-statement{text-align:center;border-top:1px solid var(--line);padding-block:clamp(64px,8vw,112px)}
.forest-statement .eyebrow{margin:0 0 24px;color:var(--muted)}
.forest-statement h2{max-width:1080px;margin:0 auto;font-family:var(--serif);font-size:clamp(32px,4.5vw,58px);font-weight:400;font-style:normal;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
.forest-statement h2 span,.forest-statement h2 em{display:block}
.forest-statement h2 em{color:var(--gold);margin-top:14px;font-weight:400;font-style:normal}
@media(max-width:760px){.forest-statement{padding-block:64px}.forest-statement .eyebrow{font-size:9px;letter-spacing:1.8px}.forest-statement h2{font-size:clamp(30px,8.2vw,42px)}}

.enquiry-confirmation{border:1px solid var(--line);background:var(--panel);padding:28px;margin-top:24px}.enquiry-confirmation[hidden]{display:none}.enquiry-confirmation h3{font-family:var(--serif);font-weight:400;font-size:30px}.enquiry-confirmation p{line-height:1.7}.enquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-form{max-width:760px}#contact-form textarea{width:100%}#contact-status{line-height:1.7}

/* New original photographs retain their full supplied composition. */
.gallery-item.original-photo .gallery-image{height:auto;aspect-ratio:auto}
.gallery-item.original-photo .gallery-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none;filter:none}

.new-photo-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center}.new-photo-feature figure{margin:0}.new-photo-feature img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto;filter:none}.new-photo-feature figcaption{font-size:11px;color:var(--muted);margin-top:12px}.new-photo-feature h2{font-size:clamp(36px,4vw,62px);line-height:1.08;margin:18px 0 24px}.new-photo-feature p:not(.eyebrow){max-width:430px;color:var(--muted);line-height:1.8;margin-bottom:18px}@media(max-width:760px){.new-photo-feature{grid-template-columns:1fr}.new-photo-feature figure{max-width:500px;width:100%;margin:auto}}
