/* Catalogue refresh: editorial hierarchy, useful product links, restrained controls. */
:root {
  --ink:#203F5A;
  --deep:#203F5A;
  --green:#446B25;
  --line:#d4dce0;
  --paper:#f5f7f6;
  --muted:#5d6c75;
}

/* MEW's navy and green are the two brand anchors across every route. */
.process-section,.export-section,.quote-section,
.subpage-cta,.values-section,.export-steps { background:#203F5A; }
.button-dark:hover,.header-cta:hover,.quote-form button:hover,
.enquiry-form button:hover { background:#35571c; }
.process-copy>p:not(.eyebrow),.process-stages p,
.export-grid p:not(.eyebrow),.quote-copy>p:not(.eyebrow),
.subpage-cta p:not(.eyebrow),.values-grid p { color:#e0e9ef; }
.eyebrow.light,.export-grid h2 em,.quote-copy h2 em,
.country-panel .small-label,.values-head .small-label { color:#c6dfa8; }
.site-header { border-bottom-color:rgba(32,63,90,.14); }
.topline-sep { background:#8ca7bb; }

/* Contact glyphs repeat in the shared header, footer and enquiry sections. */
.contact-icon { display:block; width:18px; height:18px; flex:none; }
.topline .topline-contact { display:inline-flex; align-items:center; gap:7px; }
.topline-contact .contact-icon { width:13px; height:13px; color:#c6dfa8; }
.footer-top>div:last-child a.footer-contact-link { display:flex; align-items:center; gap:12px; width:fit-content; max-width:100%; margin:13px 0; font-size:1rem; line-height:1.5; }
.footer-contact-link span { overflow-wrap:anywhere; }
.site-footer .footer-contact-address { display:flex; align-items:flex-start; gap:12px; margin-top:16px; }
.footer-contact-link .contact-icon,.footer-contact-address .contact-icon { color:var(--green); }
.footer-contact-address .contact-icon { margin-top:3px; }
.direct-contact a { display:inline-flex; align-items:center; gap:10px; color:#f5f7f1; font-size:1rem; font-weight:600; letter-spacing:normal; }
.direct-contact .contact-icon { width:18px; height:18px; color:#c6dfa8; }
.contact-method .contact-method-label { display:inline-flex; align-items:center; gap:10px; }
.contact-method-label .contact-icon { width:18px; height:18px; }
.footer-bottom .credit-link { border-bottom:1px solid currentColor; padding-bottom:2px; }
@media(max-width:760px) {
  .footer-bottom { flex-wrap:wrap; }
  .footer-bottom span.site-credit:nth-child(2) { display:block; order:3; width:100%; text-align:center; }
}

/* Homepage buyer guide: the first 200 words are visible, with the rest in a
   clearly labelled, keyboard-accessible reading panel. */
.seo-guide-section { padding:88px 0 82px; background:#e9eee7; border-top:1px solid #d8e0d5; }
.seo-guide-layout { display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,1.42fr); gap:clamp(36px,6vw,90px); align-items:start; }
.seo-guide-intro { position:sticky; top:126px; }
.seo-guide-intro .eyebrow { margin:0 0 18px; color:var(--green); }
.seo-guide-intro h2 { max-width:460px; margin:0; font:600 clamp(2.05rem,3.15vw,3.15rem)/1.06 var(--display); letter-spacing:-.025em; text-transform:none; }
.seo-guide-intro .seo-guide-note { max-width:350px; margin:24px 0 25px; color:#536455; font-size:1.125rem; line-height:1.7; }
.seo-guide-link { display:inline-block; padding-bottom:5px; border-bottom:1px solid var(--green); font-size:1rem; font-weight:700; color:var(--green); }
.seo-guide-reading { min-width:0; }
.seo-guide-scroll { height:470px; padding:30px 34px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #ced9cc; border-radius:14px; background:#fafbf8; scrollbar-color:#6b8b6f #e7ede5; scrollbar-width:thin; box-shadow:0 14px 36px rgba(24,53,40,.045); }
.seo-guide-scroll:focus-visible { outline:3px solid #8dab7b; outline-offset:4px; }
.seo-guide-section .seo-guide-scroll p { margin:0 0 18px; color:#26382e; font-size:1.125rem; line-height:1.72; }
.seo-guide-preview p:last-child { margin-bottom:0; }
.seo-guide-rest { padding-top:30px; }
.seo-guide-rest h3 { margin:38px 0 15px; color:#193127; font:600 clamp(1.4rem,2vw,1.85rem)/1.16 var(--font); letter-spacing:-.025em; }
.seo-guide-rest h3:first-child { margin-top:0; }
.seo-guide-rest p:last-child { margin-bottom:0; }
.seo-guide-scroll-hint { margin:13px 0 0; color:#536455; font-size:.875rem !important; line-height:1.4 !important; font-weight:700; letter-spacing:.015em; }
@media(max-width:800px) {
  .seo-guide-section { padding:60px 0 64px; }
  .seo-guide-layout { grid-template-columns:1fr; gap:26px; }
  .seo-guide-intro { position:static; }
  .seo-guide-intro h2 { max-width:660px; font-size:clamp(2rem,7vw,2.7rem); }
  .seo-guide-intro .seo-guide-note { max-width:620px; margin:17px 0 15px; }
  .seo-guide-scroll { padding:24px; }
}
@media(max-width:480px) {
  .seo-guide-scroll { padding:20px; }
  .seo-guide-section .seo-guide-scroll p { font-size:1.0625rem; line-height:1.7; }
  .seo-guide-rest h3 { font-size:1.45rem; }
}

/* Quiet controls keep attention on the machine and its details. */
.button,.header-cta,.quote-form button,.enquiry-form button { gap:0; border-radius:8px; letter-spacing:.01em; }
.button:hover,.header-cta:hover,.quote-form button:hover,.enquiry-form button:hover { transform:none; }
.button:active,.header-cta:active,.quote-form button:active,.enquiry-form button:active { transform:translateY(1px); }
.text-link { gap:0; text-underline-offset:5px; }
.eyebrow-line { display:none; }
.eyebrow { letter-spacing:.11em; }

/* Homepage: four ranges read as a small catalogue rather than identical tiles. */
.products-section { background:#f7f7f2; }
.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; border-top:1px solid var(--line); }
.product-card { display:grid; grid-template-columns:42% minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:24px; align-content:start; min-height:264px; padding:24px 0; border-bottom:1px solid var(--line); }
.product-image { grid-row:1 / 4; height:214px; background:#e8ece4; }
.product-image img { object-fit:cover; mix-blend-mode:normal; }
.product-card:hover .product-image img { transform:scale(1.025); }
.product-meta { margin-top:2px; font-size:.65rem; color:#657468; }
.product-meta span:last-child { opacity:.65; }
.product-card h3 { font:600 clamp(1.18rem,1.5vw,1.5rem)/1.22 var(--font); text-transform:none; letter-spacing:-.035em; margin-top:17px; }
.product-card p { font-size:.77rem; line-height:1.6; margin-top:12px; }
.range-list { margin-top:68px; }
.range-intro p { font:600 1.28rem/1.25 var(--font); text-transform:none; letter-spacing:-.02em; }
.range-links a { font-weight:600; }

/* Shop: imagery is paired with names and counts; no floating icon badges. */
.category-grid { gap:38px 22px; }
.category-card { border-top:1px solid #bac8b9; padding-top:10px; }
.category-card-image { aspect-ratio:1.18; }
.category-card:hover img { transform:scale(1.025); }
.category-card-meta { margin-top:16px; }
.category-card h3 { font:600 1.17rem/1.28 var(--font); letter-spacing:-.025em; text-transform:none; margin-top:10px; min-height:2.6em; }
.category-card p { font-size:.76rem; line-height:1.6; margin-top:8px; min-height:5em; }
.category-card-action { display:inline-block; margin-top:13px; padding-bottom:3px; border-bottom:1px solid var(--green); font-size:.7rem; font-weight:700; color:var(--green); }
.category-card:hover .category-card-action { border-bottom-width:2px; }

/* Category page product index is a compact specification-style list. */
.machine-row { grid-template-columns:34px 94px minmax(0,1fr) 104px; gap:22px; padding:15px 0; transition:background .2s; }
.machine-row:hover { padding-left:0; background:#f0f3ee; }
.machine-row-thumb { width:94px; aspect-ratio:1.2; }
.machine-row:hover .machine-row-thumb img { transform:scale(1.025); }
.machine-row-content strong { font:600 clamp(1rem,1.55vw,1.34rem)/1.3 var(--font); text-transform:none; letter-spacing:-.02em; max-width:380px; }
.machine-row-content small { max-width:410px; }
.machine-row-action,.directory-machine-action { justify-self:end; font-size:.69rem; line-height:1.3; font-weight:700; color:var(--green); border-bottom:1px solid currentColor; padding-bottom:3px; white-space:nowrap; }
.directory-machine { grid-template-columns:70px minmax(0,1fr) 51px; gap:14px; font-size:.78rem; }
.directory-machine span:last-child { font-size:.68rem; color:var(--green); }

/* Product detail: related equipment becomes a real list with photos and names. */
.related-section { background:#f8f8f4; border-top:1px solid var(--line); padding-block:72px 82px; }
.related-layout { display:grid; grid-template-columns:minmax(230px,32%) minmax(0,1fr); gap:8%; align-items:start; }
.related-heading { display:block; margin:0; }
.related-heading .small-label { display:block; color:var(--green); margin-bottom:18px; }
.related-heading h2 { font:600 clamp(2rem,3.8vw,3.8rem)/.98 var(--display); }
.related-heading p { max-width:270px; margin-top:18px; color:var(--muted); font-size:.82rem; line-height:1.65; }
.related-links { display:block; border-top:1px solid #bac8b9; }
.related-links .related-item { display:grid; grid-template-columns:92px minmax(0,1fr) 76px; gap:22px; align-items:center; min-height:112px; padding:13px 0; border-bottom:1px solid var(--line); background:transparent; text-transform:none; color:var(--ink); }
.related-links .related-item:hover { background:#eef2eb; color:var(--ink); }
.related-item-image { display:block; width:92px; height:80px; overflow:hidden; background:#e5ebe3; }
.related-item-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.related-item:hover img { transform:scale(1.04); }
.related-item-name { font:600 clamp(1rem,1.5vw,1.3rem)/1.3 var(--font); letter-spacing:-.025em; }
.related-item-action { justify-self:end; font:.7rem/1.3 var(--font); font-weight:700; color:var(--green); border-bottom:1px solid currentColor; padding-bottom:3px; white-space:nowrap; }
.product-info-grid h2 { font-size:clamp(3rem,4.8vw,5.5rem); }
.product-specs h2 { font-size:2.15rem; }

/* Navigation uses text links instead of a repeated icon at every row. */
.products-menu-links>a { justify-content:flex-start; }
.products-menu-links>a span:last-child { flex:auto; color:inherit; font-size:inherit; }
.products-mobile-links>a span:last-child { flex:auto; color:inherit; }
.products-menu-panel-head h2 { font-size:clamp(2rem,3vw,3.1rem); }
.article-card strong { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:3px; }

@media(max-width:980px) {
  .product-card { grid-template-columns:39% minmax(0,1fr); column-gap:16px; }
  .product-image { height:190px; }
  .product-card p { font-size:.72rem; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-card p { min-height:0; }
  .machine-row-content { display:block; }
  .machine-row-content small { display:block; margin-top:7px; }
}
@media(max-width:760px) {
  .product-grid { grid-template-columns:1fr; }
  .product-card { grid-template-columns:40% minmax(0,1fr); min-height:0; padding:17px 0; }
  .product-image { height:155px; }
  .product-card h3 { font-size:1.08rem; margin-top:10px; }
  .product-card p { font-size:.7rem; margin-top:8px; }
  .category-card h3 { min-height:0; }
  .machine-row { grid-template-columns:20px 68px minmax(0,1fr); gap:10px; }
  .machine-row-thumb { width:68px; }
  .machine-row-action { grid-column:3; justify-self:start; font-size:.67rem; }
  .related-layout { display:block; }
  .related-heading { margin-bottom:28px; }
  .related-heading p { margin-top:12px; }
  .related-links .related-item { grid-template-columns:76px minmax(0,1fr) 68px; gap:13px; min-height:96px; }
  .related-item-image { width:76px; height:67px; }
  .related-item-name { font-size:1rem; }
  .related-item-action { font-size:.62rem; }
}
@media(max-width:420px) {
  .product-card { grid-template-columns:38% minmax(0,1fr); gap:0 13px; }
  .product-image { height:135px; }
  .product-card p { display:none; }
  .category-grid { gap:25px 12px; }
  .category-card h3 { font-size:.98rem; }
  .category-card p { font-size:.68rem; }
  .related-links .related-item { grid-template-columns:64px minmax(0,1fr); }
  .related-item-image { width:64px; height:60px; }
  .related-item-action { grid-column:2; justify-self:start; margin-top:-8px; }
}
@media(prefers-reduced-motion:reduce) {
  .product-image img,.category-card-image img,.related-item-image img { transition:none; }
}

/* Smaller display type and more readable supporting copy across every route. */
.hero-copy h1 { font-size:clamp(3.1rem,4.9vw,5.35rem); line-height:.98; }
.inner-hero h1,.product-detail-hero h1 { font-size:clamp(3.5rem,5.3vw,5.8rem); line-height:.96; }
.article-hero h1 { font-size:clamp(3.2rem,4.8vw,5.3rem); line-height:1; }
.section-heading h2,.about-copy h2,.gallery-heading h2,.faq-grid h2,
.catalogue-intro h2,.range-page-lead h2,.gallery-page-heading h2,.blog-intro h2,
.story-grid h2,.profile-grid h2,.contact-grid h2,.export-page-grid h2,
.product-info-grid h2,.directory-heading h2,.reference-detail-grid h2,
.values-head h2,.range-support h2,.process-copy h2,.export-grid h2,.quote-copy h2,
.subpage-cta h2 { font-size:clamp(3rem,4.6vw,5rem); line-height:1; }
.related-heading h2 { font-size:clamp(2rem,3.2vw,3.2rem); line-height:1; }
.product-specs h2,.article-prose h2 { font-size:2.15rem; }
.article-card h2 { font-size:1.7rem; line-height:1.1; }

.hero-lead,.inner-hero-copy>p:not(.eyebrow),.product-detail-copy>p:not(.eyebrow),
.article-hero-grid>div:first-child>p:not(.eyebrow) { font-size:1.08rem; line-height:1.7; }
.section-heading>p,.catalogue-intro>p,.range-page-lead>p,.gallery-page-heading>p,
.product-info-grid p,.range-support p,.story-grid p,.profile-grid p,
.export-page-grid p,.export-grid p:not(.eyebrow),.process-copy>p:not(.eyebrow),
.quote-copy>p:not(.eyebrow),.subpage-cta p:not(.eyebrow),.about-copy>p:not(.eyebrow),
.related-heading p,.contact-grid .contact-lead,.contact-method p,.article-prose p,
.article-prose blockquote { font-size:1rem; line-height:1.75; }
.product-card p,.category-card p,.machine-row-content small,.article-card p,
.values-grid p,.process-stages p { font-size:.9rem; line-height:1.65; }
.product-card h3 { font-size:clamp(1.1rem,1.4vw,1.35rem); }
.category-card h3 { font-size:1.08rem; }
.related-item-name { font-size:clamp(1rem,1.35vw,1.2rem); }
.enquiry-form>p,.quote-form .form-note { font-size:.8rem; line-height:1.6; }

/* Soft corners, kept restrained for an industrial catalogue. */
.product-image,.category-card-image,.machine-row-thumb,.related-item-image,
.directory-machine img,.article-card>div,.gallery-tile,.gallery-grid img,
.team-image,.machine-inset,.country-panel,.quote-form,.enquiry-form,
.products-menu { border-radius:10px; }
.quote-form input,.quote-form select,.enquiry-form input,.enquiry-form select,
.enquiry-form textarea,.menu-toggle { border-radius:7px; }
.machine-row:hover,.related-links .related-item:hover { border-radius:8px; }

@media(max-width:760px) {
  .hero-copy h1 { font-size:clamp(2.7rem,10vw,3.9rem); line-height:1; }
  .inner-hero h1,.product-detail-hero h1 { font-size:clamp(2.8rem,10.5vw,4rem); line-height:.98; }
  .product-detail-copy h1.long-title { font-size:clamp(2.45rem,8vw,3.25rem); }
  .article-hero h1 { font-size:clamp(2.8rem,9vw,3.8rem); }
  .section-heading h2,.about-copy h2,.gallery-heading h2,.faq-grid h2,
  .catalogue-intro h2,.range-page-lead h2,.gallery-page-heading h2,.blog-intro h2,
  .story-grid h2,.profile-grid h2,.contact-grid h2,.export-page-grid h2,
  .product-info-grid h2,.directory-heading h2,.reference-detail-grid h2,
  .values-head h2,.range-support h2,.process-copy h2,.export-grid h2,.quote-copy h2,
  .subpage-cta h2 { font-size:clamp(2.55rem,9vw,3.4rem); line-height:1.02; }
  .related-heading h2 { font-size:clamp(2rem,7.5vw,2.7rem); }
  .hero-lead,.inner-hero-copy>p:not(.eyebrow),.product-detail-copy>p:not(.eyebrow) { font-size:1rem; }
  .product-card p,.category-card p,.machine-row-content small,.article-card p,
  .values-grid p,.process-stages p { font-size:.88rem; }
  .product-card h3 { font-size:1.12rem; }
  .category-card h3 { font-size:1.06rem; }
  .related-item-name { font-size:1rem; }
}
@media(max-width:580px) {
  .category-grid { grid-template-columns:1fr; gap:27px; }
  .category-card-image { height:190px; aspect-ratio:auto; }
  .category-card h3 { min-height:0; }
  .category-card p { min-height:0; }
  .product-card p { display:block; font-size:.88rem; }
  .product-card { grid-template-columns:36% minmax(0,1fr); }
  .product-image { height:100%; min-height:150px; }
}

/* Final paragraph pass: legacy sections had their own smaller text rules. */
body p:not(.eyebrow) { font-size:1.0625rem; line-height:1.72; }
body p.hero-lead,
body .inner-hero-copy>p:not(.eyebrow),
body .product-detail-copy>p:not(.eyebrow),
body .article-hero-grid>div:first-child>p:not(.eyebrow) { font-size:1.125rem; }
body .product-card p,body .category-card p,body .article-card p,
body .values-grid p,body .process-stages p,body .footer-top p { font-size:1rem; line-height:1.7; }
body .machine-row-content small { font-size:1rem; line-height:1.65; }
body .hero-proof p,body .proof-grid p,body .products-menu-panel-head p,
body .quote-form .form-note,body .enquiry-form>p { font-size:1rem; line-height:1.6; }
body .faq-grid>div:first-child>p:not(.eyebrow) { font-size:1.0625rem; }
body .footer-top>div:first-child p,body .footer-top>div:last-child p { font-size:1rem; line-height:1.7; }

@media(max-width:760px) {
  body p:not(.eyebrow) { font-size:1.025rem; }
  body p.hero-lead,
  body .inner-hero-copy>p:not(.eyebrow),
  body .product-detail-copy>p:not(.eyebrow) { font-size:1.0625rem; }
  body .product-card p,body .category-card p,body .article-card p,
  body .values-grid p,body .process-stages p,body .footer-top p,
  body .machine-row-content small { font-size:1rem; }
  body .hero-proof p,body .proof-grid p,body .products-menu-panel-head p,
  body .quote-form .form-note,body .enquiry-form>p { font-size:1rem; }
  body .faq-grid>div:first-child>p:not(.eyebrow) { font-size:1rem; }
}

/* About: verified company profile and source records. */
.brand img,.footer-top img { border-radius:6px; }
.about-markets { background:#e8ede5; }
.about-operations { background:#fbfbf8; }
.about-recognition { background:#f1f3ec; }
.about-markets-grid,.about-operations-grid {
  display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);gap:9%;align-items:start;
}
.about-markets .small-label,.about-operations .small-label,.about-recognition .small-label { color:var(--green); }
.about-markets h2,.about-operations h2,.about-recognition h2 {
  font-size:clamp(3rem,4.6vw,5rem);line-height:1;margin:22px 0;
}
.about-markets p,.about-operations p,.about-recognition p { max-width:470px;color:var(--muted); }
.about-markets ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;margin:20px 0 0;padding:0; }
.about-markets li { border-top:1px solid #c8d3c5;padding:16px 0;font:600 1.16rem/1.3 var(--font); }
.about-operations dl { margin:0;border-top:1px solid var(--line); }
.about-operations dl>div { display:grid;grid-template-columns:34% minmax(0,1fr);gap:22px;border-bottom:1px solid var(--line);padding:22px 0; }
.about-operations dt { color:#637566;font-size:.82rem;font-weight:700; }
.about-operations dd { margin:0;font-size:1rem;line-height:1.6; }
.recognition-intro { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:7%;align-items:end;margin-bottom:42px; }
.recognition-intro h2 { margin-bottom:0; }
.recognition-intro p { margin:0 0 5px; }
.certificate-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.certificate-card { display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d4ddcf;border-radius:12px;background:#fff; }
.certificate-card:hover { border-color:#60836c; }
.certificate-card:focus-visible { outline:3px solid var(--green);outline-offset:3px; }
.certificate-image { display:flex;align-items:center;justify-content:center;min-height:272px;padding:18px;background:#fafaf7;border-bottom:1px solid #d4ddcf; }
.certificate-image img { display:block;width:100%;height:240px;object-fit:contain; }
.certificate-caption { display:flex;flex-direction:column;justify-content:space-between;gap:16px;flex:1;padding:19px 21px 21px; }
.certificate-caption strong { font-size:1.05rem;line-height:1.4;font-weight:700; }
.certificate-caption small { width:fit-content;border-bottom:1px solid currentColor;padding-bottom:3px;color:var(--green);font-size:.78rem;font-weight:700; }
.about-page .profile-grid dd { font-size:1rem;line-height:1.55; }

@media(max-width:980px) {
  .certificate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .about-markets-grid,.about-operations-grid { grid-template-columns:1fr;gap:38px; }
  .about-markets h2,.about-operations h2,.about-recognition h2 { font-size:clamp(2.55rem,9vw,3.4rem); }
  .about-markets ul { margin-top:0; }
  .recognition-intro { grid-template-columns:1fr;gap:20px; }
}
@media(max-width:580px) {
  .about-page .values-grid { grid-template-columns:1fr; }
  .about-operations dl>div { grid-template-columns:1fr;gap:6px; }
  .certificate-grid { grid-template-columns:1fr;gap:14px; }
  .certificate-image { min-height:240px; }
  .certificate-image img { height:210px; }
}

/* Original MEW photo gallery. Portraits retain their full frame. */
.original-gallery-hero { padding:30px 0 58px;background:#e9ede5;border-bottom:1px solid var(--line); }
.original-gallery-hero .breadcrumb { margin-bottom:52px; }
.original-gallery-hero-grid { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:8%;align-items:end; }
.original-gallery-hero .small-label { color:var(--green); }
.original-gallery-hero h1 { margin-top:22px;font-size:clamp(3.5rem,5.9vw,6.1rem);line-height:.94; }
.original-gallery-hero p { max-width:380px;color:#516354;font-size:1.12rem;line-height:1.7; }
.original-gallery-section { background:#fbfbf8;padding-top:56px; }
.original-gallery-heading { display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line); }
.original-gallery-heading>span:last-child { color:#627266;font-size:.72rem;font-weight:700;letter-spacing:.08em; }
.original-gallery-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px; }
.original-gallery-card { display:block;min-width:0;overflow:hidden;border:1px solid #d8dfd4;border-radius:12px;background:#fff; }
.original-gallery-card:hover { border-color:#66856d; }
.original-gallery-card:focus-visible { outline:3px solid var(--green);outline-offset:3px; }
.original-gallery-image { display:block;background:#e7ebe4; }
.original-gallery-image img { display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover; }
.original-gallery-caption { display:flex;flex-direction:column;gap:8px;min-height:90px;padding:16px 18px 18px; }
.original-gallery-caption small { color:#718172;font-size:.7rem;font-weight:700;letter-spacing:.1em; }
.original-gallery-caption strong { font-size:.98rem;font-weight:600;line-height:1.4; }
.original-gallery-note { margin-top:24px;color:var(--muted);font-size:.88rem; }
.gallery-main img { object-position:center 68%; }
.gallery-small img { object-position:center 50%; }
@media(max-width:900px) {
  .original-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .original-gallery-hero { padding:24px 0 48px; }
  .original-gallery-hero .breadcrumb { margin-bottom:42px; }
  .original-gallery-hero-grid { grid-template-columns:1fr;gap:22px; }
  .original-gallery-hero h1 { font-size:clamp(3.2rem,10vw,4.4rem); }
  .original-gallery-hero p { max-width:570px;font-size:1.05rem; }
  .original-gallery-section { padding-block:52px 86px; }
  .original-gallery-grid { gap:16px 12px; }
}
@media(max-width:480px) {
  .original-gallery-caption { padding:13px 12px 15px;min-height:105px; }
  .original-gallery-caption strong { font-size:.9rem; }
  .original-gallery-heading>span:last-child { white-space:nowrap;font-size:.63rem; }
}

/* The mobile menu travels in from the left edge and exits the same way. */
@media(max-width:960px) {
  html.mobile-menu-open,body.mobile-menu-open { overflow:hidden; }
  .primary-nav {
    display:flex;
    height:var(--mobile-nav-height,calc(100dvh - 69px));
    max-height:none;
    box-sizing:border-box;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(-102%,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s linear .32s;
  }
  .primary-nav.open {
    display:flex;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s;
  }
  .menu-toggle span { transition:transform .24s ease,opacity .18s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-6px) rotate(-45deg); }
}
@media(prefers-reduced-motion:reduce) {
  .primary-nav,.primary-nav.open,.menu-toggle span { transition:none; }
}

/* Make navigation readable at a glance and centre the primary header action. */
.header-cta { justify-content:center; text-align:center; }
.primary-nav>a,.products-toggle { font-size:.98rem; }
.products-menu-desktop { grid-template-columns:340px minmax(0,1fr); }
.products-menu-category { font-size:.96rem; }
.products-menu-number,.products-menu-category small { font-size:.7rem; }
.products-menu-top>a,.products-menu-panel-head>a { font-size:.9rem; }
.products-menu-links>a { font-size:.96rem; }
@media(max-width:960px) {
  .primary-nav>a,.products-toggle { font-size:1.125rem; }
  .products-mobile-category summary { font-size:1.02rem; }
  .products-mobile-links>a { font-size:.95rem; }
}

/* Keep the shop's product index headings proportional to its compact rows. */
.directory-heading h2 { font-size:clamp(2.8rem,4vw,4rem); line-height:1.04; }
.directory-group-intro h3 { font-size:clamp(1.65rem,2.2vw,2.35rem); line-height:1.08; }
@media(max-width:760px) {
  .directory-heading h2 { font-size:clamp(2.15rem,8vw,2.7rem); }
  .directory-group-intro h3 { font-size:clamp(1.6rem,5.5vw,1.9rem); }
}

/* On phones, Products and each category occupy their own sliding screen. */
.products-menu-back { display:none; }
@media(max-width:960px) {
  .primary-nav { overflow-x:hidden; }
  .primary-nav.products-open { overflow:hidden; }
  .products-menu {
    display:block;
    position:absolute;
    inset:0;
    z-index:2;
    width:100%;
    height:100%;
    max-height:none;
    padding:18px 24px 32px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    background:#fafaf7;
    border:0;
    border-radius:0;
    box-shadow:none;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(102%,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s linear .32s;
  }
  .nav-products.is-open .products-menu {
    display:block;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s;
  }
  .products-menu.has-category { overflow:hidden; }
  .products-menu-back,.products-mobile-back {
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--green);
    font-size:.9rem;
    font-weight:700;
  }
  .products-menu-top { display:block;padding:19px 0 25px; }
  .products-menu-top strong { font-size:clamp(1.6rem,6vw,2rem); }
  .products-menu-top>a { display:inline-block;margin-top:16px;font-size:.92rem; }
  .products-menu-mobile { display:block; }
  .products-mobile-list { border-top:1px solid var(--line); }
  .products-mobile-category {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    min-height:70px;
    padding:15px 0;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    color:var(--ink);
    text-align:left;
    font-size:1.02rem;
    font-weight:700;
    line-height:1.3;
  }
  .products-mobile-category small { flex:none;color:var(--green);font-size:.78rem; }
  .products-mobile-panel {
    position:absolute;
    inset:0;
    z-index:3;
    width:100%;
    height:100%;
    padding:18px 24px 32px;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fafaf7;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(102%,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s linear .32s;
  }
  .products-mobile-panel.is-active {
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s;
  }
  .products-mobile-panel>.small-label { display:block;margin-top:20px;color:var(--green); }
  .products-mobile-panel h2 { max-width:560px;margin-top:12px;font-size:clamp(1.9rem,8vw,2.7rem);line-height:1.02; }
  .products-mobile-panel>.products-mobile-category-link {
    display:inline-block;
    margin-top:20px;
    padding:0 0 4px;
    border-bottom:1px solid currentColor;
    color:var(--green);
    font-size:.92rem;
    font-weight:700;
  }
  .products-mobile-links { margin-top:28px;padding:0;border-top:1px solid var(--line); }
  .products-mobile-links>a { min-height:56px;padding:15px 0;border:0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.4; }
}
@media(max-width:420px) {
  .products-menu,.products-mobile-panel { padding-inline:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .products-menu,.nav-products.is-open .products-menu,
  .products-mobile-panel,.products-mobile-panel.is-active { transition:none; }
}

.footer-legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-legal a{white-space:nowrap}
@media(max-width:760px){.footer-legal{width:100%;justify-content:center;order:2}}
