@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/heading-bricolage-grotesque.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/body-dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--bg:#FAF8F4;--ink:#191919;--action:#B8472C;--on-action:#ffffff;--accent:#375A64;--highlight:#D9C9A5;--surface:#D9C9A544;--focus:#375A64;--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}}

.hero-inner{grid-template-columns:.8fr 1.2fr}.home .service-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.home .service{min-width:min(72vw,430px);scroll-snap-align:start}.service{display:grid;grid-template-rows:auto 1fr auto}.service::before{content:"EDITION " counter(item,decimal-leading-zero);counter-increment:item;font-size:.65rem;letter-spacing:.2em}.service-list{counter-reset:item}.gallery-grid{grid-template-columns:2fr 1fr 1fr}.gallery-grid figure:first-child{grid-row:span 2}.section{border-top:1px solid var(--ink)}

/* DS-15 material identity: numbered catalogue rails and product spreads. */
.layout-catalogue{font-family:var(--catalog-font-body)}.layout-catalogue h1,.layout-catalogue h2,.layout-catalogue h3{font-family:var(--catalog-font-heading)}.layout-catalogue .site-header{border-block:1px solid var(--ink)}
.catalogue-rail{padding:2rem clamp(1rem,4vw,4rem) 5rem;overflow:hidden}.catalogue-rail-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;border-bottom:3px double var(--ink);padding-bottom:1rem}.catalogue-rail h1{max-width:9ch}.catalogue-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:1.5rem 0 2rem}.catalogue-item{flex:0 0 min(68vw,410px);scroll-snap-align:start;border:1px solid var(--ink);background:#fff;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.catalogue-item img{grid-column:1/-1;aspect-ratio:4/3;object-fit:cover}.catalogue-item b{color:#9b341c}
.layout-catalogue.home>.site-header+main>.hero{min-height:auto}.layout-catalogue.home .hero{border-block:1px solid var(--ink)}.layout-catalogue.home .hero-inner{min-height:52vh}.layout-catalogue.home .service-preview{display:grid;grid-template-columns:1fr 2fr;border-block:1px solid var(--ink)}.layout-catalogue.home .service-list{display:grid;grid-template-columns:1fr}.layout-catalogue .page-services .service-list,.layout-catalogue.page-services .service-list{display:flex;overflow-x:auto}.layout-catalogue .page-services .service,.layout-catalogue.page-services .service{min-width:min(72vw,430px)}.layout-catalogue .process-grid{border-block:3px double var(--ink);padding-block:2rem}.layout-catalogue .footer-nav{font-size:.78rem;text-transform:uppercase}
@media(max-width:850px){.catalogue-rail{padding-top:1rem}.catalogue-rail-head{display:block}.catalogue-item{flex-basis:84vw}.layout-catalogue.home .service-preview{display:block}.layout-catalogue.home .hero{display:none}.layout-catalogue .gallery-grid{grid-template-columns:1fr 1fr}}

.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}}

/* Catalogue 15 release composition: rails, folio sheets, credits and appendices. */
.layout-catalogue{--header:88px;font-size:1.0625rem;background:linear-gradient(90deg,transparent calc(50% - .5px),#19191918 50%,transparent calc(50% + .5px)),var(--bg)}
.layout-catalogue .site-header{min-height:var(--header);background:#faf8f4f5}
.layout-catalogue .header-in{min-height:var(--header);padding-block:.75rem}
.layout-catalogue .brand{font-family:var(--catalog-font-heading);font-size:1.2rem;max-width:15rem}
.layout-catalogue .nav a[aria-current="page"]{text-decoration-thickness:3px;text-decoration-color:var(--action)}
.layout-catalogue .book{background:var(--action);color:#fff;border-color:var(--action)}
.layout-catalogue .page-shell{max-width:1360px;padding-block:clamp(4.5rem,8vw,8rem)}
.layout-catalogue .page-shell>h1{max-width:11ch;margin-bottom:1.5rem}
.layout-catalogue .page-shell>.lede{margin-bottom:3rem}
.layout-catalogue .site-footer{background:var(--ink);color:#fff;border-top:10px solid var(--highlight)}
.layout-catalogue .site-footer h2{font-size:clamp(2rem,4vw,4.5rem);max-width:8ch}.layout-catalogue .site-footer .legal{color:#fff;opacity:.8}
.layout-catalogue .subscribe{border-block:1px solid var(--ink);background:var(--highlight)}

/* Home: one catalogue rail, one supporting spread, no generic centred hero. */
.layout-catalogue .catalogue-rail{max-width:1600px;margin:auto;padding-top:clamp(2.5rem,5vw,5rem)}
.layout-catalogue .catalogue-rail-head>p{max-width:32ch}.layout-catalogue .catalogue-track{gap:1.5rem}
.layout-catalogue .catalogue-item{position:relative;flex-basis:min(76vw,500px);grid-template-columns:1fr auto;padding:1.25rem;background:#fff;box-shadow:10px 12px 0 var(--highlight)}
.layout-catalogue .catalogue-item:first-child{flex-basis:min(82vw,650px)}
.layout-catalogue .catalogue-item img{aspect-ratio:5/4;filter:saturate(.8) contrast(1.04)}
.layout-catalogue .catalogue-item:nth-child(3) img{object-position:center 60%}.layout-catalogue .catalogue-item h2{font-size:clamp(1.7rem,3vw,3.15rem);margin:.5rem 0}
.layout-catalogue.home .hero-inner{grid-template-columns:.9fr 1.1fr;min-height:0}.layout-catalogue.home .hero-art{border-left:1px solid var(--ink);padding-left:2rem}.layout-catalogue.home .hero-art img{aspect-ratio:3/2;object-fit:cover}
.layout-catalogue.home .service-preview{grid-template-columns:.75fr 1.25fr}.layout-catalogue.home .service-preview>.section-head{display:block;padding-right:2rem}.layout-catalogue.home .service-preview>.service-list{border-left:1px solid var(--ink);padding-left:2rem}.layout-catalogue.home .service-preview .service{background:transparent;border:0;border-bottom:1px solid var(--ink);padding:1.5rem 0;grid-template-columns:1fr auto;column-gap:1rem}.layout-catalogue.home .service-preview .service>p:not(.price),.layout-catalogue.home .service-preview .service>a{grid-column:1}.layout-catalogue.home .service-preview .price{grid-column:2;grid-row:2/5}
.layout-catalogue.home .gallery-preview .gallery-grid{grid-template-columns:1.35fr .85fr .8fr;align-items:start}.layout-catalogue.home .gallery-preview figure:first-child{grid-row:auto}.layout-catalogue.home .gallery-preview figure:nth-child(2){margin-top:5rem}.layout-catalogue.home .gallery-preview figure:nth-child(3){margin-top:10rem}
.layout-catalogue.home .staff-preview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:start}.layout-catalogue.home .staff-preview-grid article{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--ink);background:#fff}.layout-catalogue.home .staff-preview-grid article:nth-child(2){margin-top:5rem}.layout-catalogue.home .staff-preview-grid img{height:100%;max-height:430px;object-fit:cover}.layout-catalogue.home .staff-preview-grid article>div{padding:1.5rem}

/* Services: persistent index beside alternating editorial detail sheets. */
.page-services .service-folio{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.page-services .service-index{position:sticky;top:1.5rem;border-block:3px double var(--ink);padding:1.25rem 0}.page-services .service-index ol{margin:0;padding-left:1.3rem}.page-services .service-index li{padding:.45rem 0}.layout-catalogue.page-services .service-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--ink);overflow:visible}
.layout-catalogue.page-services .service{display:block;min-width:0!important;padding:clamp(1.5rem,4vw,3.5rem);border:0;border-bottom:1px solid var(--ink);background:#fff;counter-increment:item}
.page-services .service::before{display:block;margin-bottom:1rem}.page-services .service:nth-child(even){margin-left:clamp(0rem,7vw,5rem);background:#f0eadc}.page-services .service h3{font-size:clamp(2rem,4vw,4.5rem);max-width:11ch}.page-services .service ul{columns:2;max-width:48rem;padding-left:1.25rem}.page-services .service .price{display:inline-block;margin:1rem 1rem 1rem 0;padding:.65rem 1rem;border:1px solid var(--action)}
.layout-catalogue.page-services .service-featured{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;padding:0}.page-services .service-featured::before{display:none}.page-services .service-featured .service-media img{height:100%;min-height:620px;object-fit:cover}.page-services .service-featured .service-copy{padding:clamp(1.5rem,4vw,3.5rem) 2rem}
.page-services .boundary{border-left:4px solid var(--action);padding-left:1rem}.page-services .best-for{font-style:italic}.service-handoff{margin-top:5rem;border:3px double var(--ink);padding:clamp(1.5rem,4vw,3rem)}.service-handoff ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink)}.service-handoff li{display:grid;gap:.5rem;background:var(--bg);padding:1.25rem}

/* Gallery: edition spreads, never an equal stock grid. */
.page-gallery .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,5vw,5rem) 1.5rem;align-items:start}
.page-gallery .gallery-grid figure{grid-column:span 5;border-top:1px solid var(--ink);padding-top:1rem}.page-gallery .gallery-grid figure:nth-child(4n+1){grid-column:span 7}.page-gallery .gallery-grid figure:nth-child(even){margin-top:5rem}.page-gallery .gallery-grid img{aspect-ratio:auto;max-height:760px;object-fit:cover;filter:saturate(.82) contrast(1.04)}.page-gallery .gallery-grid figcaption{font-size:.95rem;line-height:1.55;border-bottom:3px double var(--ink);padding:1rem 0}

/* Staff: editorial credits and varied workbench proportions. */
.page-staff .people-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,5vw,5rem) 1.5rem;align-items:start}
.page-staff .person{grid-column:span 5;display:grid;grid-template-columns:minmax(160px,.8fr) 1.2fr;gap:.5rem 1.5rem;background:#fff;border:1px solid var(--ink);padding:1rem}.page-staff .person:nth-child(2),.page-staff .person:nth-child(3){grid-column:span 7}.page-staff .person:nth-child(even){margin-top:4rem}.page-staff .role-portrait{grid-row:1/8;width:100%;max-width:none;aspect-ratio:3/4}.page-staff .person:nth-child(2) .role-portrait,.page-staff .person:nth-child(3) .role-portrait{aspect-ratio:4/3}.page-staff .role-name{margin:0}.page-staff .service-tags,.page-staff .responsibility{font-size:.9rem;border-top:1px solid var(--ink);padding-top:.75rem}

/* Reviews: varied physical samples on a measured wall. */
.page-reviews .review-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:start;background:linear-gradient(#0000 31px,#19191912 32px);background-size:100% 32px;padding-block:1rem}
.page-reviews .review{position:relative;grid-column:span 5;margin:0;padding:2rem 2rem 2rem 6.5rem;background:#fff;border:1px solid var(--ink);box-shadow:8px 8px 0 var(--highlight)}.page-reviews .review:nth-child(2),.page-reviews .review:nth-child(5){grid-column:span 7}.page-reviews .review:nth-child(even){margin-top:3rem}.page-reviews .review:nth-child(3n){background:#efe8d9}.page-reviews .review-avatar{position:absolute;left:1.4rem;top:1.5rem;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}.page-reviews .review cite{display:block;border-top:1px solid var(--ink);padding-top:.75rem;line-height:1.6}

/* Contact: modular project brief. */
.page-contact .contact-grid{grid-template-columns:.65fr 1.35fr;align-items:start}.page-contact .contact-grid>div{position:sticky;top:1.5rem;border:3px double var(--ink);padding:1.5rem}.page-contact .contact-form{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;background:#fff;border:1px solid var(--ink);padding:clamp(1rem,3vw,2rem)}.page-contact .contact-form .field{grid-column:span 3}.page-contact .contact-form .field:has(textarea),.page-contact .contact-form>p,.page-contact .contact-form>button,.page-contact .contact-form>.status{grid-column:1/-1}.page-contact .contact-form .field:nth-of-type(4),.page-contact .contact-form .field:nth-of-type(5){grid-column:span 3}.page-contact .contact-form .field::before{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.page-contact .contact-form .field:nth-of-type(1)::before{content:"Module 01 · identity"}.page-contact .contact-form .field:nth-of-type(2)::before{content:"Module 02 · reply"}.page-contact .contact-form .field:nth-of-type(3)::before{content:"Module 03 · optional"}.page-contact .contact-form .field:nth-of-type(4)::before{content:"Module 04 · service"}.page-contact .contact-form .field:nth-of-type(5)::before{content:"Module 05 · animal"}.page-contact .contact-form .field:nth-of-type(6)::before{content:"Module 06 · context"}.page-contact .contact-form .field:nth-of-type(7)::before{content:"Module 07 · handling"}.page-contact .contact-form .field:nth-of-type(8)::before{content:"Module 08 · question"}

/* About, FAQ and privacy read as catalogue appendices. */
.page-about .about-spread{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;border-block:3px double var(--ink);padding-block:2rem}.page-about .about-spread figure{margin:0}.page-about .about-spread figcaption{padding-top:.75rem;font-size:.85rem}.page-about .principles{margin-top:5rem}.page-about .principles>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.page-about .principles article{background:var(--bg);padding:1.5rem}.page-about .about-process{margin-top:5rem}.page-about .about-process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink)}.page-about .about-process li{display:grid;gap:.5rem;background:#fff;padding:1.5rem}.page-about .expectation{margin-top:1.5rem;padding:1.5rem;background:var(--highlight)}
.page-faq .faq-list{counter-reset:appendix}.page-faq .faq-list details{counter-increment:appendix;border:0;border-top:1px solid var(--ink);background:transparent;padding:0}.page-faq .faq-list summary{display:grid;grid-template-columns:5rem 1fr;align-items:center;font-family:var(--catalog-font-body);font-size:clamp(1.2rem,2vw,1.7rem);padding:1.25rem}.page-faq .faq-list summary::before{content:"A." counter(appendix,decimal-leading-zero);font:700 .75rem Arial,sans-serif;letter-spacing:.12em;color:var(--action)}.page-faq .faq-list details p{max-width:68ch;margin-left:5rem;padding:0 1.25rem 1.5rem}.page-faq .faq-escape{padding:1.5rem;margin:1rem 0;background:var(--highlight)}
.page-privacy .privacy-copy{max-width:900px}.page-privacy .privacy-copy section{display:grid;grid-template-columns:.65fr 1.35fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--ink)}

@media(max-width:850px){
  .layout-catalogue{--header:56px;font-size:1rem;background:var(--bg)}.layout-catalogue .header-in{min-height:56px;padding:.35rem 1rem}.layout-catalogue .brand{font-size:.92rem;max-width:12rem}.layout-catalogue .mobile-nav nav{z-index:30;background:var(--bg)}
  .layout-catalogue img[src*="bench-"]{max-width:620px;margin-inline:auto}
  .layout-catalogue h1{font-size:clamp(2.25rem,11vw,3.25rem)}.layout-catalogue .page-shell{padding-inline:clamp(1rem,5vw,1.5rem)}
  .layout-catalogue .catalogue-item,.layout-catalogue .catalogue-item:first-child{flex-basis:calc(100vw - 2.5rem);box-shadow:5px 6px 0 var(--highlight)}.layout-catalogue .catalogue-item img{aspect-ratio:4/5}.layout-catalogue.home .hero{display:block}.layout-catalogue.home .hero-inner{display:grid;grid-template-columns:1fr}.layout-catalogue.home .hero-art{border:0;padding:0}.layout-catalogue.home .service-preview,.layout-catalogue.home .service-preview>.service-list{display:block;border-left:0;padding-left:0}.layout-catalogue.home .gallery-preview .gallery-grid{grid-template-columns:1fr}.layout-catalogue.home .gallery-preview figure:nth-child(n){margin-top:1.5rem}.layout-catalogue.home .staff-preview-grid{grid-template-columns:1fr}.layout-catalogue.home .staff-preview-grid article,.layout-catalogue.home .staff-preview-grid article:nth-child(2){grid-template-columns:1fr;margin-top:0}.layout-catalogue.home .staff-preview-grid img{max-height:360px}
  .page-services .service-folio{grid-template-columns:1fr}.page-services .service-index{position:relative;top:auto}.page-services .service-index ol{columns:2}.page-services .service:nth-child(even){margin-left:0}.layout-catalogue.page-services .service-featured{display:block}.page-services .service-featured .service-media img{min-height:0;aspect-ratio:4/5}.page-services .service ul{columns:1}.service-handoff ol{grid-template-columns:1fr}
  .page-gallery .gallery-grid{display:grid;grid-template-columns:1fr}.page-gallery .gallery-grid figure:nth-child(n){grid-column:auto;margin-top:0}.page-gallery .gallery-grid img{max-height:none}
  .page-staff .people-grid,.page-reviews .review-grid{grid-template-columns:1fr}.page-staff .person:nth-child(n),.page-reviews .review:nth-child(n){grid-column:auto;margin-top:0}.page-staff .person{grid-template-columns:1fr}.page-staff .role-portrait{grid-row:auto;aspect-ratio:4/3!important;max-height:440px}
  .page-reviews .review{padding:6rem 1.25rem 1.5rem}.page-reviews .review-avatar{left:1.25rem;top:1.25rem}
  .page-contact .contact-grid{grid-template-columns:1fr}.page-contact .contact-grid>div{position:relative;top:auto}.page-contact .contact-form{grid-template-columns:1fr}.page-contact .contact-form .field,.page-contact .contact-form>p,.page-contact .contact-form>button,.page-contact .contact-form>.status{grid-column:auto!important}
  .page-about .about-spread{grid-template-columns:1fr}.page-about .principles>div,.page-about .about-process ol{grid-template-columns:1fr}.page-privacy .privacy-copy section{grid-template-columns:1fr;gap:.5rem}.page-faq .faq-list summary{grid-template-columns:3.5rem 1fr;padding-inline:.5rem}.page-faq .faq-list details p{margin-left:3.5rem;padding-inline:.5rem}
}

:root{--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
body{font-family:var(--font-b)}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Bricolage Grotesque', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--catalog-font-body:'DM Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
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 28 */
/* 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 only - section padding capped at 56px, gallery/staff stagger removed, staff 2-up even, FAQ in 2 columns. */
@media (min-width: 1100px) {
  .layout-catalogue.home .catalogue-rail { padding-bottom:1.5rem; }
  .layout-catalogue.home .hero-inner { padding-block:56px; }
  .layout-catalogue.home main > .section { padding-block:56px; }
  .layout-catalogue.home .section-head { margin-bottom:1.75rem; }
  .layout-catalogue.home .gallery-preview figure:nth-child(2) { margin-top:0; }
  .layout-catalogue.home .gallery-preview figure:nth-child(3) { margin-top:2rem; }
  .layout-catalogue.home .staff-preview-grid { grid-template-columns:1fr 1fr; }
  .layout-catalogue.home .staff-preview-grid article:nth-child(2) { margin-top:0; }
  .layout-catalogue.home .faq-list { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}
