@font-face{font-family:'Fraunces';src:url('../fonts/heading-fraunces.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/body-source-sans-3.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--bg:#F6F1E7;--ink:#1D1D1B;--action:#8D2F2C;--on-action:#ffffff;--accent:#31556C;--highlight:#B59B6A;--surface:#B59B6A44;--focus:#31556C;--header:72px}

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--catalog-font-body);line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:20;min-height:var(--header);border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 72%);background:var(--bg)}.header-in{max-width:1440px;margin:auto;padding:1rem clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:2rem}.brand{font-weight:900;text-decoration:none;letter-spacing:-.03em}.brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.nav{margin-left:auto}.nav ul{display:flex;gap:clamp(.6rem,1.2vw,1.35rem);list-style:none;margin:0;padding:0;font-size:.78rem;text-transform:uppercase}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{min-height:44px;padding:.65rem 1rem;border:1px solid currentColor}.mobile-nav nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:var(--bg);border:1px solid currentColor;padding:1rem}.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.book{display:inline-flex;min-height:44px;align-items:center;padding:.65rem 1rem;background:var(--action);color:var(--on-action);text-decoration:none;font-weight:800;border:1px solid var(--action)}main{overflow:clip}.page-shell{max-width:1320px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;max-width:13ch}h2{font-size:clamp(1.8rem,3.4vw,4rem);line-height:1;letter-spacing:-.035em}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:58ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.text-link{display:inline-flex;min-height:44px;align-items:center}.hero{min-height:calc(100svh - var(--header));display:grid;align-items:center}.hero-inner{max-width:1440px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero-art{position:relative}.hero-art img{aspect-ratio:3/2;object-fit:cover}.section{max-width:1320px;margin:auto;padding:clamp(4rem,8vw,9rem) clamp(1rem,4vw,4rem)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.5rem}.section-head p{max-width:48ch}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service,.person,.review,.process-step,.faq-list details{border:1px solid color-mix(in srgb,var(--ink),transparent 70%);padding:1.35rem;background:var(--surface)}.service .price{font-size:1.3rem;font-weight:900;color:var(--action)}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{font-size:.78rem;padding:.7rem 0}.review cite{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.faq-list{display:grid;gap:.75rem}.faq-list summary{cursor:pointer;font-weight:800;min-height:44px;padding:.65rem 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}form{display:grid;gap:1rem}.field{display:grid;gap:.4rem}input,textarea,select{width:100%;min-height:46px;padding:.75rem;border:1px solid color-mix(in srgb,var(--ink),transparent 55%);background:var(--bg);color:var(--ink);font:inherit}textarea{min-height:150px}button{min-height:46px;padding:.75rem 1.1rem;border:0;background:var(--action);color:var(--on-action);font-weight:900}.status{min-height:1.5em}.contact-band{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);background:var(--action);color:var(--on-action)}.contact-band>div{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-band .book{background:var(--bg);color:var(--ink);border-color:var(--bg)}.subscribe{padding:2rem clamp(1rem,5vw,5rem);background:var(--surface)}.subscribe form{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,430px) auto;align-items:end}.site-footer{padding:4rem clamp(1rem,5vw,5rem);border-top:1px solid color-mix(in srgb,var(--ink),transparent 70%)}.footer-in{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.site-footer ul{list-style:none;margin:0;padding:0}.legal{font-size:.7rem;opacity:.7;margin-top:3rem}.page-404 main{min-height:70svh;display:grid;align-items:center}.meta-list{display:grid;gap:.5rem}.meta-list div{display:grid;grid-template-columns:9rem 1fr;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%);padding:.5rem 0}.privacy-copy{max-width:75ch}.privacy-copy section{padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%)}
@media(max-width:850px){.nav{display:none}.mobile-nav{display:block}.header-in>.book{display:none}.hero-inner,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{grid-template-columns:1fr}.section-head,.contact-band>div{display:block}.subscribe form{grid-template-columns:1fr}.footer-in{grid-template-columns:1fr}h1{font-size:clamp(2.7rem,14vw,5.2rem)}.header-in{gap:1rem}.home .hero-inner,.home .section,.home .contact-band{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body{font-family:var(--catalog-font-body)}.site-header{text-align:center}.brand{font-size:1.7rem}.hero-inner{grid-template-columns:1fr 1fr;border-bottom:3px double var(--ink)}.home .section{max-width:1050px}.home .section:nth-child(odd){columns:2;column-gap:4rem}.service-list,.review-grid{display:block}.service,.review{background:transparent;border-width:1px 0;padding:1.5rem 0}.gallery-grid figure:first-child{grid-column:span 2}.section-head{border-bottom:3px double var(--ink);padding-bottom:1rem}.eyebrow::before{content:"VOL. 01 · ";color:var(--action)}

/* DS-20 material identity: formal long-form issue front. */

.layout-heritage{font-family:var(--catalog-font-body)}.layout-heritage h1,.layout-heritage h2,.layout-heritage h3,.layout-heritage .brand{font-family:var(--catalog-font-heading)}.layout-heritage .site-header{border-block:3px double var(--ink)}.layout-heritage .header-in{display:grid;grid-template-columns:1fr 2fr auto}.layout-heritage .nav ul{justify-content:center}.layout-heritage .brand{text-align:center}
.layout-heritage.home .hero{min-height:82svh}.layout-heritage.home .hero-inner{grid-template-columns:1fr .78fr;border-bottom:5px double var(--ink);align-items:start}.layout-heritage.home .hero-copy{display:grid;grid-template-columns:6rem 1fr}.layout-heritage.home .hero-copy>*{grid-column:2}.layout-heritage.home .hero-copy .eyebrow{grid-column:1/-1}.layout-heritage.home .hero-copy .lede::first-letter{float:left;font:700 5rem/.72 Georgia,serif;padding:.2rem .55rem .2rem 0;color:var(--action)}.lead-essay{grid-column:2;font:1.15rem/1.7 Georgia,serif;max-width:60ch;border-top:1px solid;padding-top:1rem}.contents-rail{grid-column:1/-1;margin-top:2rem;border-block:3px double var(--ink);padding:.8rem 0}.contents-rail ol{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;margin:0;padding:0}.contents-rail a{text-transform:uppercase;font-size:.72rem;font-weight:900}
.layout-heritage.home .section{max-width:1120px}.layout-heritage.home .service-preview .service-list{display:block}.layout-heritage.home .service-preview .service{display:grid;grid-template-columns:8rem 1fr 10rem;gap:1rem;border-width:1px 0;background:transparent}.layout-heritage.home .gallery-grid{grid-template-columns:2fr 1fr}.layout-heritage .page-shell{max-width:1080px}.layout-heritage .page-shell>p:not(.eyebrow){font-family:var(--catalog-font-body);font-size:1.1rem;max-width:68ch}.layout-heritage .people-grid,.layout-heritage .review-grid{display:block}.layout-heritage .person,.layout-heritage .review{background:transparent;border-width:1px 0;display:grid;grid-template-columns:8rem 1fr;gap:2rem}.layout-heritage .footer-nav{border-block:3px double currentColor;padding-block:1rem}
@media(max-width:850px){.layout-heritage .header-in{grid-template-columns:1fr auto}.layout-heritage.home .hero-inner{display:block}.layout-heritage.home .hero-copy{display:block}.lead-essay{font-size:1rem}.contents-rail ol{grid-template-columns:1fr 1fr}.layout-heritage.home .service-preview .service{display:block}.layout-heritage .person,.layout-heritage .review{display:block}}

.role-portrait{width:min(100%,220px);aspect-ratio:8/9;object-fit:cover;border:1px solid currentColor}.role-name{font-weight:900;text-transform:uppercase;letter-spacing:.12em}.footer-nav{max-width:1320px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}

@media(prefers-reduced-motion:reduce){.legal{opacity:1}}

/* Documentary issue pages: imagery and text share a formal folio, never empty cards. */
.layout-heritage.home .hero-art img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.layout-heritage.home .section:nth-child(odd){columns:auto}
.layout-heritage.home .gallery-grid{align-items:start}
.layout-heritage.home .gallery-grid figure{border-top:3px double var(--ink);padding-top:.6rem}
.layout-heritage.home .gallery-grid img{aspect-ratio:3/2;filter:saturate(.82) contrast(1.04)}
.layout-heritage.home .gallery-grid figure:first-child img{aspect-ratio:16/10}
.layout-heritage.page-gallery .page-shell{max-width:1360px}
.layout-heritage.page-gallery .gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,4vw,4.5rem) clamp(1rem,3vw,3rem);align-items:start;margin-top:4rem}
.layout-heritage.page-gallery .gallery-grid figure{grid-column:span 6;border-top:3px double var(--ink);padding-top:.75rem}
.layout-heritage.page-gallery .gallery-grid figure:nth-child(1),.layout-heritage.page-gallery .gallery-grid figure:nth-child(6){grid-column:span 8}
.layout-heritage.page-gallery .gallery-grid figure:nth-child(2),.layout-heritage.page-gallery .gallery-grid figure:nth-child(5){grid-column:span 4}
.layout-heritage.page-gallery .gallery-grid figure:nth-child(4),.layout-heritage.page-gallery .gallery-grid figure:nth-child(7){margin-top:5rem}
.layout-heritage.page-gallery .gallery-grid img{aspect-ratio:3/2;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.layout-heritage.page-gallery .gallery-grid figure:nth-child(4) img,.layout-heritage.page-gallery .gallery-grid figure:nth-child(7) img{aspect-ratio:4/5}
.layout-heritage.page-gallery .gallery-grid figcaption{max-width:54ch;font-family:var(--catalog-font-body);font-size:.9rem;line-height:1.55;border-left:4px solid var(--action);padding:.75rem 0 .2rem 1rem}
.layout-heritage.page-about .contact-grid{align-items:start}
.layout-heritage.page-about .contact-grid>div:first-child{position:sticky;top:2rem;border-top:5px double var(--ink);padding-top:1rem}
.layout-heritage.page-about .contact-grid img{aspect-ratio:3/2;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.layout-heritage.page-contact .contact-grid{grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);align-items:start}
.layout-heritage.page-contact .contact-grid>div:first-child{border-top:5px double var(--ink);padding-top:1.25rem}
.layout-heritage.page-contact .contact-form{border-top:5px double var(--ink);padding:1.5rem 0 0}
.layout-heritage.page-contact .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.layout-heritage.page-staff .people-grid{counter-reset:profile}
.layout-heritage.page-staff .person{counter-increment:profile;display:block;overflow:auto;position:relative;padding-block:2rem;min-height:190px}
.layout-heritage.page-staff .person::before{content:"CONTRIBUTOR 0" counter(profile);position:absolute;right:0;top:.75rem;font:700 .7rem/1 Atkinson Hyperlegible,Arial,sans-serif;letter-spacing:.16em;color:var(--action)}
.layout-heritage.page-staff .role-portrait{float:left;width:130px;max-width:130px;margin:0 2rem 1rem 0}
.layout-heritage .review{grid-template-columns:minmax(0,1fr) 9rem}
.layout-heritage .review p{grid-column:1}.layout-heritage .review cite{grid-column:2;grid-row:1;align-self:start}
.layout-heritage.page-reviews .review{padding:clamp(2rem,5vw,4rem) 0}
.layout-heritage.page-reviews .review p{font:clamp(1.2rem,2.3vw,1.8rem)/1.48 Georgia,serif;max-width:58ch}
.layout-heritage .footer-in{border-top:5px double var(--ink);padding-top:2rem}
@media(max-width:1100px) and (min-width:851px){.layout-heritage .nav{display:none}.layout-heritage .mobile-nav{display:block}.layout-heritage .header-in>.book{display:none}.layout-heritage .header-in{grid-template-columns:1fr auto}}
@media(max-width:850px){.layout-heritage.page-gallery .gallery-grid{grid-template-columns:1fr;margin-top:2rem}.layout-heritage.page-gallery .gallery-grid figure{grid-column:1!important;margin-top:0!important}.layout-heritage.page-contact .contact-grid,.layout-heritage.page-contact .field-row{grid-template-columns:1fr}.layout-heritage.page-about .contact-grid>div:first-child{position:static}.layout-heritage.page-staff .person::before{position:static;display:block;margin-bottom:1rem}.layout-heritage.page-staff .role-portrait{float:none;margin:0 0 1rem}.layout-heritage .review{display:block}.layout-heritage .review cite{display:block;margin-top:1rem}}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Fraunces', Georgia, 'Times New Roman', serif;--catalog-font-body:'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
/* AAJWEBZ-VISUAL-GAPS: block - items 21,28 */
@media(max-width:850px){.layout-heritage .page-shell>h1{font-size:clamp(2.5rem,12.8vw,5.2rem)}}
/* AAJWEBZ-VISUAL-GAPS: contact details no longer push the form column narrow or off screen */
.contact-grid>*{min-width:0}
.contact-grid .meta-list{container-type:inline-size}
@container (max-width:26rem){.contact-grid .meta-list div{grid-template-columns:minmax(0,1fr)}}
.contact-grid .meta-list div>*{min-width:0}
.contact-grid .meta-list a[href^="mailto:"]{white-space:normal;overflow-wrap:break-word}
/* GAP FIX 2026-11-05 (Dean): home sections span the row, padding capped at 56px, reviews and programmes 3-up, FAQ 2 columns, hero image fills beside the copy. */
@media (min-width:1101px){
body.layout-heritage.page-index.home .section{max-width:1200px;padding-block:3.5rem}
body.layout-heritage.page-index.home .section-head{margin-bottom:1.5rem}
body.layout-heritage.page-index.home .process-grid{margin-top:0}
body.layout-heritage.page-index.home .proof .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
body.layout-heritage.page-index.home .proof .review-grid .review{margin:0}
body.layout-heritage.page-index.home .service-preview .service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
body.layout-heritage.page-index.home .service-preview .text-link{grid-column:1/-1}
body.layout-heritage.page-index.home .service-preview .service{display:block}
body.layout-heritage.page-index.home .faq-preview .faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start}
body.layout-heritage.page-index.home .faq-preview .faq-list>*{margin:0}
body.layout-heritage.page-index.home .hero{min-height:0}
body.layout-heritage.page-index.home .hero-inner{align-items:stretch;padding-bottom:2.5rem}
body.layout-heritage.page-index.home .hero-art{display:flex;height:auto}
body.layout-heritage.page-index.home .hero-art img{width:100%;height:100%;aspect-ratio:auto}
body.layout-heritage.page-index.home .review{display:block}
}
