:root {
  --ink: #263b26;
  --paper: #f4efe5;
  --white: #fffdf8;
  --cobalt: #263b26;
  --cobalt-soft: #334b32;
  --red: #334b32;
  --gold: #a9854f;
  --line: rgba(41, 39, 34, .2);
  --muted: #58614b;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Source Sans 3", Arial, sans-serif;
  --max: 1180px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; font-family: var(--serif); font-weight: 600; line-height: 1.08; }
h2 { font-size: clamp(2.7rem, 5vw, 4.9rem); }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 30; padding: .7rem 1rem; background: var(--white); }
.skip-link:focus { top: 1rem; }
.announcement { margin: 0; padding: .55rem 1rem; background: var(--ink); color: var(--white); text-align: center; font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.site-header { min-height: 220px; padding: 1rem max(1rem, calc((100vw - var(--max)) / 2)); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; background: #eadfcd; border-bottom: 1px solid var(--line); position: relative; z-index: 10; }
.brand { display: flex; align-items: center; gap: .9rem; text-decoration: none; }
.brand > span:last-child { display: grid; }
.brand strong { color: var(--ink); font-family: var(--serif); font-size: clamp(1.3rem, 2.1vw, 1.85rem); font-weight: 600; line-height: 1; }
.brand small { color: var(--muted); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; margin-top: .28rem; }
.brand-logo { width: 58px; height: 58px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
.brand-lockup-link { flex: 0 0 auto; }
.brand-lockup { width: 330px; height: 148px; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 1.65rem; font-size: .92rem; }
.site-nav a { text-decoration: none; border-bottom: 1px solid transparent; }
.site-nav a:hover { border-bottom-color: currentColor; }
.site-nav a.is-current { color: var(--red); border-bottom-color: currentColor; font-weight: 600; }
.nav-cta { padding: .55rem .9rem; border: 1px solid var(--ink) !important; }
.nav-cta:hover { background: var(--ink); color: var(--white); }
.menu-button { display: none; }

.hero { width: 100%; min-height: clamp(580px, 70vw, 760px); display: grid; place-items: center; overflow: hidden; position: relative; background: #263b26; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: center 53%; }
.hero-shade {
  background:
    radial-gradient(ellipse 58% 44% at 50% 48%, rgba(18,15,13,.64) 0%, rgba(18,15,13,.40) 48%, transparent 76%),
    linear-gradient(180deg, rgba(23,20,18,.28), rgba(23,20,18,.62));
}
.hero-copy { width: min(calc(100% - 2rem), 980px); padding: 5rem 0; position: relative; z-index: 1; text-align: center; color: #fffaf1; text-shadow: 0 2px 4px rgba(0,0,0,.75), 0 8px 30px rgba(0,0,0,.72); }
.eyebrow { color: var(--red); font-size: .76rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.hero .eyebrow { color: var(--white); }
.hero h1 { max-width: 1380px; margin: 0 auto 1.2rem; font-size: clamp(2.8rem, 4.25vw, 4.4rem); letter-spacing: -.015em; white-space: nowrap; }
.hero-intro { margin: 0 auto; font-size: clamp(1.1rem, 2vw, 1.4rem); }
.hero-actions { display: flex; justify-content: center; gap: .8rem; margin-top: 2rem; }
.button { min-height: 48px; padding: .7rem 1.35rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; text-decoration: none; font-weight: 600; }
.button-light { background: var(--white); color: var(--ink); text-shadow: none; }
.button-outline { border-color: rgba(255,255,255,.85); color: var(--white); }
.button-outline:hover { background: var(--white); color: var(--ink); text-shadow: none; }
.button-dark { background: var(--ink); color: var(--white); }
.text-link { color: inherit; font-weight: 600; text-underline-offset: .25rem; }

.band, .section { width: min(calc(100% - 2rem), var(--max)); margin: 0 auto; }
.band { padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 8vw, 7rem); text-align: center; }
.manifesto > p:last-child { max-width: 920px; margin: 0 auto; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.18; }
.section { padding: clamp(5rem, 9vw, 8rem) 0; }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 4rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { color: var(--muted); margin-bottom: .5rem; }

.collection { width: 100%; max-width: none; padding-left: max(1rem, calc((100vw - var(--max)) / 2)); padding-right: max(1rem, calc((100vw - var(--max)) / 2)); background: var(--cobalt); color: var(--white); }
.collection .eyebrow { color: #d8b67d; }
.collection .section-heading > p, .collection .collection-note { color: rgba(255,255,255,.72); }
.search-box { max-width: 680px; display: grid; gap: .45rem; margin-bottom: 2rem; color: rgba(255,255,255,.7); font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.search-box input { width: 100%; min-height: 54px; padding: 0 1rem; border: 1px solid rgba(255,255,255,.36); background: rgba(255,255,255,.08); color: var(--white); outline: none; }
.search-box input::placeholder { color: rgba(255,255,255,.5); }
.search-box input:focus { border-color: var(--white); }
.collection-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.collection-group { padding: 1.8rem; border: 1px solid rgba(255,255,255,.23); background: rgba(255,255,255,.06); }
.collection-group header { display: flex; justify-content: space-between; gap: 1rem; }
.collection-group h3 { margin-bottom: .5rem; font-size: 2rem; }
.collection-group header span { color: #d8b67d; }
.collection-group > p { color: rgba(255,255,255,.68); }
.collection-group ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.collection-group li { padding: .38rem .65rem; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); font-size: .85rem; }
.collection-note { max-width: 880px; margin-top: 1.5rem; color: var(--ink); }
.shipping-disclaimer { max-width: 880px; margin-top: 1rem; color: var(--ink); }
.shipping-disclaimer a { font-weight: 600; text-underline-offset: .2rem; }
.empty-state { grid-column: 1 / -1; padding: 2rem; border: 1px dashed rgba(255,255,255,.4); text-align: center; }

.story { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.story-images { position: sticky; top: 1.5rem; }
.story-image-large { width: 100%; max-height: 830px; object-fit: cover; object-position: center; }
.story-copy h2 { font-size: clamp(2.6rem, 4.5vw, 4.4rem); }
.story-copy #history-copy p { color: var(--muted); }
.story-copy #history-copy p:first-child { color: var(--ink); }

.process { border-top: 1px solid var(--line); }
.workshop-offerings { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; padding: clamp(2rem, 5vw, 4rem); background: #ebe3d9; }
.workshop-photo { aspect-ratio: 1.15; overflow: hidden; }
.workshop-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: rotate(90deg) scale(.84); }
.workshop-offerings article + article { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.workshop-offerings h3 { margin-bottom: .6rem; font-size: 1.7rem; }
.workshop-offerings p { color: var(--muted); }
.making-heading { margin: 5rem 0 2rem; text-align: center; }
.making-heading h3 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.process-card { background: var(--white); border: 1px solid var(--line); }
.process-card figure { height: 330px; margin: 0; overflow: hidden; }
.process-card img { width: 100%; height: 100%; object-fit: cover; }
.process-copy { padding: 1.5rem; }
.process-copy > span { color: var(--red); font-size: .76rem; letter-spacing: .14em; }
.process-copy h3 { margin: .55rem 0; font-size: 1.8rem; }
.process-copy p { color: var(--muted); }
.workshop-invitation { max-width: 780px; margin: 5rem auto 2rem; padding: clamp(2rem, 5vw, 4rem); background: var(--cobalt); color: var(--white); text-align: center; }
.workshop-invitation .eyebrow { color: #d8b67d; }
.workshop-invitation h2 { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.workshop-invitation p:last-child { margin-bottom: 0; color: rgba(255,255,255,.8); font-size: 1.12rem; }

.journal { border-top: 1px solid var(--line); }
.article-list { border-top: 1px solid var(--line); }
.article { border-bottom: 1px solid var(--line); }
.article summary { padding: 1.5rem 0; display: grid; grid-template-columns: 50px 1fr 28px; gap: 1rem; align-items: center; cursor: pointer; list-style: none; }
.article summary::-webkit-details-marker { display: none; }
.article-index { color: var(--red); font-family: var(--serif); font-size: 1.2rem; }
.article summary > span:nth-child(2) { display: grid; }
.article summary small { color: var(--muted); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.article summary strong { margin: .2rem 0; font-family: var(--serif); font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.15; }
.article summary em { color: var(--muted); font-size: .8rem; font-style: normal; }
.article summary i { width: 24px; height: 24px; border: 1px solid var(--ink); border-radius: 50%; position: relative; }
.article summary i::before, .article summary i::after { content: ""; position: absolute; left: 6px; right: 6px; top: 11px; height: 1px; background: var(--ink); }
.article summary i::after { transform: rotate(90deg); }
.article[open] summary i::after { transform: rotate(0); }
.article-body { max-width: 800px; margin-left: 66px; padding: 0 2rem 2rem 0; color: var(--muted); }

.visit { width: 100%; max-width: none; display: grid; grid-template-columns: 1.1fr .9fr; padding: 0; }
.visit-card, .contact-card { padding: clamp(3rem, 7vw, 7rem); }
.visit-card { background: var(--ink); color: var(--white); }
.visit-card .eyebrow { color: #d8b67d; }
.visit-card h2 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.visit-card > p:not(.eyebrow), .visit-card address { color: rgba(255,255,255,.72); }
.visit-card address { display: grid; font-style: normal; }
.map-frame { width: 100%; height: 300px; margin-top: 2rem; border: 0; filter: saturate(.7) contrast(.95); }
.map-direct-link { display: inline-block; margin-top: .5rem; color: var(--white); font-weight: 600; text-underline-offset: .25rem; }
.contact-actions { display: flex; align-items: center; gap: 1.2rem; margin-top: 2rem; }
.light-link { color: var(--white); }
.contact-card { background: var(--white); }
.contact-card h3 { max-width: 400px; font-size: 2.5rem; }
.contact-card > p:not(.eyebrow) { color: var(--muted); }
.contact-list { margin: 2rem 0 0; padding: 0; list-style: none; }
.contact-list li { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.contact-list span { color: var(--muted); }
.contact-list a { overflow-wrap: anywhere; }

.site-footer { min-height: 180px; padding: 2rem max(1rem, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: .8fr 1.4fr .8fr; gap: 2rem; align-items: center; background: #e8e1d6; color: var(--muted); font-size: .82rem; }
.site-footer > p:last-child { text-align: right; }
.footer-brand { display: flex; align-items: center; gap: .7rem; font-family: var(--serif); font-size: 1.2rem; }
.footer-logo { width: 44px; height: 44px; }
.copyright-note { margin: .35rem 0 0; font-size: .76rem; }

.page-intro { padding: clamp(5rem, 9vw, 8rem) max(1rem, calc((100vw - var(--max)) / 2)) 3rem; background: var(--white); border-bottom: 1px solid var(--line); }
.page-intro h1, .story-page h1, .visit-page h1 { max-width: 1000px; margin-bottom: 1rem; font-family: var(--serif); font-size: clamp(3.2rem, 7vw, 6.8rem); line-height: .96; }
.page-intro > p:last-of-type { max-width: 760px; color: var(--muted); font-size: 1.15rem; }
.gallery-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2rem; color: var(--muted); }
.gallery-section { padding-top: 3rem; }
.gallery-section .search-box { color: var(--muted); }
.gallery-section .search-box input { border-color: var(--line); background: var(--white); color: var(--ink); }
.gallery-section .search-box input::placeholder { color: var(--muted); }
.category-grid { display: grid; gap: clamp(4rem, 8vw, 7rem); }
.category-section > h2 { margin-bottom: 2rem; }
.category-subgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.category-card { min-height: 360px; display: grid; grid-template-rows: 1fr auto; background: var(--white); border: 1px solid var(--line); text-decoration: none; overflow: hidden; }
.category-card img { width: 100%; height: 280px; object-fit: cover; transition: transform .35s ease; }
.category-card:hover img { transform: scale(1.025); }
.category-card > span { display: grid; padding: 1.15rem; }
.category-card small { color: var(--red); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.category-card strong { font-family: var(--serif); font-size: 1.65rem; line-height: 1.1; }
.category-card em { color: var(--muted); font-size: .82rem; font-style: normal; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.product-card { padding: 0; border: 1px solid var(--line); background: var(--white); color: var(--ink); text-align: left; cursor: zoom-in; }
.product-image { height: 280px; display: grid; place-items: center; padding: .75rem; background: #ece8e0; overflow: hidden; }
.product-image img { width: 100%; height: 100%; object-fit: contain; }
.product-card > span:last-child { display: grid; padding: 1rem; }
.product-card strong { font-family: var(--serif); font-size: 1.35rem; }
.product-card small { color: var(--muted); }
.product-meta { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); }
.product-meta b { color: var(--red); font-size: .9rem; }
.product-meta em { color: var(--muted); font-size: .76rem; font-style: normal; letter-spacing: .04em; }
.product-dialog { width: min(92vw, 760px); padding: 0; border: 0; background: var(--white); box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.product-dialog::backdrop { background: rgba(20,18,15,.78); }
.product-dialog > button { position: absolute; top: .75rem; right: .75rem; width: 42px; height: 42px; z-index: 1; border: 0; border-radius: 50%; background: var(--white); font-size: 1.6rem; cursor: pointer; }
.product-dialog img { width: 100%; max-height: 72vh; object-fit: contain; background: #ece8e0; }
.product-dialog > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; }
.product-dialog > div > span { display: grid; }
.product-dialog strong { font-family: var(--serif); font-size: 1.5rem; }
.dialog-meta { color: var(--muted); }
.home-paths { border-top: 1px solid var(--line); }
.path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.path-grid a { min-height: 320px; display: grid; grid-template-rows: 190px 1fr; border: 1px solid var(--line); background: var(--white); text-decoration: none; overflow: hidden; }
.path-grid a > img { width: 100%; height: 190px; object-fit: cover; transition: transform .35s ease; }
.path-grid a:hover > img { transform: scale(1.025); }
.path-copy { display: flex; flex-direction: column; justify-content: flex-end; padding: 1.25rem; }
.path-grid strong { font-family: var(--serif); font-size: 2rem; }
.path-copy > span { color: var(--muted); }
.story-page { padding-top: clamp(4rem, 7vw, 7rem); }
.story-page .story-copy #history-copy p { color: var(--muted); }
.tradition-history { max-width: 900px; border-top: 1px solid var(--line); }
.tradition-history h2 { max-width: 780px; }
.tradition-history > p:not(.eyebrow) { color: var(--muted); font-size: 1.08rem; }
.people { border-top: 1px solid var(--line); }
.people-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.people-grid article { display: grid; grid-template-columns: 1fr 1fr; min-height: 390px; background: var(--white); border: 1px solid var(--line); }
.people-grid img { width: 100%; height: 100%; object-fit: cover; }
.people-grid article > div { display: flex; flex-direction: column; justify-content: end; padding: clamp(1.25rem, 3vw, 2.5rem); }
.people-grid h3 { margin-bottom: .65rem; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.people-grid p { margin-bottom: 0; color: var(--muted); }
.family-moment { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; border-top: 1px solid var(--line); }
.family-moment img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.family-moment > div { max-width: 42ch; }
.family-moment h2 { margin-bottom: 1rem; }
.family-moment p:last-child { margin-bottom: 0; color: var(--muted); }
.making-heading h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.visit-page { padding: 0; }
.visit-page .visit-card h1 { font-size: clamp(3rem, 5vw, 5.2rem); }
.visit-page .contact-card h2 { font-size: clamp(2.5rem, 4vw, 4rem); }

@media (max-width: 980px) {
  .menu-button { display: inline-flex; padding: .55rem .85rem; border: 1px solid var(--ink); background: transparent; }
  .site-nav { position: absolute; left: 1rem; right: 1rem; top: calc(100% - .5rem); display: none; padding: 1rem; background: var(--white); box-shadow: 0 18px 50px rgba(0,0,0,.14); }
  .site-nav.is-open { display: grid; }
  .site-nav a { padding: .65rem; }
  .section-heading, .story, .workshop-offerings { grid-template-columns: 1fr; }
  .story-images { position: relative; top: auto; }
  .process-grid { grid-template-columns: 1fr; }
  .category-subgrid { grid-template-columns: repeat(2, 1fr); }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .people-grid { grid-template-columns: 1fr; }
  .family-moment { grid-template-columns: 1fr; }
  .family-moment > div { max-width: 65ch; }
  .process-card { display: grid; grid-template-columns: .8fr 1.2fr; }
  .visit { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .announcement { font-size: .65rem; }
  .site-header { min-height: 168px; padding: .5rem 1rem 1rem; }
  .brand-lockup { width: 250px; height: 112px; }
  .brand-logo { width: 46px; height: 46px; }
  .brand strong { font-size: 1.15rem; }
  .brand small { display: none; }
  .hero { min-height: 620px; }
  .hero h1 { font-size: clamp(2.55rem, 12vw, 4rem); white-space: normal; }
  .hero-actions, .contact-actions { align-items: stretch; flex-direction: column; }
  .collection-grid { grid-template-columns: 1fr; }
  .category-subgrid, .product-grid, .path-grid { grid-template-columns: 1fr; }
  .people-grid article { grid-template-columns: 1fr; }
  .people-grid img { height: 420px; }
  .category-card { min-height: 0; }
  .product-image { height: 360px; }
  .section { padding: 5rem 0; }
  .story-image-large { max-height: none; }
  .workshop-offerings { padding: 1.25rem; }
  .process-card { display: block; }
  .process-card figure { height: 280px; }
  .article summary { grid-template-columns: 32px 1fr 24px; gap: .6rem; }
  .article-body { margin-left: 0; padding-right: 0; }
  .visit-card, .contact-card { padding: 4rem 1rem; }
  .site-footer { grid-template-columns: 1fr; padding: 3rem 1rem; gap: 1rem; }
  .site-footer > p:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.brand-refined { position: relative; display: block; }
.brand .brand-name { position: absolute; left: -12%; right: -12%; top: 58%; height: 23%; display: flex; justify-content: center; align-items: center; background: #eadfcd; color: var(--ink); font-family: var(--serif); font-size: 1.55rem; font-weight: 600; line-height: 1.05; white-space: nowrap; letter-spacing: .015em; }
.section-jumps { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; margin-top: 1.5rem; }
.section-jumps a { color: var(--cobalt); font-weight: 600; text-underline-offset: .3em; }
.join-heading { margin: 2rem 0 1.5rem; text-align: center; }
.join-heading h2 { margin-bottom: .65rem; }
#our-process, #join-workshop { scroll-margin-top: 1.5rem; }
/* A quieter, proportional rhythm across the six pages. */
h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.12; }
.site-header { min-height: 190px; padding-top: .65rem; padding-bottom: .85rem; }
.brand-lockup { width: 360px; height: 180px; }
.hero { min-height: clamp(440px, 43vw, 620px); }
.hero-copy { width: min(calc(100% - 2rem), 1280px); padding: 3rem 0; }
.hero h1 { font-size: clamp(2rem, 3.9vw, 3.6rem); }
.band { padding: clamp(2.5rem, 4vw, 3.5rem) clamp(1rem, 5vw, 4rem); }
.manifesto > p:last-child { max-width: 860px; font-size: clamp(1.7rem, 2.7vw, 2.5rem); line-height: 1.25; }
.section { padding-top: clamp(2.5rem, 4.5vw, 4rem); padding-bottom: clamp(2.5rem, 4.5vw, 4rem); }
.section-heading { gap: 2rem; margin-bottom: 1.75rem; }
.page-intro { padding-top: clamp(2.5rem, 4.5vw, 4rem); padding-bottom: 2rem; }
.page-intro h1 { font-size: clamp(2.4rem, 4.5vw, 4rem); line-height: 1.06; }
.page-intro > p:last-of-type { margin-bottom: 0; font-size: 1.08rem; }
.story { gap: clamp(1.75rem, 4vw, 3.5rem); }
.story-page h1 { font-size: clamp(2.3rem, 3.3vw, 3.4rem); line-height: 1.1; }
.story-copy #history-copy { max-width: 65ch; }
.making-heading { margin: 0 0 1.75rem; }
.making-heading h2 { margin-bottom: 0; font-size: clamp(2rem, 3.4vw, 3rem); }
.workshop-invitation { max-width: none; margin: 3rem 0 1.5rem; padding: 2rem; }
.workshop-invitation h2 { max-width: 720px; margin: 0 auto 1rem; font-size: clamp(1.9rem, 3vw, 2.7rem); }
.workshop-offerings { padding: 1.5rem; gap: 2rem; }
.workshop-offerings h3 { font-size: 1.6rem; }
.workshop-offerings article + article { margin-top: 1.5rem; padding-top: 1.5rem; }
.process-copy p:last-child { margin-bottom: 0; }
.category-grid { gap: 2.75rem; }
.category-section > h2 { margin-bottom: 1.25rem; }
.path-grid a { position: relative; min-height: 215px; display: flex; align-items: stretch; text-align: center; padding: 34px 30px; background: var(--paper); border: 0; }
.path-grid a::before { content: none; }
.path-grid a:hover, .path-grid a:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 3px; }
.path-copy { position: relative; padding: .5rem 0; width: 100%; justify-content: center; gap: .55rem; background: transparent; border: 0; }
.path-grid strong { color: var(--cobalt); font-size: 2rem; line-height: 1.15; }
.path-copy > span { color: #58614b; font-size: 1rem; line-height: 1.45; }
.people-grid article { min-height: 330px; }
.people-grid article > div { padding: 1.25rem; }
.people-grid h3 { font-size: clamp(1.65rem, 2.3vw, 2.2rem); }
.visit-page { padding: 0; }
.visit-card, .contact-card { padding: clamp(2rem, 4vw, 4rem); }
.visit-page .visit-card h1 { font-size: clamp(2.3rem, 3.4vw, 3.4rem); line-height: 1.1; }
.visit-page .contact-card h2 { font-size: clamp(2rem, 3vw, 3rem); }
.contact-actions { flex-wrap: wrap; gap: .85rem; }
.site-footer { min-height: 140px; padding-top: 1.75rem; padding-bottom: 1.75rem; }
.site-footer p { margin-bottom: 0; }
@media (max-width: 980px) {
  .section-heading { gap: 1rem; }
  .story-images { max-width: 520px; margin: auto; }
  .story-copy { max-width: 720px; margin: auto; }
}
@media (max-width: 680px) {
  .site-header { min-height: 165px; }
  .brand-lockup { width: 290px; height: 145px; }
  .hero { min-height: 440px; }
  .hero h1 { font-size: clamp(2.15rem, 8vw, 3rem); white-space: normal; }
  .hero-actions { gap: .6rem; }
  .section { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .visit-page { padding: 0; }
  .path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .path-grid a { min-height: 185px; padding: 28px 20px; }
  .brand .brand-name { font-size: 1.25rem; }
  .path-grid strong { font-size: 1.6rem; }
  .path-copy > span { font-size: .9rem; }
  .workshop-invitation { padding: 1.5rem; margin-top: 2rem; }
  .workshop-offerings { padding: 1rem; gap: 1.25rem; }
  .people-grid img { height: 340px; }
  .family-moment img { aspect-ratio: 4 / 3; }
  .visit-card, .contact-card { padding: 2.5rem 1rem; }
}

/* Reference layout: a slender ceramic cross and four open quadrants. */
.home-paths .section-heading { display: block; max-width: 920px; margin-bottom: 4.25rem; }
.home-paths .section-heading h2 { font-size: clamp(2.25rem, 4.4vw, 4rem); margin-bottom: 1rem; }
.home-paths .section-heading > p { max-width: 850px; font-size: clamp(1.05rem, 2vw, 1.45rem); }
.home-paths .path-grid {
  --divider: clamp(32px, 5.8vw, 64px);
  position: relative;
  max-width: 1050px;
  margin: 0 auto 3rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(280px, auto));
  gap: var(--divider);
}
.home-paths .path-grid::before, .home-paths .path-grid::after {
  content: ''; position: absolute; pointer-events: none;
  background-image: url('assets/ceramic-frame.png');
  background-size: calc(var(--divider) * 12) calc(var(--divider) * 8);
  border: 1px solid #58614b;
  z-index: 1;
}
.home-paths .path-grid::before {
  inset: calc(50% - var(--divider) / 2) 0 auto;
  height: var(--divider); background-image: url('assets/ceramic-strip-horizontal.svg'); background-size: calc(var(--divider) * 9.8125) var(--divider); background-position: center top; background-repeat: repeat-x;
}
.home-paths .path-grid::after {
  inset: 0 auto 0 calc(50% - var(--divider) / 2);
  width: var(--divider); background-image: url('assets/ceramic-strip-vertical.svg'); background-size: var(--divider) calc(var(--divider) * 5.478261); background-position: left center; background-repeat: repeat-y;
}
.home-paths .path-grid a { min-height: 280px; padding: 2rem 1rem; background: transparent; }
.home-paths .path-copy { gap: 1rem; align-items: center; }
.home-paths .path-grid strong { font-size: clamp(1.65rem, 3.6vw, 3.25rem); }
.home-paths .path-copy > span:not(.path-ornament) { max-width: 22ch; min-height: 3em; font-size: clamp(1rem, 1.8vw, 1.35rem); line-height: 1.5; }
.path-ornament { display: flex; align-items: center; justify-content: center; gap: .3rem; width: 40%; min-width: 65px; max-width: 160px; height: 24px; }
.path-ornament::before, .path-ornament::after { content: ''; flex: 1; height: 1px; background: #334b32; }
.path-ornament i { display: block; width: 24px; height: 24px; flex-shrink: 0; background: url('assets/home-cross-reference.png') -194.32px -412.84px / 804.39px 1171.35px no-repeat; }
@media(max-width: 680px) {
  .home-paths .path-grid { width: calc(100% - 2.5rem); grid-template-rows: repeat(2, minmax(200px, auto)); margin-bottom: 2rem; }
  .home-paths .path-grid a { min-height: 200px; padding: 1.25rem .25rem; }
  .home-paths .path-copy { gap: .75rem; }
  .home-paths .path-copy > span:not(.path-ornament) { min-height: 6em; }
  .home-paths .section-heading { margin-bottom: 3rem; }
}

/* One continuous ornament: no separate tiles, joins, caps, or centre patch. */
.home-paths .path-grid {
  width: 100%; max-width: 900px; aspect-ratio: 1;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8%; margin-bottom: 1rem;
}
.home-paths .path-grid::before {
  inset: 0; height: auto; border: 0;
  background: url('assets/ceramic-cross-v2.png') center / contain no-repeat;
}
.home-paths .path-grid::after { content: none; }
.home-paths .path-grid a { min-height: 0; padding: 1rem; }
@media(max-width: 680px) {
  .home-paths .path-grid { width: 100%; grid-template-rows: repeat(2, minmax(0, 1fr)); }
  .home-paths .path-grid a { padding: .25rem; }
  .home-paths .path-copy { gap: .5rem; padding: 0; }
  .home-paths .path-grid strong { font-size: clamp(1.4rem, 6.1vw, 2rem); }
  .home-paths .path-copy > span:not(.path-ornament) { font-size: .875rem; line-height: 1.45; min-height: 4.35em; }
  .path-ornament { height: 20px; }
  .path-ornament i { transform: scale(.8); }
}

.people-grid .person-role { color: var(--cobalt); font-size: 1rem; line-height: 1.45; margin-bottom: 1rem; }

.visitor-details { margin:1.5rem 0; }
.workshop-practical { margin-top:3rem; padding-top:2rem; border-top:1px solid #d7cdbc; }
.workshop-practical dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 3rem; }
.workshop-practical dt { font-weight:600; color:var(--cobalt); margin-bottom:.5rem; }
.workshop-practical dd { margin:0; line-height:1.7; }
@media(max-width:680px) { .workshop-practical dl { grid-template-columns:1fr; } }
/* Heritage portraits: quiet, uncropped images with room for each person's story. */
.people-grid { gap: 1.25rem; }
.people-grid article {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 1.5rem;
  align-items: center;
  min-height: 0;
  padding: 1.5rem;
}
.people-grid img {
  width: 100%;
  height: auto;
  max-height: 20rem;
  object-fit: contain;
  object-position: center;
  align-self: center;
}
.people-grid article > div { min-width: 0; padding: 0; justify-content: center; }
.people-grid h3 { font-size: clamp(1.65rem, 2vw, 2rem); }
.people-grid p { line-height: 1.55; }
.people-grid .person-role { margin-bottom: .8rem; }
.family-moment { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.family-moment img { height: auto; max-height: 22rem; aspect-ratio: auto; object-fit: contain; }
.family-moment > div { max-width: 48ch; }
@media (min-width: 681px) and (max-width: 980px) {
  .people-grid article { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 2rem; }
  .people-grid img { max-height: 18rem; }
}
@media (max-width: 680px) {
  .people-grid { gap: 1rem; }
  .people-grid article { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem; }
  .people-grid img { width: auto; max-width: 100%; height: auto; max-height: 17.5rem; justify-self: center; }
  .people-grid h3 { font-size: 1.85rem; }
  .family-moment { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .family-moment img { width: auto; max-width: 100%; max-height: 18rem; justify-self: center; }
}

/* Home: one continuous storefront photograph, from navigation to the welcome. */
.hero--unified {
  min-height: clamp(680px, 78svh, 900px);
  display: flex;
  flex-direction: column;
  isolation: isolate;
}
.hero--unified .hero-image { object-position: center 53%; }
.hero--unified .hero-shade {
  background: linear-gradient(180deg, rgba(20, 18, 15, .52) 0%, rgba(20, 18, 15, .34) 28%, rgba(20, 18, 15, .48) 65%, rgba(20, 18, 15, .58) 100%);
}
.hero--unified .hero-header {
  width: 100%; min-height: 0; padding: 1.2rem 1.5rem;
  background: transparent; border: 0; color: #fff;
}
.hero--unified .site-nav { gap: clamp(1rem, 2.5vw, 2rem); }
.hero--unified .site-nav a { color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.65); }
.hero--unified .site-nav a.is-current { color: #fff; }
.hero--unified .nav-cta { border-color: rgba(255,255,255,.8) !important; }
.hero--unified .nav-cta:hover { background: #fff; color: var(--ink); text-shadow: none; }
.hero--unified .hero-copy {
  flex: 1; width: min(calc(100% - 3rem), 880px); margin: 0 auto;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 1rem 0 5rem;
}
.hero--unified .hero-brand { width: min(100%, 690px); margin: 0 auto 1.5rem; line-height: 1; }
.hero-brand-lockup {
  width: 100%; height: auto; object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.4));
}
.hero--unified .hero-intro { max-width: 38ch; color: #fff; }
.hero--unified .hero-actions { width: 100%; margin-top: 1.8rem; }
.hero--unified a:focus-visible, .hero--unified button:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media (max-width: 980px) {
  .hero--unified .hero-header { align-items: flex-end; padding: 1rem 1.25rem; }
  .hero--unified .menu-button { min-height: 44px; color: #fff; border-color: rgba(255,255,255,.8); background: rgba(20,18,15,.15); }
  .hero--unified .site-nav { top: calc(100% - .25rem); background: #263b26; border: 1px solid rgba(255,255,255,.35); text-align: left; }
  .hero--unified .site-nav a { text-shadow: none; }
  .hero--unified .hero-copy { padding-bottom: 4rem; }
}
@media (max-width: 680px) {
  .hero--unified { min-height: 650px; min-height: max(620px, calc(88svh - 40px)); }
  .hero--unified .hero-copy { width: min(calc(100% - 2rem), 440px); padding: 1rem 0 3.5rem; }
  .hero--unified .hero-brand { width: 100%; margin-bottom: 1.5rem; }
  .hero--unified .hero-intro { max-width: 28ch; font-size: 1.12rem; line-height: 1.55; }
  .hero--unified .hero-actions { margin-top: 1.6rem; }
  .hero--unified .hero-actions .button { min-height: 50px; }
}

/* Matching, modest portrait frames with the full photograph visible. */
.people-grid article {
  grid-template-columns: 11rem minmax(0, 1fr);
  align-items: start;
}
.people-grid img {
  width: 11rem; height: 15.4rem; max-width: 100%; max-height: none;
  aspect-ratio: 5 / 7; object-fit: contain; object-position: center;
  align-self: start; justify-self: center;
  background: #ebe3d9; border: 1px solid rgba(41, 39, 34, .12); padding: .4rem;
}
.people-grid article > div { justify-content: flex-start; }
.people-grid h3 { margin-top: 0; }
.workshop-reservation-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.workshop-reservation-actions .reservation-instagram { border-color: var(--ink); background: transparent; color: var(--ink); }
.workshop-reservation-actions .reservation-instagram:hover { background: var(--ink); color: var(--white); }
@media (min-width: 681px) and (max-width: 980px) {
  .people-grid article { grid-template-columns: 11rem minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .people-grid article { grid-template-columns: minmax(0, 1fr); }
  .people-grid img { width: 11rem; height: 15.4rem; max-height: none; }
  .people-grid h3 { font-size: 1.65rem; }
  .workshop-reservation-actions { flex-direction: column; align-items: stretch; }
}

/* Fill matching portrait frames while keeping faces and ceramic work visible. */
.people-grid img { object-fit: cover; padding: 0; border: 0; }
.people-grid article:nth-child(2) img { object-position: center 20%; }
.people-grid article:nth-child(3) img { object-position: center 95%; }
.people-grid article:nth-child(4) img { object-position: center 65%; }

/* A restrained white wordmark above the storefront sign. */
.hero--unified .hero-copy { justify-content: flex-start; padding-top: clamp(3rem, 8svh, 6rem); }
.hero--unified .hero-brand-text { width: min(100%, 680px); margin-bottom: 1.25rem; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.75); }
.hero-brand-text span { display: block; }
.hero-brand-name { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3.6vw, 3rem); font-weight: 600; line-height: 1.12; text-transform: uppercase; letter-spacing: .015em; }
.hero-brand-description { font-family: 'Cormorant Garamond', serif; font-size: clamp(.85rem, 1.4vw, 1.2rem); letter-spacing: .19em; text-transform: uppercase; margin-top: .6rem; line-height: 1.4; }
.hero-brand-established { font-family: 'Cormorant Garamond', serif; font-size: .9rem; letter-spacing: .2em; text-transform: uppercase; margin-top: .4rem; line-height: 1.4; }
.hero--unified .hero-intro { font-size: 1.1rem; max-width: 42ch; text-shadow: 0 2px 9px rgba(0,0,0,.8); }
.hero--unified .hero-actions { margin-top: 1.2rem; }
@media(max-width:680px) { .hero--unified .hero-copy { padding-top: 3rem; } .hero-brand-name { max-width: 20ch; margin: 0 auto; } }

/* Compact lettering-only page headers. */
.site-header:not(.hero-header) { min-height: 0; padding-top: 1.25rem; padding-bottom: 1rem; gap: 1rem; }
.compact-wordmark { display: block; text-align: center; font-family: var(--serif); color: var(--ink); }
.compact-wordmark > span { display: block; }
.compact-name { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.1; font-weight: 600; text-transform: uppercase; }
.compact-description { font-size: .85rem; letter-spacing: .16em; text-transform: uppercase; margin-top: .35rem; line-height: 1.3; }
.compact-established { font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; margin-top: .2rem; line-height: 1.3; }
@media(max-width:980px) { .site-header:not(.hero-header) { padding-top: 1rem; padding-bottom: .75rem; gap: .7rem; } }

/* Original circular emblem, kept modest above the lettering. */
.page-brand-emblem { display: block; width: 90px; height: 90px; object-fit: contain; margin: 0 auto .65rem; }
.hero-brand-text .page-brand-emblem { width: 112px; height: 112px; filter: brightness(0) invert(1); margin-bottom: .85rem; }
.hero--unified .hero-copy { padding-top: 1.5rem; padding-bottom: 3.5rem; }
.hero--unified .hero-brand-text { margin-bottom: 0; }
.hero--unified .hero-intro { margin-top: auto; padding-top: 3rem; }
@media(max-width:680px) { .page-brand-emblem { width: 76px; height: 76px; } .hero-brand-text .page-brand-emblem { width: 92px; height: 92px; } .hero--unified .hero-copy { padding-top: 1rem; padding-bottom: 2.5rem; } .hero--unified .hero-intro { padding-top: 2.5rem; } }

.hero--unified .hero-copy { padding-top: clamp(3rem, 8svh, 6rem); }
@media(max-width:680px) { .hero--unified .hero-copy { padding-top: 3rem; } }

/* Stronger contrast over the storefront without obscuring its detail. */
.hero--unified .hero-shade { background: linear-gradient(180deg, rgba(16,14,11,.55) 0%, rgba(16,14,11,.62) 22%, rgba(16,14,11,.48) 42%, rgba(16,14,11,.25) 62%, rgba(16,14,11,.55) 82%, rgba(16,14,11,.65) 100%); }
.hero--unified .hero-brand-text { color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,.85), 0 4px 18px rgba(0,0,0,.65); }
.hero-brand-description, .hero-brand-established { font-weight: 600; }
.hero--unified .hero-intro { color: #fff; font-weight: 600; text-shadow: 0 2px 5px rgba(0,0,0,.9); }

/* Balanced compact brand on interior pages. */
.site-header:not(.hero-header) { padding-top: .75rem; padding-bottom: .65rem; gap: .55rem; }
.compact-wordmark { width: min(100%, 440px); }
.compact-wordmark .page-brand-emblem { width: 76px; height: 76px; margin-bottom: .45rem; }
.compact-name { font-size: clamp(1.2rem, 2vw, 1.65rem); letter-spacing: .015em; line-height: 1.15; }
.compact-description { font-size: .7rem; letter-spacing: .15em; margin-top: .25rem; }
.compact-established { font-size: .65rem; letter-spacing: .12em; margin-top: .15rem; }
@media(max-width:680px) { .compact-wordmark .page-brand-emblem { width: 64px; height: 64px; } .compact-wordmark { max-width: 330px; } .compact-name { font-size: 1.2rem; } }

/* Archival documents retain their original photographs and proportions. */
.press-archive, .exhibition-archive { border-top: 1px solid var(--line); }
.press-archive, .exhibition-archive, .archive-entry, #workshop-stories { scroll-margin-top: 1.5rem; }
.archive-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.archive-entry { min-width: 0; }
.archive-document { margin: 0; }
.archive-image-link { display: block; background: #e6ded1; padding: .75rem; border: 1px solid var(--line); }
.archive-image-link:hover, .archive-image-link:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 4px; }
.archive-image-link img { display: block; width: 100%; height: auto; object-fit: contain; }
.archive-document--invitation .archive-image-link { max-width: 22rem; margin-inline: auto; }
.archive-document figcaption { margin-top: .65rem; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.archive-document--invitation figcaption { text-align: center; }
.archive-entry-copy { margin-top: 1.75rem; }
.archive-entry-copy h3 { font-size: clamp(1.8rem, 2.7vw, 2.35rem); margin-bottom: .65rem; }
.archive-entry-copy .eyebrow, .exhibition-copy .eyebrow { font-size: .875rem; letter-spacing: .1em; }
.archive-meta { color: var(--cobalt); font-size: 1rem; line-height: 1.5; }
.archive-source-note { color: var(--muted); font-size: .9375rem; line-height: 1.6; }
.archive-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.exhibition-archive { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.exhibition-copy { max-width: 54ch; }
.exhibition-copy h2 { margin-bottom: .75rem; }
.people-grid .person-archive-link { margin-top: 1rem; font-size: 1rem; }
@media (max-width: 760px) {
  .archive-grid, .exhibition-archive { grid-template-columns: minmax(0, 1fr); }
  .archive-grid { gap: 3rem; }
  .archive-entry + .archive-entry { border-top: 1px solid var(--line); padding-top: 2.5rem; }
  .archive-document--invitation .archive-image-link { max-width: 20rem; }
  .archive-actions { flex-direction: column; align-items: flex-start; }
  .exhibition-copy { max-width: none; }
}

.inspiration-plate{margin:2rem 0;display:grid;grid-template-columns:minmax(130px,210px) 1fr;gap:1.25rem;align-items:center}.inspiration-plate img{display:block;width:100%;height:auto;border:1px solid #d7d0c3}.inspiration-plate figcaption{font-size:.95rem;line-height:1.6}.inspiration-plate figcaption strong{font-family:"Cormorant Garamond",serif;font-size:1.55rem}.inspiration-plate figcaption p{margin:.6rem 0 1rem}@media(max-width:600px){.inspiration-plate{grid-template-columns:1fr}.inspiration-plate>a{max-width:240px;margin-inline:auto}}
.archive-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.archive-documents article{min-width:0}.archive-documents h3{font-size:2rem;margin-bottom:.5rem}.archive-documents figure{margin:1.5rem 0 0}.archive-documents img{display:block;width:100%;height:460px;object-fit:contain;background:#f1ece2}.archive-documents figcaption{font-size:.9rem;margin-top:.75rem;color:#58614b}@media(max-width:680px){.archive-documents{grid-template-columns:1fr;gap:2.5rem}.archive-documents img{height:auto;max-height:580px}}

.centenary-artwork{margin:0;text-align:center}.centenary-artwork img{display:block;width:min(100%,340px);height:auto;max-height:510px;object-fit:contain;margin:auto}.centenary-artwork figcaption{margin-top:1.25rem;font-size:.9rem;color:var(--muted)}.centenary-artwork figcaption strong,.centenary-artwork figcaption span{display:block}.centenary-artwork figcaption strong{color:var(--ink);margin-bottom:.3rem}.centenary-exhibition{padding-top:4rem;padding-bottom:4rem}@media(max-width:640px){.centenary-artwork img{max-height:400px;width:auto;max-width:100%}.centenary-exhibition{padding-top:2.5rem;padding-bottom:2.5rem}}

/* Journal interview and Custody commission */
.journal-reference,.commission-story {border-top:1px solid var(--line);scroll-margin-top:2rem;}
.journal-reference>p:not(.eyebrow){max-width:68ch;}
.commission-heading{max-width:52rem;margin-bottom:2.5rem;}
.commission-heading h2{margin-bottom:1rem;}
.commission-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start;}
.commission-copy h3{font-size:1.65rem;margin:1.75rem 0 .6rem;}
.commission-copy h3:first-child{margin-top:0;}
.commission-photo{margin:0;min-width:0;}
.commission-photo a{display:block;}
.commission-photo img{display:block;width:100%;height:auto;}
.commission-photo figcaption{font-size:.9rem;color:var(--muted);margin-top:.65rem;line-height:1.5;}
.commission-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:3rem 0 1.5rem;align-items:start;}
.commission-gallery img{aspect-ratio:3/2;object-fit:contain;background:#eee8de;}
@media(max-width:760px){.commission-intro,.commission-gallery{grid-template-columns:minmax(0,1fr);}.commission-installation{max-width:32rem;margin:auto;}.commission-gallery{gap:1.75rem;}}

/* Customer-facing Journal: one feature at a time, consistent rhythm. */
.journal-curated{max-width:1220px;margin:auto}.journal-intro{max-width:820px;margin:auto;text-align:center;padding:70px 24px 55px}.journal-intro h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.08;letter-spacing:-.025em}.journal-intro>p:last-of-type{max-width:580px;margin:22px auto 28px}.journal-jumps{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px}.journal-jumps a{font-size:.9rem;text-decoration:none;border-bottom:1px solid var(--line);padding:6px 0;color:var(--cobalt)}
.journal-curated>.section{padding-top:70px;padding-bottom:70px;margin-top:0;margin-bottom:0}.journal-curated h2{font-size:clamp(2.1rem,3.5vw,3.1rem);line-height:1.12}.journal-curated .exhibition-copy p{max-width:570px}.journal-curated .archive-meta{font-size:.86rem;line-height:1.8;color:var(--muted)}.journal-feature{background:var(--white);border:1px solid var(--line);border-radius:4px;padding-left:48px;padding-right:48px;gap:60px}.journal-feature .centenary-artwork img{max-height:450px;width:auto;max-width:100%}.journal-feature .archive-actions{gap:14px 24px}.journal-exhibition{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-top:0;gap:38px 60px}.journal-curated .journal-poster{background:none;border:0;padding:0;margin:0}.journal-curated .journal-poster img{display:block;width:100%;height:auto;max-height:570px;object-fit:contain}.journal-curated .journal-poster figcaption{font-size:.78rem;text-align:center;margin-top:14px;color:var(--muted)}.journal-plate-story{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px;margin-top:4px}.journal-plate-story .inspiration-plate{max-width:820px;margin:0 auto;display:grid;grid-template-columns:170px 1fr;gap:32px;align-items:center}.journal-plate-story img{max-height:165px;width:100%;object-fit:contain;border:0}.journal-plate-story figcaption strong{font-size:1.55rem}.journal-plate-story figcaption p{font-size:.95rem;line-height:1.7;margin:9px 0}.journal-plate-story .text-link{font-size:.82rem}.journal-press{border-top:1px solid var(--line)}.journal-section-heading{margin-bottom:30px}.journal-section-heading h2{margin-top:6px}.journal-press-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;border:0}.journal-press-feature .archive-document{padding:0;border:0;background:transparent;margin:0}.journal-press-feature .archive-document img{height:auto;max-height:370px;width:100%;object-fit:contain}.journal-press-feature h3{font-size:1.9rem}.journal-reading{border-top:1px solid var(--line)}.journal-reading .article{border:1px solid var(--line);background:var(--white);margin-bottom:14px;border-radius:4px}.journal-reading .article summary{padding:24px}.journal-reading .article-body{padding:0 26px 25px 78px;max-width:900px}.journal-reading .article summary strong{font-size:1.4rem}.journal-reading .article summary small{font-size:.75rem;letter-spacing:.08em}.journal-reading .article summary em{font-size:.8rem}.journal-curated .archive-source-note{font-size:.8rem}
@media(max-width:720px){.journal-intro{padding-top:45px;padding-bottom:35px}.journal-curated>.section{padding-top:40px;padding-bottom:40px}.journal-feature{grid-template-columns:1fr;padding-left:22px;padding-right:22px;gap:30px}.journal-feature .centenary-artwork img{max-height:310px}.journal-exhibition{grid-template-columns:1fr;gap:26px}.journal-exhibition>.exhibition-copy{grid-row:1}.journal-curated .journal-poster img{max-height:480px}.journal-plate-story .inspiration-plate{grid-template-columns:100px 1fr;gap:18px}.journal-plate-story img{max-height:140px}.journal-plate-story figcaption strong{font-size:1.3rem}.journal-press-feature{grid-template-columns:1fr;gap:24px}.journal-reading .article summary{padding:18px}.journal-reading .article-body{padding:0 18px 20px}.journal-jumps{gap:10px 20px}.journal-curated .archive-actions{display:flex;flex-wrap:wrap}.journal-curated .archive-actions a{font-size:.88rem}}

.journal-curated .commission-story,.journal-curated .journal-reference{border-top:1px solid var(--line)}.journal-curated .journal-toronto-narrative{max-width:760px;margin-bottom:36px}.journal-curated .journal-toronto-narrative p{line-height:1.8}.journal-curated .journal-reference{max-width:none}.journal-curated .journal-reference p{max-width:760px}.journal-curated .commission-story p{max-width:760px}

.journal-curated .commission-installation img{max-height:460px;object-fit:contain}.journal-curated .commission-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}.journal-project-details{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.journal-project-details>summary{cursor:pointer;font-weight:600;color:var(--cobalt)}.journal-curated .commission-gallery figcaption{font-size:.8rem}@media(max-width:720px){.journal-curated .commission-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.journal-curated .commission-installation img{max-height:360px}}

/* Name and address collection */
.custom-name-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:3rem;align-items:center}
.name-tile-cta{background:var(--cobalt);color:var(--white);padding:2rem;text-align:left}.name-tile-cta h2{font-size:2.8rem;margin-bottom:.7rem}.name-tile-cta p{margin-bottom:0}.name-tile-cta .button{background:var(--white);color:var(--cobalt);margin-top:1.4rem}
.custom-name-gallery{counter-reset:tile-group;margin-bottom:3rem}.name-tile-group{border-top:1px solid var(--line);padding-top:1.8rem;margin-bottom:4.5rem}.name-tile-group h2,.name-inscriptions h2{font-size:clamp(2rem,3.5vw,3.2rem);color:var(--cobalt);margin-bottom:.65rem}.name-tile-group h2::before{counter-increment:tile-group;content:'0' counter(tile-group) ' / ';font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;color:var(--muted);vertical-align:middle}.name-tile-group>p{color:var(--muted);margin-bottom:1.6rem}
.name-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem}.name-tile-example{display:flex;flex-direction:column;padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:3px;text-decoration:none}.name-tile-example img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.name-tile-example small{margin-top:1rem;color:var(--muted);font-size:.75rem;letter-spacing:.07em}.name-tile-example span{margin-top:.35rem;font-size:1rem}.name-tile-example:hover,.name-tile-example:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.name-section-controls{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2.5rem;border-bottom:1px solid var(--line);padding-bottom:1.2rem}.name-section-controls button{padding:.85rem 1.2rem;border:1px solid var(--cobalt);border-radius:3px;background:transparent;color:var(--cobalt);cursor:pointer}.name-section-controls button[aria-pressed="true"]{background:var(--cobalt);color:var(--white)}.name-section-controls button span{margin-left:.5rem;font-size:.8em;opacity:.8}.name-section-controls button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.name-inscriptions .product-card>span>strong,.name-inscriptions .product-card>span>small{display:none}
@media(max-width:760px){.custom-name-intro{display:block}.custom-name-intro .name-tile-cta{margin-top:2rem}.name-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.name-tile-example{padding:.65rem}.name-tile-example span{font-size:.9rem}.name-tile-group{margin-bottom:3rem}}
@media(max-width:520px){.name-section-controls{display:grid;grid-template-columns:1fr}.name-section-controls button{text-align:left}}
/* Supplied current seal, readable without a duplicate wordmark. */
.site-footer{background:#eadfcd}
.site-footer .footer-brand{justify-content:center}
.site-footer .footer-logo-new{width:216px;height:216px;max-width:none;object-fit:cover;object-position:43% 50%;border-radius:0;flex:none}
@media(max-width:600px){.site-footer .footer-logo-new{width:196px;height:196px}}
/* Give the inspiration plate visual weight alongside its exhibition story. */
.journal-plate-story .inspiration-plate{max-width:none;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:60px}
.journal-plate-story .inspiration-plate>a{display:block;width:100%;max-width:320px;margin-inline:auto}
.journal-plate-story img{max-height:300px;height:auto;width:100%;object-fit:contain}
@media(max-width:720px){.journal-plate-story .inspiration-plate{grid-template-columns:1fr;gap:22px}.journal-plate-story .inspiration-plate>a{max-width:270px}.journal-plate-story img{max-height:260px}}
.site-footer .footer-logo-new{width:260px;height:260px}
@media(max-width:600px){.site-footer .footer-logo-new{width:260px;height:260px;max-width:100%}}
/* Medium seal chosen for the next page-context preview. */
.site-footer .footer-logo-new{width:216px;height:216px}
@media(max-width:600px){.site-footer .footer-logo-new{width:216px;height:216px}}
/* Smaller seal for the revised footer preview. */
.site-footer .footer-logo-new{width:144px;height:144px}
@media(max-width:600px){.site-footer .footer-logo-new{width:144px;height:144px}}
/* Centred seal and balanced text columns for footer layout review. */
.site-footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-footer .footer-brand{grid-column:2;grid-row:1}
.site-footer>div:nth-child(2){grid-column:1;grid-row:1}
.site-footer>p:last-child{grid-column:3;grid-row:1}
@media(max-width:760px){.site-footer{grid-template-columns:1fr}.site-footer .footer-brand{grid-column:1;grid-row:1}.site-footer>div:nth-child(2){grid-column:1;grid-row:2}.site-footer>p:last-child{grid-column:1;grid-row:3}}

.exhibition-album{grid-column:1/-1;width:100%;max-width:960px;min-width:0;margin:0 auto}.exhibition-album video{display:block;width:100%;height:auto;object-fit:contain;background:#f8f5f1;border:1px solid var(--line);border-radius:4px}.exhibition-album figcaption{margin-top:12px;text-align:center;color:var(--muted);font-size:.9375rem;line-height:1.5}
.recent-kiln-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin:0 0 34px}.recent-kiln-story figure{margin:0}.recent-kiln-story img{width:100%;max-width:370px;height:auto;display:block;margin:auto}.recent-kiln-story h3{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15}.recent-kiln-story p{max-width:540px}@media(max-width:720px){.recent-kiln-story{grid-template-columns:1fr;gap:24px}.recent-kiln-story img{max-width:290px}}
/* Three original views, one consistent photographic height. */
.vase-showcase-intro{text-align:center;max-width:750px;margin:0 auto 32px}.vase-showcase-intro .eyebrow{color:#334b32}.vase-showcase h2{font-size:clamp(2.3rem,4vw,3.5rem);color:#263b26}.vase-showcase-intro>p:last-child{color:var(--muted)}.vase-triptych{display:grid;grid-template-columns:.70751953125fr .75967741935fr .568359375fr;gap:20px;align-items:start}.vase-triptych figure{margin:0;min-width:0}.vase-photo{position:relative;overflow:hidden}.vase-photo img{display:block;width:100%;height:auto;max-width:none}.vase-detail img{position:absolute;left:0;top:-31.451612903%;width:100%;height:auto}.vase-triptych figcaption{font-size:.83rem;line-height:1.5;margin-top:13px;color:var(--muted)}.vase-triptych small{color:#334b32;margin-right:.4rem;letter-spacing:.08em}.vase-showcase-links{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.vase-primary,.hero--unified .hero-actions .button:first-child{background:#334b32;color:var(--white);border-color:#334b32}.vase-primary:hover{background:#263b26}.vase-showcase-links .text-link{color:#334b32}
@media(max-width:650px){.vase-triptych{grid-template-columns:1fr;gap:30px;max-width:390px;margin-inline:auto}.vase-showcase-intro{margin-bottom:26px}.vase-photo{max-height:520px}.vase-photo:not(.vase-detail) img{height:100%;max-height:520px;object-fit:contain}.vase-detail{max-height:none}.vase-showcase-links{gap:20px}}
@media(max-width:650px){.vase-triptych{max-width:320px}.vase-photo{max-height:none}.vase-photo:not(.vase-detail) img{height:auto;max-height:none}}
/* Desktop A: preserved floral medallions, trimmed vertical junctions. Phone ornament stays unchanged. */
.desktop-ceramic-border-a,.desktop-explore-title{display:none}
@media(min-width:761px){
.homepage{display:flex;flex-direction:column}.homepage>.hero{order:0}.homepage>.vase-showcase{order:1}.homepage>.home-paths{order:2}.homepage>.manifesto{order:3}
.home-paths{padding-top:0}.desktop-ceramic-border-a{display:block;width:100%;height:auto;aspect-ratio:3762/120;object-fit:contain;margin:0 auto 38px;border:0;padding:0}.desktop-explore-title{display:block;text-align:center;font-size:2.7rem;color:#263b26;margin-bottom:38px}.home-paths>.section-heading{display:none}
.home-paths .path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:28px;width:100%;max-width:none;aspect-ratio:auto;margin:0}.home-paths .path-grid::before,.home-paths .path-grid::after{content:none}.home-paths .path-grid a{min-height:0;padding:10px 0;background:transparent;text-align:center}.home-paths .path-copy{gap:12px;padding:0;align-items:center}.home-paths .path-grid strong{font-size:29px;color:#334b32}.home-paths .path-copy>span:not(.path-ornament){font-size:17px;line-height:1.5;min-height:0;max-width:25ch}.home-paths .path-ornament{display:none}
}

/* Clear collection rhythm; photographs retain their original proportions. */
.category-card img{object-fit:contain;background:#ece8e0;padding:.75rem}
.name-order-steps{margin:0 0 1.2rem;padding-left:1.25rem;line-height:1.65}
.name-order-steps li+li{margin-top:.5rem}
.name-tile-cta p{font-size:.95rem;line-height:1.6}
.workshop-practical dd p{margin:0}
.google-reviews-link{align-self:center;font-size:.9rem}


/* Furniture: six original photographs, with the full table archive retained. */
.furniture-collection .page-intro{padding-bottom:26px}.furniture-collection .gallery-section{padding-top:0}
.furniture-heading{max-width:740px;margin:0 0 32px}.furniture-heading h2{font-size:clamp(2rem,4vw,3rem);color:#263b26;margin-bottom:14px}.furniture-heading .eyebrow{color:#334b32}.furniture-heading p:last-child{font-size:1.0625rem;color:var(--muted)}
.furniture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}.furniture-card{min-width:0;background:#fffdf8;border:1px solid var(--line)}
.furniture-photo{display:block;width:100%;height:285px;padding:12px;border:0;background:#eae5dd;cursor:pointer}.furniture-photo img{display:block;width:100%;height:100%;object-fit:contain}.furniture-photo:hover{background:#e1d9cd}.furniture-photo:focus-visible,.furniture-enquire:focus-visible,.furniture-detail:focus-visible{outline:3px solid #334b32;outline-offset:3px}
.furniture-caption{padding:20px}.furniture-ref{font-size:.875rem;color:#58614b;margin-bottom:8px}.furniture-caption h3{font-size:1.75rem;margin-bottom:18px}.furniture-enquire,.furniture-detail{border:0;border-bottom:1px solid currentColor;background:none;color:#334b32;font-size:1rem;padding:0;cursor:pointer}.furniture-detail{display:block;font-size:.875rem;margin-top:12px;color:var(--muted)}
.furniture-order{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:28px 0;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.furniture-order h3{font-size:2rem;margin:0}.furniture-order p{margin:0;max-width:640px}.furniture-archive-heading{margin:58px 0 28px}.furniture-archive-heading h2{font-size:2.6rem;margin-bottom:14px}
@media(max-width:900px){.furniture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.furniture-photo{height:280px}}
@media(max-width:600px){.furniture-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto;gap:24px}.furniture-photo{height:320px}.furniture-order{grid-template-columns:1fr;gap:12px}.furniture-caption{padding:18px}.furniture-heading h2{font-size:2.25rem}}

.furniture-description{font-size:1rem;line-height:1.5;color:var(--muted);margin:0 0 18px}

/* An intimate look inside the kiln beside the making process. */
.workshop-kiln-feature{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;align-items:center;max-width:620px;margin:36px auto 54px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workshop-kiln-feature img{display:block;width:100%;height:auto}.workshop-kiln-feature figcaption{font-family:var(--serif);font-size:1.8rem;line-height:1.25;color:var(--cobalt)}
@media(max-width:600px){.workshop-kiln-feature{grid-template-columns:1fr;gap:18px;max-width:280px;margin:30px auto 42px}.workshop-kiln-feature img{max-width:220px;margin:auto}.workshop-kiln-feature figcaption{text-align:center;font-size:1.6rem}}

/* Approved classic floral border and coordinated Forest olive palette. */
.classic-blue-border{display:none}
h1,h2,h3{color:var(--cobalt)}
.hero h1,.hero-brand,.hero-brand *{color:var(--white)}
@media(min-width:761px){.classic-blue-border{display:block;height:46px;width:100%;background-image:url('assets/blue-floral-border.jpg');background-size:104px 98px;background-repeat:round no-repeat;background-position:left 48%;border-top:2px solid #263b26;border-bottom:2px solid #263b26;margin:0 auto 32px}.vase-showcase>.classic-blue-border{margin-bottom:38px}.desktop-explore-title{font-family:var(--sans);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#334b32;margin-bottom:32px}.home-paths .path-grid strong{color:#263b26}.home-paths .path-copy>span:not(.path-ornament){color:#58614b}}
.hero--unified .hero-actions .button:first-child:hover{background:#263b26;border-color:#263b26}


/* Original floral tile colours are retained; only the framing rules are green. */
.classic-blue-border{border-color:#334b32}
@media(min-width:761px){.home-paths>.classic-blue-border:last-child{margin-top:38px;margin-bottom:0}.home-paths .path-grid a{display:flex;align-items:flex-start;justify-content:center}}
/* Keep the workshop quote close to the lower floral border. */
@media(min-width:761px){.homepage>.home-paths{padding-bottom:0}.homepage>.manifesto{padding-top:32px;padding-bottom:40px}}
/* Quiet dividers between the desktop navigation choices. */
@media(min-width:761px){.home-paths .path-grid a{position:relative;overflow:visible}.home-paths .path-grid a:not(:last-child)::after{content:"";position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:1px;height:44px;background:rgba(51,75,50,.28);pointer-events:none}}


/* Two original firing photographs accompany the Journal story. */
.firing-story-images{display:grid;grid-template-columns:1fr .75fr;gap:18px;align-items:center}.recent-kiln-story .journal-kiln-photo img{width:100%;height:auto;max-width:180px}.journal-kiln-photo figcaption{font-size:.875rem;line-height:1.45;color:var(--muted);margin-top:12px}.firing-story-images figure{min-width:0}@media(max-width:720px){.firing-story-images{max-width:440px;margin-inline:auto}}
/* The same floral entrance on phones, with four comfortably sized links. */
@media(max-width:760px){
 .homepage{display:flex;flex-direction:column}
 .homepage>.hero{order:0}.homepage>.vase-showcase{order:1}.homepage>.home-paths{order:2}.homepage>.manifesto{order:3}
 .homepage>.home-paths{padding-top:0;padding-bottom:0;border-top:0}
 .home-paths>.section-heading{display:none}
 .home-paths>.desktop-explore-title{display:block;text-align:center;font-family:var(--sans);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#334b32;margin:0 0 24px}
 .home-paths>.classic-blue-border{display:block;width:100%;height:46px;background-image:url('assets/blue-floral-border.jpg');background-size:104px 98px;background-repeat:round no-repeat;background-position:left 48%;border-top:2px solid #334b32;border-bottom:2px solid #334b32;margin:0 auto 28px}
 .home-paths>.classic-blue-border:last-child{margin-top:28px;margin-bottom:0}
 .home-paths .path-grid{width:100%;max-width:none;aspect-ratio:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:0;margin:0}
 .home-paths .path-grid::before,.home-paths .path-grid::after{content:none}
 .home-paths .path-grid a{display:flex;align-items:flex-start;justify-content:center;min-height:0;padding:20px 12px;background:transparent;text-align:center}
 .home-paths .path-grid a:nth-child(odd){border-right:1px solid rgba(51,75,50,.22)}
 .home-paths .path-grid a:nth-child(-n+2){border-bottom:1px solid rgba(51,75,50,.22)}
 .home-paths .path-copy{gap:10px;padding:0;align-items:center}
 .home-paths .path-grid strong{font-size:clamp(1.5rem,6vw,1.85rem);line-height:1.2;color:#263b26}
 .home-paths .path-copy>span:not(.path-ornament){font-size:1rem;line-height:1.5;min-height:0;max-width:22ch;color:#58614b}
 .home-paths .path-ornament{display:none}
 .homepage>.manifesto{padding-top:32px;padding-bottom:40px}
}

/* Approved workshop heading: reuse the removed eyebrow's original gold. */
.process > .workshop-invitation > h2 {
  color: #d8b67d;
}
/* Restore legibility of the other headings on olive panels. */
.visit-page .visit-card > h1,
.name-tile-cta > h2 {
  color: var(--white);
}
/* Tighten phone junctions while retaining comfortable panel padding. */
@media (max-width: 760px) {
  .process > .workshop-invitation {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem;
  }
  .process > .workshop-invitation > h2 {
    margin-bottom: .75rem;
  }
  .process > .workshop-invitation + .join-heading {
    margin-top: 1.5rem;
  }
}

/* Keep the shop number above the entrance clear of the title. */
@media(min-width:681px){.hero--unified .hero-brand-text{transform:translateY(-34px)}}

/* Center the main shop entrance in the phone crop. */
@media(max-width:680px){.hero--unified .hero-image{object-position:23% 53%}}
