/* Hallmark · macrostructure: Portfolio Grid · genre: editorial · theme: existing monochrome · nav: masthead retained by brand request · footer: compact index
 * Audience: newcomers and members. Use: discover the work and find practical information. Tone: direct, quiet.
 * Pre-emit critique: P4 H4 E4 S5 R5 V4. Existing tokens and fonts retained. */
.wrap{max-width:1280px}.brand img{width:106px;height:96px}.brand-name{font-size:2.4rem}.masthead{padding-top:20px}.mast-top{padding-bottom:8px}.mast-note{font-size:.85rem}.nav-line nav{gap:28px}.masthead .nav-line{padding-bottom:4px}
h1,.page-heading h1,.map-heading h1{font-size:clamp(2.7rem,5.7vw,5rem);text-transform:none;line-height:1.06}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{font-size:1.65rem}.page-heading{padding:48px 0;gap:32px}.page-heading p{font-size:1.05rem}.page-end h2{font-size:2.25rem}.home-intro{padding:48px 0 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.home-intro h1{max-width:12ch}.home-intro .lede{font-size:1.05rem;max-width:50ch}.home-intro .hero-links{margin-top:20px;gap:24px}.home-art{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:end}.home-art img{width:100%;object-fit:contain;max-height:530px;background:var(--color-white)}.home-art figure:nth-child(2){padding-bottom:24px}.home-art .caption{display:flex;flex-wrap:wrap}.home-art .caption a{white-space:nowrap}.home-about,.home-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}.home-about img{aspect-ratio:1.35;object-fit:cover}.home-guide img{max-height:480px;width:100%;object-fit:cover;object-position:50% 80%}.home-about .prose,.home-guide .prose{margin-top:24px}.prose{max-width:68ch}.prose p+p{margin-top:16px}.home-guide h3{margin:32px 0 16px}.wellbeing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}.wellbeing .small{color:var(--color-muted)}.content-block{margin-block:32px}.content-block img{max-height:600px;object-fit:contain;margin:auto}.content-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.slide-controls{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:16px}.slide-controls button{min-height:44px}.news-feature{gap:40px;padding-bottom:40px}.news-feature h2{margin:12px 0 20px}.news-feature:not(:has(figure)){padding:32px;background:var(--color-soft);display:block}.news-feature .prose{margin-bottom:12px}.news-row{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:32px;border-top:1px solid var(--color-rule);padding-block:32px}.news-row img{max-height:220px;object-fit:contain}.news-row h2{font-size:2.2rem;margin:8px 0 16px}.news-row:not(:has(figure)){display:block}.book-art img{max-height:340px}.book-next{padding:32px}.book-next h2{margin:12px 0}.footer-title{font-size:2rem}.site-footer{margin-top:40px}.form-field select,.form-field textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--color-rule);background:var(--color-white);color:var(--color-ink)}.form-field{margin-bottom:16px}.contact-address{font-size:1rem!important}.form-note{max-width:60ch}
/* Page-sized reader: controls stay attached to the artwork rather than a long page above it. */
.reader-heading{padding:24px 0 12px}.reader-heading h1{font-size:2rem}.reader-heading>div>.text-link{display:none}.reader-intro{font-size:.875rem;margin-bottom:20px}.book-viewer{max-width:1000px;margin:auto;background:var(--color-soft);padding:12px 16px 16px;display:flex;flex-direction:column}.reader-toolbar{order:2;border:0;padding:12px 0 0;background:none;gap:16px}.reader-back{font-size:.875rem;white-space:nowrap;margin-right:auto}.reader-stage{order:0;background:var(--color-white);width:100%;border:0;max-height:calc(100svh - 260px);min-height:260px}.reader-stage img{height:calc(100svh - 260px);min-height:260px;max-height:720px;width:100%;object-fit:contain;aspect-ratio:auto}.reader-status{order:1;padding-top:8px;min-height:0;font-size:.75rem}.reader-extra{max-width:1000px}.page-transcript summary{font-size:.9rem}.book-index ul{columns:2}.book-index a{white-space:normal}
/* Fixed-height map with a neighbouring sketch panel. */
.map-heading{padding:40px 0 28px}.map-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);border:1px solid var(--color-rule);margin:16px 0}.map-workspace #sketch-map{height:520px;border:0;min-width:0;margin:0}.map-selection{padding:20px;background:var(--color-white);min-width:0;display:flex;flex-direction:column}.map-browse{display:flex;gap:12px;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--color-rule);font-size:.8rem}.map-browse button{min-width:44px;min-height:44px;background:var(--color-paper);border:1px solid var(--color-rule)}#selected-place{padding-top:20px}#selected-place h2{font-size:2rem;margin-bottom:12px}#selected-place img{height:250px;width:100%;object-fit:contain;margin:16px 0}#selected-place p{font-size:.875rem}.map-tools button{white-space:nowrap}.map-tools{flex-wrap:wrap;gap:16px}.map-tools label{min-width:0;flex:1}.place-list article[data-selected=true]{background:var(--color-soft)}.sketch-pin.selected{outline:4px solid var(--color-focus);outline-offset:3px}.map-selection .text-link{margin-top:12px}.map-note{max-width:85ch}.map-tools input{min-width:0}.map-tools .text-link{margin:0}
@media(max-width:800px){.home-intro,.home-about,.home-guide,.wellbeing{gap:32px}.map-workspace{grid-template-columns:minmax(0,1fr)}.map-workspace #sketch-map{height:360px}.map-selection{min-height:180px}#selected-place img{height:220px}.reader-stage,.reader-stage img{max-height:600px;height:calc(100svh - 290px);min-height:220px}.map-heading{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(max-width:640px){.brand img{width:86px;height:78px}.brand-name{font-size:2rem}.masthead{padding-top:12px}.nav-line nav{gap:0;flex-wrap:wrap;justify-content:flex-start}.nav-line nav a{padding:12px 10px}.home-intro,.home-about,.home-guide,.wellbeing,.page-heading{grid-template-columns:minmax(0,1fr);gap:24px}.home-intro{padding:32px 0 24px}.home-intro h1{max-width:16ch}.home-art{gap:20px;grid-template-columns:minmax(0,1fr)}.home-art figure:nth-child(2){padding:0}.home-art img{max-height:380px}.page-heading{padding:32px 0}.page-heading h1{font-size:3rem}.home-guide img{max-height:320px}.book-viewer{padding:8px}.reader-toolbar{gap:8px;justify-content:space-between}.reader-back{width:100%;margin:0}.reader-toolbar button{padding:8px}.reader-stage img{height:calc(100svh - 320px);min-height:220px}.reader-heading h1{font-size:1.8rem}.reader-intro{display:none}.reader-page .reader-heading{padding:20px 0}.book-index ul{columns:1}.content-gallery,.news-row{grid-template-columns:minmax(0,1fr)}.map-tools label{flex-basis:100%}.map-workspace #sketch-map{height:300px}.map-heading h1{font-size:3rem}.contact-address{overflow-wrap:anywhere}.slide-controls{gap:8px;font-size:.8rem}}
/* Let the artwork's proportions determine the stage; avoid empty space on narrow screens. */
.reader-stage{height:auto;min-height:0;max-height:none}.reader-stage a{display:flex;justify-content:center;align-items:center}.reader-stage img{width:auto;height:auto;min-height:0;max-height:min(calc(100svh - 320px),640px);max-width:100%;margin:auto}
body:has(.reader-page) .masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}body:has(.reader-page) .masthead .mast-note,body:has(.reader-page) .masthead .location{display:none}body:has(.reader-page) .masthead .brand img{width:70px;height:64px}body:has(.reader-page) .masthead .brand-name{font-size:1.8rem}body:has(.reader-page) .masthead{padding-block:12px}body:has(.reader-page) .masthead .mast-top{padding:0}
@media(max-width:800px){body:has(.reader-page) .masthead .wrap{display:block}body:has(.reader-page) .masthead .nav-line{margin-top:8px}}

/* Homepage: colour beside the introduction, with a separate closing artwork. */
.home-intro.home-intro-colour{display:block;padding:80px 0 0}.home-intro-colour h1{max-width:none;margin-bottom:40px;font-size:clamp(2.8rem,5.5vw,4.8rem)}.home-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.home-opening-art img{width:100%;max-height:540px;object-fit:contain;background:var(--color-white)}.home-opening-art .caption{flex-wrap:wrap}.home-opening-art .caption a{white-space:nowrap}.home-opening-copy .lede{font-size:var(--text-lead);line-height:1.7}.home-closing-art{max-width:640px;margin:0 auto 64px}.home-closing-art img{width:100%;max-height:620px;object-fit:contain}.home-closing-art .caption{flex-wrap:wrap}.home-closing-art .caption a{white-space:nowrap}
@media(max-width:800px){.home-opening{gap:32px}.home-intro.home-intro-colour{padding-top:64px}.home-opening-copy .lede{font-size:1.0625rem}}
@media(max-width:640px){.home-intro.home-intro-colour{padding-top:48px}.home-intro-colour h1{margin-bottom:28px;max-width:none}.home-opening{grid-template-columns:minmax(0,1fr);gap:28px}.home-opening-art img{max-height:430px}.home-closing-art{margin-bottom:40px}}
