:root{--ink:#173126;--muted:#61736a;--pine:#1e5b43;--pine-dark:#123b2c;--cream:#f7f5ef;--mist:#edf4ef;--line:#dce7df;--accent:#d98b54;--radius:18px;--shadow:0 10px 30px rgba(23,49,38,.08);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink)}
*{box-sizing:border-box}
body{margin:0;line-height:1.55}
a{color:var(--pine);text-underline-offset:3px}
a:hover{color:var(--pine-dark)}
:focus-visible{outline:3px solid #e6a56f;outline-offset:3px}
header,footer,main{max-width:1200px;margin:auto;padding:0 1.25rem}
header{min-height:76px;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:-.03em;font-size:1.25rem;text-decoration:none;color:var(--pine-dark)}
.brand-mark{display:inline-flex;width:2rem;height:2rem;margin-right:.45rem;border-radius:50% 50% 50% 4px;background:var(--pine);color:white;align-items:center;justify-content:center;font-size:.8rem;transform:rotate(-12deg)}
.site-nav{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.site-nav a{text-decoration:none;font-weight:650;font-size:.95rem}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font:inherit;color:var(--ink)}
main{padding-top:1.5rem;padding-bottom:2rem}
.hero{margin:0 -1.25rem;padding:clamp(2.5rem,7vw,5.5rem) 1.25rem;background:linear-gradient(120deg,var(--mist),#f8fbf7 65%,#f8efe6);border-bottom:1px solid var(--line)}
.hero-inner{max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--pine)}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin:0 0 .75rem}
h1{font-size:clamp(2.25rem,6vw,4.8rem);max-width:900px}
h2{font-size:clamp(1.65rem,3vw,2.4rem)}
h3{font-size:1.15rem}
p{max-width:70ch}
.section{padding:3.5rem 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:#fff;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(23,49,38,.12)}
.category-card{min-height:150px;background:var(--cream);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--ink)}
.category-card .count{color:var(--muted);font-size:.9rem}
.card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#f4f6f3;border-radius:12px;margin-bottom:1rem}
.price{font-weight:800;font-size:1.08rem;margin:.45rem 0}
.price-note{font-size:.95rem;color:var(--muted);font-weight:650}
.old{text-decoration:line-through;color:var(--muted);font-size:.9rem;margin-left:.5rem;font-weight:500}
.muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:999px;background:var(--pine);color:#fff;text-decoration:none;font-weight:750}
.button:hover{background:var(--pine-dark);color:#fff}
.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}
.product-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.purchase-panel{position:sticky;top:1.5rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}
.gallery-main{border-radius:var(--radius);overflow:hidden;background:#f4f6f3}
.gallery-main img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover}
.gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:.65rem;margin-top:.75rem}
.gallery-thumb{border:2px solid transparent;padding:0;border-radius:10px;overflow:hidden;background:#f4f6f3;cursor:pointer}
.gallery-thumb[aria-current="true"]{border-color:var(--accent)}
.gallery-thumb img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;border-top:1px solid var(--line);padding-top:1rem}
.detail-list dt{color:var(--muted)}
.detail-list dd{margin:0}
.notice{padding:1rem 1.25rem;border-left:4px solid var(--accent);background:var(--cream);border-radius:0 12px 12px 0}
.site-footer{margin-top:3rem;padding-top:2.5rem;padding-bottom:2.5rem;border-top:1px solid var(--line);background:var(--cream)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.footer-links{display:grid;gap:.45rem}
.footer-links a{text-decoration:none}
.no-photo{display:grid;place-items:center;aspect-ratio:4/5;border-radius:12px;background:var(--mist);color:var(--muted);margin-bottom:1rem;text-align:center;padding:1rem}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-layout{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){header{min-height:68px}
.menu-toggle{display:block}
.site-nav{display:none;position:absolute;z-index:5;left:0;right:0;top:68px;padding:1rem 1.25rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.site-nav.is-open{display:grid}
.hero{padding-top:3rem;padding-bottom:3rem}
main{padding-top:1rem}
.section{padding:2.5rem 0}
.section-head{display:block}
.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:.75rem;border-radius:14px}
.card img{border-radius:9px;margin-bottom:.7rem}
.product-layout{display:flex;flex-direction:column}
.purchase-panel{position:static;width:100%}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:420px){header,footer,main{padding-left:1rem;padding-right:1rem}
.grid{grid-template-columns:1fr 1fr}
.category-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.hero{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}
h1{font-size:2.35rem}
}

/* UI-01 responsive refinements */
:root { --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2.5rem; --space-5:4rem; }

.hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:2.5rem; align-items:center; padding:2.5rem; border-radius:24px; }

.hero-photo { background:#fff; border-radius:20px; overflow:hidden; }

.hero-photo img { width:100%; height:360px; display:block; object-fit:contain; }

.hero h1 { font-size:clamp(2.25rem,4.2vw,3.9rem); }

.category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

.category-card img { aspect-ratio:1; object-fit:contain; }

.card img,.gallery-main img,.gallery-thumb img { object-fit:contain; }

.product-card { display:flex; flex-direction:column; min-width:0; }

.product-card h3 { font-size:1.08rem; line-height:1.4; letter-spacing:-.02em; }

.product-card .button { margin-top:auto; }

.product-card .price { margin:1rem 0; }

.product-layout>div { min-width:0; width:100%; }

.purchase-panel h1 { font-size:clamp(1.75rem,3vw,2.65rem); overflow-wrap:anywhere; }

.gallery-thumbs { grid-template-columns:repeat(6,minmax(0,1fr)); }

.gallery-thumb { display:block; min-height:44px; }

.gallery-main img { max-height:630px; }

.breadcrumbs { flex-wrap:wrap; overflow-wrap:anywhere; }

.site-nav a,.footer-links a { padding:.5rem 0; min-height:44px; }

.table-wrap { overflow:auto; max-width:100%; }

table { border-collapse:collapse; width:100%; min-width:520px; text-align:left; }

th,td { padding:1rem; border-bottom:1px solid var(--line); }

caption { text-align:left; color:var(--muted); margin-bottom:1rem; }

.grid .eyebrow { font-size:.68rem; letter-spacing:.06em; }

.skip-link { position:absolute; top:-100px; left:1rem; padding:.6rem; background:#fff; z-index:20; }

.skip-link:focus { top:0; }

@media(max-width:980px) { .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .hero { gap:1.5rem; padding:1.5rem; }
 }

@media(max-width:700px) { .hero { grid-template-columns:1fr; padding:1.5rem; }
 .hero-photo img { height:260px; }
 .hero h1 { font-size:2.35rem; }
 .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gallery-thumbs { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .site-nav { display:grid; position:static; box-shadow:none; }
 header { flex-wrap:wrap; }
 .js .site-nav { display:none; position:absolute; }
 .js .site-nav.is-open { display:grid; }
 .product-layout { gap:1.25rem; }
 }

@media(max-width:420px) { .grid:not(.category-grid) { grid-template-columns:1fr; }
 .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .category-card { padding:.75rem; }
 .category-card h3 { font-size:1rem; line-height:1.25; }
 .category-card .count { font-size:.8rem; }
 .hero { margin-left:0; margin-right:0; }
 .gallery-main img { max-height:440px; }
 }

@media(prefers-reduced-motion:reduce) { .card { transition:none; }
 .card:hover { transform:none; }
 }


.card img { height:auto; }
.gallery-thumb img { height:72px; aspect-ratio:1; }
.purchase-panel h2 { font-size:1.3rem; margin-top:1.5rem; }
@media(max-width:700px) { .gallery-thumb img { height:60px; } }
/* IA-02 shared secondary page system */
.secondary-intro { max-width:850px; padding:1rem 0 2rem; }
.secondary-intro h1 { font-size:clamp(2rem,4vw,3.6rem); }
.lead { font-size:1.12rem; color:var(--muted); }
.secondary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.secondary-grid .card { padding:1.5rem; min-width:0; }
.content-card h2,.info-card h2,.service-card h2,.price-card h2,.contact-card h2 { font-size:1.5rem; }
.service-card { border-top:4px solid var(--pine); }
.service-card .text-link,.contact-card .text-link { display:block; padding:.5rem 0; }
.price-card { background:var(--cream); }
.price-list { margin-bottom:0; }
.price-list>div { display:flex; gap:1rem; justify-content:space-between; border-bottom:1px solid var(--line); padding:.8rem 0; }
.price-list dd { margin:0; font-weight:800; white-space:nowrap; }
.location-card h3 { line-height:1.4; font-size:1.15rem; }
address { font-style:normal; overflow-wrap:anywhere; }
.location-card address { color:var(--muted); }
.notice-card { border:1px solid var(--line); background:var(--mist); border-radius:var(--radius); padding:1rem 1.5rem; margin:1rem 0; }
.notice-card p { margin:0; }
.link-chips { display:flex; flex-wrap:wrap; gap:.7rem; }
.link-chips a { display:inline-flex; align-items:center; min-height:44px; padding:.6rem 1rem; background:var(--mist); border-radius:12px; text-decoration:none; }
.district-nav { margin-top:2rem; }
.related-navigation { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.related-navigation h2 { font-size:1.6rem; }
.contact-value { font-size:1.2rem; font-weight:700; overflow-wrap:anywhere; }
.company-details dt { color:var(--muted); font-size:.85rem; }
.company-details dd { margin:0 0 1rem; }
.legal-content { display:grid; gap:1rem; margin-top:2rem; }
.legal-content .card { box-shadow:none; padding:1.5rem; }
.legal-content p { max-width:none; overflow-wrap:anywhere; }
.site-nav { gap:1rem; }
@media(max-width:1100px) { .site-nav { gap:.65rem; } .site-nav a { font-size:.85rem; } }
@media(max-width:900px) and (min-width:701px) { header { flex-wrap:wrap; padding-top:.75rem; padding-bottom:.75rem; } .site-nav { width:100%; justify-content:space-between; } }
@media(max-width:700px) { .secondary-grid { grid-template-columns:1fr; } .secondary-grid .card { padding:1.25rem; } .secondary-intro { padding-bottom:1rem; } .site-nav a { font-size:1rem; } .notice-card { padding:1rem; } .contact-value { font-size:1.1rem; } }
.content-card .text-link { display:block; padding:.5rem 0; }
.location-card .location-address { color:var(--ink); font-weight:750; font-size:1.15rem; line-height:1.4; }

/* IA-03 compact architectural footer */
.site-footer{max-width:none;background:#0c1914;color:#fff;margin-top:2rem;padding:1.5rem max(1rem,calc((100vw - 1160px)/2));border:0}
.site-footer a,.site-footer .brand{color:#fff;text-decoration:none}
.site-footer a:hover{color:#a8d6b4}
.site-footer p{color:#c1cec6;font-size:.9rem;margin:.5rem 0}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:1.5rem;max-width:1160px;margin:auto}
.footer-links{gap:0;align-content:start;font-size:.9rem}
.footer-links a{padding:.2rem 0;min-height:30px;display:flex;align-items:center}
.footer-grid strong{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#a8d6b4;margin-bottom:.5rem;display:block}
.footer-contact a{display:block;min-height:36px;font-size:.9rem;overflow-wrap:anywhere}
.footer-legal a{color:#c1cec6;font-size:.8rem}
@media(max-width:980px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:auto}}
@media(max-width:700px){.site-footer{padding:1.25rem 1rem}.footer-grid{gap:1rem 1.25rem}.footer-brand{grid-column:1/-1!important}.footer-contact{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.footer-contact strong{width:100%;margin:0}.footer-links a{min-height:36px}.footer-contact a{min-height:32px}}

a.info-card{text-decoration:none;color:var(--ink)}

/* EDITORIAL-01: scoped article UI; product/card presentation is unchanged. */
.article-card{display:flex;flex-direction:column;min-width:0}
.article-card h3{font-size:1.25rem;line-height:1.3}
.article-card h3 a{text-decoration:none}
.article-card-link{margin-top:auto;min-height:44px;display:flex;align-items:center;gap:.5rem;font-weight:700}
.article-silo-nav{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.5rem 0 2rem}
.article-silo-nav a{min-height:44px;padding:.6rem 1rem;background:var(--mist);border:1px solid var(--line);border-radius:999px;text-decoration:none}
.article-heading{max-width:940px;margin:2rem 0 2.5rem}
.article-heading h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.13;overflow-wrap:break-word}
.article-lead{border-left:4px solid var(--pine);padding:1rem 1.25rem;background:var(--mist);border-radius:0 var(--radius) var(--radius) 0;margin-top:1.25rem}
.article-lead p{margin:0;font-size:1.13rem;line-height:1.65;max-width:75ch}
.article-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,760px);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.article-toc{position:sticky;top:1.5rem;font-size:.95rem}
.article-toc ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.65rem}
.article-toc a{display:block;padding:.3rem 0;line-height:1.4}
.article-body{min-width:0;font-size:1.0625rem;line-height:1.75}
.article-section{margin-bottom:2.75rem;scroll-margin-top:1.5rem}
.article-section h2,.article-sources h2{font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}
.article-section p{max-width:70ch}
.article-checklist,.article-steps{padding-left:1.5rem}
.article-checklist li,.article-steps li{margin:.6rem 0;padding-left:.3rem}
.article-citations{font-size:.75em;white-space:normal}
.article-citations a{padding:.2rem;text-decoration:none}
.article-list-sources{margin-top:0}
.article-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.article-comparison h3{font-size:1.25rem;line-height:1.3}
.article-comparison p{margin-bottom:0}
.article-context-link{padding-top:.25rem;font-weight:600}
.article-sources{padding-top:1.5rem;border-top:1px solid var(--line);font-size:.95rem;line-height:1.65}
.article-sources li{padding:.4rem 0;overflow-wrap:anywhere;scroll-margin-top:2rem}
.article-commercial{margin-top:2.5rem;max-width:1040px}
.article-commercial h2{font-size:1.75rem}
.article-related{padding-top:3rem}
.article-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-toc{position:static}.article-toc ul{grid-template-columns:repeat(2,minmax(0,1fr))}.article-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.article-heading{margin:1rem 0 1.75rem}.article-lead{padding:1rem}.article-body{font-size:1rem}.article-toc ul,.article-comparison,.article-related-grid{grid-template-columns:minmax(0,1fr)}.article-section{margin-bottom:2rem}.article-silo-nav{gap:.5rem}.article-related{padding-top:2rem}}

/* COMMERCE-01: factual product cards and local-only cart controls. */
.cart-indicator{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.45rem .7rem;background:var(--mist);border-radius:12px;text-decoration:none;white-space:nowrap;font-weight:700;font-size:.9rem;order:3}
.cart-indicator span{display:grid;place-items:center;min-width:24px;height:24px;background:var(--pine);color:#fff;border-radius:50%;font-size:.8rem}
header .site-nav{order:2}.menu-toggle{order:4}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.product-card .product-photo{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#f7f9f6;border-radius:12px;margin-bottom:1rem}
.product-card .product-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;margin:0;padding:.4rem}
.product-card .price{font-size:1.75rem;line-height:1.2;margin:0 0 .8rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.product-card .old{font-size:.9rem;margin:0}.product-card h3{margin-bottom:.75rem;font-size:1.08rem;line-height:1.35}
.product-card h3 a{text-decoration:none}.product-card h3 a:hover{text-decoration:underline}
.product-attributes{margin:0 0 1rem;font-size:.85rem;line-height:1.4;display:grid;gap:.35rem}
.product-attributes div{display:flex;gap:.5rem;min-width:0;justify-content:space-between}.product-attributes dt{color:var(--muted)}.product-attributes dd{margin:0;text-align:right;overflow-wrap:anywhere}
.commerce-controls{margin-top:auto;display:grid;gap:.7rem}.quantity-control{display:flex;align-items:center;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:visible}
.quantity-control button{width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:1.25rem;cursor:pointer;border-radius:10px}
.quantity-control input{width:52px;height:44px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font:inherit;color:var(--ink);background:#fff;border-radius:0;appearance:textfield}
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}
.commerce-actions{display:flex;gap:.6rem;align-items:stretch}.commerce-actions .add-to-cart{flex:1;margin:0;min-width:0;border:0;cursor:pointer;font:inherit;font-weight:750;border-radius:12px}
.favorite-toggle{width:46px;min-height:46px;flex-shrink:0;border:1px solid var(--line);background:#fff;color:var(--pine);border-radius:12px;font-size:1.7rem;cursor:pointer}.favorite-toggle.is-favorite{background:var(--mist)}
.commerce-feedback{font-size:.85rem;color:var(--pine);overflow-wrap:anywhere;line-height:1.4}.commerce-feedback:empty{display:none}
button:disabled{opacity:.55;cursor:not-allowed}.product-popularity{font-size:.8rem;color:var(--muted);margin:0 0 .75rem}.product-popularity [role=img]{color:#a66b25}
.purchase-panel>.price{font-size:2rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem}.purchase-panel .product-attributes{font-size:.95rem}.purchase-panel .commerce-controls{margin:1.2rem 0 1.5rem}.purchase-panel .commerce-actions{max-width:420px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start;margin:2rem 0}.cart-items{display:grid;gap:1rem}.cart-item{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1.25rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius)}
.cart-image{display:block;aspect-ratio:4/5;align-self:start;background:var(--mist);border-radius:12px;overflow:hidden}.cart-image img{width:100%;height:100%;object-fit:contain;display:block}.cart-no-photo{display:grid;place-items:center;height:100%;font-size:.85rem}
.cart-item h2{font-size:1.2rem;line-height:1.35;overflow-wrap:anywhere}.cart-item h2 a{text-decoration:none}.cart-unit-price{font-size:.95rem;color:var(--muted)}.cart-line-total{font-weight:750}.text-button{min-height:44px;padding:.5rem 0;border:0;background:none;color:var(--pine);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;text-align:left}
.cart-summary{position:sticky;top:1.5rem;background:var(--cream)}.cart-summary h2{font-size:1.6rem}.cart-total{font-weight:800;font-size:1.4rem;line-height:1.4}.cart-summary .button{width:100%;border:0;font:inherit;font-weight:750}.cart-summary .text-button{display:block}
@media(max-width:1100px){header{gap:1rem}.site-nav{gap:.5rem}.site-nav a{font-size:.82rem}.cart-indicator{font-size:.82rem}}
@media(max-width:900px) and (min-width:701px){header .cart-indicator{order:1;margin-left:auto}header .site-nav{order:3}}
@media(max-width:800px){.cart-layout{grid-template-columns:minmax(0,1fr)}.cart-summary{position:static}}
@media(max-width:700px){header .cart-indicator{order:1;margin-left:auto}.menu-toggle{order:2}header .site-nav{order:3}.cart-item{grid-template-columns:100px minmax(0,1fr);padding:1rem;gap:1rem}.product-card .price{font-size:1.6rem}}
@media(max-width:420px){header{gap:.5rem}.cart-indicator{font-size:.8rem;padding:.4rem .55rem}.cart-item{grid-template-columns:80px minmax(0,1fr)}.cart-layout{gap:1rem}.cart-item h2{font-size:1.05rem}.cart-summary{padding:1.1rem}.product-card .product-photo{aspect-ratio:1}.product-card .product-attributes{font-size:.9rem}}

/* COMMERCE-02: listing is a product-navigation surface, not direct cart input. */
.listing-actions .buy-product{flex:1;text-align:center;min-width:0;margin:0;border-radius:12px}
.product-characteristics{border-top:1px solid var(--line);padding-top:1rem;margin:1.25rem 0}
.product-characteristics h2{font-size:1.2rem;margin-bottom:1rem}

/* CHECKOUT-01: local order review */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-6,24px);align-items:start;margin:28px 0}
.checkout-sections{display:grid;gap:20px;min-width:0}.checkout-layout fieldset{min-width:0;margin:0;border:1px solid var(--line,#dce3dc)}
.checkout-layout legend{font-size:1.25rem;font-weight:700;padding:0 8px}.checkout-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-field{display:grid;gap:8px;margin:16px 0;font-weight:600}.checkout-field input,.checkout-field select{width:100%;min-width:0;font:inherit;font-weight:400;min-height:48px;padding:10px 12px;background:#fff;border:1px solid #9eada2;border-radius:8px;color:#173527}
.checkout-field input[aria-invalid=true],.checkout-field select[aria-invalid=true]{border-color:#a43128}.field-error{color:#982c24;font-size:.875rem;font-weight:400}.field-error:empty{display:none}
.checkout-option{display:flex;align-items:flex-start;gap:10px;padding:10px 0;line-height:1.5}.checkout-option input{width:20px;height:20px;margin-top:3px;flex-shrink:0;accent-color:#1d5738}
.checkout-summary{position:sticky;top:24px}.checkout-summary .button{width:100%;margin:12px 0}.checkout-line{padding:12px 0;border-bottom:1px solid #dce3dc;overflow-wrap:anywhere}.checkout-line>a{font-weight:600}.checkout-line p{margin:6px 0}
.checkout-composition h3{margin-top:22px}.checkout-composition .cart-total{font-size:1.4rem;overflow-wrap:anywhere}.review-details>div{padding:10px 0;border-bottom:1px solid #dce3dc}.review-details dt{font-size:.9rem;color:#526257}.review-details dd{margin:4px 0;overflow-wrap:anywhere}
[data-checkout-review]>.content-card{margin:20px 0}[data-checkout-review]>.button{margin-top:24px} [hidden]{display:none!important}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-field-grid{grid-template-columns:1fr}}
.checkout-layout .card:hover,[data-checkout-review] .card:hover{transform:none}
.review-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media(max-width:600px){.review-details{grid-template-columns:1fr}}

/* ORDER-01: scoped checkout controls, preserving accepted storefront. */
.checkout-field textarea{width:100%;min-height:7rem;padding:.8rem;border:1px solid var(--line,#ccd5cc);border-radius:.5rem;font:inherit;resize:vertical;box-sizing:border-box}.checkout-field textarea:focus-visible{outline:3px solid #54815d;outline-offset:2px}[data-checkout-review]>.button{margin:.5rem .5rem .5rem 0}[data-checkout-review] .review-details dd{overflow-wrap:anywhere}

/* Reusable product merchandising: scroll belongs to the rail, not the page. */
.merch-section{margin-block:3rem;min-width:0}
.merch-section .section-head{gap:1rem;align-items:baseline}
.merch-section h2{font-size:clamp(1.4rem,3vw,2rem)}
.merch-scroll-hint{color:var(--muted,#52675b);white-space:nowrap;font-size:.85rem}
.merch-rail{display:flex;gap:1rem;overflow-x:auto;max-width:100%;padding:.25rem .1rem 1rem;scroll-snap-type:x proximity;scroll-padding:1px;overscroll-behavior-x:contain;scrollbar-color:#607d67 #edf1eb}
.merch-card{flex:0 0 228px;min-width:0;display:flex;flex-direction:column;gap:.7rem;border:1px solid #dce4d9;border-radius:16px;background:#fff;padding:1rem;scroll-snap-align:start}
.merch-photo{display:block;aspect-ratio:4/3;background:#f5f7f3;border-radius:10px;overflow:hidden}
.merch-photo img{width:100%;height:100%;object-fit:contain;display:block}
.merch-card .price{font-size:1.25rem;margin:0;line-height:1.35;display:flex;gap:.4rem;flex-wrap:wrap}
.merch-card .old{font-size:.85rem;margin:0}
.merch-card h3{font-size:1rem;line-height:1.4;margin:0;overflow-wrap:anywhere}
.merch-card h3 a{text-decoration:none}.merch-card h3 a:hover{text-decoration:underline}
.merch-card>.button,.merch-actions{margin-top:auto}.merch-actions .button{width:100%}
.merch-card .button{min-height:44px;padding:.65rem .8rem;font-size:.95rem}
.merch-actions{display:block}.merch-actions .commerce-feedback{display:block}
.merch-descriptor{font-size:.9rem;line-height:1.5;margin:0;color:#52675b}
.merch-service{background:#edf3eb;border-color:#d6e3d2}.merch-service .eyebrow{margin:0}
.merch-service-symbol{font-size:2.8rem;color:#31573b;line-height:1.4}
@media(max-width:600px){.merch-card{flex-basis:200px}.merch-section .section-head{display:block}.merch-scroll-hint{display:block;margin-top:.6rem}.merch-section{margin-block:2rem}}
.merch-card button.button{border:1px solid transparent}

/* PRODUCT-UI-03-FINAL: a quieter catalog action; accepted cross-sell styles stay intact. */
.purchase-panel [data-continue-shopping]{background:transparent;color:var(--pine);border:1px solid var(--line)}
.purchase-panel [data-continue-shopping]:hover{background:var(--mist);color:var(--pine-dark)}

/* PRODUCT-CONTENT-01: concise SKU description, separate compact species knowledge. */
.product-description{margin-block:1rem 1.25rem;line-height:1.65}
.product-description p{margin:0}
.product-description .source-detail{margin-top:.6rem;color:var(--muted);font-size:.9rem}
.species-knowledge{padding:1rem 1.15rem;margin-block:1.25rem;background:var(--mist);border-radius:var(--radius);line-height:1.6}
.species-knowledge h2{font-size:1.05rem;margin:0 0 .55rem}
.species-knowledge p{margin:0 0 .65rem;font-size:.94rem}
.species-knowledge a{font-size:.9rem}

/* Owned About-page video: intrinsic dimensions reserve space before metadata arrives. */
.about-video{max-width:960px;margin:2rem auto;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.about-video h2{margin:0 0 1rem}
.about-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--ink);border-radius:12px}
.about-video>p{max-width:75ch;line-height:1.7;margin:1rem 0 0}

/* CART-UI-01: one summary surface, with readable columns before stacking. */
.cart-layout{grid-template-columns:minmax(0,2fr) minmax(340px,1fr);gap:1.5rem;margin:1.5rem 0}
.cart-summary{min-width:0;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);box-shadow:0 5px 20px rgba(23,49,38,.04)}
.cart-summary h2{font-size:1.5rem;line-height:1.3;margin:0 0 .4rem}
.cart-count{color:var(--muted);font-size:1rem;margin:0 0 1.5rem}
.cart-summary-details{margin:0 0 1.4rem}
.cart-summary-details>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.8rem 0}
.cart-summary-details dt{font-size:1rem;line-height:1.5}
.cart-summary-details dd{margin:0;text-align:right;font-size:1rem;white-space:nowrap}
.cart-summary-details .cart-summary-total{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.cart-summary-total dt{font-weight:750;font-size:1.15rem}
.cart-summary-total .cart-total{font-weight:800;font-size:1.65rem;line-height:1.35;font-variant-numeric:tabular-nums}
.cart-summary-total .cart-total.is-pending{font-size:1rem;font-weight:600;white-space:normal;max-width:13rem}
.cart-summary .cart-checkout{display:flex;box-sizing:border-box;width:100%;min-height:50px;border-radius:12px;padding:.75rem 1rem}
.cart-summary .cart-checkout:disabled{background:#e3e9e3;color:#4e6054;opacity:1;border:1px solid #d3ddd4}
.cart-price-note{font-size:.9rem;line-height:1.5;color:var(--muted);margin:.7rem 0 0}
.cart-summary .cart-clear{display:block;width:100%;text-align:center;color:var(--muted);font-size:.9rem;margin:.65rem 0 0;text-decoration:none}
.cart-clear:hover,.cart-remove:hover{text-decoration:underline;color:var(--pine)}
.cart-item{background:#fff;padding:1.25rem;grid-template-columns:124px minmax(0,1fr);gap:1.25rem}
.cart-item h2{font-size:1.15rem;line-height:1.45;margin:0 0 .75rem;overflow-wrap:break-word}
.cart-unit-price{display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin:0 0 1rem;font-size:.95rem}
.cart-unit-price strong{font-weight:650;color:var(--ink);white-space:nowrap}
.cart-item-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.cart-line-total{margin:0;text-align:right;min-width:7rem}
.cart-line-total dt{font-size:.85rem;font-weight:400;color:var(--muted)}
.cart-line-total dd{margin:.15rem 0 0;font-size:1.2rem;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-remove{font-size:.9rem;color:var(--muted);text-decoration:none;margin-top:.35rem}
.cart-dev-notice{font-size:.875rem;color:var(--pine-dark);background:var(--mist);padding:.65rem 1rem;border-radius:10px;margin:1rem 0}
.cart-continue{margin:1.25rem 0 0}
.cart-continue a{display:inline-flex;align-items:center;min-height:44px;color:var(--pine);font-weight:650;text-decoration:underline;text-underline-offset:4px}
.cart-empty{margin:1.5rem 0;padding:1.5rem}
@media(max-width:1100px){.cart-layout{grid-template-columns:minmax(0,1fr)}.cart-summary{position:static;width:100%}.cart-summary-total .cart-total.is-pending{max-width:none}}
@media(max-width:600px){.cart-item{grid-template-columns:80px minmax(0,1fr);gap:1rem;padding:1rem}.cart-item h2{font-size:1.05rem}.cart-item-controls{justify-content:flex-start}.cart-line-total{text-align:left}.cart-summary{padding:1.25rem}.cart-summary-details>div{gap:.75rem}}

/* Portrait owned mounting footage: no crop, reserved geometry, one media surface. */
.mounting-video{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1rem,3vw,2rem);margin:1rem 0 2rem}
.mounting-media{position:relative;width:100%;aspect-ratio:480/848;overflow:hidden;border-radius:12px;background:var(--surface,#f6f7f4)}
.mounting-media video{display:block;width:100%;height:100%;aspect-ratio:480/848;object-fit:contain}
.mounting-player{display:none;position:absolute;inset:0}.js .mounting-player{display:block}
.mounting-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 4px 24px #10251e40}
.mounting-video-copy{max-width:52ch}.mounting-video-copy h2{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.2}.mounting-video-copy p{line-height:1.7}
.mounting-stand-note{padding:1.5rem}
@media(max-width:700px){.mounting-video{grid-template-columns:1fr;gap:1.25rem}.mounting-media{max-width:400px;margin-inline:auto}.mounting-video-copy h2{font-size:1.65rem}}

/* PICKUP-PAGE-01: portrait frames remain uncropped; owned landscape footage. */
.pickup-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:2rem;background:var(--cream);border-radius:var(--radius);padding:2rem}.pickup-hero h1{font-size:clamp(2rem,4vw,3.4rem)}
.pickup-hero figure,.pickup-gallery figure{margin:0;min-width:0}.pickup-hero img{width:100%;height:auto;border-radius:12px}.pickup-hero figcaption,.pickup-gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}.pickup-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.pickup-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0;list-style:none}.pickup-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.pickup-gallery img{width:100%;height:300px;object-fit:contain;background:var(--cream);border-radius:12px}
.pickup-video{position:relative;aspect-ratio:16/9;max-width:900px;border-radius:var(--radius);overflow:hidden;background:var(--cream)}.pickup-video video{display:block;width:100%;height:100%;object-fit:contain}.pickup-video>button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.pickup-location{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem}.pickup-location article{padding:1.5rem}.pickup-location address{font-style:normal}.pickup-map-frame{position:relative;min-height:400px;border:1px solid var(--line);border-radius:var(--radius);background:var(--mist);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.pickup-map-frame iframe{display:none;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--radius)}.pickup-map-frame iframe.is-loaded{display:block}.pickup-final{padding:2rem}.pickup-context-link{padding:1.5rem;margin:1rem 0}
@media(max-width:1100px){header{flex-wrap:wrap}.site-nav{gap:1rem}}
@media(max-width:700px){.pickup-hero{grid-template-columns:1fr;padding:1.25rem}.pickup-steps ol,.pickup-location{grid-template-columns:1fr}.pickup-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.pickup-gallery figure{flex:0 0 85%;scroll-snap-align:start}.pickup-gallery img{height:300px}.pickup-video>button{font-size:.9rem}.pickup-map-frame{min-height:360px}}
.pickup-assortment-photo{max-height:240px;object-fit:contain!important;aspect-ratio:4/3!important}

/* Shared, explicit-load maps: native provider attribution remains inside iframe. */
.location-map{position:relative;min-height:280px;border:1px solid var(--line);border-radius:18px;background:#eef2eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:hidden;margin-top:16px}
.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none}.location-map iframe.is-loaded{display:block}.map-overview{min-height:440px}.map-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}.map-note{font-size:.9rem;color:#526151}.location-card details{margin-top:18px}.location-card summary{cursor:pointer;color:#234b38}#market-select{display:block;width:100%;max-width:760px;padding:14px;border:1px solid #cdd7cd;border-radius:12px;background:#fff;font:inherit;margin-top:8px}#selected-market a{display:inline-block;margin:8px 18px 8px 0}.location-card{scroll-margin-top:24px}@media(max-width:700px){.map-overview{min-height:360px}.location-map{padding:16px}.map-links{flex-direction:column}}

/* PICKUP-WAREHOUSE-02: scoped, uncropped local photographs. */
.pickup-warehouse-description{max-width:960px;margin-bottom:1.5rem}
.warehouse-feature{max-width:620px;margin:0 auto 1rem}
.warehouse-feature a,.warehouse-gallery a{display:block;min-width:0;border-radius:12px;overflow:hidden}
.warehouse-feature img,.warehouse-gallery img{display:block;width:100%;height:auto}
.warehouse-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.warehouse-lightbox{width:min(96vw,1200px);max-width:96vw;height:94dvh;max-height:94dvh;padding:1rem;border:0;border-radius:12px;background:var(--cream);color:var(--ink)}
.warehouse-lightbox::backdrop{background:rgb(0 0 0 / .8)}
.warehouse-lightbox[open]{display:flex;flex-direction:column;gap:.75rem}
.warehouse-lightbox-toolbar{display:flex;align-items:center;justify-content:center;gap:.75rem;flex:none}
.warehouse-lightbox-toolbar button{min-width:48px;min-height:48px;border:1px solid var(--accent);border-radius:8px;background:white;color:var(--ink);font-size:1.5rem;cursor:pointer}
.warehouse-lightbox img{display:block;width:100%;height:0;min-height:0;flex:1;object-fit:contain}
.warehouse-modal-open{overflow:hidden}
@media(min-width:701px) and (max-width:1000px){.warehouse-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.warehouse-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;padding-bottom:.75rem}.warehouse-gallery a{flex:0 0 82%;scroll-snap-align:start}.warehouse-lightbox{padding:.5rem}.warehouse-lightbox-toolbar{gap:.5rem}}

/* HERO-SLIDER-01: only the existing HOME photo zone; FIX-02 heading-only. */
.hero-slider{position:relative;width:100%;height:auto;aspect-ratio:1;isolation:isolate}
.hero-slider-stage,.hero-slide,.hero-slide picture{position:absolute;inset:0}
.hero-slide{opacity:0;pointer-events:none;transition:opacity 250ms ease}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slider .hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide-caption{position:absolute;bottom:0;left:0;right:0;padding:36px 16px 16px;color:#fff;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.55))}
.hero-slide-caption h2{font-size:1.2rem;line-height:1.25;letter-spacing:0;margin:0;color:inherit;text-shadow:0 1px 3px rgba(0,0,0,.4)}
@media(max-width:700px){.hero-slide-caption h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* BRAND-RED-01 Hero CTA; HEADER-BRAND-GREEN-01 header accents. */
:root{--brand-red:#D62828;--brand-red-hover:#B82020;--brand-red-active:#9E1B1B}
header .brand{color:var(--pine)}
header .brand-mark{background:var(--pine)}
header .brand:hover{color:var(--pine-dark)}
header .brand:active{color:var(--pine-dark)}
.hero-inner > p > .button[href="/catalog"]{background:var(--brand-red);color:#fff}
.hero-inner > p > .button[href="/catalog"]:hover{background:var(--brand-red-hover);color:#fff}
.hero-inner > p > .button[href="/catalog"]:active{background:var(--brand-red-active);color:#fff}
header .cart-indicator{color:var(--pine)}
header .cart-indicator [data-cart-count]{background:var(--pine);color:#fff}
header .cart-indicator:hover{color:var(--pine-dark)}
header .cart-indicator:active{color:var(--pine-dark)}
header .brand:focus-visible,header .cart-indicator:focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.hero-inner > p > .button[href="/catalog"]:focus-visible{outline:3px solid var(--brand-red);outline-offset:3px}

/* DELIVERY-VIDEO-01 / FIX-02: compact native player, original portrait ratio. */
.delivery-video{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:1.5rem;align-items:center;padding:1.5rem;margin:1.5rem 0 2rem;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius)}
.delivery-video-copy{min-width:0}
.delivery-video-copy p{margin-bottom:0}
.delivery-video video{display:block;width:100%;height:auto;aspect-ratio:480/848;max-width:200px;margin:0;border-radius:var(--radius);object-fit:contain;background:var(--cream)}
@media(max-width:700px){.delivery-video{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.25rem;margin:1rem 0 1.5rem}.delivery-video video{width:min(180px,100%);max-width:180px;justify-self:center}}

/* DELIVERY-DECOR-FIX-05: scattered static graphics; lighter behind the copy. */
.delivery-video{position:relative;isolation:isolate}
.delivery-decor{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:-1}
.delivery-decor-defs{position:absolute;width:0;height:0}
.delivery-decor-item{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:var(--alpha);transform:translate(-50%,-50%) rotate(var(--angle))}
.delivery-video-copy{background:rgb(247 245 239 / .86)}
@media(max-width:700px){.delivery-decor-item{left:var(--mx);top:var(--my);width:var(--msize);height:var(--msize)}.delivery-decor-item:nth-of-type(n+20){display:none}}

/* BROWSER-QA-GIT-01: identical decor values in local CSS for strict CSP. */
.delivery-decor-item[data-decor="1"]{--x:79.01%;--y:33.9%;--size:45px;--alpha:0.18;--angle:-1deg;color:#D62828;--mx:19.02%;--my:66.14%;--msize:45px}
.delivery-decor-item[data-decor="2"]{--x:24.83%;--y:79.84%;--size:16px;--alpha:0.17;--angle:-25deg;color:#1e5b43;--mx:80.02%;--my:52.54%;--msize:16px}
.delivery-decor-item[data-decor="3"]{--x:12.66%;--y:47.8%;--size:61px;--alpha:0.24;--angle:1deg;color:#78bdda;--mx:45.19%;--my:31.27%;--msize:45px}
.delivery-decor-item[data-decor="4"]{--x:55.62%;--y:60.3%;--size:32px;--alpha:0.25;--angle:-24deg;color:#78cfc3;--mx:26.38%;--my:91.95%;--msize:32px}
.delivery-decor-item[data-decor="5"]{--x:50.06%;--y:82.48%;--size:27px;--alpha:0.28;--angle:5deg;color:#D62828;--mx:48.17%;--my:67.24%;--msize:27px}
.delivery-decor-item[data-decor="6"]{--x:4.25%;--y:92.29%;--size:29px;--alpha:0.3;--angle:27deg;color:#1e5b43;--mx:29.98%;--my:19.0%;--msize:29px}
.delivery-decor-item[data-decor="7"]{--x:19.24%;--y:33.49%;--size:59px;--alpha:0.16;--angle:14deg;color:#78bdda;--mx:5.52%;--my:30.64%;--msize:45px}
.delivery-decor-item[data-decor="8"]{--x:9.96%;--y:75.78%;--size:65px;--alpha:0.29;--angle:17deg;color:#78cfc3;--mx:42.66%;--my:52.02%;--msize:45px}
.delivery-decor-item[data-decor="9"]{--x:53.29%;--y:22.71%;--size:61px;--alpha:0.19;--angle:25deg;color:#D62828;--mx:84.13%;--my:78.63%;--msize:45px}
.delivery-decor-item[data-decor="10"]{--x:20.09%;--y:11.24%;--size:50px;--alpha:0.35;--angle:-11deg;color:#1e5b43;--mx:39.66%;--my:84.84%;--msize:45px}
.delivery-decor-item[data-decor="11"]{--x:20.91%;--y:55.56%;--size:37px;--alpha:0.39;--angle:-25deg;color:#78bdda;--mx:90.49%;--my:44.18%;--msize:37px}
.delivery-decor-item[data-decor="12"]{--x:43.95%;--y:68.89%;--size:62px;--alpha:0.29;--angle:-23deg;color:#78cfc3;--mx:83.59%;--my:67.13%;--msize:45px}
.delivery-decor-item[data-decor="13"]{--x:96.76%;--y:72.17%;--size:48px;--alpha:0.2;--angle:12deg;color:#D62828;--mx:6.54%;--my:9.84%;--msize:45px}
.delivery-decor-item[data-decor="14"]{--x:73.58%;--y:82.35%;--size:43px;--alpha:0.33;--angle:2deg;color:#1e5b43;--mx:64.23%;--my:59.27%;--msize:43px}
.delivery-decor-item[data-decor="15"]{--x:92.37%;--y:8.97%;--size:30px;--alpha:0.18;--angle:2deg;color:#78bdda;--mx:17.93%;--my:44.86%;--msize:30px}
.delivery-decor-item[data-decor="16"]{--x:83.28%;--y:93.85%;--size:43px;--alpha:0.33;--angle:18deg;color:#78cfc3;--mx:86.98%;--my:18.28%;--msize:43px}
.delivery-decor-item[data-decor="17"]{--x:49.59%;--y:7.4%;--size:41px;--alpha:0.3;--angle:-22deg;color:#D62828;--mx:43.33%;--my:4.9%;--msize:41px}
.delivery-decor-item[data-decor="18"]{--x:36.23%;--y:95.26%;--size:38px;--alpha:0.19;--angle:12deg;color:#1e5b43;--mx:62.53%;--my:5.96%;--msize:38px}
.delivery-decor-item[data-decor="19"]{--x:12.94%;--y:94.92%;--size:46px;--alpha:0.21;--angle:23deg;color:#78bdda}
.delivery-decor-item[data-decor="20"]{--x:89.3%;--y:67.42%;--size:65px;--alpha:0.28;--angle:-8deg;color:#78cfc3}
.delivery-decor-item[data-decor="21"]{--x:68.62%;--y:12.56%;--size:62px;--alpha:0.22;--angle:2deg;color:#D62828}
.delivery-decor-item[data-decor="22"]{--x:30.43%;--y:12.24%;--size:38px;--alpha:0.33;--angle:-14deg;color:#1e5b43}
.delivery-decor-item[data-decor="23"]{--x:57.33%;--y:9.5%;--size:16px;--alpha:0.16;--angle:7deg;color:#78bdda}
.delivery-decor-item[data-decor="24"]{--x:74.83%;--y:6.22%;--size:30px;--alpha:0.34;--angle:10deg;color:#78cfc3}
.delivery-decor-item[data-decor="25"]{--x:2.3%;--y:11.91%;--size:16px;--alpha:0.26;--angle:-23deg;color:#D62828}
.delivery-decor-item[data-decor="26"]{--x:39.36%;--y:47.77%;--size:28px;--alpha:0.33;--angle:15deg;color:#1e5b43}
.delivery-decor-item[data-decor="27"]{--x:9.84%;--y:18.94%;--size:42px;--alpha:0.21;--angle:3deg;color:#78bdda}
.delivery-decor-item[data-decor="28"]{--x:70.57%;--y:59.35%;--size:60px;--alpha:0.35;--angle:-9deg;color:#78cfc3}
.delivery-decor-item[data-decor="29"]{--x:82.9%;--y:13.28%;--size:36px;--alpha:0.21;--angle:20deg;color:#D62828}
.delivery-decor-item[data-decor="30"]{--x:61.81%;--y:31.04%;--size:22px;--alpha:0.31;--angle:3deg;color:#1e5b43}
.delivery-decor-item[data-decor="31"]{--x:28.3%;--y:45.72%;--size:53px;--alpha:0.29;--angle:-17deg;color:#78bdda}
.delivery-decor-item[data-decor="32"]{--x:86.69%;--y:50.96%;--size:40px;--alpha:0.27;--angle:-2deg;color:#78cfc3}
.delivery-decor-item[data-decor="33"]{--x:67.34%;--y:75.81%;--size:24px;--alpha:0.2;--angle:24deg;color:#D62828}
.delivery-decor-item[data-decor="34"]{--x:77.28%;--y:52.26%;--size:17px;--alpha:0.16;--angle:-27deg;color:#1e5b43}
.delivery-decor-item[data-decor="35"]{--x:50.42%;--y:40.79%;--size:38px;--alpha:0.39;--angle:3deg;color:#78bdda}
.delivery-decor-item[data-decor="36"]{--x:70.07%;--y:32.35%;--size:31px;--alpha:0.29;--angle:4deg;color:#78cfc3}
.delivery-decor-item[data-decor="37"]{--x:97.56%;--y:39.65%;--size:20px;--alpha:0.36;--angle:-1deg;color:#D62828}
.delivery-decor-item[data-decor="38"]{--x:57.51%;--y:90.68%;--size:49px;--alpha:0.17;--angle:1deg;color:#1e5b43}
.delivery-decor-item[data-decor="39"]{--x:31.25%;--y:65.6%;--size:17px;--alpha:0.18;--angle:-5deg;color:#78bdda}
.delivery-decor-item[data-decor="40"]{--x:35.9%;--y:24.63%;--size:44px;--alpha:0.39;--angle:-17deg;color:#78cfc3}

/* HERO-SLIDE-REPLACE-01: only the compositions slide links to its category. */
.hero-slide.is-active .hero-slide-link{position:absolute;inset:0;pointer-events:auto;color:inherit;text-decoration:none}

/* HERO-DARK-EXPERIMENT-01 BEGIN: homepage colors only; removable independently. */
main > .hero{background:#0c1914;border-bottom-color:#0c1914;color:#e1ebe5}
main > .hero .hero-inner h1{color:#fff}
main > .hero .hero-inner > p:not(.eyebrow){color:#e1ebe5}
main > .hero .hero-inner > .eyebrow{color:#a8ded3}
main > .hero .hero-slider{background:#0c1914}
/* HERO-DARK-EXPERIMENT-01 END */

/* HERO-FOREST-BG-02 BEGIN: removable photograph and independent overlay. */
main > .hero{--hero-forest-overlay-opacity:.60;position:relative;isolation:isolate;background-image:url('/assets/hero-slider/forest/forest-desktop.webp');background-image:image-set(url('/assets/hero-slider/forest/forest-desktop.avif') type('image/avif'),url('/assets/hero-slider/forest/forest-desktop.webp') type('image/webp'));background-size:cover;background-position:center center}
main > .hero::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#0c1914;opacity:var(--hero-forest-overlay-opacity);pointer-events:none;z-index:0}
main > .hero > .hero-inner,main > .hero > .hero-slider{position:relative;z-index:1}
main > .hero > .hero-slider{background:transparent}
@media(max-width:700px){main > .hero{background-image:url('/assets/hero-slider/forest/forest-mobile.webp');background-image:image-set(url('/assets/hero-slider/forest/forest-mobile.avif') type('image/avif'),url('/assets/hero-slider/forest/forest-mobile.webp') type('image/webp'));background-position:50% center}}
/* HERO-FOREST-BG-02 END */

/* FOOTER-FOREST-BG-01 BEGIN: shared Hero photograph beneath footer content. */
.site-footer{--footer-forest-overlay-opacity:.60;position:relative;isolation:isolate;background-image:url('/assets/hero-slider/forest/forest-desktop.webp');background-image:image-set(url('/assets/hero-slider/forest/forest-desktop.avif') type('image/avif'),url('/assets/hero-slider/forest/forest-desktop.webp') type('image/webp'));background-size:cover;background-position:50% 35%}
.site-footer::before{content:"";position:absolute;inset:0;background:#0c1914;opacity:var(--footer-forest-overlay-opacity);pointer-events:none;z-index:0}
.site-footer > .footer-grid{position:relative;z-index:1}
@media(max-width:700px){.site-footer{background-image:url('/assets/hero-slider/forest/forest-mobile.webp');background-image:image-set(url('/assets/hero-slider/forest/forest-mobile.avif') type('image/avif'),url('/assets/hero-slider/forest/forest-mobile.webp') type('image/webp'));background-position:50% center}}
/* FOOTER-FOREST-BG-01 END */

/* FOOTER-PAYMENTS-COPYRIGHT-01: card brands confirmed by PO in FOOTER-FINALIZATION-02. */
.footer-payments[hidden]{display:none!important}
.footer-payments{grid-column:1/-1}
.site-footer .footer-payments-title{color:#fff;font-size:13px;line-height:1.5;margin:0 0 .5rem}
.footer-payment-logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.footer-payment-logo{display:flex;align-items:center;justify-content:center;width:104px;height:56px;border-radius:5px;background:#fff;overflow:hidden;flex:0 0 auto}
.footer-payment-logo img{display:block;width:auto;height:32px;max-width:none;flex:none;object-fit:contain}
.footer-payment-logo img[alt="Mastercard"]{height:40px}
.footer-payment-logo img[alt="Visa"]{height:82px}
.site-copyright{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;padding:0 1rem;box-sizing:border-box;background:#000000;color:#fff;font-size:13px;line-height:20px;text-align:center}

/* Global snowfall: local adapter of the archive's T971 SVG/transform effect. */
.t971__snowfall{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;pointer-events:none;z-index:0;contain:strict}
.t971__snowfall *{pointer-events:none}
.t971__snowflake{position:absolute;top:-32px;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);opacity:0;animation:elki77-snowfall var(--snow-duration) var(--snow-delay) linear infinite}
.t971__snowflake svg{display:block;width:100%;height:100%;fill:none;stroke:#e8e8e8;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.t971__snowfall.is-paused .t971__snowflake{animation-play-state:paused}
@keyframes elki77-snowfall{0%{transform:translate3d(0,0,0);opacity:0}8%,82%{opacity:.325}100%{transform:translate3d(var(--snow-drift),calc(100vh + 64px),0);transform:translate3d(var(--snow-drift),calc(100dvh + 64px),0);opacity:0}}
@media(max-width:700px){.t971__snowflake:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.t971__snowfall{display:none}.t971__snowflake{animation:none}}
.t971__snowflake:nth-child(1){--snow-x:23.3%;--snow-size:20px;--snow-duration:26s;--snow-delay:-3.4s;--snow-drift:-11px}
.t971__snowflake:nth-child(2){--snow-x:43.6%;--snow-size:27px;--snow-duration:32s;--snow-delay:-6.8s;--snow-drift:2px}
.t971__snowflake:nth-child(3){--snow-x:63.9%;--snow-size:18px;--snow-duration:38s;--snow-delay:-10.2s;--snow-drift:15px}
.t971__snowflake:nth-child(4){--snow-x:84.2%;--snow-size:15px;--snow-duration:22s;--snow-delay:-13.6s;--snow-drift:-21px}
.t971__snowflake:nth-child(5){--snow-x:11.7%;--snow-size:20px;--snow-duration:28s;--snow-delay:-17.0s;--snow-drift:-8px}
.t971__snowflake:nth-child(6){--snow-x:32.0%;--snow-size:27px;--snow-duration:34s;--snow-delay:-20.4s;--snow-drift:5px}
.t971__snowflake:nth-child(7){--snow-x:52.3%;--snow-size:18px;--snow-duration:40s;--snow-delay:-23.8s;--snow-drift:18px}
.t971__snowflake:nth-child(8){--snow-x:72.6%;--snow-size:15px;--snow-duration:24s;--snow-delay:-27.2s;--snow-drift:-18px}
.t971__snowflake:nth-child(9){--snow-x:92.9%;--snow-size:20px;--snow-duration:30s;--snow-delay:-30.6s;--snow-drift:-5px}
.t971__snowflake:nth-child(10){--snow-x:20.4%;--snow-size:27px;--snow-duration:36s;--snow-delay:-34.0s;--snow-drift:8px}
.t971__snowflake:nth-child(11){--snow-x:40.7%;--snow-size:18px;--snow-duration:20s;--snow-delay:-37.4s;--snow-drift:21px}
.t971__snowflake:nth-child(12){--snow-x:61.0%;--snow-size:15px;--snow-duration:26s;--snow-delay:-0.8s;--snow-drift:-15px}
.t971__snowflake:nth-child(13){--snow-x:81.3%;--snow-size:20px;--snow-duration:32s;--snow-delay:-4.2s;--snow-drift:-2px}
.t971__snowflake:nth-child(14){--snow-x:8.8%;--snow-size:27px;--snow-duration:38s;--snow-delay:-7.6s;--snow-drift:11px}
.t971__snowflake:nth-child(15){--snow-x:29.1%;--snow-size:18px;--snow-duration:22s;--snow-delay:-11.0s;--snow-drift:24px}
.t971__snowflake:nth-child(16){--snow-x:49.4%;--snow-size:15px;--snow-duration:28s;--snow-delay:-14.4s;--snow-drift:-12px}
.t971__snowflake:nth-child(17){--snow-x:69.7%;--snow-size:20px;--snow-duration:34s;--snow-delay:-17.8s;--snow-drift:1px}
.t971__snowflake:nth-child(18){--snow-x:90.0%;--snow-size:27px;--snow-duration:40s;--snow-delay:-21.2s;--snow-drift:14px}
.t971__snowflake:nth-child(19){--snow-x:17.5%;--snow-size:18px;--snow-duration:24s;--snow-delay:-24.6s;--snow-drift:-22px}
.t971__snowflake:nth-child(20){--snow-x:37.8%;--snow-size:15px;--snow-duration:30s;--snow-delay:-28.0s;--snow-drift:-9px}
.t971__snowflake:nth-child(21){--snow-x:58.1%;--snow-size:20px;--snow-duration:36s;--snow-delay:-31.4s;--snow-drift:4px}
.t971__snowflake:nth-child(22){--snow-x:78.4%;--snow-size:27px;--snow-duration:20s;--snow-delay:-34.8s;--snow-drift:17px}
.t971__snowflake:nth-child(23){--snow-x:5.9%;--snow-size:18px;--snow-duration:26s;--snow-delay:-38.2s;--snow-drift:-19px}
.t971__snowflake:nth-child(24){--snow-x:26.2%;--snow-size:15px;--snow-duration:32s;--snow-delay:-1.6s;--snow-drift:-6px}
.t971__snowflake:nth-child(25){--snow-x:46.5%;--snow-size:20px;--snow-duration:38s;--snow-delay:-5.0s;--snow-drift:7px}
.t971__snowflake:nth-child(26){--snow-x:66.8%;--snow-size:27px;--snow-duration:22s;--snow-delay:-8.4s;--snow-drift:20px}
.t971__snowflake:nth-child(27){--snow-x:87.1%;--snow-size:18px;--snow-duration:28s;--snow-delay:-11.8s;--snow-drift:-16px}
.t971__snowflake:nth-child(28){--snow-x:14.6%;--snow-size:15px;--snow-duration:34s;--snow-delay:-15.2s;--snow-drift:-3px}
.t971__snowflake:nth-child(29){--snow-x:34.9%;--snow-size:20px;--snow-duration:40s;--snow-delay:-18.6s;--snow-drift:10px}
.t971__snowflake:nth-child(30){--snow-x:55.2%;--snow-size:27px;--snow-duration:24s;--snow-delay:-22.0s;--snow-drift:23px}
.t971__snowflake:nth-child(31){--snow-x:75.5%;--snow-size:18px;--snow-duration:30s;--snow-delay:-25.4s;--snow-drift:-13px}
.t971__snowflake:nth-child(32){--snow-x:3.0%;--snow-size:15px;--snow-duration:36s;--snow-delay:-28.8s;--snow-drift:0px}

/* GLOBAL-SNOW-LAYER-FIX-08: page base < snowfall < opaque content backing.
   Isolation groups existing nested transforms and local z-index without changing
   the viewport containing block. Main padding and outer gutters remain open. */
body{isolation:isolate;background-color:#fff}
body > main,body > .site-footer,body > .site-copyright{position:relative;z-index:1}
body > main{background-color:#fff;background-clip:content-box}
body > header{position:relative;z-index:2;background-color:#fff}

/* MOBILE-FIRST-PRELAUNCH-01: local fixes; preserve the accepted desktop rules. */
@media (max-width:700px) {
  .js header .site-nav {
    top:100%;
    max-height:calc(100vh - 100%);
    max-height:calc(100dvh - 100% - env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  header,main {
    padding-left:max(1.25rem,env(safe-area-inset-left,0px));
    padding-right:max(1.25rem,env(safe-area-inset-right,0px));
  }
  .site-footer {
    padding-left:max(1rem,env(safe-area-inset-left,0px));
    padding-right:max(1rem,env(safe-area-inset-right,0px));
  }
  h1,h2,h3 { overflow-wrap:anywhere; }
}
@media (max-width:420px) {
  header,main {
    padding-left:max(1rem,env(safe-area-inset-left,0px));
    padding-right:max(1rem,env(safe-area-inset-right,0px));
  }
}
@media (pointer:coarse) {
  .footer-links a,.footer-contact a,.map-links a,#selected-market a,.article-toc a {
    display:flex;
    align-items:center;
    min-height:44px;
  }
  .location-card summary { min-height:44px; padding-block:.5rem; }
}
@media (hover:none) {
  .card:hover { transform:none; }
}
