/* MAYAN REV12 — shared, high-contrast design system / responsive composition */
:root{
  --rev12-ink:#213f31;--rev12-soft-ink:#4a6254;--rev12-card:#fffefa;
  scroll-padding-top:clamp(102px,11vh,146px);
}
html{scroll-behavior:smooth}
body{overflow-x:clip}
html[data-theme="light"] body{--text:#203e30;--text-soft:#486052;--text-faint:#576a5d}
html[data-theme="dark"] body{--text:#eff5ed;--text-soft:#dde9df;--text-faint:#d1ddcf}
.sec{padding-block:clamp(2.1rem,4.1vw,3.6rem)!important;min-height:0!important}
#about,#why,#categories,#coverage,#brands,#contact{scroll-margin-top:var(--mayan-current-header,124px)!important}
.sec .sec-title,.sec .sec-lead,.sec .sec-tag{overflow-wrap:break-word}
.sec .sec-title{line-height:1.35}
.sec .sec-lead{line-height:1.8}
#why,#categories,#coverage,#brands,#contact{isolation:isolate}
.sec-why .sec-head{margin-bottom:clamp(1rem,2vw,2rem)}
.sec-why .why-grid{margin-top:clamp(1rem,2vw,2rem)}
.sec-contact{padding-block:clamp(1.8rem,3vw,3rem)!important}
.sec-contact .contact-grid{align-items:start}
#brands .brands-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));align-items:stretch}
#brands .brand-card{min-height:0}
/* Nav logo, all moving precision ornaments and corner ticks from earlier revisions remain in place. */
body .site-header .sig-frame,body .site-header.is-scrolled .sig-frame{
  opacity:1!important;backdrop-filter:none!important;
}
body .site-header .site-nav .nav-link,
body .site-header .basket-nav .basket-nav-label,
body .site-header .lang-dd__current,
body .site-header .theme-dd__toggle-icon{color:#f9fcf8!important;opacity:1!important}
body .site-header .navbar-toggler .toggler-bar{background:#f8faf5!important}
/* Theme surfaces are readable and distinct, not inverted to low contrast. */
html[data-theme="light"] .sec:not(.sec-dark){color:#244434}
html[data-theme="light"] .sec:not(.sec-dark) .sec-lead,
html[data-theme="light"] .sec:not(.sec-dark) .brand-card p{color:#445d4d!important}
html[data-theme="dark"] .sec{color:#f1f5ed!important}
html[data-theme="dark"] .sec .sec-title,
html[data-theme="dark"] .sec .sec-lead,
html[data-theme="dark"] .sec p{color:inherit}
html[data-theme="dark"] .sec .sec-lead{color:#d5e6d9!important}
html[data-theme="dark"] .sec .sec-title span{color:#a9d9b2!important}
html[data-theme="dark"] .sec .brand-card,
html[data-theme="dark"] .sec .cat-card,
html[data-theme="dark"] .cov-map__visual{background:#f7faf4!important;color:#234635!important}
html[data-theme="dark"] .sec .brand-card p,
html[data-theme="dark"] .sec .cat-card p,
html[data-theme="dark"] .cov-map__content,
html[data-theme="dark"] .cov-map__hint{color:#365640!important}
/* The product card is deliberately an image + exact name only. Details belong in the modal. */
.products-page .p-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,218px),1fr))!important;gap:clamp(10px,1.35vw,19px)!important}
.products-page .product-card{display:flex!important;flex-direction:column!important;min-width:0;cursor:pointer;outline-offset:4px;border-radius:17px!important;overflow:hidden}
.products-page .product-card__media{height:clamp(155px,18vw,227px)!important;flex:none!important;padding:13px!important;background:linear-gradient(160deg,#fbfdfa,#edf5ee)!important}
.products-page .product-card__media img{width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;filter:drop-shadow(0 12px 12px rgba(17,35,23,.12))!important}
.products-page .product-card__body{padding:11px 12px 15px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:76px!important;gap:0!important;text-align:center!important}
.products-page .product-card__title{font-size:clamp(.92rem,1.07vw,1.04rem)!important;line-height:1.5!important;min-height:0!important;text-align:center!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;color:#214632!important}
.products-page .product-card__cat,.products-page .product-card__size,.products-page .product-card__packing,.products-page .product-card__desc,.products-page .product-card__more,.products-page .product-card__body .basket-add{display:none!important}
.products-page .product-card:focus-visible{outline:3px solid #317353!important}
.products-page .product-card:hover .product-card__media img{transform:scale(1.035)!important;transition:transform .35s ease}
/* Modal — visible close affordance plus order choices. */
#productModal .modal-content{position:relative;overflow:visible!important}
#productModal .btn-close{display:block!important;position:absolute!important;z-index:50!important;inset-inline-end:13px!important;inset-inline-start:auto!important;top:13px!important;width:41px!important;height:41px!important;min-width:41px!important;border-radius:50%!important;opacity:1!important;background:#1c5038!important;color:#fff!important;background-image:none!important;box-shadow:0 7px 21px #112d1c42!important;border:2px solid #fff!important;filter:none!important;transition:background .2s,transform .2s}
#productModal .btn-close:before{content:'×';color:#fff;font:bold 29px/35px Arial,sans-serif;display:block;text-align:center}
#productModal .btn-close:hover{background:#a34236!important;transform:scale(1.06)}
#productModal .pm-body{padding-top:clamp(22px,3vw,42px)}
#productModal .product-modal__info{color:#254332}
#productModal .pm-specs dt,#productModal .pm-desc{color:#496251!important}
#productModal .pm-specs dd{color:#1f3f2d!important;font-weight:750}
.pm-request-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 12px}
.pm-request-field{display:flex;flex-direction:column;gap:7px;font-size:.83rem;font-weight:800;color:#2b513d}
.pm-request-field input,.pm-request-field select{background:#fff;border:1px solid #b3c9b7;border-radius:11px;color:#244332;min-height:42px;max-width:100%;padding:8px 12px;font:inherit}
.pm-request-field :is(input,select):focus{outline:2px solid #4d9367;outline-offset:1px}
.pm-pack-preview{grid-column:1/-1;background:#eff5eb;border:1px solid #d5e5d6;padding:9px 12px;border-radius:10px;color:#38553e;font-size:.85rem;margin:0}
/* Respect source hero animations while giving the products their own stage. */
.family-hero{color:var(--fh-ink)!important;background:var(--fh-bg)!important}
.family-hero .fh-title,.family-hero .fh-tagline,.family-hero .fh-eyebrow{color:var(--fh-ink)!important;text-shadow:none!important;opacity:1!important}
.family-hero .fh-tagline{font-weight:700!important}
.family-hero .fh-family-atmosphere{background:radial-gradient(ellipse at 13% 18%,color-mix(in srgb,var(--fh-orbit2) 78%,transparent),transparent 43%),radial-gradient(ellipse at 86% 84%,color-mix(in srgb,var(--fh-glow) 68%,transparent),transparent 50%),linear-gradient(122deg,var(--fh-bg),color-mix(in srgb,var(--fh-bg) 68%,var(--fh-orbit)) 55%,var(--fh-bg))!important;background-size:130% 130%!important;animation:family-gradient 23s ease-in-out infinite alternate}
.family-hero .fh-family-atmosphere .fh-mote{position:absolute;left:var(--x);top:var(--y);width:var(--sz);height:var(--sz);opacity:.11;pointer-events:none;animation:rev12Dust calc(10s + var(--i)*.35s) ease-in-out infinite alternate}
@keyframes rev12Dust{0%{translate:0 0;opacity:.07}50%{opacity:.22}100%{translate:15px -23px;opacity:.11}}
.family-hero .fh-ambient{opacity:.4}
.family-hero .fh-bgword{opacity:.045!important}
.family-hero .fh-orbit{opacity:.32}
/* Pager: flush to the bottom, away from products and copy. */
.family-hero .fh-rail{top:auto!important;bottom:16px!important;inset-inline-end:clamp(18px,4.3vw,70px)!important;left:auto!important;transform:none!important;flex-direction:row!important;gap:.45rem;align-items:center;background:rgba(255,255,255,.62);padding:7px;border-radius:30px;border:1px solid color-mix(in srgb,var(--fh-ink) 20%,transparent);backdrop-filter:blur(10px)}
.family-hero .fh-arrow{height:36px;width:36px;border-radius:50%;font-size:.95rem;background:rgba(255,255,255,.55);border:1px solid color-mix(in srgb,var(--fh-ink) 22%,transparent);display:grid;place-items:center}
.family-hero .fh-count{writing-mode:horizontal-tb!important;gap:6px;font-size:.7rem;line-height:1}
.family-hero .fh-family-nav{bottom:24px!important;left:50%;transform:translateX(-50%);padding:10px 14px!important;background:rgba(255,255,255,.65)!important;border:1px solid color-mix(in srgb,var(--fh-ink) 17%,transparent)!important;box-shadow:0 10px 30px rgba(25,53,30,.08)!important}
.family-hero .fh-family-dot{height:7px!important;width:7px!important;background:var(--fh-ink)!important;opacity:.35!important}
.family-hero .fh-family-dot.is-active{width:28px!important;opacity:1!important;background:var(--fh-accent)!important}
.family-hero .fh-family-dot:focus-visible,.family-hero .fh-arrow:focus-visible{outline:2px solid #204e35;outline-offset:3px}
.family-hero .fh-progress{bottom:0!important;height:3px!important;opacity:.5}
.family-hero .fh-copy{max-width:500px;width:min(31vw,480px);top:47%;transform:translateY(-45%)}
.family-hero .fh-products,html[dir="rtl"] .family-hero .fh-products{left:34%;width:min(52vw,770px);height:min(67vh,610px);top:48%}
html[dir="ltr"] .family-hero .fh-products{left:66%}
.family-hero .fh-cta{background:#1f573e!important;color:#fff!important;border-color:#1f573e!important;box-shadow:0 14px 30px #26432c27!important}
.family-hero .fh-cta:hover{background:#123f2b!important;color:#fff!important}
.fh-since{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:7px 14px;border-radius:999px;color:#1f513b;background:#fffefa;border:1px solid #c5d4c5;font-weight:900;font-size:.92rem;box-shadow:0 5px 13px #183c2912;margin:9px 0}
.fh-since[hidden]{display:none!important}
/* Introduction: clean supply network, editorial path instead of overlapping posters. */
.family-hero[data-scene="story"] .fh-copy{top:46%;width:min(35vw,515px)}
.family-hero[data-scene="story"] .fh-products,html[dir="rtl"] .family-hero[data-scene="story"] .fh-products{left:34%;top:46%;width:min(52vw,780px);height:clamp(280px,39vh,440px)}
html[dir="ltr"] .family-hero[data-scene="story"] .fh-products{left:66%}
.fh-story-journey{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,18px);align-items:center;padding:18px 7px 38px!important}
.fh-story-card,.fh-story-card--warehouse,.fh-story-card--restaurant,.fh-story-card--retail{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:77%;min-height:220px;max-height:360px;transform:none!important;animation:none!important;border:4px solid #ffffffed!important;border-radius:17px;box-shadow:0 14px 33px #1c41252a;transition:translate .4s ease,box-shadow .4s ease}
.fh-story-card:nth-child(2){translate:0 18px}
.fh-story-card:nth-child(3){translate:0 -14px}
.fh-story-card:hover{translate:0 -8px;box-shadow:0 21px 39px #1c41253b}
.fh-story-card__bottom{font-size:.89rem}
.fh-story-journey__track{position:absolute!important;top:auto!important;bottom:18px!important;left:10%!important;width:80%!important;height:4px!important;transform:none!important;z-index:4}
.fh-story-journey__line{inset:0;border:0;border-top:2px dashed #377458;border-radius:0;clip-path:none}
.fh-story-journey__stop{top:-6px!important;left:calc(var(--stop)*49%)!important;right:auto!important;bottom:auto!important;width:13px;height:13px;background:#fff;box-shadow:0 0 0 4px #4b8964}
.fh-story-signature{left:0;bottom:0;color:#28583e}
/* Map: legible labels, deliberate cartographic presentation, no jumps. */
.sec-cov .cov-map{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(16px,3vw,36px);align-items:center}
.sec-cov .cov-map__visual{background:radial-gradient(circle at 13% 16%,#fffefd,#eff5ec 72%)!important;border:1px solid #cbded0!important;box-shadow:0 18px 42px #153d2414!important;border-radius:23px!important;padding:18px 18px 35px!important}
.sec-cov .cov-map__svg{height:clamp(240px,41vh,395px)!important;max-width:100%;filter:drop-shadow(0 13px 16px #1d513023)}
.sec-cov .gov{fill:#d7ead6;stroke:#7eab8f;stroke-width:1.4}
.sec-cov .gov:is(:hover,.is-active,:focus-visible){fill:url(#covMapLand)}
.sec-cov .cov-map__content{color:#2a4635!important}
.sec-cov .cov-wrap__title,.sec-cov .cov-chip{color:#244b35!important}
.sec-cov .cov-chip{font-weight:800;border:1px solid #bdd6c4;background:#fff!important}
.sec-cov .cov-chip.is-active{background:#245b40!important;color:#fff!important}
.sec-cov .cov-map__hint{font-weight:700;font-size:.79rem!important;color:#4d6753!important}
/* Keep text and labels readable throughout light/dark modes. */
html[data-theme="dark"] #productModal .pm-pack-preview,
html[data-theme="dark"] #productModal .pm-request-field{color:#264532!important}
@media(max-width:1050px){
 .family-hero .fh-copy{width:min(36vw,435px)}
 .family-hero .fh-products,html[dir="rtl"] .family-hero .fh-products{left:34%;width:min(56vw,670px)}
 .sec-cov .cov-map{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .family-hero{height:auto!important;min-height:760px!important}
 .family-hero .fh-copy, .family-hero[data-scene="story"] .fh-copy{top:auto!important;bottom:88px!important;inset-inline-start:5%!important;width:90%!important;max-width:none!important;transform:none!important}
 .family-hero .fh-products,html[dir="rtl"] .family-hero .fh-products,html[dir="ltr"] .family-hero .fh-products{left:50%!important;top:30%!important;width:min(90vw,620px)!important;height:clamp(230px,40vh,410px)!important}
 .family-hero[data-scene="story"] .fh-products,html[dir="rtl"] .family-hero[data-scene="story"] .fh-products,html[dir="ltr"] .family-hero[data-scene="story"] .fh-products{left:50%!important;top:27%!important;width:91vw!important;height:clamp(230px,33vh,350px)!important}
 .fh-story-card,.fh-story-card--warehouse,.fh-story-card--restaurant,.fh-story-card--retail{min-height:0;height:75%;border-width:3px!important}
 .fh-story-card__name{font-size:.74rem}
 .family-hero .fh-rail{bottom:13px!important;inset-inline-end:3%!important}
 .family-hero .fh-family-nav{bottom:24px!important;left:33%!important;padding:8px!important}
 .family-hero .fh-count{display:none!important}
 .sec-cov .cov-map{grid-template-columns:1fr}
 .sec-cov .cov-map__visual{max-width:680px;width:100%;margin:auto}
}
@media(max-width:550px){
 .family-hero{min-height:740px!important}
 .family-hero .fh-copy,.family-hero[data-scene="story"] .fh-copy{bottom:88px!important;inset-inline-start:5%!important}
 .family-hero .fh-title{font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.2!important}
 .family-hero .fh-tagline{font-size:.91rem!important;line-height:1.5!important;max-width:96%!important;margin:.25rem 0 .5rem!important}
 .family-hero .fh-products,html[dir="rtl"] .family-hero .fh-products{top:27%!important;height:250px!important;width:94vw!important}
 .family-hero[data-scene="story"] .fh-products,html[dir="rtl"] .family-hero[data-scene="story"] .fh-products{top:25%!important;height:230px!important;width:95vw!important}
 .family-hero .fh-orbit{width:min(92vw,400px);top:29%!important}
 .fh-story-journey{gap:5px;padding:8px 2px 20px!important}
 .fh-story-card,.fh-story-card--warehouse,.fh-story-card--restaurant,.fh-story-card--retail{height:82%;border:2px solid white!important;border-radius:10px}
 .fh-story-card__bottom{bottom:4px;left:4px;right:4px;gap:3px}.fh-story-card__name{font-size:.62rem}.fh-story-card__num{display:none}
 .fh-story-signature{font-size:.64rem;bottom:-6px}
 .family-hero .fh-rail{bottom:10px!important;inset-inline-end:3%!important}
 .family-hero .fh-arrow{width:34px;height:34px}
 .family-hero .fh-family-nav{bottom:22px!important;left:36%!important;gap:5px!important;padding:6px!important}
 .family-hero .fh-family-dot{width:5px!important;height:5px!important}.family-hero .fh-family-dot.is-active{width:14px!important}
 .products-page .p-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .products-page .product-card__media{height:clamp(146px,42vw,205px)!important;padding:9px!important}
 .products-page .product-card__body{min-height:65px!important;padding:8px 7px 11px!important}
 .products-page .product-card__title{font-size:.87rem!important}
 .pm-request-fields{grid-template-columns:1fr 1fr}
 .sec-cov .cov-map__svg{height:260px!important}
}
@media(prefers-reduced-motion:reduce){
 .family-hero .fh-family-atmosphere,.family-hero .fh-family-atmosphere .fh-mote{animation:none!important}
 .products-page .product-card__media img{transition:none!important}
}
/* QA refinements: avoid text crossing journey route, keep mobile book-like layout tidy. */
.fh-story-signature{display:none!important}
@media(max-width:550px){
 .family-hero[data-scene="story"] .fh-products,html[dir="rtl"] .family-hero[data-scene="story"] .fh-products{top:30%!important;height:205px!important}
 .fh-story-journey{padding-bottom:10px!important}
 .family-hero .fh-family-nav{left:67%!important}
}
/* Keep the dismiss control visible on small/short displays instead of above the viewport. */
#productModal .modal-dialog{min-height:0!important;align-items:flex-start!important;margin:clamp(8px,2vh,20px) auto!important}
#productModal .modal-content{max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;overscroll-behavior:contain}
#productModal .btn-close{position:sticky!important;top:10px!important;inset-inline-end:auto!important;inset-inline-start:auto!important;align-self:flex-end!important;flex-shrink:0!important;margin:10px 12px -42px 12px!important}
#productModal .pm-body{padding-top:52px!important}
@media(max-width:700px){#productModal .modal-dialog{max-width:calc(100% - 18px)!important;margin:9px auto!important}#productModal .modal-content{max-height:calc(100dvh - 18px)!important}}

/* All families use the same soft-gradient system, with distinct per-scene variables. */
.family-hero[data-scene] .fh-family-atmosphere{
 background:radial-gradient(ellipse at 16% 19%,color-mix(in srgb,var(--fh-orbit2) 75%,transparent),transparent 42%),radial-gradient(ellipse at 80% 86%,color-mix(in srgb,var(--fh-glow) 64%,transparent),transparent 48%),linear-gradient(128deg,var(--fh-bg) 0%,color-mix(in srgb,var(--fh-bg) 63%,var(--fh-orbit)) 51%,var(--fh-bg) 100%)!important;
}

/* Catalogue: remove unnecessary preamble and let the interactive book lead. */
.catalog-luxury-section{padding-top:clamp(14px,2vw,25px)!important}
body:has(.catalog-luxury-section) .page-hero{padding:clamp(12px,2vw,24px) 0 16px!important}
body:has(.catalog-luxury-section) .page-hero h1{font-size:clamp(1.65rem,3vw,2.25rem)!important;margin:5px 0!important}
body:has(.catalog-luxury-section) .page-hero .breadcrumb{margin-bottom:6px!important}
body:has(.catalog-luxury-section) .page-hero .hero-badge{display:none!important}
body:has(.catalog-luxury-section) .catalog-luxury-shell{margin-inline:auto!important}
body:has(.catalog-luxury-section) .catalog-book-heading{color:#23523b!important}
body:has(.catalog-luxury-section) .catalog-book-count{color:#345641!important}
