/* Requested October 22 public presentation updates only. */
.nav-social{position:relative;flex:none}
.nav-social>summary{list-style:none;cursor:pointer}
.nav-social>summary::-webkit-details-marker{display:none}
.nav-social>summary::marker{content:""}
.nav-social[open]>summary{color:var(--gold-light)}
.nav-social-panel{position:absolute;inset-inline-end:0;top:calc(100% + 12px);width:236px;max-width:calc(100vw - 32px);padding:16px;background:#0d2b23;border:1px solid rgba(239,216,165,.35);border-radius:15px;box-shadow:0 12px 35px #0004;color:#f7f0de;z-index:20}
.nav-social-panel .socials-title{display:block;margin-bottom:10px;color:#efd493}
.nav-social-panel .social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.nav-social-panel .social-links a{width:40px;height:40px;background:#163b2e;color:#f5e2ae;border-color:#bfa46270}
.nav-social-panel .social-links a:focus-visible{outline:2px solid #e6bc62;outline-offset:3px}
/* Shop banner: sharp artwork; blur is confined to the copy area. */
html .shop-banner.shop-banner-updated{position:relative;isolation:isolate;overflow:hidden;background:var(--page);background-image:none}
html .shop-banner-updated::before{content:"";display:block;position:absolute;inset:0;z-index:0;opacity:1;background:url('/assets/images/shop-products-hero-oct23.webp') center / cover no-repeat;filter:none;pointer-events:none}
html .shop-banner-updated::after{display:none}
.shop-banner-updated .shop-banner-inner{position:relative;z-index:1;min-height:318px;grid-template-columns:1fr}
.shop-banner-updated .shop-banner-text{position:relative;isolation:isolate;width:61%;max-width:710px;padding:38px 0}
.shop-banner-updated .shop-banner-text::before{content:"";position:absolute;inset:0 -16px;z-index:-1;pointer-events:none;background:rgba(250,249,243,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}
html[data-theme="dark"] .shop-banner-updated .shop-banner-text::before{background:rgba(5,28,21,.93)}
html[dir="rtl"] .shop-banner-updated .shop-banner-text::before{-webkit-mask-image:linear-gradient(to left,#000 85%,transparent);mask-image:linear-gradient(to left,#000 85%,transparent)}
.shop-banner-updated h1{font-size:clamp(31px,4vw,61px);max-width:none}
@media(max-width:900px){.shop-banner-updated .shop-banner-text{width:76%}}
@media(max-width:700px){
 .shop-banner-updated .shop-banner-inner{min-height:0}
 .shop-banner-updated .shop-banner-text{width:100%;max-width:none;padding:27px 0 30px}
 .shop-banner-updated .shop-banner-text>p:not(.eyebrow),.shop-banner-updated .shop-banner-benefits{max-width:100%}
 html .shop-banner-updated::before{background-position:right center}
 html .shop-banner-updated .shop-banner-text::before{background:rgba(250,249,243,.84);-webkit-mask-image:none;mask-image:none}
 html[data-theme="dark"] .shop-banner-updated .shop-banner-text::before{background:rgba(5,28,21,.87)}
}
/* Contact decoration always paints below copy, including after reveal animation. */
html .ct-hero{overflow:hidden}
html .ct-hero-grid{position:relative;isolation:isolate}
html .ct-hero-copy{position:relative;z-index:2}
html .ct-hero-emblem{z-index:0;pointer-events:none}
@media(max-width:760px){
 html .ct-hero-emblem.reveal,html .ct-hero-emblem.reveal.is-visible{opacity:.1!important;z-index:0;transform:none}
}
/* Keep the fixed navbar offset, remove only the extra space inside Home hero. */
body[data-page="home"] .hero .hero-grid{padding-top:0}
body[data-page="home"] .hero .hero-copy{padding-top:0;align-self:start}
@media(max-width:640px){
 body[data-page="home"] .hero .hero-visual img{top:0}
 body[data-page="home"] .hero .hero-copy{align-self:stretch;justify-content:flex-start;padding-top:12px}
}
/* Keep names complete. Truncate summaries visually without altering their content. */
html .shop-card h3,html .svc-card h3,html .service-card h3,html .product-card h3{display:block;-webkit-line-clamp:unset;line-clamp:unset;max-height:none;min-height:0;height:auto;overflow:visible;white-space:normal;overflow-wrap:anywhere}
html .shop-card-desc,html .svc-card .card-description,html .service-card .card-description,html .product-card .card-description{display:block;-webkit-line-clamp:unset;line-clamp:unset;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;min-height:0;max-height:none;width:100%;min-width:0}
html .shop-card,html .svc-card,html .service-card,html .product-card{min-height:0}
html .shop-card-copy,html .svc-card-content,html .service-content,html .product-content{min-width:0;min-height:0}
html .shop-overline,html .svc-card-kicker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media(max-width:700px){
 html .shop-card-copy{padding:10px;gap:5px}
 html .shop-card-bottom{padding-top:6px}
 html .shop-stock-row{margin:3px 0}
 html .shop-card-image{height:clamp(115px,33vw,180px)}
 html .svc-card-content{padding:12px 10px}
 html .svc-card-foot{padding-top:10px;gap:6px}
 html .service-content{padding:14px 10px 10px}
}

html .shop-price,html .shop-out,html .product-card .price{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* October 23: shared Home/Shop product presentation. */
html .shop-card{border-radius:15px;box-shadow:0 3px 14px rgba(15,50,37,.03)}
html .shop-card-image{height:178px;background:linear-gradient(140deg,#f0f4f4,#e4eaf0)}
html .shop-card-image img{object-position:center;mix-blend-mode:normal}
html .shop-card-copy{padding:14px 16px 15px;gap:0}
html .shop-overline{display:none}
html .shop-card h3{font:700 14.5px/1.4 var(--font-serif);margin:0 0 6px}
html .shop-card-desc{font-size:11.6px;line-height:1.55;color:var(--muted);margin:0}
html .shop-stock-row{margin:4px 0 0;flex-wrap:wrap}
html .shop-stock-row .shop-stock,html .shop-stock-row .shop-stock-sold{font-size:10px;line-height:1.4}
html .shop-learn{color:#9b6a23;font-size:10px;font-weight:800;padding:4px 0;margin-top:3px}
html[data-theme=dark] .shop-learn{color:var(--gold-light)}
html .shop-card-bottom{padding-top:7px;gap:7px}
html .shop-price{font-size:15px;font-weight:850}
html .shop-add{width:40px;height:40px;border-radius:12px;border-color:rgba(176,132,52,.25);background:linear-gradient(145deg,#fce9b7,#efc971)}
html .shop-add .icon{width:19px;height:19px}
@media(max-width:1040px){html .shop-card-copy{padding-inline:12px}html .shop-card h3{font-size:13px}}
@media(max-width:850px){html .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}html .shop-card-image{height:188px}}
@media(max-width:640px){
 html .shop-card-image{height:clamp(122px,40vw,190px)}
 html .shop-card-copy{padding:9px 9px 11px}
 html .shop-card h3{font-size:clamp(11px,3.1vw,13.5px);line-height:1.35;margin-bottom:5px}
 html .shop-card-desc{font-size:9.5px}
 html .shop-price{font-size:clamp(11px,3.1vw,14px)}
 html .shop-add{width:32px;height:32px;border-radius:9px}
 html .shop-add .icon{width:16px;height:16px}
 html .shop-card-bottom{padding-top:5px}
 html .shop-stock-row .shop-stock,html .shop-stock-row .shop-stock-sold{font-size:9px}
}
@media(max-width:365px){html .shop-grid{gap:7px}html .shop-card-copy{padding:8px 7px}html .shop-card h3{font-size:10.7px}html .shop-card-desc{font-size:9px}html .shop-price{font-size:10.5px}html .shop-add{width:29px;height:29px}}
/* Short, capped entrances avoid long waits on later catalog items. */
html.js-ready .reveal{transition-duration:.45s,.5s;transition-delay:clamp(0ms,calc(var(--order,0)*45ms),135ms)}
html.js-ready .reveal.text-entry{transform:translateX(-18px)}
html.js-ready .reveal.text-entry.entry-right{transform:translateX(18px)}
html.js-ready .reveal.text-entry.is-visible{transform:none}
.legacy-item strong{font-variant-numeric:tabular-nums;display:inline-block;min-width:var(--count-width,0)}
@media(prefers-reduced-motion:reduce){html.js-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}}
