@import url("/vendor/leaflet/leaflet.css");
@import url("/map.css");
/* Hallmark · macrostructure: Split Studio · genre: editorial · theme: custom monochrome · nav: N6 masthead · footer: Ft1 mast-headed
 * Audience: Liverpool sketchers and curious newcomers. Use: feel welcome, explore work, make contact. Tone: warm editorial.
 * Barlow Condensed + DM Sans; light paper / condensed display / neutral accent. Original site artwork.
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V4 */
@import url('./tokens.css');
@font-face{font-family:'Barlow Condensed';src:url('./assets/barlow-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('./assets/barlow-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('./assets/dm-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('./assets/dm-600.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{overflow-x:clip}html{background:var(--color-ink);scroll-behavior:smooth;scroll-padding-top:var(--space-lg)}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-paper);color:var(--color-ink);font:var(--text-base)/1.65 var(--font-body)}
/* Let the black footer fill spare viewport space; keep the paper above it. */
body>.masthead,body>main{flex:none}body>main{width:100%}body>.site-footer{flex:1 0 auto}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:active,button:active{opacity:.75}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:var(--color-clear)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:active{opacity:.45}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1;overflow-wrap:anywhere;min-width:0}h1{font-weight:800;letter-spacing:-.018em}h2{font-size:clamp(2.6rem,4.3vw,4.5rem);font-weight:700}h3{font-size:2rem;font-weight:700}p+p{margin-top:var(--space-md)}[hidden]{display:none!important}.wrap{max-width:1440px;padding-inline:var(--page-gutter);margin-inline:auto}.skip{position:fixed;top:var(--space-md);left:var(--space-md);transform:translateY(-200%);background:var(--color-ink);color:var(--color-paper);padding:var(--space-md);z-index:10}.skip:focus{transform:translateY(0)}
.masthead{padding-top:var(--space-lg)}.mast-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-bottom:var(--space-lg)}.brand{display:flex;gap:var(--space-md);align-items:center;text-decoration:none}.brand img{width:78px;height:70px;object-fit:contain;background:var(--color-ink)}.brand-name{font-family:var(--font-display);font-size:2.125rem;font-weight:800;line-height:.91;letter-spacing:.02em}.mast-note{text-align:right;font-size:var(--text-sm);line-height:1.55}.mast-note span{display:block;color:var(--color-muted)}.nav-line{border-block:var(--rule-hair) solid var(--color-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.location{font-size:var(--text-sm)}nav{display:flex;align-items:center;gap:var(--space-xl)}nav a{font-size:.875rem;text-decoration:none;white-space:nowrap;padding-block:var(--space-md);position:relative}nav a[aria-current=page]{font-weight:600}nav a[aria-current=page]:after{content:'';position:absolute;bottom:var(--space-sm);left:0;right:0;height:2px;background:var(--color-ink)}nav a:hover{color:var(--color-muted)}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);padding-block:var(--space-2xl) var(--space-3xl);align-items:center}.hero-copy h1{font-size:clamp(4.5rem,8.4vw,8.5rem);text-transform:uppercase;line-height:1}.hero-copy .lede{margin-top:var(--space-xl);max-width:42ch;font-size:var(--text-lead);line-height:1.65}.hero-links{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-xl)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-lg);min-height:48px;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}.button:hover{background:var(--color-paper);color:var(--color-ink)}.button.secondary{background:var(--color-clear);color:var(--color-ink)}.button.secondary:hover{background:var(--color-soft)}.text-link{font-size:.875rem;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-md);min-height:44px}.hero-photo img{width:100%;height:480px;object-fit:cover;object-position:50% 49%}.caption{display:flex;justify-content:space-between;gap:var(--space-md);font-size:.75rem;line-height:1.5;color:var(--color-muted);padding-top:var(--space-sm)}.hero-note{font-size:.75rem;color:var(--color-muted);margin-top:var(--space-lg)}
.welcome-strip{border-block:1px solid var(--color-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-lg)}.welcome-strip p{font-size:.875rem}.welcome-strip strong{font-weight:600}.welcome-strip p+p{margin:0}.section{padding-block:var(--space-4xl)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl)}.about-copy{max-width:60ch}.about-copy .lead{font-size:var(--text-lead)}.about-copy p+p{margin-top:var(--space-lg)}.about-grid h2{max-width:10ch}.intro-foot{margin-top:var(--space-lg);font-size:.875rem}.picture-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-3xl);align-items:center;padding-bottom:var(--space-4xl)}.picture-story img{aspect-ratio:1.35;object-fit:cover}.story-copy h2{margin-bottom:var(--space-lg)}.story-copy p{max-width:55ch}.kit{background:var(--color-soft);padding-block:var(--space-3xl)}.kit-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-3xl)}.kit-intro p{max-width:46ch;margin-top:var(--space-lg)}.kit-list{margin:0;padding:0;list-style:none}.kit-list li{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:var(--space-lg);padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}.kit-list li:first-child{padding-top:0;border:0}.kit-list strong{font-family:var(--font-display);font-size:1.75rem;line-height:1.15}.kit-list p{font-size:.9375rem}.quiet{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-3xl);align-items:center}.quiet h2{font-size:clamp(3rem,5.5vw,5.75rem);max-width:9ch}.quiet-copy{max-width:60ch}.quiet .small{font-size:.875rem;color:var(--color-muted);border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-lg)}.page-end{padding-block:var(--space-2xl);border-top:1px solid var(--color-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.page-end h2{font-size:2.75rem}
.page-heading{padding-block:var(--space-2xl) var(--space-3xl);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:var(--space-3xl);align-items:end}.page-heading h1{font-size:clamp(4.5rem,8vw,7rem);text-transform:uppercase;line-height:1}.page-heading p{max-width:48ch;font-size:var(--text-lead)}.eyebrow{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;line-height:1.4;margin-bottom:var(--space-md);font-weight:600}.news-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);align-items:center;padding-bottom:var(--space-3xl)}.news-feature img{width:100%;aspect-ratio:1.35;object-fit:cover}.news-feature h2{margin-bottom:var(--space-lg);max-width:15ch}.news-feature p{max-width:48ch}.news-feature .text-link{margin-top:var(--space-lg)}.exhibition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);padding-block:var(--space-2xl) var(--space-3xl);border-top:1px solid var(--color-ink)}.exhibition h2{font-size:3rem}.exhibition p{max-width:50ch}.status{display:inline-block;font-size:.8125rem;border-bottom:1px solid var(--color-ink);margin-top:var(--space-md);padding-bottom:var(--space-xs)}
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);padding-bottom:var(--space-3xl)}.book-art{background:var(--color-soft);padding:var(--space-xl);display:block;text-decoration:none}.book-art img{aspect-ratio:1;object-fit:contain;width:100%;max-height:450px;transition:transform var(--dur-fast) var(--ease-out)}.book-art:hover img{transform:translateY(-4px)}.book-art .caption{justify-content:center;padding-top:var(--space-md)}.book-meta{padding-top:var(--space-lg)}.book-meta h2{font-size:2.75rem}.book-meta p{max-width:52ch;margin-top:var(--space-md)}.book-meta .text-link{margin-top:var(--space-md);font-weight:600}.book-next{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);align-items:center;gap:var(--space-3xl);background:var(--color-ink);color:var(--color-paper);padding:var(--space-2xl);margin-bottom:var(--space-3xl)}.year-mark{font-family:var(--font-display);font-size:clamp(6rem,13vw,12rem);font-weight:800;line-height:.85}.book-next h2{font-size:3rem;margin-bottom:var(--space-md)}.book-next p{max-width:50ch}.book-next .eyebrow{color:var(--color-inverse-muted)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);padding-bottom:var(--space-4xl);align-items:start}.contact-layout .email{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,3.5rem);line-height:1.1;overflow-wrap:anywhere;display:block;margin-block:var(--space-xl)}.contact-layout p{max-width:53ch}.contact-details{border-top:1px solid var(--color-ink);margin-top:var(--space-xl);padding-top:var(--space-lg)}.contact-aside{background:var(--color-soft);padding:var(--space-xl)}.contact-aside h2{font-size:2.4rem;margin-bottom:var(--space-md)}.contact-aside ul{padding-left:var(--space-lg);margin-block:var(--space-lg)}.contact-aside li+li{margin-top:var(--space-sm)}
.site-footer{background:var(--color-ink);color:var(--color-paper);padding-block:var(--space-xl)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl)}.footer-title{font-family:var(--font-display);font-size:2.75rem;font-weight:700;line-height:1}.footer-links{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;font-size:.8125rem}.footer-links a{white-space:nowrap}.footer-bottom{font-size:.75rem;color:var(--color-inverse-muted);display:flex;gap:var(--space-md);justify-content:space-between;margin-top:var(--space-xl)}
.reader-heading{padding-block:var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.reader-heading h1{font-size:clamp(2.5rem,4vw,4rem)}.reader-heading .text-link{font-size:.8125rem}.reader-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-soft);border:1px solid var(--color-rule)}.reader-toolbar button{border:1px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm) var(--space-md);min-height:44px;white-space:nowrap}.reader-toolbar button:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper)}.page-picker{display:flex;gap:var(--space-sm);align-items:center;font-size:.875rem}.page-picker input{width:64px;min-height:44px;padding:var(--space-sm);border:1px solid var(--color-rule);background:var(--color-white);color:var(--color-ink);text-align:center}.page-picker input:invalid{border-color:var(--color-error)}.reader-status{font-size:.8125rem;text-align:center;min-height:2.5rem;padding-top:var(--space-sm);color:var(--color-muted)}.reader-stage{max-width:980px;margin-inline:auto;background:var(--color-white);border:1px solid var(--color-rule)}.reader-stage a{display:block}.reader-stage img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.reader-stage[aria-busy=true]{opacity:.55}.reader-extra{max-width:980px;margin-inline:auto;padding-block:var(--space-lg) var(--space-3xl)}.reader-hint{font-size:.8125rem;color:var(--color-muted);margin-bottom:var(--space-lg)}.page-transcript{border-block:1px solid var(--color-rule);padding-block:var(--space-md)}.page-transcript summary{cursor:pointer;font-weight:600;min-height:32px}.page-transcript pre{font:var(--text-base)/1.7 var(--font-body);white-space:pre-wrap;overflow-wrap:anywhere;max-width:65ch}.reader-error{color:var(--color-error);text-align:center;padding:var(--space-lg)}
@media(min-width:1600px){.hero-photo img{height:540px}}
@media(max-width:900px){.home-hero,.about-grid,.picture-story,.kit-layout,.quiet,.news-feature,.exhibition,.contact-layout{gap:var(--space-xl)}.home-hero{padding-block:var(--space-xl) var(--space-2xl)}.hero-copy h1{font-size:clamp(4rem,9vw,6rem)}.hero-photo img{height:420px}.hero-copy .lede{font-size:1rem}.page-heading{gap:var(--space-xl)}.book-art{padding:var(--space-lg)}.book-next{gap:var(--space-xl)}.section{padding-block:var(--space-3xl)}.picture-story{padding-bottom:var(--space-3xl)}}
@media(max-width:640px){.masthead{padding-top:var(--space-md)}.mast-top{padding-bottom:var(--space-md)}.brand img{width:62px;height:56px}.brand-name{font-size:1.75rem}.mast-note{display:none}.location{display:none}.nav-line{justify-content:center}nav{width:100%;gap:0;justify-content:space-between}nav a{padding:var(--space-md) var(--space-sm);font-size:.875rem}.home-hero,.about-grid,.picture-story,.kit-layout,.quiet,.page-heading,.news-feature,.exhibition,.contact-layout{grid-template-columns:minmax(0,1fr)}.home-hero{gap:var(--space-xl)}.hero-copy h1{font-size:clamp(4.6rem,15vw,6.4rem)}.hero-copy .lede{max-width:45ch;font-size:1.0625rem}.hero-photo img{height:360px}.hero-note{margin-top:var(--space-md)}.hero-links{gap:var(--space-lg)}.welcome-strip{align-items:flex-start;flex-direction:column;gap:var(--space-sm)}.welcome-strip p{font-size:.8125rem}.section{padding-block:var(--space-2xl)}.about-grid h2{max-width:none}.picture-story{padding-bottom:var(--space-2xl)}.picture-story img{aspect-ratio:1.5}.kit{padding-block:var(--space-2xl)}.kit-list li{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:var(--space-md)}.kit-list strong{font-size:1.5rem}.quiet h2{max-width:12ch}.page-end{align-items:flex-start;flex-direction:column}.page-end h2{font-size:2.5rem}.page-heading{padding-block:var(--space-xl) var(--space-2xl);gap:var(--space-lg)}.page-heading h1{font-size:4.75rem}.page-heading p{font-size:1.0625rem}.news-feature{padding-bottom:var(--space-2xl)}.exhibition{gap:var(--space-lg)}.book-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}.book-meta h2{font-size:2.5rem}.book-next{grid-template-columns:minmax(0,1fr);padding:var(--space-lg);gap:var(--space-xl)}.year-mark{font-size:7rem}.book-next h2{font-size:2.5rem}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--space-lg)}.footer-title{font-size:2.25rem}.footer-bottom{gap:var(--space-sm)}.reader-heading{align-items:flex-start;flex-direction:column;gap:var(--space-sm)}.reader-toolbar{gap:var(--space-sm);padding:var(--space-sm)}.reader-toolbar button{font-size:.8125rem;padding:var(--space-sm)}.page-picker{font-size:.8125rem;gap:var(--space-xs)}.page-picker input{width:48px}.reader-hint{font-size:.75rem}.contact-layout{padding-bottom:var(--space-2xl)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.book-art:hover img{transform:none}}

.about-photo{margin-top:var(--space-xl)}.about-photo img{width:100%;aspect-ratio:1.65;object-fit:cover}.picture-story img{object-position:50% 85%}.reader-intro{max-width:65ch;margin-bottom:var(--space-lg)}.rights-note{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-lg)}.book-index ul{padding-left:var(--space-lg);columns:2;column-gap:var(--space-xl)}.book-index li{break-inside:avoid;margin-bottom:var(--space-sm);font-size:.875rem}.book-index li span{color:var(--color-muted)}@media(max-width:640px){.book-index ul{columns:1}.hero-photo .caption{flex-direction:column;gap:var(--space-xs)}}

/* Exact black is intentional: requested to merge the original logo into the header. */
.masthead{background:var(--color-brand-black);color:var(--color-paper)}.brand img{background:var(--color-brand-black)}.masthead .mast-note span{color:var(--color-inverse-muted)}.masthead .nav-line{border-color:var(--color-muted)}.masthead nav a[aria-current=page]:after{background:var(--color-paper)}.masthead nav a:hover{color:var(--color-inverse-muted)}
.masthead :focus-visible,.site-footer :focus-visible,.book-next :focus-visible{outline-color:var(--color-paper)}
.masthead .nav-line{border:0}


/* Contact form: shares the site's ink, paper and keyboard focus styles. */
.form-intro{margin-top:var(--space-md)}.contact-form{margin-top:var(--space-xl)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.form-field{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);min-width:0}
.form-field label{font-size:.875rem;font-weight:600}
.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-ink);padding:var(--space-md);font:var(--text-base)/1.5 var(--font-body);min-height:52px}
.form-field textarea{resize:vertical;min-height:176px}.form-field textarea::placeholder{color:var(--color-muted)}
.form-field input:hover,.form-field textarea:hover{border-color:var(--color-ink)}
.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:var(--color-error)}
.form-field input:disabled,.form-field textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--color-soft)}
.form-note{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-lg);max-width:60ch}
.form-status{min-height:1.7em;font-size:.875rem;margin-top:var(--space-md)}.form-status[data-state=error]{color:var(--color-error)}
.form-trap{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%)}
.contact-form .button:disabled{background:var(--color-soft);color:var(--color-muted);cursor:not-allowed;opacity:.55}
.contact-direct{margin-top:var(--space-xl)}.contact-direct h2{font-size:2rem;margin-bottom:var(--space-md)}
.contact-address{display:inline-block;font-weight:600;overflow-wrap:anywhere;margin-bottom:var(--space-lg)}
.contact-direct p{font-size:.9375rem}
@media(max-width:900px){.form-row{grid-template-columns:minmax(0,1fr);gap:0}}
