:root {
    --ink: #4a2f08;
    --muted: #79684f;
    --cream: #f3e4c9;
    --sand: #d8bd8b;
    --white: #fff;
    --line: #e6d3ae;
    --accent: #b87718;
    --success: #246844;
    --danger: #9e342b;
    --radius: 2px;
    --container: min(1360px, calc(100vw - 64px));
    --shadow: 0 24px 60px rgba(18, 31, 25, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fbfbf8; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
body.no-scroll { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
h1 { font-size: clamp(3rem, 6vw, 6.5rem); }
h2 { font-size: clamp(2.25rem, 4vw, 4.5rem); }
.container { width: var(--container); margin-inline: auto; }
.narrow { max-width: 820px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; font-size: .73rem; font-weight: 700; letter-spacing: .18em; }
.eyebrow::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.announcement { height: 34px; display: grid; place-items: center; padding: 0 16px; color: #e9eee9; background: var(--ink); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }

.site-header { height: 84px; display: grid; grid-template-columns: 220px 1fr auto; align-items: center; gap: 24px; padding: 0 34px; background: rgba(251,251,248,.96); border-bottom: 1px solid rgba(23,33,29,.1); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50% 50% 42% 58%; color: var(--cream); background: var(--ink); font-family: Georgia, serif; font-size: 1.35rem; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1; }
.brand strong { font-size: 1.18rem; letter-spacing: .16em; }
.brand small { margin-top: 5px; font-size: .52rem; letter-spacing: .33em; }
.main-nav { display: flex; justify-content: center; gap: clamp(18px, 3vw, 44px); font-size: .88rem; }
.main-nav a { position: relative; padding: 32px 0; }
.main-nav a::after { content: ""; height: 1px; width: 0; position: absolute; left: 0; bottom: 24px; background: var(--ink); transition: width .25s ease; }
.main-nav a:hover::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-button { border: 0; background: transparent; cursor: pointer; }
.search-toggle { font-size: 1.8rem; transform: rotate(-15deg); }
.cart-button { padding: 11px 16px; border: 1px solid var(--ink); background: transparent; cursor: pointer; font-size: .82rem; }
.cart-button span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 7px; padding: 0 5px; border-radius: 50%; color: white; background: var(--ink); }
.menu-toggle { display: none; }
.search-panel { position: fixed; z-index: 49; top: 118px; left: 0; right: 0; padding: 38px max(32px, calc((100vw - 960px)/2)); background: #fbfbf8; box-shadow: var(--shadow); }
.search-panel form > label { display: block; margin-bottom: 12px; font-family: Georgia, serif; font-size: 1.7rem; }
.search-panel form div { display: flex; border-bottom: 1px solid var(--ink); }
.search-panel input { flex: 1; border: 0; padding: 15px 0; outline: none; background: transparent; font-size: 1.1rem; }
.search-panel button { border: 0; background: transparent; font-weight: 700; cursor: pointer; }

.home-hero { min-height: calc(100vh - 118px); position: relative; display: flex; align-items: flex-end; overflow: hidden; color: white; background: #202824; }
.home-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.015); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,19,16,.7), rgba(12,19,16,.15) 62%, rgba(12,19,16,.05)), linear-gradient(0deg, rgba(12,19,16,.48), transparent 45%); }
.hero-copy { position: relative; z-index: 1; width: min(850px, calc(100% - 64px)); margin: 0 0 11vh max(32px, calc((100vw - 1360px)/2)); }
.hero-copy h1 { max-width: 780px; margin-bottom: 24px; font-size: clamp(3.4rem, 7vw, 7.5rem); }
.hero-copy p { max-width: 560px; margin-bottom: 34px; font-size: clamp(1rem, 1.4vw, 1.25rem); }
.hero-meta { position: absolute; right: 38px; bottom: 28px; z-index: 1; display: flex; gap: 26px; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--radius); cursor: pointer; font-size: .84rem; font-weight: 700; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-cream { color: var(--ink); background: var(--cream); }
.button-ghost { color: white; border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.04); }
.button-dark { color: white; background: var(--ink); }
.button-light { color: var(--ink); border-color: var(--line); background: white; }
.button-full { width: 100%; }
.text-link { display: inline-block; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: .87rem; font-weight: 700; }
.centered { display: block; width: max-content; margin: 24px auto 0; }

.category-intro { display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 8vw; align-items: end; padding: 120px 0 60px; }
.category-intro h2 { margin-bottom: 0; }
.category-intro > p { margin: 0; color: var(--muted); font-size: 1.08rem; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 38px 18px; }
.home-products .product-card:first-child { grid-column: span 2; }
.product-card { min-width: 0; }
.product-image { height: min(34vw, 490px); position: relative; display: block; overflow: hidden; background: #e9e7df; }
.home-products .product-card:first-child .product-image { height: min(47vw, 680px); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.product-image:hover img { transform: scale(1.055); filter: saturate(.92); }
.product-badge { position: absolute; top: 14px; left: 14px; padding: 7px 10px; background: rgba(251,251,248,.92); font-size: .63rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.quick-view { position: absolute; right: 12px; bottom: 12px; padding: 9px 12px; opacity: 0; transform: translateY(6px); color: white; background: rgba(23,33,29,.88); font-size: .72rem; transition: .25s ease; }
.product-image:hover .quick-view { opacity: 1; transform: translateY(0); }
.product-info { display: flex; justify-content: space-between; gap: 14px; padding: 16px 0 10px; }
.product-info div { display: flex; flex-direction: column; min-width: 0; }
.product-info a { font-family: Georgia, serif; font-size: 1.12rem; }
.product-info span { margin-top: 4px; color: var(--muted); font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-info > strong { white-space: nowrap; font-size: .86rem; }
.add-button { width: 100%; padding: 11px; border: 1px solid var(--line); background: transparent; cursor: pointer; font-size: .76rem; font-weight: 700; transition: .2s ease; }
.add-button:hover { color: white; background: var(--ink); border-color: var(--ink); }
.product-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); }
.product-card-actions a { min-width:0; min-height:42px; display:flex; align-items:center; justify-content:center; padding:8px 10px; text-align:center; font-size:.68rem; font-weight:750; line-height:1.2; }
.product-card-actions a + a { border-left:1px solid var(--line); }
.product-card-actions a:hover { color:#fff; background:var(--ink); }
.product-card-actions small { display:none; color:inherit; font:inherit; }
.section-cta { text-align: center; padding: 50px 0 110px; }

.consultation-banner { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 8vw; padding: 90px; background: var(--cream); }
.consultation-banner h2 { margin-bottom: 24px; }
.consultation-banner p { max-width: 500px; margin-bottom: 32px; color: var(--muted); }
.consultation-visual { height: 560px; }
.consultation-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }

.look-section { padding: 130px 0 0; }
.look-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 42px; }
.look-heading h2 { margin: 0; }
.scene-image { position: relative; }
.scene-image > img { width: 100%; height: auto; }
.look-home { max-height: 82vh; overflow: hidden; }
.look-home > img { width: 100%; height: 82vh; object-fit: cover; }
.hotspot { --x: 50%; --y: 50%; width: 34px; height: 34px; position: absolute; left: var(--x); top: var(--y); display: grid; place-items: center; transform: translate(-50%,-50%); border: 1px solid white; border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.93); box-shadow: 0 5px 20px rgba(0,0,0,.18); cursor: pointer; z-index: 3; }
.hotspot > span:first-child { font-size: 1.15rem; line-height: 1; transition: transform .2s; }
.hotspot.active > span:first-child { transform: rotate(45deg); }
.hotspot-card { width: 260px; position: absolute; left: 42px; top: 50%; display: none; grid-template-columns: 80px 1fr; gap: 12px; padding: 10px; transform: translateY(-50%); color: var(--ink); background: white; box-shadow: var(--shadow); text-align: left; cursor: default; }
.hotspot-card img { width: 80px; height: 86px; object-fit: cover; }
.hotspot-card > span { display: flex; flex-direction: column; justify-content: center; }
.hotspot-card strong { font-family: Georgia, serif; font-size: 1rem; }
.hotspot-card em { margin-top: 4px; font-size: .75rem; font-style: normal; }
.hotspot-card a { margin-top: 8px; color: var(--accent); font-size: .7rem; font-weight: 700; }
.hotspot:hover .hotspot-card, .hotspot.active .hotspot-card { display: grid; }

.process-section { display: grid; grid-template-columns: 1fr 1.15fr; gap: 9vw; padding: 130px 0; }
.process-copy p { max-width: 510px; margin-bottom: 30px; color: var(--muted); }
.process-steps { border-top: 1px solid var(--line); }
.process-steps > div { display: grid; grid-template-columns: 48px 160px 1fr; gap: 18px; align-items: start; padding: 25px 0; border-bottom: 1px solid var(--line); }
.process-steps span { color: var(--muted); font-size: .72rem; }
.process-steps strong { font-family: Georgia, serif; font-size: 1.18rem; }
.process-steps p { margin: 0; color: var(--muted); font-size: .85rem; }

.site-footer { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 70px; padding: 80px max(32px, calc((100vw - 1360px)/2)); color: #d8dfda; background: var(--ink); }
.site-footer > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.site-footer h3 { margin: 0 0 10px; color: white; font-size: .74rem; letter-spacing: .13em; text-transform: uppercase; }
.site-footer a, .site-footer span, .site-footer p { color: #aeb9b2; font-size: .82rem; }
.footer-brand { margin-bottom: 6px; color: white; font-size: 1.5rem; font-weight: 800; letter-spacing: .12em; }
.footer-brand span { display: block; margin-top: 4px; color: #aeb9b2; font-size: .58rem; letter-spacing: .36em; }

.page-hero { padding: 110px max(32px, calc((100vw - 1100px)/2)); text-align: center; background: var(--cream); }
.page-hero.compact h1 { max-width: 850px; margin: 0 auto 20px; }
.page-hero p { max-width: 620px; margin: 0 auto; color: var(--muted); }
.catalog-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 45px 0 30px; color: var(--muted); font-size: .8rem; }
.catalog-search { width: min(440px,70vw); display: flex; border-bottom: 1px solid var(--ink); }
.catalog-search input { flex: 1; border: 0; padding: 12px 0; outline: 0; background: transparent; }
.catalog-search button { border: 0; background: transparent; cursor: pointer; font-weight: 700; }
.catalog-grid { grid-template-columns: repeat(3, 1fr); padding-bottom: 110px; }
.catalog-grid .product-image { height: min(42vw, 560px); }
.empty-state { padding: 40px 0; color: var(--muted); }

.product-detail { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 7vw; padding: 56px 0 100px; }
.gallery-main { height: min(74vh, 760px); position: relative; overflow: hidden; background: #efeee9; cursor: zoom-in; }
.gallery-main img, .gallery-main video { width: 100%; height: 100%; object-fit: cover; transform-origin: var(--zoom-x,50%) var(--zoom-y,50%); transition: transform .18s ease-out; }
.gallery-main.zoomed img { transform: scale(1.9); }
.zoom-hint { position: absolute; left: 16px; bottom: 16px; padding: 8px 10px; color: white; background: rgba(23,33,29,.78); font-size: .65rem; }
.gallery-thumbs { display: flex; gap: 10px; padding-top: 10px; overflow-x: auto; }
.gallery-thumbs button { width: 84px; height: 84px; flex: 0 0 auto; border: 1px solid var(--line); padding: 0; background: white; cursor: pointer; }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbs span { font-size: .65rem; }
.product-copy { padding-top: 26px; }
.breadcrumbs { display: flex; gap: 8px; margin-bottom: 62px; color: var(--muted); font-size: .72rem; }
.product-copy h1 { margin-bottom: 14px; font-size: clamp(3rem, 5vw, 5.5rem); }
.product-price { margin-bottom: 32px; font-size: 1.15rem; font-weight: 700; }
.lead-copy { color: var(--muted); font-size: 1.03rem; }
.product-specs { margin: 38px 0 34px; border-top: 1px solid var(--line); }
.product-specs > div { display: grid; grid-template-columns: 110px 1fr; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.product-specs span { color: var(--muted); }
.product-copy .button + .button { margin-top: 10px; }
.microcopy { display: block; margin-top: 14px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.product-story { padding-bottom: 110px; text-align: center; }
.product-story p { color: var(--muted); font-size: 1.08rem; }
.service-strip { display: grid; grid-template-columns: repeat(3,1fr); padding: 46px max(32px,calc((100vw - 1360px)/2)); background: var(--cream); }
.service-strip div { display: flex; flex-direction: column; align-items: center; padding: 5px 30px; text-align: center; border-right: 1px solid #d1c8b9; }
.service-strip div:last-child { border-right: 0; }
.service-strip span { margin-top: 5px; color: var(--muted); font-size: .75rem; }

.scene-list { display: grid; gap: 90px; padding: 80px 0 120px; }
.scene-card .scene-image { max-height: 800px; overflow: hidden; background: #e7e5dd; }
.scene-card .scene-image > img { width: 100%; height: min(70vw,800px); object-fit: cover; }
.scene-caption { display: flex; justify-content: space-between; gap: 30px; padding-top: 22px; }
.scene-caption h2 { margin-bottom: 6px; font-size: 2rem; }
.scene-caption p, .scene-caption > span { color: var(--muted); font-size: .78rem; }

.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.form-grid .full { grid-column: 1/-1; }
label { display: flex; flex-direction: column; gap: 7px; font-size: .76rem; font-weight: 700; }
input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 12px 13px; color: var(--ink); background: white; outline: 0; }
input:focus, textarea:focus, select:focus { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(23,33,29,.08); }
textarea { resize: vertical; }

.track-layout { padding: 100px 0 130px; }
.track-intro { max-width: 760px; margin-bottom: 52px; }
.track-intro p { color: var(--muted); }
.track-form { max-width: 650px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; padding: 30px; background: var(--cream); }
.track-order-head { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 60px; background: var(--cream); }
.track-order-head div { display: flex; flex-direction: column; padding: 25px; border-right: 1px solid #d0c8bb; }
.track-order-head div:last-child { border-right: 0; }
.track-order-head span { margin-bottom: 5px; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.timeline { max-width: 800px; margin: 0 auto; }
.timeline-item { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 24px; padding-bottom: 50px; }
.timeline-item::before { content: ""; width: 1px; position: absolute; left: 16px; top: 18px; bottom: -3px; background: var(--line); }
.timeline-item:last-child::before { display: none; }
.timeline-dot { width: 13px; height: 13px; margin: 4px auto; border: 3px solid #fbfbf8; border-radius: 50%; background: #8b958e; box-shadow: 0 0 0 1px #8b958e; z-index: 1; }
.timeline-item.current .timeline-dot { background: var(--success); box-shadow: 0 0 0 1px var(--success),0 0 0 7px rgba(36,104,68,.1); }
.timeline time { color: var(--muted); font-size: .7rem; }
.timeline h3 { margin: 5px 0 8px; font-family: Georgia,serif; font-size: 1.4rem; }
.timeline p { color: var(--muted); }
.timeline img { max-width: 520px; margin-top: 16px; }

.about-hero { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: center; padding: 100px 0; }
.about-hero p { max-width: 560px; color: var(--muted); font-size: 1.08rem; }
.about-hero img { width: 100%; height: 680px; object-fit: cover; }
.craft-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: center; padding-bottom: 120px; }
.craft-grid img { width: 100%; height: 570px; object-fit: cover; }
.craft-grid p { color: var(--muted); }

.cart-drawer { position: fixed; inset: 0; z-index: 100; pointer-events: none; }
.cart-drawer.open { pointer-events: auto; }
.cart-backdrop { position: absolute; inset: 0; opacity: 0; background: rgba(8,14,11,.55); transition: opacity .25s; }
.cart-drawer.open .cart-backdrop { opacity: 1; }
.cart-drawer aside { width: min(500px,100%); height: 100%; position: absolute; right: 0; top: 0; display: flex; flex-direction: column; padding: 24px; overflow-y: auto; transform: translateX(102%); background: #fbfbf8; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.cart-drawer.open aside { transform: translateX(0); }
.drawer-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.drawer-head h2 { margin: 0; font-size: 2rem; }
.drawer-head button { border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.cart-items { flex: 1; }
.cart-item { display: grid; grid-template-columns: 80px 1fr auto; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.cart-item img { width: 80px; height: 90px; object-fit: cover; }
.cart-item div { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cart-item strong { font-family: Georgia,serif; }
.cart-item small { color: var(--muted); }
.cart-item-controls { display: flex; flex-direction: row !important; align-items: center !important; gap: 8px !important; margin-top: 8px; }
.cart-item-controls button { width: 27px; height: 27px; border: 1px solid var(--line); background: white; cursor: pointer; }
.cart-remove { border: 0; background: transparent; cursor: pointer; color: var(--danger); }
.cart-empty { padding: 60px 0; color: var(--muted); text-align: center; }
.cart-summary { padding: 20px 0; border-top: 1px solid var(--line); }
.cart-summary div { display: flex; justify-content: space-between; }
.cart-summary small { display: block; margin-top: 8px; color: var(--muted); }
.checkout-form { display: grid; gap: 10px; padding-top: 10px; }
.checkout-form h3 { margin-bottom: 3px; }
.checkout-form textarea { min-height: 70px; }
.form-status { min-height: 20px; color: var(--danger); font-size: .75rem; }
.floating-wa { width: 52px; height: 52px; position: fixed; right: 22px; bottom: 22px; z-index: 40; display: grid; place-items: center; border-radius: 50%; color: white; background: #1e9b58; box-shadow: 0 10px 30px rgba(10,80,43,.3); font-weight: 900; font-size: .75rem; }
.flash { max-width: 900px; margin: 16px auto; padding: 13px 16px; border-left: 3px solid; font-size: .82rem; }
.flash-success { color: var(--success); background: #ecf6f0; }
.flash-error { color: var(--danger); background: #fff0ee; }

/* Installer */
.installer-page { min-height: 100vh; display: grid; place-items: center; padding: 40px 20px; background: var(--cream); }
.installer-shell { width: min(780px,100%); }
.installer-brand { margin-bottom: 20px; text-align: center; font-weight: 900; letter-spacing: .18em; }
.installer-brand span { display: block; font-size: .6rem; letter-spacing: .35em; }
.installer-card { padding: clamp(28px,6vw,64px); background: white; box-shadow: var(--shadow); }
.installer-card h1 { font-size: clamp(2.6rem,6vw,4.5rem); }
.installer-card > p { color: var(--muted); }
.installer-card hr { width: 100%; margin: 10px 0; border: 0; border-top: 1px solid var(--line); }
.installer-card form { margin-top: 34px; }
.installer-card label small { color: var(--muted); font-weight: 400; }

/* Admin */
.admin-login { min-height: 100vh; display: grid; grid-template-columns: minmax(420px,.8fr) 1.2fr; background: #fbfbf8; }
.login-panel { display: flex; flex-direction: column; justify-content: space-between; gap: 50px; padding: clamp(32px,7vw,100px); }
.login-panel h1 { margin-bottom: 14px; font-size: clamp(3rem,6vw,5.5rem); }
.login-panel p { color: var(--muted); }
.login-panel form { display: grid; gap: 16px; }
.login-art { min-height: 100vh; position: relative; overflow: hidden; }
.login-art img { width: 100%; height: 100%; object-fit: cover; }
.login-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(12,20,16,.65),transparent 55%); }
.login-art span { position: absolute; left: 50px; bottom: 50px; z-index: 1; color: white; font-family: Georgia,serif; font-size: 3rem; line-height: 1.05; }
.admin-body { min-height: 100vh; display: grid; grid-template-columns: 240px 1fr; background: #f3f4f1; }
.admin-sidebar { height: 100vh; position: sticky; top: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 28px 20px; color: white; background: var(--ink); }
.admin-brand { display: flex; align-items: center; gap: 10px; margin: 0 10px 35px; letter-spacing: .12em; }
.admin-brand span { width: 30px; height: 30px; display: grid; place-items:center; border-radius: 50%; color: var(--ink); background: var(--cream); font-family: Georgia,serif; }
.admin-sidebar nav { flex: 1; display: flex; flex-direction: column; gap: 5px; }
.admin-sidebar nav a { padding: 11px 12px; border-radius: 3px; color: #aeb9b2; font-size: .82rem; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color: white; background: rgba(255,255,255,.09); }
.admin-sidebar > div { display: flex; flex-direction: column; gap: 10px; padding: 15px 10px 0; border-top: 1px solid rgba(255,255,255,.14); }
.admin-sidebar > div a { color: #aeb9b2; font-size: .75rem; }
.admin-main { min-width: 0; padding: 0 clamp(20px,4vw,60px); }
.admin-top { display: flex; justify-content: space-between; align-items: center; min-height: 122px; border-bottom: 1px solid #d9ddd9; }
.admin-top small { color: var(--muted); letter-spacing: .15em; }
.admin-top h1 { margin: 4px 0 0; font-family: inherit; font-size: 1.8rem; font-weight: 700; letter-spacing: -.02em; }
.admin-top > span { padding: 9px 13px; border: 1px solid var(--line); background: white; font-size: .75rem; }
.admin-footer { padding: 60px 0 30px; color: var(--muted); font-size: .7rem; }
.stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; padding: 34px 0; }
.stat-grid > div { display: flex; flex-direction: column; padding: 24px; background: white; }
.stat-grid span { color: var(--muted); font-size: .72rem; }
.stat-grid strong { margin: 18px 0; font-family: Georgia,serif; font-size: 2.8rem; font-weight: 400; }
.stat-grid a { font-size: .72rem; font-weight: 700; }
.dashboard-grid { display: grid; grid-template-columns: 1.6fr .7fr; gap: 18px; }
.admin-card { padding: 24px; background: white; border: 1px solid #e3e5e1; }
.admin-card h2 { margin-bottom: 20px; font-family: inherit; font-size: 1.05rem; font-weight: 750; letter-spacing: -.01em; }
.card-head { display: flex; justify-content: space-between; align-items: center; }
.card-head a { font-size: .72rem; font-weight: 700; }
.recent-order { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.recent-order span { display: flex; flex-direction: column; }
.recent-order small { color: var(--muted); }
.recent-order em { padding: 6px 8px; color: var(--success); background: #edf6f0; font-size: .65rem; font-style: normal; }
.admin-shortcuts { display: flex; flex-direction: column; }
.admin-shortcuts a { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.admin-shortcuts span { width: 32px; height: 32px; display: grid; place-items: center; background: var(--cream); }
.admin-actions { display: flex; justify-content: space-between; align-items: center; padding: 28px 0 18px; }
.admin-actions p { margin: 0; color: var(--muted); font-size: .8rem; }
.admin-table-wrap { overflow-x: auto; background: white; border: 1px solid #e3e5e1; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .77rem; }
.admin-table th { padding: 14px 16px; color: var(--muted); background: #f8f8f5; text-align: left; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-table td { padding: 14px 16px; border-top: 1px solid var(--line); vertical-align: middle; }
.admin-table a { font-weight: 700; }
.table-product { min-width: 230px; display: flex; align-items: center; gap: 12px; }
.table-product img { width: 48px; height: 56px; object-fit: cover; }
.table-product div { display: flex; flex-direction: column; }
.table-product span { color: var(--muted); font-size: .68rem; }
.status-pill { display: inline-block; padding: 6px 8px; color: #4c5c53; background: #eef1ed; font-size: .65rem; text-transform: capitalize; }
.admin-form { display: grid; grid-template-columns: 1fr 290px; gap: 18px; padding-top: 28px; }
.admin-form-main { display: grid; gap: 18px; }
.admin-form-side .sticky,.order-admin-grid .sticky { position: sticky; top: 20px; }
.admin-card label + label,.admin-card label + button,.admin-card label + .button { margin-top: 14px; }
.check-row { flex-direction: row; align-items: center; }
.check-row input { width: auto; }
.file-input { padding: 14px; border: 1px dashed #aeb7b0; background: #f8f8f5; }
.file-input input { padding: 8px 0 0; border: 0; background: transparent; }
.media-manager { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }
.media-manager > div { position: relative; border: 1px solid var(--line); }
.media-manager img,.media-video { width: 100%; height: 130px; display: grid; place-items: center; object-fit: cover; background: #edf0ec; }
.media-manager button { width: 100%; border: 0; padding: 7px; color: var(--danger); background: white; cursor: pointer; font-size: .65rem; }
.media-manager .media-primary-button { color: var(--accent); border-bottom: 1px solid var(--line); }
.order-admin-grid { display: grid; grid-template-columns: 1fr 340px; gap: 18px; padding-top: 28px; }
.order-admin-grid > section { display: grid; gap: 18px; }
.order-customer { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.order-customer > div { display: flex; flex-direction: column; }
.order-customer span { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.order-customer p,.order-customer a { margin: 6px 0 0; font-size: .78rem; }
.order-line { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.order-line.total { padding-top: 18px; font-size: .95rem; }
.admin-timeline > div { display: grid; grid-template-columns: 18px 1fr; gap: 12px; padding-bottom: 24px; }
.admin-timeline > div > span { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: var(--success); }
.admin-timeline section { display: flex; flex-direction: column; }
.admin-timeline time { color: var(--muted); font-size: .65rem; }
.admin-timeline strong { margin-top: 3px; }
.admin-timeline p { color: var(--muted); font-size: .75rem; }
.admin-timeline img { max-width: 360px; }
.scene-admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.scene-admin-grid > a { background: white; border: 1px solid #e3e5e1; }
.scene-admin-grid img { width: 100%; height: 260px; object-fit: cover; }
.scene-admin-grid div { display: flex; justify-content: space-between; padding: 14px; }
.scene-admin-grid span { color: var(--muted); font-size: .7rem; }
.scene-editor-grid { display: grid; grid-template-columns: 360px 1fr; gap: 18px; padding-top: 28px; }
.hotspot-editor-image { position: relative; margin-bottom: 20px; cursor: crosshair; }
.hotspot-editor-image img { width: 100%; max-height: 590px; object-fit: contain; background: #eee; }
.hotspot-editor-image > span { width: 26px; height: 26px; position: absolute; left: var(--x); top: var(--y); display: grid; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; color: white; background: var(--accent); }
.hotspot-list { margin-top: 20px; border-top: 1px solid var(--line); }
.hotspot-list > div { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.hotspot-list span { display: flex; flex-direction: column; }
.hotspot-list small { color: var(--muted); }
.hotspot-list button { border: 0; color: var(--danger); background: transparent; cursor: pointer; }

@media (max-width: 1100px) {
    :root { --container: min(100% - 40px, 980px); }
    .site-header { grid-template-columns: 190px 1fr auto; padding: 0 20px; }
    .main-nav { gap: 17px; font-size: .75rem; }
    .product-grid { grid-template-columns: repeat(3,1fr); }
    .home-products .product-card:first-child { grid-column: span 1; }
    .home-products .product-card:first-child .product-image,.product-image { height: 42vw; }
    .consultation-banner { padding: 50px; }
    .consultation-visual { height: 460px; }
    .site-footer { grid-template-columns: 1.4fr repeat(2,1fr); gap: 40px; }
    .site-footer > div:last-child { grid-column: 2/4; }
    .stat-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
    :root { --container: calc(100% - 32px); }
    .announcement { font-size: .58rem; }
    .site-header { height: 70px; grid-template-columns: 1fr auto auto; }
    .menu-toggle { display: flex; flex-direction: column; gap: 6px; order: -1; }
    .menu-toggle span { width: 22px; height: 1px; background: var(--ink); }
    .brand { margin: auto; }
    .brand-mark { width: 30px; height: 30px; }
    .brand strong { font-size: .9rem; }
    .brand small { font-size: .42rem; }
    .main-nav { position: fixed; inset: 104px 0 auto; display: none; flex-direction: column; gap: 0; padding: 15px 24px 30px; background: #fbfbf8; box-shadow: var(--shadow); }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
    .main-nav a::after { display: none; }
    .search-toggle { display: none; }
    .cart-button { padding: 8px; border: 0; font-size: 0; }
    .cart-button::before { content: "Bag"; font-size: .72rem; }
    .cart-button span { margin-left: 4px; }
    .home-hero { min-height: calc(100svh - 104px); }
    .hero-copy { width: calc(100% - 32px); margin: 0 16px 90px; }
    .hero-copy h1 { font-size: clamp(3rem,14vw,5rem); }
    .hero-meta { left: 16px; right: auto; bottom: 24px; gap: 14px; font-size: .5rem; }
    .category-intro,.consultation-banner,.process-section,.product-detail,.about-hero,.craft-grid { grid-template-columns: 1fr; }
    .category-intro { gap: 24px; padding: 80px 0 38px; }
    .product-grid,.catalog-grid { grid-template-columns: repeat(2,1fr); gap: 30px 10px; }
    .home-products .product-card:first-child { grid-column: span 2; }
    .home-products .product-card:first-child .product-image { height: 120vw; }
    .product-image,.catalog-grid .product-image { height: 64vw; }
    .product-info { flex-direction: column; gap: 5px; }
    .product-info > strong { font-size: .78rem; }
    .quick-view { display: none; }
    .consultation-banner { width: 100%; gap: 38px; padding: 44px 16px; }
    .consultation-visual { height: 460px; order: 2; }
    .look-section { padding-top: 85px; }
    .look-home,.look-home > img { height: 75svh; }
    .hotspot-card { width: 230px; left: auto; right: 42px; }
    .process-section { gap: 50px; padding: 85px 0; }
    .site-footer { grid-template-columns: 1fr 1fr; padding: 60px 22px; }
    .site-footer > div:first-child,.site-footer > div:last-child { grid-column: 1/-1; }
    .site-footer > div:last-child { grid-column: 1/-1; }
    .page-hero { padding: 80px 18px; }
    .page-hero h1 { font-size: 3.4rem; }
    .product-detail { gap: 30px; padding: 16px 0 80px; }
    .gallery-main { height: 120vw; }
    .breadcrumbs { margin-bottom: 35px; }
    .product-copy { padding: 0; }
    .service-strip { grid-template-columns: 1fr; }
    .service-strip div { padding: 18px; border-right: 0; border-bottom: 1px solid #d1c8b9; }
    .service-strip div:last-child { border-bottom: 0; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .track-form,.track-order-head { grid-template-columns: 1fr; }
    .track-order-head div { border-right: 0; border-bottom: 1px solid #d0c8bb; }
    .about-hero img,.craft-grid img { height: 115vw; }
    .admin-login { grid-template-columns: 1fr; }
    .login-art { display: none; }
    .admin-body { grid-template-columns: 1fr; }
    .admin-sidebar { height: auto; position: static; flex-direction: row; align-items: center; overflow-x: auto; padding: 12px 16px; }
    .admin-brand { margin: 0 15px 0 0; }
    .admin-sidebar nav { flex-direction: row; }
    .admin-sidebar nav a { white-space: nowrap; }
    .admin-sidebar > div { display: none; }
    .admin-main { padding: 0 16px; }
    .admin-form,.order-admin-grid,.scene-editor-grid { grid-template-columns: 1fr; }
    .order-admin-grid aside { order: -1; }
    .admin-form-side .sticky,.order-admin-grid .sticky { position: static; }
    .scene-admin-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 520px) {
    .hero-copy .button { flex: 1; }
    .hero-meta span:last-child { display: none; }
    .category-intro h2 { font-size: 2.7rem; }
    .add-button { font-size: .67rem; }
    .product-info a { font-size: .95rem; }
    .consultation-visual { height: 120vw; }
    .look-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    .process-steps > div { grid-template-columns: 35px 1fr; }
    .process-steps p { grid-column: 2; }
    .scene-caption { flex-direction: column; gap: 5px; }
    .hotspot-card { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; transform: none; z-index: 110; }
    .track-layout { padding-top: 65px; }
    .timeline-item { gap: 12px; }
    .cart-drawer aside { padding: 18px; }
    .stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .stat-grid > div { padding: 16px; }
    .stat-grid strong { font-size: 2.2rem; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .admin-top { min-height: 90px; }
    .admin-top > span { display: none; }
    .media-manager { grid-template-columns: repeat(2,1fr); }
    .order-customer { grid-template-columns: 1fr; }
    .scene-admin-grid { grid-template-columns: 1fr; }
}

/* Final multi-page brand update */
.brand-image { width: 176px; height: 50px; position: relative; display: block; overflow: hidden; background: #747474; }
.brand-image img { width: 176px; max-width: none; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.footer-brand-image { width: 220px; height: 72px; position: relative; overflow: hidden; background: #707070; }
.footer-brand-image img { width: 220px; max-width: none; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.home-look-hero { height: calc(100svh - 118px); min-height: 680px; position: relative; overflow: hidden; color: white; background: #202824; }
.home-look-hero > img { width: 100%; height: 100%; object-fit: cover; }
.home-look-hero .hero-overlay { background: linear-gradient(90deg,rgba(12,19,16,.85),rgba(12,19,16,.3) 55%,rgba(12,19,16,.08)),linear-gradient(0deg,rgba(12,19,16,.45),transparent 45%); }
.home-look-hero .hero-copy { position: absolute; left: max(32px,calc((100vw - 1360px)/2)); top: 12%; margin: 0; }
.home-look-hero .hero-copy h1 { max-width: 680px; }
.home-look-hero .hotspot { z-index: 5; }
.contact-hero { min-height: 560px; display: grid; grid-template-columns: 1fr 1fr; background: var(--cream); }
.contact-hero > div { display: flex; flex-direction: column; justify-content: flex-end; padding: 90px max(32px,7vw); }
.contact-hero p { max-width: 560px; color: var(--muted); }
.contact-hero img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; padding: 100px 0; }
.contact-cards { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.contact-cards article { padding: 25px; background: var(--paper); }
.contact-cards span { color: var(--muted); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.contact-cards strong,.contact-cards a { display: block; margin-top: 9px; font-family: Georgia,serif; font-size: 1.25rem; font-weight: 400; }
.contact-note { margin-top: 22px; color: var(--muted); font-size: .74rem; }
.map-wrap,.map-wrap iframe { width: 100%; min-height: 580px; border: 0; }
.portfolio-intro { width: min(850px,calc(100% - 40px)); margin: 0 auto; padding: 100px 0 65px; text-align: center; }
.portfolio-intro p { color: var(--muted); }
.portfolio-grid { width: min(1240px,calc(100% - 32px)); margin: 0 auto 110px; columns: 3; column-gap: 16px; }
.portfolio-item { position: relative; margin: 0 0 16px; break-inside: avoid; overflow: hidden; }
.portfolio-item img { width: 100%; transition: transform .5s ease; }
.portfolio-item:hover img { transform: scale(1.035); }
.portfolio-item figcaption { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 10px 12px; color: white; background: rgba(23,33,29,.84); font-size: .7rem; }

@media (max-width: 820px) {
    .brand-image { width: 135px; height: 42px; }
    .brand-image img { width: 135px; }
    .home-look-hero { height: calc(100svh - 104px); min-height: 620px; }
    .home-look-hero .hero-copy { left: 16px; top: 10%; }
    .contact-hero,.contact-layout { grid-template-columns: 1fr; }
    .contact-hero > div { min-height: 450px; order: 2; padding: 60px 22px; }
    .contact-hero img { min-height: 90vw; }
    .portfolio-grid { columns: 2; }
}

@media (max-width: 520px) {
    .portfolio-grid { columns: 1; }
}

/* Refined storefront */
:root { --ink:#28180f; --muted:#74645a; --cream:#eadfce; --sand:#cfb999; --line:#d8c9b7; --accent:#a77a43; --brown:#4a2d1d; --brown-deep:#21130c; --paper:#faf6ef; --container:min(1360px,calc(100vw - 7vw)); --shadow:0 24px 60px rgba(40,24,15,.14); }
body { color:var(--ink); background:var(--paper); letter-spacing:-.006em; }
h1,h2 { font-family:"Iowan Old Style",Baskerville,Georgia,"Times New Roman",serif; }
.announcement { display:none; }
.site-header { height:86px; grid-template-columns:195px minmax(0,1fr) auto; padding-inline:4vw; background:rgba(250,246,239,.94); border-color:rgba(74,45,29,.17); }
.brand-image { width:185px; height:62px; display:flex; align-items:center; overflow:visible; background:transparent; }
.brand-image img { width:185px; height:auto; position:static; transform:none; }
.main-nav { gap:clamp(17px,2.2vw,34px); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.cart-button { border-radius:999px; }
.search-panel { top:86px; background:var(--paper); }
.menu-backdrop { display:none; }
.home-look-hero { height:calc(100svh - 86px); background:var(--brown-deep); }

.hero-slider { position:relative; }
.hero-slide { position:absolute; inset:0; z-index:0; overflow:hidden; opacity:0; pointer-events:none; transition:opacity .85s cubic-bezier(.22,1,.36,1); }
.hero-slide.is-active { z-index:1; opacity:1; pointer-events:auto; }
.hero-slide > img { width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 7s ease; }
.hero-slide.is-active > img { transform:scale(1); }
.hero-slide .hero-overlay { background:linear-gradient(90deg,rgba(34,18,10,.9),rgba(50,29,17,.4) 55%,rgba(42,23,13,.08)),linear-gradient(0deg,rgba(34,18,10,.56),transparent 44%); }
.hero-slide .hero-copy { width:min(720px,68vw); top:clamp(54px,8vh,110px); bottom:90px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; overflow:hidden; }
.hero-slide .hero-copy h1 { max-width:700px; margin-bottom:22px; font-size:clamp(3.4rem,7vw,7.6rem); line-height:.91; overflow-wrap:anywhere; text-wrap:balance; }
.hero-slide .hero-copy .hero-title-medium { font-size:clamp(3rem,6.2vw,6.7rem); }
.hero-slide .hero-copy .hero-title-long { font-size:clamp(2.65rem,5.2vw,5.5rem); }
.hero-slide .hero-copy .hero-title-xlong { font-size:clamp(2.25rem,4.3vw,4.5rem); }
.hero-slide .hero-copy .hero-text { max-width:540px; margin-bottom:0; font-size:clamp(.82rem,1.1vw,1rem); line-height:1.65; overflow-wrap:anywhere; }
.hero-slide .hero-copy .hero-text-long { font-size:clamp(.76rem,1vw,.9rem); line-height:1.55; }
.hero-slide .hero-copy .button { max-width:100%; margin-top:24px; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.hero-slide .hero-copy.is-condensed .eyebrow { margin-bottom:12px; }
.hero-slide .hero-copy.is-condensed h1 { margin-bottom:12px; }
.hero-slide .hero-copy.is-condensed .hero-text { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.hero-slide .hero-copy.is-condensed .button { min-height:42px; margin-top:14px; padding-block:9px; }
.hero-slider .hotspot { z-index:6; }
.hero-slider-controls { position:absolute; z-index:8; left:max(32px,calc((100vw - 1360px)/2)); bottom:24px; display:flex; align-items:center; gap:17px; }
.hero-slider-controls > button { width:36px; height:36px; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(15,17,14,.2); cursor:pointer; }
.hero-slider-controls > div { display:flex; gap:7px; }
.hero-slider-controls > div button { width:28px; height:20px; display:grid; place-items:center; padding:0; border:0; background:transparent; cursor:pointer; }
.hero-slider-controls > div span { width:100%; height:1px; background:rgba(255,255,255,.38); }
.hero-slider-controls > div button.is-active span { height:2px; background:#fff; }
.hero-slider .hero-meta { z-index:8; }

.category-intro { padding-top:140px; }
.product-grid { gap:54px 18px; }
.product-image > img { position:absolute; inset:0; }
.product-secondary-image { opacity:0; transform:scale(1.03); transition:opacity .55s ease,transform .75s ease !important; }
.product-image:hover .product-primary-image { opacity:0; }
.product-image:hover .product-secondary-image { opacity:1; transform:scale(1.01) !important; filter:saturate(.94); }
.product-image-count { position:absolute; z-index:3; top:14px; right:14px; padding:7px 10px; background:rgba(247,245,239,.92); font-size:.61rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-info > div > a { font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:1.18rem; }
.add-button { border-width:1px 0 0; padding-top:13px; }

.product-detail { grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr); padding:80px 0 130px; }
.product-gallery { position:sticky; top:118px; align-self:start; }
.gallery-main { height:min(76vh,820px); }
.gallery-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; overflow:visible; }
.gallery-thumbs button { width:auto; height:auto; aspect-ratio:1; opacity:.7; transition:opacity .2s,border-color .2s; }
.gallery-thumbs button:hover,.gallery-thumbs button.is-active { border-color:var(--ink); opacity:1; }

.site-footer { color:var(--ink); background:#e7dac8; border-top:1px solid #cdbb9f; }
.footer-brand-image { width:230px; height:80px; display:flex; align-items:center; overflow:visible; background:transparent; }
.footer-brand-image img { width:230px; height:auto; position:static; transform:none; }
.site-footer h3 { color:var(--ink); }
.site-footer a,.site-footer span,.site-footer p { color:rgba(23,23,19,.62); }

/* Lightweight content manager */
.content-editor { padding-bottom:90px; }
.content-slide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.content-slide-card { min-width:0; display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--line); background:#fff; }
.content-slide-card > img { width:100%; height:190px; object-fit:cover; background:var(--cream); }
.content-slide-card > div > strong { display:block; font-family:Georgia,serif; font-size:1.2rem; }
.content-slide-card > div > p { margin:5px 0; color:var(--muted); font-size:.72rem; }
.content-slide-card > div > a { color:var(--accent); font-size:.72rem; font-weight:700; }
.content-slide-card textarea { min-height:70px; }
.content-copy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.content-copy-grid .admin-card { display:flex; flex-direction:column; gap:14px; }
.content-copy-grid .eyebrow { margin-bottom:0; color:var(--accent); font-size:.62rem; }
.content-copy-grid h2 { margin:0 0 4px; font-size:1.7rem; }
.content-save-bar { position:sticky; z-index:20; left:0; right:0; bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding:14px 18px; border:1px solid var(--line); background:rgba(250,246,239,.96); box-shadow:var(--shadow); backdrop-filter:blur(12px); }
.content-save-bar span { color:var(--muted); font-size:.75rem; }
.field-counter { align-self:flex-end; margin-top:-3px; color:var(--muted); font-size:.62rem; font-weight:500; }
.category-intro >*,.consultation-banner >*,.process-section >* { min-width:0; }
.category-intro h2,.category-intro p,.consultation-banner h2,.consultation-banner p,.process-section h2,.process-section p { overflow-wrap:anywhere; }
.consultation-banner .button,.process-section .button { max-width:100%; white-space:normal; text-align:center; }

@media (max-width:1120px) {
    body.menu-open { overflow:hidden; touch-action:auto; }
    .site-header { height:72px; grid-template-columns:44px 1fr auto; padding:0 16px; gap:8px; }
    .menu-toggle { width:40px; height:40px; z-index:62; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:0; order:0; }
    .menu-toggle span { width:23px; height:1px; background:var(--ink); transition:transform .22s ease; }
    .menu-toggle.open span:first-child { transform:translateY(3.5px) rotate(45deg); }
    .menu-toggle.open span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
    .brand-image { width:148px; height:50px; justify-self:center; margin:0; }
    .brand-image img { width:148px; }
    .header-actions { z-index:62; justify-self:end; }
    .main-nav { position:fixed; inset:72px 0 auto; z-index:61; display:flex; flex-direction:column; gap:0; max-height:calc(100svh - 72px); padding:18px 24px 28px; overflow:auto; background:rgba(250,246,239,.99); box-shadow:0 24px 60px rgba(40,24,15,.18); transform:translateY(-115%); opacity:0; visibility:hidden; transition:transform .28s ease,opacity .2s ease,visibility .2s; white-space:normal; }
    .main-nav.open { transform:translateY(0); opacity:1; visibility:visible; }
    .main-nav a { width:100%; padding:16px 0; border-bottom:1px solid var(--line); font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:1.35rem; letter-spacing:0; text-transform:none; }
    .main-nav a::after { display:none; }
    .menu-backdrop { position:fixed; inset:72px 0 0; z-index:49; border:0; background:rgba(33,19,12,.44); }
    .menu-backdrop.open { display:block; }
    .search-toggle { display:none; }
    .cart-button { min-width:42px; min-height:42px; padding:0; border:0; font-size:0; }
    .cart-button::before { content:"Bag"; font-size:.66rem; letter-spacing:.04em; }
    .cart-button span { margin-left:5px; font-size:.58rem; }
    .search-panel { top:72px; }
    .home-look-hero { height:calc(100svh - 72px); }
}

@media (max-width:980px) {
    .content-slide-grid,.content-copy-grid { grid-template-columns:1fr; }
    .content-slide-card > img { height:min(52vw,380px); }
}

@media (max-width:820px) {
    .brand-image { width:145px; height:50px; }
    .brand-image img { width:145px; }
    .hero-slide .hero-copy { width:calc(100% - 32px); left:16px; top:48px; bottom:82px; }
    .hero-slide .hero-copy h1 { font-size:clamp(2.8rem,12vw,5rem); }
    .hero-slide .hero-copy .hero-title-medium { font-size:clamp(2.55rem,10.7vw,4.5rem); }
    .hero-slide .hero-copy .hero-title-long { font-size:clamp(2.25rem,9.5vw,3.8rem); }
    .hero-slide .hero-copy .hero-title-xlong { font-size:clamp(1.95rem,8.2vw,3.2rem); }
    .hero-slide .hero-copy .hero-text { max-width:94%; font-size:.86rem; }
    .hero-slider-controls { left:16px; bottom:20px; }
    .hero-slider .hero-meta { display:none; }
    .product-gallery { position:static; }
}

@media (max-width:520px) {
    .hero-slide .hero-copy { top:38px; }
    .hero-slide .hero-copy h1 { font-size:clamp(2.45rem,12vw,3.45rem); }
    .hero-slide .hero-copy .hero-title-medium { font-size:clamp(2.25rem,10.8vw,3.1rem); }
    .hero-slide .hero-copy .hero-title-long { font-size:clamp(2rem,9.5vw,2.75rem); }
    .hero-slide .hero-copy .hero-title-xlong { font-size:clamp(1.75rem,8.2vw,2.35rem); }
    .hero-slide .hero-copy .hero-text { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
    .gallery-thumbs { grid-template-columns:repeat(5,1fr); gap:5px; }
    .content-slide-card > img { height:58vw; }
    .content-save-bar { bottom:8px; align-items:stretch; flex-direction:column; gap:9px; }
}

/* Mobile stability pass */
html,body { max-width:100%; overflow-x:hidden; }
.site-header,.home-look-hero,.container,.product-detail,.contact-layout,.about-hero,.craft-grid { min-width:0; }
.category-intro h2,.category-intro p,.product-copy h1,.contact-hero h1,.contact-cards a,.contact-cards strong,.site-footer a { overflow-wrap:anywhere; }

@media (max-width:820px) {
    :root { --container:calc(100% - 32px); }
    body.menu-open { overflow:hidden; touch-action:none; }
    .site-header {
        height:72px;
        padding-left:max(12px,env(safe-area-inset-left));
        padding-right:max(12px,env(safe-area-inset-right));
        gap:6px;
    }
    .header-actions { min-width:42px; justify-self:end; }
    .main-nav {
        inset:72px 0 auto;
        max-height:calc(100dvh - 72px);
        padding:14px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
        overscroll-behavior:contain;
    }
    .main-nav a { min-height:52px; display:flex; align-items:center; }
    .menu-backdrop { inset:72px 0 0; }
    .search-panel { top:72px; padding:24px 16px; }

    .home-look-hero { height:calc(100svh - 72px); min-height:560px; max-height:840px; }
    .hero-slide > img { object-position:center; }
    .hero-slide .hero-copy { width:calc(100% - 32px); left:16px; top:clamp(28px,5vh,48px); bottom:76px; }
    .hero-slide .hero-copy h1 { max-width:min(560px,94vw); margin-bottom:14px; line-height:.94; }
    .hero-slide .hero-copy .hero-text { max-width:94%; line-height:1.55; }
    .hero-slide .hero-copy .button { margin-top:14px; }
    .hero-slider-controls { left:16px; bottom:14px; }
    .hero-slider .hero-meta { display:none; }
    .hotspot { width:36px; height:36px; }

    .category-intro { gap:18px; padding:72px 0 34px; }
    .category-intro h2 { font-size:clamp(2.45rem,10vw,4rem); }
    .category-intro > p { font-size:.9rem; line-height:1.65; }
    .product-grid,.catalog-grid { gap:38px 10px; }
    .product-info { min-height:0; }
    .add-button { min-height:44px; }
    .consultation-banner { gap:30px; padding:58px 16px; }
    .consultation-banner h2,.process-copy h2 { font-size:clamp(2.5rem,10vw,4rem); }
    .consultation-visual { height:auto; aspect-ratio:4/5; }
    .look-section { padding-top:72px; }
    .look-home,.look-home > img { height:auto; min-height:500px; aspect-ratio:4/5; object-fit:cover; }
    .process-section { gap:38px; padding:76px 0; }

    .page-hero { padding:64px 16px; }
    .page-hero h1 { font-size:clamp(3rem,12vw,4.8rem); }
    .catalog-toolbar { align-items:stretch; flex-direction:column; gap:18px; }
    .catalog-search { width:100%; }
    .product-detail { gap:34px; padding:28px 0 76px; }
    .product-gallery { position:static; }
    .gallery-main { height:auto; aspect-ratio:4/5; }
    .gallery-thumbs { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .breadcrumbs { max-width:100%; flex-wrap:wrap; margin-bottom:25px; overflow-wrap:anywhere; }
    .product-copy h1 { font-size:clamp(3rem,12vw,4.8rem); }
    .product-specs > div { grid-template-columns:minmax(95px,34%) minmax(0,1fr); gap:14px; }
    .product-story { padding-bottom:76px; }
    .scene-list { gap:52px; padding:58px 0 76px; }
    .scene-card .scene-image > img { height:auto; aspect-ratio:4/5; }
    .service-strip { padding:24px 16px; }

    .track-layout { padding:72px 0 86px; }
    .track-form { max-width:100%; padding:20px; }
    .track-form .button { width:100%; }
    .track-order-head { margin-bottom:42px; }
    .track-order-head div { padding:18px; }
    .timeline-item { grid-template-columns:20px minmax(0,1fr); gap:16px; }
    .timeline-item::before { left:9px; }
    .timeline img { width:100%; }

    .about-hero,.craft-grid { gap:34px; padding:64px 0; }
    .about-hero h1,.craft-grid h2 { font-size:clamp(3rem,12vw,4.8rem); }
    .about-hero img,.craft-grid img { height:auto; aspect-ratio:4/5; }
    .contact-hero { min-height:0; }
    .contact-hero > div { min-height:0; padding:46px 18px 54px; }
    .contact-hero img { min-height:0; aspect-ratio:1/1; }
    .contact-layout { gap:38px; padding:64px 0; }
    .contact-cards article { min-width:0; padding:21px 18px; }
    .contact-cards strong,.contact-cards a { font-size:1.15rem; line-height:1.35; }
    .map-wrap,.map-wrap iframe { min-height:360px; }
    .portfolio-intro { padding:64px 0 38px; }
    .portfolio-intro h1 { font-size:clamp(3.8rem,17vw,6rem); }
    .portfolio-grid { margin-bottom:72px; }

    .site-footer {
        gap:36px;
        padding-right:max(20px,env(safe-area-inset-right));
        padding-bottom:calc(28px + env(safe-area-inset-bottom));
        padding-left:max(20px,env(safe-area-inset-left));
    }
    .footer-brand-image { max-width:100%; }
    .cart-drawer aside { padding-bottom:calc(18px + env(safe-area-inset-bottom)); }

    .content-slide-card,.admin-card { min-width:0; }
    .content-slide-card input,.content-slide-card textarea,.content-copy-grid input,.content-copy-grid textarea { min-width:0; }
}

@media (max-width:520px) {
    :root { --container:calc(100% - 28px); }
    .site-header { grid-template-columns:40px minmax(0,1fr) 42px; }
    .menu-toggle { width:38px; height:38px; align-items:center; justify-content:center; }
    .brand-image { width:128px; height:46px; }
    .brand-image img { width:128px; }
    .cart-button { width:42px; padding:0; }

    .home-look-hero { min-height:540px; }
    .hero-slide .hero-copy { width:calc(100% - 28px); left:14px; top:24px; bottom:66px; }
    .hero-slide .hero-copy h1 { margin-bottom:11px; font-size:clamp(2.25rem,11.4vw,3.2rem); }
    .hero-slide .hero-copy .hero-title-medium { font-size:clamp(2.1rem,10.5vw,2.95rem); }
    .hero-slide .hero-copy .hero-title-long { font-size:clamp(1.95rem,9.4vw,2.65rem); }
    .hero-slide .hero-copy .hero-title-xlong { font-size:clamp(1.75rem,8.5vw,2.35rem); }
    .hero-slide .hero-copy .hero-text { font-size:.8rem; line-height:1.45; -webkit-line-clamp:3; }
    .hero-slide .hero-copy .eyebrow { margin-bottom:9px; font-size:.58rem; }
    .hero-slide .hero-copy .button { min-height:40px; padding:9px 15px; font-size:.7rem; }
    .hero-slider-controls { left:14px; gap:10px; }
    .hero-slider-controls > div { gap:3px; }
    .hero-slider-controls > div button { width:22px; }
    .hotspot { width:34px; height:34px; }

    .category-intro h2 { font-size:clamp(2.25rem,10.5vw,3.2rem); }
    .product-grid,.catalog-grid { display:block; }
    .product-card { margin-bottom:40px; }
    .product-card:last-child { margin-bottom:0; }
    .home-products .product-card:first-child .product-image,.product-image,.catalog-grid .product-image { height:auto; aspect-ratio:4/5; }
    .product-info { padding-top:14px; }
    .product-info a { font-size:1.12rem; }
    .consultation-banner { padding:52px 14px; }
    .consultation-visual { aspect-ratio:4/5; }
    .look-home,.look-home > img { min-height:440px; }
    .hotspot-card { max-width:calc(100% - 24px); }
    .process-steps > div { grid-template-columns:30px minmax(0,1fr); gap:12px; }
    .process-steps p { grid-column:2; }

    .page-hero { padding:54px 14px; }
    .page-hero h1 { font-size:clamp(2.75rem,13vw,3.8rem); }
    .product-detail { padding-top:22px; }
    .product-copy h1 { font-size:clamp(2.75rem,13vw,3.8rem); }
    .gallery-thumbs { gap:5px; }
    .product-specs > div { grid-template-columns:88px minmax(0,1fr); }
    .track-form { padding:16px; }
    .about-hero,.craft-grid { padding:52px 0; }
    .contact-hero > div { padding:38px 14px 46px; }
    .map-wrap,.map-wrap iframe { min-height:320px; }
    .portfolio-grid { width:calc(100% - 20px); column-gap:10px; }
    .portfolio-item { margin-bottom:10px; }
    .site-footer { grid-template-columns:1fr; gap:28px; padding-top:46px; }
    .site-footer > div:first-child,.site-footer > div:last-child { grid-column:auto; }
    .footer-brand-image,.footer-brand-image img { width:200px; }
    .cart-drawer aside { width:100%; padding:18px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
    .cart-item { grid-template-columns:68px minmax(0,1fr) auto; gap:10px; }
    .cart-item img { width:68px; height:80px; }

    .admin-main { padding:0 12px; }
    .admin-card { padding:18px; }
    .admin-actions { align-items:stretch; flex-direction:column; gap:12px; }
    .admin-actions .button { width:100%; }
    .content-save-bar { padding:12px; }
}

@media (max-width:360px) {
    .brand-image,.brand-image img { width:112px; }
    .hero-slide .hero-copy h1 { font-size:2.1rem; }
    .hero-slide .hero-copy .hero-title-long { font-size:1.82rem; }
    .product-specs > div { grid-template-columns:82px minmax(0,1fr); }
}

@media (max-height:560px) and (orientation:landscape) and (max-width:950px) {
    .home-look-hero { height:calc(100svh - 72px); min-height:430px; max-height:none; }
    .hero-slide .hero-copy { width:55vw; top:18px; bottom:50px; }
    .hero-slide .hero-copy h1 { font-size:clamp(2rem,6vw,3rem); }
    .hero-slider-controls { bottom:8px; }
}

@media (hover:none) {
    .product-image:hover .product-primary-image { opacity:1; }
    .product-image:hover .product-secondary-image { opacity:0; }
    .product-image:hover img,.portfolio-item:hover img { transform:none; filter:none; }
    .gallery-main.zoomed img { transform:none; }
    .quick-view { display:none; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* Gams gold brand and room category system */
:root { --ink:#4a2f08; --muted:#79684f; --cream:#f3e4c9; --sand:#d8bd8b; --line:#e6d3ae; --accent:#b87718; --brown:#704900; --brown-deep:#3b2400; --paper:#fffaf1; --shadow:0 24px 60px rgba(72,45,6,.14); }
body { background:#fffaf1; }
.site-header { color:#ffd28e; background:rgba(59,36,0,.97); border-color:rgba(255,210,142,.2); }
.brand-image { width:184px; height:68px; position:relative; display:block; overflow:hidden; }
.brand-image img { width:184px; max-width:none; position:absolute; left:0; top:50%; transform:translateY(-50%); }
.main-nav a::after { background:#ffd28e; }
.cart-button { color:#ffd28e; border-color:rgba(255,210,142,.72); }
.cart-button span { color:#3b2400; background:#ffd28e; }
.site-footer { color:#fff0d4; background:#3b2400; }
.site-footer h3 { color:#ffd28e; }
.site-footer a,.site-footer span,.site-footer p { color:rgba(255,238,208,.68); }
.footer-brand-image { width:240px; height:104px; position:relative; overflow:hidden; }
.footer-brand-image img { width:240px; position:absolute; left:0; top:50%; transform:translateY(-50%); }

.category-browser { padding:110px max(22px,7vw) 120px; color:#fff5e3; background:#3b2400; }
.category-browser-head { max-width:1440px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:8vw; align-items:end; margin:0 auto 48px; }
.category-browser-head h2 { max-width:820px; margin:0; }
.category-browser-head > p { margin:0 0 6px; color:rgba(255,238,208,.7); line-height:1.7; }
.category-browser-grid { max-width:1440px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; margin:0 auto; }
.category-browser-card { grid-column:span 4; min-width:0; color:var(--ink); background:#fffaf1; box-shadow:0 18px 55px rgba(17,10,0,.16); }
.category-browser-card:nth-child(1) { grid-column:span 7; }
.category-browser-card:nth-child(2) { grid-column:span 5; }
.category-browser-image { height:320px; position:relative; display:block; overflow:hidden; background:#d9c7a8; }
.category-browser-card:nth-child(-n+2) .category-browser-image { height:390px; }
.category-browser-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(35,20,0,.62)); }
.category-browser-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.category-browser-card:hover .category-browser-image img { transform:scale(1.045); }
.category-browser-image > span { width:38px; height:38px; position:absolute; z-index:2; left:18px; top:18px; display:grid; place-items:center; color:#3b2400; background:#ffd28e; border-radius:50%; font-size:.66rem; font-weight:700; }
.category-browser-image > em { position:absolute; z-index:2; right:18px; bottom:18px; color:#fff; font-size:.68rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.category-browser-copy { display:grid; gap:20px; padding:24px; }
.category-browser-copy h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:clamp(1.55rem,2vw,2.2rem); font-weight:400; }
.category-browser-copy p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.subcategory-pills { display:flex; flex-wrap:wrap; gap:7px; }
.subcategory-pills a { padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:.66rem; transition:.2s ease; }
.subcategory-pills a:hover { color:#3b2400; border-color:var(--accent); background:var(--cream); }
.catalog-toolbar + .catalog-grid { padding-top:0; }

/* Dedicated category and subcategory pages */
.category-page-hero { min-height:430px; }
.category-page-hero h1 { max-width:1080px; font-size:clamp(3.8rem,8vw,8.5rem); line-height:.86; overflow-wrap:anywhere; }
.category-breadcrumbs { margin-bottom:34px; color:rgba(255,245,228,.62); }
.category-breadcrumbs a:hover,.category-breadcrumbs strong { color:var(--champagne); }
.category-catalog-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(34px,5vw,84px); padding-top:82px; padding-bottom:120px; }
.category-sidebar { align-self:start; position:sticky; top:110px; }
.category-sidebar > div { margin-bottom:28px; }
.category-sidebar > div span { color:var(--gold); font-size:.65rem; font-weight:750; letter-spacing:.12em; }
.category-sidebar h2 { margin:8px 0 0; font-size:2rem; line-height:1; }
.category-sidebar nav { display:grid; border-top:1px solid var(--line); }
.category-sidebar nav a { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 3px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.74rem; line-height:1.35; }
.category-sidebar nav a strong { color:var(--gold); font-weight:500; opacity:0; transform:translateX(-6px); transition:.2s ease; }
.category-sidebar nav a:hover,.category-sidebar nav a.active { color:var(--brown-deep); }
.category-sidebar nav a.active { font-weight:750; }
.category-sidebar nav a:hover strong,.category-sidebar nav a.active strong { opacity:1; transform:none; }
.category-products { min-width:0; }
.category-products .catalog-toolbar { padding-top:0; }
.category-products .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:0; }
.category-empty-state { grid-column:1/-1; min-height:420px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,6vw,72px); border:1px solid var(--line); background:var(--cream); }
.category-empty-state > span { color:var(--gold); font-size:.64rem; font-weight:750; letter-spacing:.12em; }
.category-empty-state h2 { max-width:620px; margin:12px 0; font-size:clamp(2rem,4vw,4rem); line-height:1; }
.category-empty-state p { max-width:560px; margin:0 0 24px; line-height:1.65; }

@media (max-width:980px) {
    .category-catalog-layout { grid-template-columns:220px minmax(0,1fr); gap:34px; padding-top:60px; }
    .category-products .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
    .category-page-hero { min-height:360px; }
    .category-page-hero h1 { font-size:clamp(3.1rem,16vw,5.5rem); }
    .category-breadcrumbs { margin-bottom:24px; }
    .category-catalog-layout { display:block; padding-top:42px; padding-bottom:82px; }
    .category-sidebar { position:static; margin-bottom:42px; }
    .category-sidebar > div { margin-bottom:18px; }
    .category-sidebar nav { display:flex; gap:8px; padding-bottom:8px; border:0; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
    .category-sidebar nav::-webkit-scrollbar { display:none; }
    .category-sidebar nav a { min-height:42px; flex:0 0 auto; padding:10px 13px; border:1px solid var(--line); background:#fff; scroll-snap-align:start; }
    .category-sidebar nav a.active { color:#fff; border-color:var(--brown-deep); background:var(--brown-deep); }
    .category-sidebar nav a strong { display:none; }
    .category-products .catalog-grid { grid-template-columns:1fr; }
}

.admin-login { color:#fff0d4; background:#3b2400; }
.login-panel p { color:rgba(255,238,208,.68); }
.login-panel input { color:var(--ink); background:#fffaf1; }
.admin-login-logo { width:min(260px,70vw); display:block; }
.admin-login-logo img { width:100%; }
.admin-body { background:#f8f0e2; }
.admin-sidebar { background:#3b2400; }
.admin-brand { width:180px; height:78px; display:block; margin:0 10px 28px; overflow:hidden; }
.admin-brand img { width:180px; height:78px; object-fit:contain; }
.admin-sidebar nav a { color:rgba(255,238,208,.64); }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:#3b2400; background:#ffd28e; }
.admin-sidebar > div { border-color:rgba(255,210,142,.18); }
.admin-sidebar > div a { color:rgba(255,238,208,.68); }
.admin-card { border-color:#eadbc1; box-shadow:0 10px 34px rgba(72,45,6,.045); }

@media (max-width:1120px) {
    .menu-toggle span { background:#ffd28e; }
    .main-nav { color:#ffd28e; background:rgba(59,36,0,.995); box-shadow:0 24px 60px rgba(24,14,0,.28); }
    .main-nav a { border-color:rgba(255,210,142,.17); }
    .menu-backdrop { background:rgba(26,15,0,.62); }
    .category-browser-card,.category-browser-card:nth-child(1),.category-browser-card:nth-child(2) { grid-column:span 6; }
    .category-browser-card:last-child { grid-column:span 12; }
    .category-browser-image,.category-browser-card:nth-child(-n+2) .category-browser-image { height:340px; }
}

@media (max-width:820px) {
    .brand-image { width:150px; height:58px; }
    .brand-image img { width:150px; }
    .admin-brand { width:120px; height:52px; flex:0 0 120px; margin:0 12px 0 0; }
    .admin-brand img { width:120px; height:52px; }
    .category-browser { padding:74px 16px 82px; }
    .category-browser-head { grid-template-columns:1fr; gap:18px; margin-bottom:34px; }
    .category-browser-head h2 { font-size:clamp(2.55rem,10vw,4rem); overflow-wrap:anywhere; }
    .category-browser-head > p { max-width:600px; font-size:.88rem; }
    .category-browser-grid { gap:12px; }
    .category-browser-copy { padding:20px; }
}

@media (max-width:560px) {
    .brand-image { width:132px; height:54px; }
    .brand-image img { width:132px; }
    .category-browser-card,.category-browser-card:nth-child(1),.category-browser-card:nth-child(2),.category-browser-card:last-child { grid-column:1/-1; }
    .category-browser-image,.category-browser-card:nth-child(-n+2) .category-browser-image { height:auto; aspect-ratio:4/3; }
    .category-browser-copy { gap:15px; padding:18px 16px 20px; }
    .category-browser-image > em { right:14px; bottom:14px; }
    .subcategory-pills { gap:6px; }
    .subcategory-pills a { min-height:34px; display:inline-flex; align-items:center; padding:7px 9px; }
    .footer-brand-image,.footer-brand-image img { width:210px; }
    .admin-login { display:block; }
    .admin-brand { width:104px; height:46px; flex-basis:104px; }
    .admin-brand img { width:104px; height:46px; }
    .login-panel { min-height:100svh; padding:32px 20px; }
    .login-art { display:none; }
}

/* Responsive navigation, shop and category rebuild */
.site-header { height:80px; grid-template-columns:190px minmax(0,1fr) auto; gap:24px; padding:0 clamp(18px,4vw,64px); }
.brand-image { width:178px; height:64px; display:flex; align-items:center; overflow:visible; }
.brand-image img { width:178px; height:auto; position:static; transform:none; }
.main-nav { min-width:0; align-items:center; gap:clamp(14px,1.8vw,28px); }
.main-nav > a,.nav-category-menu > summary { position:relative; padding:30px 0; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; white-space:nowrap; cursor:pointer; list-style:none; }
.nav-category-menu > summary::-webkit-details-marker { display:none; }
.nav-category-menu { position:relative; }
.nav-category-menu > summary { display:flex; align-items:center; gap:7px; }
.nav-category-menu > summary span { transition:transform .2s ease; }
.nav-category-menu[open] > summary span { transform:rotate(180deg); }
.nav-category-panel { width:min(960px,88vw); position:absolute; z-index:120; left:50%; top:calc(100% + 1px); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; padding:1px; transform:translateX(-50%); color:var(--ink); background:var(--line); box-shadow:0 28px 70px rgba(28,16,0,.28); }
.nav-category-group { min-width:0; padding:20px; background:var(--paper); }
.main-nav .nav-category-panel a { min-height:0; display:block; padding:6px 0; border:0; color:var(--muted); font-family:Inter,"Helvetica Neue",Arial,sans-serif; font-size:.68rem; line-height:1.4; letter-spacing:0; text-transform:none; white-space:normal; }
.main-nav .nav-category-panel a::after { display:none; }
.main-nav .nav-category-panel .nav-category-title { display:flex; justify-content:space-between; gap:10px; margin-bottom:9px; padding-bottom:11px; border-bottom:1px solid var(--line); color:var(--ink); font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:1.08rem; }

.home-look-hero { height:calc(100svh - 80px); min-height:620px; max-height:900px; }
.hero-slide .hero-copy { width:min(700px,66vw); left:clamp(20px,6vw,96px); top:clamp(42px,7vh,92px); bottom:82px; justify-content:center; overflow:visible; }
.hero-slide .hero-copy h1 { font-size:clamp(3.1rem,6.4vw,7rem); }
.hero-slider-controls { left:clamp(20px,6vw,96px); bottom:18px; }
.hero-slider .hotspot { touch-action:manipulation; }

.home-products { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:50px 18px; }
.home-products .product-card,.home-products .product-card:first-child { grid-column:span 4; }
.home-products .product-image,.home-products .product-card:first-child .product-image { height:auto; aspect-ratio:4/5; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px 18px; }
.catalog-grid .product-image { height:auto; aspect-ratio:4/5; }
.product-info { min-width:0; }
.product-info > div { min-width:0; }
.product-info a,.product-info small { overflow-wrap:anywhere; }

.category-browser { scroll-margin-top:80px; padding:108px max(20px,7vw) 118px; }
.category-browser-head { margin-bottom:42px; }
.category-dropdown-list { max-width:1440px; margin:0 auto; border-top:1px solid rgba(255,210,142,.3); }
.category-dropdown { border-bottom:1px solid rgba(255,210,142,.25); }
.category-dropdown > summary { min-height:112px; display:grid; grid-template-columns:46px 112px minmax(0,1fr) 42px; gap:22px; align-items:center; padding:14px 0; cursor:pointer; list-style:none; }
.category-dropdown > summary::-webkit-details-marker { display:none; }
.category-number { color:#ffd28e; font-size:.67rem; letter-spacing:.12em; }
.category-dropdown summary img { width:112px; height:82px; object-fit:cover; }
.category-summary-copy { min-width:0; display:flex; flex-direction:column; gap:6px; }
.category-summary-copy strong { font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:clamp(1.55rem,2.6vw,2.65rem); font-weight:400; line-height:1.05; }
.category-summary-copy small { color:rgba(255,238,208,.65); font-size:.76rem; }
.category-chevron { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(255,210,142,.36); border-radius:50%; font-size:1.2rem; transition:transform .22s ease,background .22s ease; }
.category-dropdown[open] .category-chevron { color:#3b2400; background:#ffd28e; transform:rotate(180deg); }
.category-dropdown-panel { display:grid; grid-template-columns:minmax(180px,.35fr) minmax(0,1fr); gap:5vw; padding:8px 0 30px 180px; }
.category-all-link { align-self:start; padding-bottom:7px; border-bottom:1px solid #ffd28e; color:#ffd28e; font-size:.72rem; }
.category-dropdown-panel > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.category-dropdown-panel > div a { min-width:0; display:flex; justify-content:space-between; gap:12px; padding:12px 14px; color:var(--ink); background:var(--paper); font-size:.72rem; line-height:1.35; overflow-wrap:anywhere; }
.category-dropdown-panel > div a:hover { background:#ffd28e; }

.scene-list { width:min(1280px,calc(100% - 7vw)); }
.scene-card .scene-image { max-height:none; overflow:visible; }
.scene-card .scene-image > img { height:auto; aspect-ratio:16/10; object-fit:cover; }
.scene-caption { align-items:flex-start; }

@media (max-width:1120px) {
    .site-header { height:72px; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; padding:0 14px; }
    .brand-image { width:148px; height:54px; justify-self:center; }
    .brand-image img { width:148px; }
    .main-nav { inset:72px 0 auto; align-items:stretch; padding:12px 20px calc(24px + env(safe-area-inset-bottom)); background:rgba(59,36,0,.995); }
    .main-nav > a,.nav-category-menu > summary { width:100%; min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(255,210,142,.18); font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:1.25rem; text-transform:none; }
    .nav-category-menu { width:100%; }
    .nav-category-panel { width:100%; position:static; grid-template-columns:1fr; gap:0; padding:0 0 10px; transform:none; background:transparent; box-shadow:none; }
    .nav-category-group { padding:13px 14px; border-bottom:1px solid rgba(255,210,142,.13); background:rgba(255,255,255,.045); }
    .main-nav .nav-category-panel a { color:rgba(255,238,208,.7); }
    .main-nav .nav-category-panel .nav-category-title { color:#ffd28e; border-color:rgba(255,210,142,.17); }
    .menu-backdrop { inset:72px 0 0; }
    .home-look-hero { height:calc(100svh - 72px); min-height:580px; }
    .home-products .product-card,.home-products .product-card:first-child { grid-column:span 6; }
    .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .category-dropdown-panel { padding-left:0; }
}

@media (max-width:820px) {
    .home-look-hero { height:clamp(520px,calc(100svh - 72px),720px); min-height:0; max-height:none; }
    .hero-slide .hero-copy { width:calc(100% - 32px); left:16px; top:clamp(24px,5vh,44px); bottom:66px; justify-content:center; }
    .hero-slide .hero-copy h1 { max-width:620px; margin-bottom:14px; font-size:clamp(2.55rem,10.5vw,4.8rem); }
    .hero-slide .hero-copy .hero-title-medium { font-size:clamp(2.35rem,9.7vw,4.2rem); }
    .hero-slide .hero-copy .hero-title-long { font-size:clamp(2.15rem,8.8vw,3.7rem); }
    .hero-slide .hero-copy .hero-title-xlong { font-size:clamp(1.9rem,8vw,3.1rem); }
    .hero-slide .hero-copy .hero-text { max-width:94%; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:.83rem; line-height:1.5; }
    .hero-slider-controls { left:16px; bottom:12px; }
    .category-browser { scroll-margin-top:72px; padding:74px 16px 82px; }
    .category-dropdown > summary { min-height:96px; grid-template-columns:34px 90px minmax(0,1fr) 38px; gap:14px; }
    .category-dropdown summary img { width:90px; height:68px; }
    .category-dropdown-panel { grid-template-columns:1fr; gap:18px; padding:4px 0 24px; }
    .category-all-link { width:max-content; max-width:100%; }
    .category-dropdown-panel > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .scene-list { width:calc(100% - 32px); }
    .scene-card .scene-image > img { aspect-ratio:4/5; }
    .scene-caption { flex-direction:column; gap:8px; }
    .scene-image .hotspot-card { width:min(330px,calc(100vw - 24px)); position:fixed; left:12px; right:12px; top:auto; bottom:calc(12px + env(safe-area-inset-bottom)); transform:none; z-index:110; }
}

@media (max-width:560px) {
    .site-header { grid-template-columns:40px minmax(0,1fr) 42px; padding:0 10px; }
    .brand-image { width:126px; height:50px; }
    .brand-image img { width:126px; }
    .home-look-hero { height:clamp(500px,calc(100svh - 72px),650px); }
    .hero-slide .hero-copy { width:calc(100% - 28px); left:14px; top:20px; bottom:58px; }
    .hero-slide .hero-copy h1 { font-size:clamp(2.25rem,11vw,3.25rem); }
    .hero-slide .hero-copy .hero-title-medium { font-size:clamp(2.1rem,10.2vw,2.95rem); }
    .hero-slide .hero-copy .hero-title-long { font-size:clamp(1.92rem,9.3vw,2.65rem); }
    .hero-slide .hero-copy .hero-title-xlong { font-size:clamp(1.72rem,8.3vw,2.3rem); }
    .hero-slide .hero-copy .hero-text { font-size:.78rem; }
    .hero-slide .hero-copy .button { min-height:40px; margin-top:10px; padding:9px 15px; font-size:.68rem; }
    .home-products,.catalog-grid { display:grid; grid-template-columns:1fr; gap:40px; }
    .home-products .product-card,.home-products .product-card:first-child { grid-column:auto; margin:0; }
    .product-info { align-items:flex-start; flex-direction:column; gap:7px; }
    .category-browser-head h2 { font-size:clamp(2.35rem,10.5vw,3.25rem); }
    .category-dropdown > summary { min-height:84px; grid-template-columns:28px 72px minmax(0,1fr) 34px; gap:10px; }
    .category-dropdown summary img { width:72px; height:60px; }
    .category-summary-copy strong { font-size:1.35rem; }
    .category-summary-copy small { display:none; }
    .category-chevron { width:32px; height:32px; }
    .category-dropdown-panel > div { grid-template-columns:1fr; }
    .scene-list { width:calc(100% - 28px); }
}

@media (max-width:360px) {
    .brand-image,.brand-image img { width:112px; }
    .hero-slide .hero-copy h1 { font-size:2.1rem; }
    .category-dropdown > summary { grid-template-columns:24px 62px minmax(0,1fr) 30px; gap:8px; }
    .category-dropdown summary img { width:62px; height:54px; }
    .category-summary-copy strong { font-size:1.18rem; }
}

@media (max-height:560px) and (orientation:landscape) and (max-width:950px) {
    .home-look-hero { height:440px; min-height:440px; }
    .hero-slide .hero-copy { width:55vw; top:14px; bottom:46px; }
    .hero-slide .hero-copy h1 { font-size:clamp(2rem,5.5vw,3rem); }
    .hero-slide .hero-copy .hero-text { -webkit-line-clamp:2; }
}

/* Editorial category mosaic */
.category-browser { color:var(--ink); background:#f4eee3; }
.category-browser .eyebrow { color:var(--accent); }
.category-browser-head > p { color:var(--muted); }
.category-mosaic { max-width:1440px; min-height:880px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:330px 300px 220px; gap:18px; margin:0 auto; }
.category-tile { min-width:0; min-height:0; position:relative; overflow:hidden; isolation:isolate; background:#5c482d; }
.category-tile-1 { grid-column:1 / 7; grid-row:1 / 3; }
.category-tile-2 { grid-column:7 / 13; grid-row:1; }
.category-tile-3 { grid-column:7 / 10; grid-row:2; }
.category-tile-4 { grid-column:10 / 13; grid-row:2; }
.category-tile-5 { grid-column:1 / 13; grid-row:3; }
.category-tile-image { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .3s ease; }
.category-tile::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:rgba(34,20,3,.18); transition:background .3s ease; }
.category-tile:hover .category-tile-image,.category-tile:focus-within .category-tile-image { transform:scale(1.025); }
.category-tile-trigger { width:100%; position:absolute; z-index:3; inset:0; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:clamp(20px,3vw,42px); color:#fff; text-align:left; cursor:pointer; list-style:none; }
.category-tile-trigger::-webkit-details-marker { display:none; }
.category-tile-number { align-self:flex-end; padding-top:7px; border-top:1px solid rgba(255,255,255,.75); font-size:.65rem; font-weight:700; letter-spacing:.16em; }
.category-tile-copy { min-width:0; display:flex; flex:1; flex-direction:column; gap:8px; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.category-tile-copy strong { font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:clamp(2rem,3.5vw,4rem); font-weight:600; line-height:.98; overflow-wrap:anywhere; }
.category-tile-copy small { width:max-content; max-width:100%; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:.67rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.category-tile-2 .category-tile-copy strong,.category-tile-3 .category-tile-copy strong,.category-tile-4 .category-tile-copy strong { font-size:clamp(1.55rem,2.5vw,2.75rem); }
.category-tile-5 .category-tile-copy { max-width:720px; }
.category-tile-panel { position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(20px,3vw,42px); overflow:auto; color:#fff7e8; background:rgba(59,36,0,.94); opacity:0; visibility:hidden; transform:translateY(24px); transition:opacity .24s ease,visibility .24s ease,transform .3s ease; pointer-events:none; }
.category-tile[open] .category-tile-panel { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.category-tile[open]::after { background:rgba(34,20,3,.5); }
.category-tile-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.category-tile-panel-head span { color:#ffd28e; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.category-tile-panel-head h3 { margin:6px 0 0; font-size:clamp(1.75rem,3vw,3.5rem); line-height:1; }
.category-tile-panel-head button { min-height:36px; padding:8px 12px; border:1px solid rgba(255,210,142,.55); color:#ffd28e; background:transparent; font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.category-tile-panel > p { max-width:650px; margin:16px 0 18px; color:rgba(255,247,232,.72); font-size:.78rem; line-height:1.55; }
.category-tile-links { display:flex; flex-wrap:wrap; gap:8px; }
.category-tile-links a { min-height:38px; display:inline-flex; align-items:center; padding:9px 12px; border:1px solid rgba(255,210,142,.42); color:#fff7e8; background:rgba(255,255,255,.055); font-size:.7rem; line-height:1.25; }
.category-tile-links a:hover,.category-tile-links a:focus-visible { color:#3b2400; background:#ffd28e; }
.category-tile-all { width:max-content; max-width:100%; margin-top:18px; padding-bottom:5px; border-bottom:1px solid #ffd28e; color:#ffd28e; font-size:.68rem; font-weight:700; letter-spacing:.05em; }
.category-tile-3 .category-tile-panel,.category-tile-4 .category-tile-panel { padding:20px; }
.category-tile-3 .category-tile-panel > p,.category-tile-4 .category-tile-panel > p { display:none; }
.category-tile-3 .category-tile-panel-head h3,.category-tile-4 .category-tile-panel-head h3 { font-size:1.65rem; }
.category-tile-3 .category-tile-links a,.category-tile-4 .category-tile-links a { min-height:32px; padding:7px 9px; font-size:.62rem; }

@media (max-width:980px) {
    .category-mosaic { min-height:0; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:300px; }
    .category-tile,.category-tile-1,.category-tile-2,.category-tile-3,.category-tile-4,.category-tile-5 { grid-column:auto; grid-row:auto; }
    .category-tile-1,.category-tile-5 { grid-column:1 / -1; }
    .category-tile-1 { min-height:430px; }
    .category-tile-5 { min-height:270px; }
    .category-tile-3 .category-tile-panel,.category-tile-4 .category-tile-panel { padding:24px; }
}

@media (max-width:620px) {
    .category-mosaic { display:grid; grid-template-columns:1fr; grid-auto-rows:auto; gap:12px; }
    .category-tile,.category-tile-1,.category-tile-2,.category-tile-3,.category-tile-4,.category-tile-5 { grid-column:auto; min-height:0; aspect-ratio:4/5; }
    .category-tile-5 { aspect-ratio:4/3; }
    .category-tile-trigger { align-items:flex-start; flex-direction:column; justify-content:flex-end; gap:12px; padding:22px 18px; }
    .category-tile-number { align-self:flex-start; padding-top:5px; }
    .category-tile-copy { flex:0; }
    .category-tile-copy strong,.category-tile-2 .category-tile-copy strong,.category-tile-3 .category-tile-copy strong,.category-tile-4 .category-tile-copy strong { font-size:clamp(2rem,10vw,3rem); }
    .category-tile-panel,.category-tile-3 .category-tile-panel,.category-tile-4 .category-tile-panel { justify-content:center; padding:22px 18px; }
    .category-tile-panel > p,.category-tile-3 .category-tile-panel > p,.category-tile-4 .category-tile-panel > p { display:block; margin:13px 0 15px; }
    .category-tile-panel-head h3,.category-tile-3 .category-tile-panel-head h3,.category-tile-4 .category-tile-panel-head h3 { font-size:clamp(1.8rem,9vw,2.7rem); }
    .category-tile-links { gap:6px; }
    .category-tile-links a,.category-tile-3 .category-tile-links a,.category-tile-4 .category-tile-links a { min-height:36px; padding:8px 10px; font-size:.66rem; }
}

/* Mobile category dropdown and clean editorial slider */
.hero-slider .hero-overlay { display:none!important; }
.hero-slider .hero-copy {
    width:min(620px,calc(100% - 56px));
    left:28px;
    top:auto;
    bottom:28px;
    justify-content:flex-start;
    padding:30px 32px;
    overflow:visible;
    color:var(--brown-deep);
    background:rgba(255,250,241,.96);
    box-shadow:0 20px 54px rgba(45,25,2,.17);
}
.hero-slider .hero-copy .eyebrow { margin-bottom:12px; color:var(--accent); }
.hero-slider .hero-copy h1,.hero-slider .hero-copy p { color:var(--brown-deep); }
.hero-slider .hero-copy h1 { margin-bottom:14px; font-size:clamp(2.6rem,4.2vw,4.8rem); }
.hero-slider .hero-copy p { max-width:520px; margin-bottom:20px; color:var(--muted); font-size:.86rem; }
.hero-slider-controls { top:20px; right:20px; bottom:auto; left:auto; padding:6px; gap:8px; background:rgba(255,250,241,.94); box-shadow:0 10px 30px rgba(45,25,2,.13); }
.hero-slider-controls > button { color:var(--brown-deep); border-color:rgba(59,36,0,.2); background:#fffaf1; }
.hero-slider-controls > div span { background:rgba(59,36,0,.2); }
.hero-slider-controls > div button.is-active span { background:var(--accent); }
.hero-slider .hero-meta { right:20px; bottom:20px; padding:8px 11px; color:var(--brown-deep); background:rgba(255,250,241,.94); }

@media (max-width:1120px) {
    .nav-category-menu > summary { position:relative; z-index:2; }
    .nav-category-panel { max-height:0; padding:0; overflow:hidden; opacity:0; visibility:hidden; transition:max-height .32s ease,opacity .2s ease,padding .25s ease,visibility 0s linear .32s; }
    .nav-category-menu[open] .nav-category-panel { max-height:min(58dvh,520px); padding:10px 0 14px; overflow-y:auto; opacity:1; visibility:visible; transition-delay:0s; }
    .hero-slider .hero-copy { width:calc(100% - 40px); left:20px; bottom:20px; padding:25px; }
    .hero-slider-controls { top:14px; right:auto; left:14px; }
}

@media (max-width:560px) {
    .nav-category-menu[open] .nav-category-panel { max-height:62dvh; }
    .hero-slider .hero-copy { width:calc(100% - 28px); left:14px; bottom:14px; padding:19px 18px; }
    .hero-slider .hero-copy .eyebrow { margin-bottom:8px; }
    .hero-slider .hero-copy h1 { margin-bottom:10px; font-size:clamp(2.05rem,10vw,3rem); }
    .hero-slider .hero-copy p { margin-bottom:15px; font-size:.76rem; line-height:1.45; }
    .hero-slider-controls { top:12px; left:12px; }
}

@media (max-width:370px) {
    .category-tile-links a,.category-tile-3 .category-tile-links a,.category-tile-4 .category-tile-links a { min-height:32px; padding:7px 8px; font-size:.61rem; }
    .category-tile-panel > p { font-size:.7rem; }
}

/* Final footer architecture */
.site-footer { display:block; padding:0; color:#fff0d4; background:#3b2400; border-top:1px solid rgba(255,210,142,.2); }
.site-footer-main { width:var(--container); display:grid; grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(135px,.72fr)) minmax(250px,1fr); gap:clamp(34px,5vw,76px); margin:0 auto; padding:clamp(54px,6vw,82px) 0 48px; }
.site-footer-main > * { min-width:0; }
.site-footer-brand { display:flex; flex-direction:column; align-items:flex-start; }
.site-footer-brand p { max-width:390px; margin:20px 0 28px; color:rgba(255,240,212,.65); font-size:.76rem; line-height:1.75; }
.site-footer-brand > span { color:rgba(255,240,212,.43); font-size:.63rem; letter-spacing:.04em; }
.site-footer .footer-brand-image { width:210px; height:auto; }
.site-footer .footer-brand-image img { width:210px; filter:brightness(0) invert(1); }
.site-footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.site-footer h3 { margin:0 0 9px; color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.site-footer-column a { color:rgba(255,240,212,.64); font-size:.72rem; line-height:1.45; transition:color .2s ease,transform .2s ease; }
.site-footer-column a:hover { color:#ffd28e; transform:translateX(3px); }
.site-footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.site-footer-contact > p { max-width:330px; margin:0 0 22px; color:rgba(255,240,212,.61); font-size:.72rem; line-height:1.65; }
.site-footer-contact > a:last-child { margin-top:15px; color:rgba(255,240,212,.64); font-size:.69rem; overflow-wrap:anywhere; }
.site-footer-wa { width:100%; display:flex; flex-direction:column; gap:5px; padding:15px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.site-footer-wa small { color:#ffd28e; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.site-footer-wa strong { color:#fff; font-family:Georgia,serif; font-size:clamp(1rem,1.5vw,1.28rem); font-weight:500; overflow-wrap:anywhere; }
.site-footer-bottom { width:var(--container); display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 auto; padding:20px 0 25px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,240,212,.46); font-size:.62rem; }
.site-footer-bottom > div { display:flex; flex-wrap:wrap; gap:18px; }
.site-footer-bottom a:hover { color:#ffd28e; }

@media (max-width:980px) {
    .site-footer-main { grid-template-columns:1.25fr 1fr; gap:46px 54px; }
}
@media (max-width:580px) {
    .site-footer-main { grid-template-columns:1fr; gap:34px; padding:48px 0 36px; }
    .site-footer-brand { padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.14); }
    .site-footer-column { padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.11); }
    .site-footer-bottom { align-items:flex-start; flex-direction:column; padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}

/* Integrated CMS controls and storefront states */
.maintenance-notice { padding:9px clamp(16px,4vw,48px); color:#fff8eb; background:#6b4617; text-align:center; font-size:.7rem; line-height:1.45; }
.catalog-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:42px auto 10px; }
.catalog-pagination a { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:.72rem; font-weight:750; }
.catalog-pagination a.active { color:#fff; border-color:var(--brown-deep); background:var(--brown-deep); }
.portfolio-item figcaption { display:flex; flex-direction:column; gap:4px; }
.portfolio-item figcaption strong { font-weight:700; }
.portfolio-item figcaption span { color:var(--muted); font-size:.68rem; line-height:1.55; }
.footer-socials { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; }
.footer-socials a { color:rgba(255,255,255,.76); font-size:.64rem; text-decoration:underline; text-underline-offset:4px; }

.button-danger { color:#9f2f24; border:1px solid rgba(159,47,36,.24); background:#fff7f5; }
.button-danger:hover { color:#fff; background:#9f2f24; }
.module-image-preview { width:100%; max-height:260px; display:block; margin:0 0 12px; border:1px solid var(--line); border-radius:10px; object-fit:contain; background:#f7f1e8; }
.media-manager > div { overflow:hidden; border-radius:10px; background:#fff; }
.media-manager .media-order-actions { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.media-manager .media-order-actions button { color:var(--brown-deep); font-size:.82rem; }
.media-manager .media-order-actions button + button { border-left:1px solid var(--line); }
.media-primary-badge { position:absolute; z-index:2; top:8px; left:8px; padding:5px 8px; border-radius:999px; color:#fff; background:var(--brown-deep); font-size:.56rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.media-upload-form { display:grid; grid-template-columns:1.3fr repeat(3,minmax(150px,1fr)) auto; align-items:end; gap:14px; margin-bottom:28px; }
.media-upload-form h2 { margin-bottom:4px; }
.media-upload-form p { margin:0; color:var(--muted); font-size:.7rem; }
.media-upload-form label { margin:0!important; }
.media-section-head { margin:28px 0 12px; }
.media-library-grid article { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:12px; }
.media-library-grid article > img,.media-library-grid article > .media-file-placeholder { width:100%; height:160px; object-fit:cover; }
.media-library-grid article > div { padding:12px; }
.media-library-grid article small { display:block; margin-top:4px; overflow:hidden; color:var(--muted); font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
.media-library-grid article .copy-media-path { margin-top:9px; padding:5px 8px; border:1px solid var(--line); border-radius:6px; color:var(--brown-deep); background:#fffaf1; cursor:pointer; font-size:.58rem; font-weight:750; }
.media-library-grid article form { border-top:1px solid var(--line); }
.media-library-grid article form button { width:100%; padding:9px; border:0; color:var(--danger); background:#fff; cursor:pointer; }
.portfolio-admin-split { margin-top:20px; }
.portfolio-admin-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.portfolio-admin-list a { min-width:0; display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:12px; padding:8px; border:1px solid var(--line); border-radius:10px; }
.portfolio-admin-list img { width:76px; height:68px; border-radius:7px; object-fit:cover; }
.portfolio-admin-list span { min-width:0; display:flex; flex-direction:column; }
.portfolio-admin-list strong,.portfolio-admin-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-admin-list small { margin-top:4px; color:var(--muted); font-size:.62rem; }
.permission-form { margin-top:18px; }
.permission-form .card-head { gap:20px; }
.permission-form .card-head p { margin:4px 0 0; color:var(--muted); font-size:.7rem; }
.permission-table { margin-top:18px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.permission-row { min-height:48px; display:grid; grid-template-columns:minmax(220px,1fr) 120px 120px; align-items:center; border-top:1px solid var(--line); }
.permission-row:first-child { border-top:0; }
.permission-row > * { padding:10px 14px; }
.permission-row > span { display:flex; flex-direction:column; }
.permission-row small { margin-top:2px; color:var(--muted); font-size:.58rem; }
.permission-row label { min-height:48px; display:flex; align-items:center; gap:7px; margin:0!important; border-left:1px solid var(--line); }
.permission-row label input { width:auto; }
.permission-head { min-height:40px; background:#f7efe3; font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; }
.permission-head strong + strong { border-left:1px solid var(--line); }
.permission-save-mobile { display:none; }
.backup-layout { display:grid; grid-template-columns:1.4fr .8fr; gap:18px; padding-top:28px; }
.backup-restore-panel { align-self:start; }
.backup-restore-panel p { color:var(--muted); font-size:.75rem; line-height:1.6; }
.product-filter-form { display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr)) auto auto; align-items:end; gap:12px; margin-bottom:16px; padding:16px 18px; }
.product-filter-form label { margin:0!important; }
.product-info > .product-card-price { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; margin:0; color:var(--ink); overflow:visible; font-size:inherit; white-space:nowrap; }
.product-card-price del,.product-price del { color:var(--muted); font-size:.67rem; font-weight:500; }
.product-card-price strong { font-size:.86rem; }
.product-price { display:flex; align-items:baseline; gap:10px; }
.product-price strong { font-size:1.15rem; }

@media (max-width:1100px) {
    .media-upload-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .media-upload-form > div,.media-upload-form .button { grid-column:1/-1; }
    .backup-layout { grid-template-columns:1fr; }
    .product-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-filter-form > .button { justify-content:center; }
}
@media (max-width:720px) {
    .media-upload-form { grid-template-columns:1fr; }
    .media-upload-form > * { grid-column:1!important; }
    .portfolio-admin-list { grid-template-columns:1fr; }
    .permission-form .card-head { align-items:flex-start; flex-direction:column; }
    .permission-form .card-head .button { display:none; }
    .permission-row { grid-template-columns:minmax(130px,1fr) 74px 86px; }
    .permission-row > * { padding:9px 8px; }
    .permission-row label { justify-content:center; }
    .permission-row label span { display:none; }
    .permission-save-mobile { width:100%; display:flex; margin-top:14px; justify-content:center; }
    .product-filter-form { grid-template-columns:1fr; }
    .product-info > .product-card-price { align-items:flex-start; }
}

@media (max-width:520px) {
    .product-card-actions a { min-height:40px; padding-inline:6px; font-size:.61rem; }
    .product-card-actions .product-card-whatsapp span { display:none; }
    .product-card-actions .product-card-whatsapp small { display:inline; }
}

/* Admin information architecture and modules */
.admin-body { --admin-sidebar-width:286px; }
.admin-sidebar { padding:20px 14px 16px; gap:16px; }
.admin-sidebar-head { min-height:58px; }
.admin-sidebar .admin-brand { width:168px; min-height:50px; }
.admin-nav-tree { gap:4px!important; padding-right:3px; }
.admin-sidebar nav .admin-nav-dashboard { min-height:44px; grid-template-columns:24px minmax(0,1fr); padding:8px 10px; margin-bottom:5px; }
.admin-nav-icon { display:grid; place-items:center; opacity:.78; }
.admin-nav-group { flex:0 0 auto; }
.admin-nav-group > summary { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; color:rgba(255,245,229,.48); font-size:.57rem; font-weight:800; letter-spacing:.15em; list-style:none; cursor:pointer; }
.admin-nav-group > summary::-webkit-details-marker { display:none; }
.admin-nav-group > summary b { font-size:.76rem; font-weight:400; transition:transform .2s ease; }
.admin-nav-group[open] > summary b { transform:rotate(180deg); }
.admin-nav-group > div { display:grid; gap:2px; padding:0 0 6px 7px; }
.admin-sidebar nav .admin-nav-group a { min-height:35px; display:flex; padding:7px 10px 7px 14px; border-radius:8px; font-size:.68rem; font-weight:600; letter-spacing:.01em; }
.admin-sidebar nav .admin-nav-group a.active { color:#3b2400; background:#f2cf94; }
.admin-split { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr); align-items:start; gap:20px; }
.entity-list { display:grid; gap:2px; margin-top:16px; }
.entity-list > a,.entity-list > div { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 4px; border-bottom:1px solid rgba(91,58,8,.1); }
.entity-list span { min-width:0; display:flex; flex-direction:column; gap:4px; }
.entity-list strong { font-size:.84rem; }
.entity-list small { color:var(--muted); font-size:.66rem; overflow-wrap:anywhere; }
.entity-list em { flex:0 0 auto; padding:6px 8px; border-radius:999px; color:var(--accent); background:#f3e5cf; font-size:.58rem; font-style:normal; font-weight:800; text-transform:uppercase; }
.module-form { max-width:980px; }
.module-form-actions { display:flex; justify-content:flex-end; margin-top:20px; padding-top:18px; border-top:1px solid rgba(91,58,8,.1); }
.stat-grid.compact { max-width:700px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.media-library-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.media-library-grid > a { min-width:0; overflow:hidden; border:1px solid rgba(91,58,8,.1); border-radius:12px; background:#fffdf8; }
.media-library-grid img,.media-file-placeholder { width:100%; aspect-ratio:1; display:grid; place-items:center; object-fit:cover; background:#e9ddca; color:var(--accent); font-size:.7rem; font-weight:800; }
.media-library-grid > a > div { display:flex; flex-direction:column; gap:3px; padding:10px; }
.media-library-grid strong { overflow:hidden; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.media-library-grid small { color:var(--muted); font-size:.58rem; text-transform:uppercase; }
.role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.role-grid p,.notice-card p,.backup-panel p { color:var(--muted); line-height:1.65; }
.role-badge { display:inline-flex; margin-bottom:20px; padding:6px 8px; color:var(--accent); background:#f2e4cc; border-radius:999px; font-size:.56rem; font-weight:800; letter-spacing:.1em; }
.notice-card { margin-top:18px; }
.backup-panel { max-width:900px; }
.backup-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:24px 0; }
.backup-stats span { display:flex; flex-direction:column; gap:4px; padding:14px; border:1px solid rgba(91,58,8,.11); border-radius:10px; color:var(--muted); font-size:.62rem; }
.backup-stats strong { color:var(--brown-deep); font-size:1.25rem; }
.backup-note { margin-top:26px; padding:16px; background:#f4ead9; border-radius:10px; }
.backup-note p { margin-bottom:0; }

@media (max-width:1100px) {
    .media-library-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:820px) {
    .admin-split,.role-grid { grid-template-columns:1fr; }
    .admin-split .sticky { position:static; }
    .media-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:520px) {
    .admin-sidebar { width:min(330px,91vw); }
    .media-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .backup-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .entity-list > a,.entity-list > div { align-items:flex-start; flex-direction:column; gap:8px; }
    .module-form-actions .button { width:100%; justify-content:center; }
}

/* Header navigation refinement */
.site-header { --header-height:clamp(78px,6vw,88px); --edge-column:clamp(142px,14vw,176px); height:var(--header-height); grid-template-columns:var(--edge-column) minmax(0,1fr) minmax(var(--edge-column),auto); gap:clamp(12px,2vw,28px); padding:0 clamp(16px,3vw,50px); color:var(--brown-deep); background:rgba(255,250,241,.97); border-bottom:1px solid rgba(112,73,0,.16); box-shadow:0 8px 28px rgba(59,36,0,.045); }
.brand-image { width:clamp(142px,13vw,164px); height:64px; }
.brand-image img { width:clamp(142px,13vw,164px); }
.main-nav { min-width:0; height:100%; justify-self:center; gap:clamp(10px,1.35vw,23px); font-size:clamp(.58rem,.5rem + .1vw,.67rem); font-weight:750; letter-spacing:clamp(.04em,.065vw,.07em); text-transform:uppercase; }
.main-nav > a,.nav-category-menu > summary { height:100%; display:flex; align-items:center; padding:0 2px; }
.main-nav > a::after { bottom:20px; background:var(--gold); }
.nav-category-menu { height:100%; display:flex; align-items:center; }
.nav-category-menu > summary { gap:8px; }
.dropdown-icon { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s ease; }
.nav-category-menu[open] .dropdown-icon { transform:rotate(180deg); }
.nav-category-panel { width:min(1120px,calc(100vw - 48px)); position:fixed; top:var(--header-height); left:50%; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid rgba(112,73,0,.14); border-top:0; background:rgba(255,250,241,.985); box-shadow:0 32px 80px rgba(45,25,2,.18); }
.nav-category-group { padding:18px; border:1px solid rgba(112,73,0,.1); background:#fffdf8; }
.main-nav .nav-category-panel .nav-category-title { font-size:1.12rem; }
.header-actions { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:clamp(5px,.8vw,9px); }
.search-toggle { flex:0 0 auto; }
.cart-button { min-height:42px; padding-inline:clamp(12px,1.25vw,16px); border-color:rgba(59,36,0,.48); border-radius:999px; font-size:clamp(.66rem,.57rem + .1vw,.78rem); white-space:nowrap; }

@media (max-width:1120px) {
    body.menu-open { overflow:hidden; touch-action:auto; }
    .site-header { --header-height:72px; grid-template-columns:42px minmax(0,1fr) minmax(42px,auto); gap:clamp(4px,1.8vw,8px); padding:0 clamp(8px,3vw,14px); }
    .menu-toggle { width:40px; height:40px; grid-column:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:0; z-index:62; }
    .menu-toggle span { width:22px; height:1px; background:var(--brown-deep); }
    .brand-image { width:clamp(108px,31vw,142px); height:52px; position:absolute; left:50%; justify-self:auto; transform:translateX(-50%); }
    .brand-image img { width:clamp(108px,31vw,142px); }
    .header-actions { grid-column:3; z-index:62; justify-self:end; gap:5px; }
    .search-toggle { display:none; }
    .cart-button { min-width:clamp(38px,10vw,42px); min-height:40px; padding:0; }
    .main-nav { width:min(420px,100%); height:calc(100vh - 72px); height:calc(100dvh - 72px); position:fixed; z-index:61; top:72px; right:auto; bottom:0; left:0; display:flex; align-items:stretch; flex-direction:column; justify-self:auto; gap:0; max-height:none; padding:clamp(14px,4vw,22px) clamp(16px,5vw,24px) calc(24px + env(safe-area-inset-bottom)); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; color:#fff4df; background:rgba(59,36,0,.995); box-shadow:24px 0 64px rgba(27,14,0,.3); opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(-105%,0,0); transition:transform .28s ease,opacity .2s ease,visibility 0s linear .28s; }
    .main-nav.open { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0); transition-delay:0s; }
    .main-nav > a,.nav-category-menu > summary { height:auto; min-height:clamp(48px,5vw,54px); padding:clamp(12px,3vw,14px) 0; color:#fff4df; border-bottom:1px solid rgba(255,210,142,.18); font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:clamp(1.04rem,3.9vw,1.22rem); font-weight:500; letter-spacing:0; line-height:1.2; text-transform:none; }
    .nav-category-menu > summary { justify-content:space-between; }
    .nav-category-menu { width:100%; height:auto; display:block; }
    .nav-category-panel { width:100%; max-height:min(52dvh,440px); position:static; grid-template-columns:1fr; gap:7px; padding:9px 0 12px; overflow:auto; transform:none; border:0; background:transparent; box-shadow:none; }
    .nav-category-group { padding:clamp(12px,3.5vw,14px); border:1px solid rgba(255,210,142,.13); background:rgba(255,255,255,.05); }
    .main-nav .nav-category-panel .nav-category-title { font-size:clamp(.96rem,3.4vw,1.06rem); }
    .menu-backdrop.open { position:fixed; z-index:49; inset:72px 0 0; display:block; border:0; background:rgba(26,15,0,.62); }
}

@media (max-width:520px) {
    .cart-button { min-width:39px; min-height:38px; }
    .main-nav { padding-inline:18px; }
}

@media (max-width:360px) {
    .brand-image,.brand-image img { width:104px; }
    .cart-button { min-width:37px; }
}

/* Admin workspace — responsive, touch friendly, and visually consistent */
.admin-body {
    --admin-sidebar-width:268px;
    min-width:0;
    grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr);
    color:var(--brown-deep);
    background:#f5efe5;
}
.admin-sidebar {
    width:var(--admin-sidebar-width);
    height:100vh;
    height:100dvh;
    position:sticky;
    top:0;
    display:flex;
    flex-direction:column;
    gap:24px;
    padding:24px 18px 20px;
    overflow:hidden;
    color:#fff5e5;
    background:linear-gradient(165deg,#3b2400 0%,#50340d 55%,#2f1b00 100%);
    box-shadow:18px 0 48px rgba(45,25,2,.12);
}
.admin-sidebar-head { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-sidebar .admin-brand { width:min(180px,100%); min-height:58px; display:flex; align-items:center; padding:5px 10px; border-radius:12px; background:#fffaf1; }
.admin-sidebar .admin-brand img { width:100%; max-height:48px; object-fit:contain; }
.admin-sidebar nav { min-height:0; display:flex; flex:1; flex-direction:column; gap:6px; overflow-y:auto; overscroll-behavior:contain; }
.admin-sidebar nav a {
    min-height:50px;
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:12px;
    color:rgba(255,245,229,.76);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.035em;
    transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;
}
.admin-sidebar nav a:hover,.admin-sidebar nav a:focus-visible { color:#fff; background:rgba(255,255,255,.075); transform:translateX(2px); }
.admin-sidebar nav a.active { color:#3b2400; background:#f2cf94; border-color:#ffdda5; box-shadow:0 10px 28px rgba(15,8,0,.16); }
.admin-nav-mark { display:grid; place-items:center; color:inherit; font-size:.58rem; letter-spacing:.1em; opacity:.7; }
.admin-sidebar-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 4px 0; border-top:1px solid rgba(255,255,255,.14); }
.admin-sidebar-foot a { color:rgba(255,245,229,.76); font-size:.68rem; }
.admin-sidebar-foot a:hover { color:#fff; }
.admin-sidebar-close,.admin-menu-toggle,.admin-menu-backdrop { display:none; }
.admin-main { width:100%; min-width:0; max-width:1680px; margin:0 auto; padding:0 clamp(18px,3vw,46px) 28px; }
.admin-top {
    min-height:104px;
    position:sticky;
    z-index:35;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 calc(clamp(18px,3vw,46px) * -1) 26px;
    padding:16px clamp(18px,3vw,46px);
    border-bottom:1px solid rgba(91,58,8,.11);
    background:rgba(245,239,229,.92);
    -webkit-backdrop-filter:blur(15px);
    backdrop-filter:blur(15px);
}
.admin-title-row,.admin-top-actions { display:flex; align-items:center; gap:14px; }
.admin-top h1 { margin:3px 0 0; font-size:clamp(1.65rem,2.3vw,2.55rem); line-height:1; }
.admin-top small { color:var(--accent); font-size:.58rem; font-weight:800; letter-spacing:.16em; }
.admin-top-actions > a { min-height:38px; display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(59,36,0,.2); border-radius:999px; font-size:.67rem; font-weight:700; }
.admin-top-actions > span { min-height:38px; display:inline-flex; align-items:center; padding:8px 13px; border-radius:999px; color:#fff8ea; background:var(--brown-deep); font-size:.68rem; font-weight:700; }
.admin-card,.stat-grid > div,.admin-table-wrap { border:1px solid rgba(91,58,8,.1); border-radius:16px; box-shadow:0 12px 35px rgba(59,36,0,.055); }
.admin-card,.stat-grid > div { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.admin-card:hover,.stat-grid > div:hover { border-color:rgba(91,58,8,.18); box-shadow:0 16px 42px rgba(59,36,0,.085); }
.stat-grid > div:hover { transform:translateY(-2px); }
.admin-table-wrap { overflow:auto; overscroll-behavior-x:contain; background:#fffdf8; scrollbar-color:#c4a778 transparent; scrollbar-width:thin; }
.admin-table { min-width:760px; }
.admin-table thead { position:sticky; z-index:2; top:0; background:#f0e4d2; }
.admin-table tbody tr { transition:background .16s ease; }
.admin-table tbody tr:hover { background:#fbf4e8; }
.admin-card input,.admin-card textarea,.admin-card select,.content-editor input,.content-editor textarea,.content-editor select {
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.admin-card input:focus,.admin-card textarea:focus,.admin-card select:focus,.content-editor input:focus,.content-editor textarea:focus,.content-editor select:focus {
    outline:0;
    border-color:#8e641f;
    background:#fff;
    box-shadow:0 0 0 3px rgba(142,100,31,.14);
}
.admin-actions { gap:18px; }
.admin-actions p { color:var(--muted); }
.flash { border-radius:12px; box-shadow:0 10px 28px rgba(59,36,0,.08); }
.file-selection { display:block; margin-top:7px; color:var(--accent); font-size:.68rem; font-weight:700; overflow-wrap:anywhere; }

@media (max-width:960px) {
    body.admin-menu-open { overflow:hidden; }
    .admin-body { display:block; }
    .admin-sidebar {
        width:min(320px,87vw);
        height:100vh;
        height:100dvh;
        position:fixed;
        z-index:120;
        inset:0 auto 0 0;
        gap:18px;
        padding:18px 16px calc(18px + env(safe-area-inset-bottom));
        overflow:hidden;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate3d(-105%,0,0);
        transition:transform .28s ease,opacity .2s ease,visibility 0s linear .28s;
    }
    .admin-sidebar.open { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0); transition-delay:0s; }
    .admin-sidebar .admin-sidebar-head,.admin-sidebar .admin-sidebar-foot { display:flex; }
    .admin-sidebar nav { width:100%; display:flex; align-items:stretch; flex-direction:column; overflow-y:auto; }
    .admin-sidebar nav a { width:100%; flex:0 0 auto; }
    .admin-sidebar-close { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:50%; color:#fff; background:transparent; font-size:1.35rem; cursor:pointer; }
    .admin-menu-backdrop { position:fixed; z-index:110; inset:0; display:block; border:0; background:rgba(28,15,0,.64); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease,visibility 0s linear .2s; }
    .admin-menu-backdrop.open { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
    .admin-main { max-width:none; padding:0 18px 24px; }
    .admin-top { min-height:86px; margin:0 -18px 20px; padding:12px 18px; }
    .admin-menu-toggle { width:42px; height:42px; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:1px solid rgba(59,36,0,.18); border-radius:50%; background:#fffaf1; cursor:pointer; }
    .admin-menu-toggle span { width:18px; height:1px; background:var(--brown-deep); }
}

@media (max-width:620px) {
    .admin-main { padding:0 12px 20px; }
    .admin-top { min-height:78px; margin:0 -12px 16px; padding:10px 12px; }
    .admin-title-row { min-width:0; gap:10px; }
    .admin-title-row > div { min-width:0; }
    .admin-top h1 { max-width:58vw; overflow:hidden; font-size:clamp(1.32rem,6vw,1.7rem); text-overflow:ellipsis; white-space:nowrap; }
    .admin-top-actions > a { display:none; }
    .admin-top-actions > span { max-width:88px; overflow:hidden; padding-inline:10px; text-overflow:ellipsis; white-space:nowrap; }
    .admin-actions { align-items:stretch; flex-direction:column; }
    .admin-actions .button { width:100%; justify-content:center; }
    .admin-card { padding:18px 15px; border-radius:13px; }
    .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .stat-grid > div { padding:16px 13px; border-radius:13px; }
    .stat-grid strong { font-size:clamp(1.5rem,8vw,2rem); }
    .admin-form,.dashboard-grid,.content-copy-grid { gap:14px; }
    .admin-table-wrap { border-radius:12px; }
    .content-save-bar { align-items:stretch; flex-direction:column; gap:10px; }
    .content-save-bar .button { width:100%; justify-content:center; }
}

@media (max-width:380px) {
    .admin-top-actions > span { display:none; }
    .admin-top h1 { max-width:68vw; }
    .stat-grid { grid-template-columns:1fr; }
}

/* Final desktop alignment and CMS button personalization */
.button-text {
    min-height:auto;
    justify-content:flex-start;
    gap:12px;
    padding:5px 0;
    border:0;
    border-bottom:1px solid currentColor;
    border-radius:0;
    background:transparent;
}
.button-text::after { content:"→"; }
.button-personalizer { display:grid; gap:12px; padding:14px; border:1px solid rgba(91,58,8,.14); border-radius:12px; background:#fbf5ea; }
.button-personalizer > label { margin:0; }
.button-preview { min-height:66px; display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:11px 12px; border:1px dashed rgba(91,58,8,.22); border-radius:9px; background:#fffdf8; }
.button-preview > small { width:100%; color:var(--muted); font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.button-preview .button { min-height:40px; padding:9px 16px; pointer-events:none; }
.button-preview > span { color:var(--muted); font-size:.7rem; }
.button-preview [hidden] { display:none!important; }

@media (min-width:1121px) {
    :root { --container:min(1400px,calc(100vw - 56px)); }
    .site-header { --header-height:82px; --edge-column:clamp(150px,13vw,184px); grid-template-columns:var(--edge-column) minmax(620px,1fr) minmax(150px,auto); gap:clamp(14px,1.7vw,26px); padding-inline:clamp(20px,3vw,52px); }
    .brand-image,.brand-image img { width:clamp(150px,12vw,170px); }
    .main-nav { max-width:820px; justify-content:center; gap:clamp(10px,1.25vw,22px); font-size:clamp(.58rem,.49rem + .1vw,.66rem); }
    .header-actions { min-width:150px; }
    .cart-button { min-width:132px; justify-content:center; }
    .home-look-hero { height:clamp(650px,calc(100svh - 82px),860px); }
    .hero-slide .hero-copy { width:min(650px,52vw); left:max(28px,calc((100vw - 1400px)/2)); top:50%; bottom:auto; transform:translateY(-50%); }
    .hero-slide .hero-copy h1 { font-size:clamp(3.5rem,5.5vw,6.5rem); }
    .home-products { grid-template-columns:repeat(12,minmax(0,1fr)); gap:46px 20px; }
    .home-products .product-card,.home-products .product-card:first-child { grid-column:span 4; }
    .product-info { align-items:flex-start; }
    .product-info > strong { padding-top:3px; }
    .consultation-banner { gap:clamp(54px,7vw,110px); padding:clamp(54px,6vw,88px); }
    .process-section { gap:clamp(60px,8vw,120px); }
    .content-slide-grid { grid-template-columns:repeat(3,minmax(280px,1fr)); align-items:start; }
    .content-copy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
}

@media (min-width:1121px) and (max-width:1280px) {
    .site-header { --edge-column:145px; grid-template-columns:145px minmax(570px,1fr) 126px; gap:12px; padding-inline:18px; }
    .brand-image,.brand-image img { width:145px; }
    .main-nav { gap:10px; font-size:.57rem; }
    .cart-button { min-width:120px; padding-inline:10px; }
    .hero-slide .hero-copy { width:min(620px,57vw); left:32px; }
}

@media (max-width:620px) {
    .button-personalizer { padding:12px; }
    .button-preview { align-items:flex-start; flex-direction:column; }
    .button-preview .button { width:100%; justify-content:center; }
}

/* Final cascade: clean slider and reliable mobile category expansion */
.hero-slider .hero-copy {
    width:min(620px,calc(100% - 56px));
    left:28px;
    top:auto;
    bottom:28px;
    transform:none;
    padding:30px 32px;
    color:var(--brown-deep);
    background:rgba(255,250,241,.96);
    box-shadow:0 20px 54px rgba(45,25,2,.17);
}
.hero-slider .hero-copy h1 { color:var(--brown-deep); font-size:clamp(2.6rem,4.2vw,4.8rem); }
.hero-slider .hero-copy p { color:var(--muted); }

@media (max-width:1120px) {
    .nav-category-panel { max-height:0; padding:0; overflow:hidden; opacity:0; visibility:hidden; }
    .nav-category-menu[open] .nav-category-panel { max-height:min(58dvh,520px); padding:10px 0 14px; overflow-y:auto; opacity:1; visibility:visible; }
    .hero-slider .hero-copy { width:calc(100% - 40px); left:20px; bottom:20px; padding:25px; }
}

@media (max-width:560px) {
    .nav-category-menu[open] .nav-category-panel { max-height:62dvh; }
    .hero-slider .hero-copy { width:calc(100% - 28px); left:14px; bottom:14px; padding:19px 18px; }
    .hero-slider .hero-copy h1 { font-size:clamp(2.05rem,10vw,3rem); }
}

/* Screenshot fixes: persistent category trigger and unobstructed slider media */
.hero-slider .hero-slide > img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slider .hero-copy {
    width:min(600px,calc(100% - 56px));
    left:clamp(28px,5vw,70px);
    top:auto;
    bottom:clamp(34px,6vh,64px);
    transform:none;
    padding:0;
    color:#fff;
    background:transparent;
    box-shadow:none;
    text-shadow:0 3px 24px rgba(20,12,5,.75);
}
.hero-slider .hero-copy .eyebrow { color:#f2d394; }
.hero-slider .hero-copy h1 { color:#fff; font-size:clamp(2.65rem,4.2vw,4.7rem); }
.hero-slider .hero-copy p { max-width:480px; color:rgba(255,255,255,.92); }

@media (max-width:1120px) {
    .nav-category-panel { display:none; max-height:0; padding:0; overflow:hidden; opacity:0; visibility:hidden; }
    .nav-category-menu[open] > summary { position:sticky; z-index:4; top:calc(clamp(14px,4vw,22px) * -1); color:#ffd28e; background:#3b2400; }
    .nav-category-menu[open] .nav-category-panel { max-height:min(58dvh,520px); display:grid; padding:10px 0 14px; overflow-y:auto; opacity:1; visibility:visible; }
    .hero-slider .hero-copy { width:min(460px,calc(100% - 40px)); left:20px; bottom:34px; padding:0; }
    .hero-slider .hero-copy h1 { font-size:clamp(2.1rem,8vw,3.45rem); }
    .hero-slider .hero-copy p { font-size:.79rem; line-height:1.5; }
}

@media (max-width:560px) {
    .home-look-hero { height:clamp(500px,calc(100svh - 72px),630px); min-height:0; max-height:none; }
    .nav-category-menu[open] .nav-category-panel { max-height:62dvh; }
    .hero-slider .hero-copy { width:calc(100% - 44px); left:22px; bottom:28px; padding:0; }
    .hero-slider .hero-copy .eyebrow { margin-bottom:8px; }
    .hero-slider .hero-copy h1 { margin-bottom:10px; font-size:clamp(1.85rem,9vw,2.65rem); line-height:.98; }
    .hero-slider .hero-copy p { max-width:330px; display:-webkit-box; margin-bottom:14px; overflow:hidden; font-size:.72rem; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
    .hero-slider .hero-copy .button { min-height:40px; padding:9px 15px; font-size:.62rem; }
}

/* Storefront option 2 — commerce hierarchy, split hero, and room browser */
.sr-only { width:1px; height:1px; position:absolute; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.utility-bar { min-height:30px; display:flex; align-items:center; color:#f8ead5; background:#2d1a0f; font-size:.57rem; letter-spacing:.02em; }
.utility-bar > div { width:min(1440px,calc(100vw - 40px)); display:flex; align-items:center; justify-content:space-between; gap:20px; margin:auto; }
.utility-bar nav { display:flex; align-items:center; gap:24px; }
.utility-bar a { color:inherit; opacity:.86; }
.utility-bar a:hover { opacity:1; }
.site-header { --header-height:112px; height:var(--header-height); z-index:130; top:0; grid-template-columns:160px minmax(360px,1fr) minmax(150px,auto); grid-template-rows:70px 42px; gap:0 28px; padding:0 clamp(18px,3vw,52px); color:#2d1a0f; background:rgba(255,253,249,.985); box-shadow:none; }
.brand-image { width:150px; height:58px; grid-column:1; grid-row:1; align-self:center; }
.brand-image img { width:150px; }
.commerce-search { min-width:0; height:38px; grid-column:2; grid-row:1; align-self:center; display:grid; grid-template-columns:minmax(132px,180px) minmax(0,1fr) 44px; border:1px solid rgba(66,38,22,.18); background:#fff; }
.commerce-search label { min-width:0; position:relative; border-right:1px solid rgba(66,38,22,.14); }
.commerce-search select,.commerce-search input,.commerce-search button { height:100%; border:0; color:#3b261a; background:transparent; font:inherit; }
.commerce-search select { width:100%; padding:0 30px 0 13px; font-size:.62rem; font-weight:750; }
.commerce-search > input { min-width:0; padding:0 14px; font-size:.66rem; }
.commerce-search button { display:grid; place-items:center; color:#fff; background:#8b5d22; font-size:1.15rem; cursor:pointer; }
.header-actions { grid-column:3; grid-row:1; align-self:center; }
.search-toggle { display:none; }
.main-nav { width:auto; max-width:none; height:42px; grid-column:1 / -1; grid-row:2; justify-self:stretch; justify-content:flex-start; gap:clamp(18px,2.4vw,34px); border-top:1px solid rgba(66,38,22,.1); font-size:.61rem; }
.main-nav > a,.nav-category-menu > summary { height:42px; padding:0; }
.main-nav > a::after { bottom:-1px; }
.nav-category-menu { height:42px; }
.nav-category-menu > summary { width:230px; justify-content:flex-start; gap:10px; padding:0 15px; color:#fff; background:#2d1a0f; }
.nav-category-menu > summary .dropdown-icon { margin-left:auto; }
.nav-category-panel { top:142px; }
.cart-button { min-height:38px; border:0; color:#2d1a0f; background:transparent; }

.home-commerce-hero { width:min(1440px,calc(100vw - 40px)); height:520px; display:grid; grid-template-columns:minmax(0,1fr) 238px; margin:0 auto; background:#2d1a0f; }
.home-commerce-hero .home-look-hero { height:520px; min-height:0; }
.home-commerce-hero .hero-slide { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.78fr); background:#2d1a0f; }
.home-commerce-hero .hero-slide > img { min-width:0; grid-column:1; object-fit:cover; }
.home-commerce-hero .hero-slide .hero-copy { width:auto; height:100%; min-height:0; position:static; grid-column:2; display:flex; align-items:flex-start; justify-content:center; padding:clamp(38px,4.5vw,68px) clamp(28px,3vw,48px); overflow:hidden; color:#fff7ec; background:#2d1a0f; box-shadow:none; text-shadow:none; transform:none; }
.home-commerce-hero .hero-slide .hero-copy .eyebrow { margin-bottom:16px; color:#d2a45e; }
.home-commerce-hero .hero-slide .hero-copy h1,.home-commerce-hero .hero-slide .hero-copy p { color:inherit; }
.home-commerce-hero .hero-slide .hero-copy h1 { max-width:430px; margin-bottom:16px; font-size:clamp(2.45rem,3.5vw,4.25rem); line-height:.95; overflow-wrap:normal; }
.home-commerce-hero .hero-slide .hero-copy p { max-width:390px; color:rgba(255,247,236,.7); font-size:.73rem; line-height:1.6; }
.home-commerce-hero .hero-slide .hero-copy .button { min-height:42px; margin-top:18px; padding:10px 18px; border-color:#a97934; color:#fff; background:#8b5d22; text-shadow:none; }
.home-commerce-hero .hotspot,.home-commerce-hero .hero-meta { display:none; }
.home-commerce-hero .hero-slider-controls { top:auto; right:18px; bottom:18px; left:auto; padding:0; background:transparent; box-shadow:none; }
.home-commerce-hero .hero-slider-controls > button { width:34px; height:34px; color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.05); }
.home-commerce-hero .hero-slider-controls > div span { background:rgba(255,255,255,.28); }
.home-commerce-hero .hero-slider-controls > div button.is-active span { background:#d2a45e; }
.department-rail { min-width:0; display:flex; flex-direction:column; border-left:1px solid rgba(255,255,255,.11); color:#fff7ec; background:#382116; }
.department-rail nav { min-height:0; display:grid; grid-template-rows:repeat(5,1fr); flex:1; }
.department-rail nav a { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-bottom:1px solid rgba(255,255,255,.1); color:inherit; }
.department-rail nav a span { min-width:0; display:grid; gap:4px; }
.department-rail strong { overflow:hidden; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.department-rail small { color:rgba(255,247,236,.55); font-size:.54rem; }
.department-rail b { color:#d2a45e; font-weight:500; }
.department-all { min-height:55px; display:flex; align-items:center; justify-content:space-between; padding:12px 18px; color:#fff7ec; font-size:.58rem; font-weight:750; }

.category-intro { padding-top:88px; }
.home-products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 16px; }
.home-products .product-card,.home-products .product-card:first-child { grid-column:auto; }
.category-browser { padding:90px max(20px,4vw) 100px; color:#2d1a0f; background:#fbfaf7; }
.category-browser-head { max-width:1440px; grid-template-columns:minmax(0,1fr) minmax(280px,.5fr); margin-bottom:34px; }
.category-browser-head h2 { font-size:clamp(2.3rem,4vw,4.5rem); }
.category-mosaic { max-width:1440px; min-height:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:none; gap:18px; }
.category-tile,.category-tile-1,.category-tile-2,.category-tile-3,.category-tile-4,.category-tile-5 { min-width:0; min-height:0; grid-column:auto; grid-row:auto; overflow:visible; aspect-ratio:auto; background:transparent; }
.category-tile::after { display:none; }
.category-tile-image { width:100%; height:auto; aspect-ratio:4/5; border-radius:999px 999px 0 0; object-fit:cover; }
.category-tile-trigger { height:auto; aspect-ratio:4/5; inset:0 0 auto; align-items:flex-end; padding:22px 16px; border-radius:999px 999px 0 0; background:linear-gradient(180deg,transparent 54%,rgba(35,20,12,.72)); }
.category-tile-copy { gap:4px; }
.category-tile-copy strong,.category-tile-2 .category-tile-copy strong,.category-tile-3 .category-tile-copy strong,.category-tile-4 .category-tile-copy strong { font-size:clamp(1.35rem,1.75vw,2rem); line-height:1; }
.category-tile-number { display:none; }
.category-tile-panel,.category-tile-3 .category-tile-panel,.category-tile-4 .category-tile-panel { position:static; display:none; padding:16px; overflow:visible; color:#2d1a0f; background:#f2eadf; opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.category-tile[open] .category-tile-panel { display:block; }
.category-tile-panel-head h3,.category-tile-3 .category-tile-panel-head h3,.category-tile-4 .category-tile-panel-head h3 { font-size:1.25rem; }
.category-tile-panel-head span,.category-tile-panel-head button { color:#8b5d22; }
.category-tile-panel-head button { border-color:rgba(139,93,34,.35); }
.category-tile-panel > p,.category-tile-3 .category-tile-panel > p,.category-tile-4 .category-tile-panel > p { display:none; }
.category-tile-links { display:grid; gap:0; }
.category-tile-links a,.category-tile-3 .category-tile-links a,.category-tile-4 .category-tile-links a { min-height:36px; padding:8px 0; border:0; border-bottom:1px solid rgba(66,38,22,.12); color:#5f5148; background:transparent; font-size:.65rem; }
.category-tile-links a:hover { color:#8b5d22; background:transparent; }
.category-tile-all { color:#8b5d22; border-color:#8b5d22; }

@media (max-width:1120px) {
    .utility-bar { display:none; }
    .site-header { --header-height:72px; height:72px; grid-template-columns:44px minmax(0,1fr) 48px; grid-template-rows:72px; gap:6px; padding:0 12px; }
    .menu-toggle { grid-column:1; grid-row:1; }
    .brand-image { grid-column:2; grid-row:1; }
    .commerce-search { display:none; }
    .header-actions { grid-column:3; grid-row:1; }
    .search-toggle { display:none; }
    .main-nav { width:min(390px,88vw); height:calc(100dvh - 72px); grid-column:auto; grid-row:auto; inset:72px auto 0 0; padding:14px 20px calc(24px + env(safe-area-inset-bottom)); border:0; }
    .main-nav > a,.nav-category-menu > summary { height:52px; min-height:52px; flex:0 0 52px; padding:0; }
    .nav-category-menu { height:auto; }
    .nav-category-menu > summary { width:100%; color:#fff4df; background:transparent; }
    .nav-category-menu[open] > summary { position:static; color:#ffd28e; background:transparent; }
    .nav-category-panel { top:auto; }
    .nav-category-menu[open] .nav-category-panel { max-height:none; padding:10px 0 14px; overflow:visible; }
    .menu-backdrop.open { z-index:120; }
    .home-commerce-hero { width:100%; height:580px; display:block; }
    .home-commerce-hero .home-look-hero { height:580px; }
    .home-commerce-hero .hero-slide { grid-template-columns:1fr; grid-template-rows:minmax(0,58%) minmax(0,42%); }
    .home-commerce-hero .hero-slide > img { width:100%; height:100%; grid-column:1; grid-row:1; }
    .home-commerce-hero .hero-slide .hero-copy { width:100%; height:100%; grid-column:1; grid-row:2; padding:26px 22px 30px; }
    .home-commerce-hero .hero-slide .hero-copy h1 { max-width:570px; font-size:clamp(2.1rem,7vw,3.5rem); }
    .home-commerce-hero .hero-slide .hero-copy p { max-width:560px; }
    .home-commerce-hero .hero-slider-controls { top:calc(58% - 48px); right:14px; bottom:auto; }
    .department-rail { display:none; }
    .home-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .category-mosaic { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; }
    .category-tile-1,.category-tile-5 { grid-column:auto; }
}

@media (max-width:680px) {
    .home-commerce-hero,.home-commerce-hero .home-look-hero { height:560px; }
    .home-commerce-hero .hero-slide { grid-template-rows:minmax(0,52%) minmax(0,48%); }
    .home-commerce-hero .hero-slide .hero-copy { padding:22px 18px 26px; }
    .home-commerce-hero .hero-slide .hero-copy h1 { margin-bottom:10px; font-size:clamp(1.85rem,9vw,2.7rem); }
    .home-commerce-hero .hero-slide .hero-copy p { display:-webkit-box; margin-bottom:10px; overflow:hidden; font-size:.7rem; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
    .home-commerce-hero .hero-slide .hero-copy .button { min-height:38px; margin-top:10px; padding:8px 14px; }
    .home-commerce-hero .hero-slider-controls { top:calc(52% - 44px); }
    .category-intro { padding-top:68px; }
    .category-browser { padding:70px 14px 80px; }
    .category-browser-head { grid-template-columns:1fr; gap:14px; }
    .category-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .category-tile-copy strong,.category-tile-2 .category-tile-copy strong,.category-tile-3 .category-tile-copy strong,.category-tile-4 .category-tile-copy strong { font-size:clamp(1.25rem,5.5vw,1.7rem); }
    .category-tile-trigger { padding:18px 12px; }
    .category-tile-panel,.category-tile-3 .category-tile-panel,.category-tile-4 .category-tile-panel { padding:14px 12px; }
}

@media (max-width:380px) {
    .home-products { grid-template-columns:1fr; }
    .category-mosaic { grid-template-columns:1fr; }
}

/* Admin IA cascade lock */
.homepage-promo { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:38px; padding:28px 32px; color:#fff7ec; background:#6e481a; }
.homepage-promo span { color:#ffd28e; font-size:.58rem; font-weight:800; letter-spacing:.14em; }
.homepage-promo h2 { margin:5px 0 4px; color:#fff; font-size:clamp(1.5rem,2.5vw,2.6rem); }
.homepage-promo p { margin:0; color:rgba(255,247,236,.72); }
@media (max-width:620px) { .homepage-promo { align-items:flex-start; flex-direction:column; margin-top:18px; padding:24px 20px; } .homepage-promo .button { width:100%; justify-content:center; } }

.admin-body { --admin-sidebar-width:286px; }
.admin-sidebar { gap:16px; padding:20px 14px 16px; }
.admin-sidebar .admin-nav-tree { gap:4px; }
.admin-sidebar nav .admin-nav-dashboard { min-height:44px; grid-template-columns:24px minmax(0,1fr); padding:8px 10px; margin-bottom:5px; }
.admin-sidebar .admin-nav-group > summary { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; color:rgba(255,245,229,.48); font-size:.57rem; font-weight:800; letter-spacing:.15em; list-style:none; cursor:pointer; }
.admin-sidebar .admin-nav-group > summary::-webkit-details-marker { display:none; }
.admin-sidebar .admin-nav-group > summary b { transition:transform .2s ease; }
.admin-sidebar .admin-nav-group[open] > summary b { transform:rotate(180deg); }
.admin-sidebar .admin-nav-group > div { display:grid; gap:2px; padding:0 0 6px 7px; }
.admin-sidebar nav .admin-nav-group a { min-height:35px; display:flex; grid-template-columns:1fr; padding:7px 10px 7px 14px; border-radius:8px; font-size:.68rem; font-weight:600; letter-spacing:.01em; }
@media (max-width:960px) {
    .admin-sidebar nav .admin-nav-group a { width:100%; }
}

/* Keep legacy footer selectors from overriding the new grid */
.site-footer > .site-footer-main { width:min(1400px,calc(100% - clamp(40px,6vw,72px))); display:grid; grid-template-columns:minmax(230px,1.25fr) repeat(2,minmax(130px,.68fr)) minmax(230px,.95fr); align-items:start; gap:clamp(28px,4vw,58px); margin-inline:auto; padding:44px 0 32px; }
.site-footer > .site-footer-bottom { width:min(1400px,calc(100% - clamp(40px,6vw,72px))); display:flex; flex-direction:row; align-items:center; gap:20px; margin-inline:auto; padding:15px 0 18px; }
.site-footer .footer-brand-image,.site-footer .footer-brand-image img { width:174px; }
.site-footer .footer-brand-image { margin-bottom:18px; }
.site-footer .site-footer-brand p { max-width:360px; margin:14px 0 18px; font-size:.71rem; line-height:1.6; }
.site-footer .site-footer-column { gap:7px; }
.site-footer .site-footer-column h3,.site-footer .site-footer-contact h3 { margin-bottom:5px; }
.site-footer .site-footer-contact { gap:8px; }
.site-footer .site-footer-contact p { margin:0 0 14px; font-size:.68rem; line-height:1.55; }
.site-footer .site-footer-contact .site-footer-wa { margin:0; padding:11px 0; }
.site-footer .site-footer-contact > a:last-child { margin-top:3px; font-size:.66rem; }
@media (max-width:980px) { .site-footer > .site-footer-main { grid-template-columns:1.25fr 1fr; gap:34px 44px; padding-top:38px; } }
@media (max-width:580px) {
    .site-footer > .site-footer-main { width:calc(100% - 40px); grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; padding:34px 0 25px; }
    .site-footer .site-footer-brand,.site-footer .site-footer-contact { grid-column:1 / -1; }
    .site-footer .site-footer-brand { padding-bottom:22px; }
    .site-footer .site-footer-column { padding:0; border:0; }
    .site-footer .site-footer-contact { padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
    .site-footer > .site-footer-bottom { width:calc(100% - 40px); align-items:flex-start; flex-direction:column; gap:10px; padding:14px 0 calc(18px + env(safe-area-inset-bottom)); }
}

/* Frontend flow guard: keep CMS content inside its section at every breakpoint. */
.site-header,.home-commerce-hero,.home-look-hero,.hero-slider,.hero-slide,.category-browser,.category-mosaic,.product-grid,.consultation-banner,.process-section,.site-footer { max-width:100%; }
.hero-slide,.hero-slide > img,.hero-copy,.department-rail,.category-tile,.product-card,.product-info,.site-footer-main > * { min-width:0; }
.hero-copy h1,.hero-copy p,.category-tile-copy strong,.product-info h3,.site-footer p,.site-footer a { overflow-wrap:anywhere; }
.category-tile[open] { z-index:3; }
.category-tile[open] .category-tile-panel { position:static; max-width:100%; }

@media (max-width:1120px) {
    .home-commerce-hero,.home-commerce-hero .home-look-hero,.home-commerce-hero .hero-slide { min-width:0; overflow:hidden; }
    .home-commerce-hero .hero-slide .hero-copy { min-height:0; overflow:hidden; }
    .main-nav,.nav-category-menu,.nav-category-panel { max-width:100%; }
}

@media (max-width:680px) {
    .home-commerce-hero .hero-slide .hero-copy { justify-content:center; }
    .home-commerce-hero .hero-slider-controls { right:12px; left:auto; bottom:auto; }
    .category-mosaic,.home-products,.catalog-grid { min-width:0; }
}

/* Preview parity layer — PHP storefront synchronized with the latest GPT preview. */
:root {
    --ink:#241a13;
    --ink-soft:#55483e;
    --muted:#7e7167;
    --paper:#fbfaf7;
    --surface:#f3eee7;
    --surface-strong:#e8ded1;
    --line:#e2dbd2;
    --walnut:#82561d;
    --walnut-dark:#2d1c12;
    --moss:#a36c22;
    --moss-dark:#7a4d16;
    --container:min(1380px,calc(100% - 48px));
}
html { scroll-padding-top:160px; }
body { color:var(--ink); background:var(--paper); }
body.mobileMenuOpen { overflow:hidden; }
.sectionKicker { display:block; margin-bottom:12px; color:var(--moss-dark); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.textArrow { display:inline-flex; align-items:center; gap:10px; font-size:.7rem; font-weight:750; }
.textArrow span { transition:transform .2s ease; }
.textArrow:hover span { transform:translateX(4px); }

/* Synced commerce header */
.siteHeader { min-height:152px; position:sticky; z-index:130; top:0; border-bottom:1px solid var(--line); background:rgba(251,250,247,.98); }
.utilityBar { height:32px; color:#f7efe4; background:var(--walnut-dark); }
.utilityBar > div { width:var(--container); height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 auto; }
.utilityBar > div > span { overflow:hidden; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }
.utilityBar nav { display:flex; align-items:center; gap:24px; }
.utilityBar nav a { display:flex; align-items:center; gap:6px; font-size:.6rem; white-space:nowrap; }
.headerMain { width:var(--container); height:78px; display:grid; grid-template-columns:185px minmax(300px,1fr) 220px; align-items:center; gap:42px; margin:0 auto; }
.brandLogo { width:168px; height:58px; display:flex; align-items:center; }
.brandLogo img { width:168px; max-height:54px; object-fit:contain; }
.menuButton { display:none; }
.headerSearch { height:48px; position:relative; z-index:135; display:grid; grid-template-columns:155px minmax(0,1fr) 48px; border:1px solid #d9d0c5; border-radius:3px; background:#fff; }
.searchCategorySelect { height:46px; position:relative; display:flex; align-items:center; border-right:1px solid var(--line); }
.searchCategorySelect select { width:100%; height:100%; padding:0 34px 0 15px; border:0; outline:0; appearance:none; background:transparent; font-size:.67rem; font-weight:700; }
.searchCategorySelect > span:last-child { position:absolute; right:12px; pointer-events:none; }
.headerSearch > input { min-width:0; height:46px; padding:0 18px; border:0; outline:0; background:transparent; font-size:.73rem; }
.searchSubmit { width:48px; height:46px; display:grid; place-items:center; padding:0; border:0; color:#fff; background:var(--walnut); font-size:1.2rem; }
.searchClose { display:none; }
.headerActions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.mobileSearchButton { display:none; }
.orderButton,.cartButton { min-width:92px; height:48px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1px; padding:0 10px; border:0; background:transparent; font-size:.59rem; font-weight:700; }
.orderButton > span { color:var(--walnut); font-size:1.1rem; }
.orderButton small { font-size:.59rem; }
.cartButton { min-width:96px; cursor:pointer; }
.cartIcon { position:relative; display:block; font-size:1.25rem; line-height:1; }
.cartIcon b { min-width:17px; height:17px; position:absolute; top:-7px; right:-11px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--walnut); font-size:.54rem; font-style:normal; }
.cartButton em { font-size:.59rem; font-style:normal; }
.headerNavRow { width:var(--container); height:42px; margin:0 auto; border-top:1px solid var(--line); }
.mainNav { width:100%; height:42px; display:flex; align-items:center; gap:30px; font-size:.63rem; font-weight:760; letter-spacing:.015em; text-transform:uppercase; }
.mainNav > a { height:100%; position:relative; display:flex; align-items:center; padding:0; }
.mainNav > a::after { content:""; height:2px; position:absolute; right:100%; bottom:-1px; left:0; background:var(--walnut); transition:right .2s ease; }
.mainNav > a:hover::after { right:0; }
.navCategoryMenu { height:100%; position:relative; }
.categoryMenuTrigger { min-width:232px; height:100%; display:flex; align-items:center; gap:11px; padding:0 17px; color:#fff; background:var(--walnut-dark); font-size:.64rem; font-weight:800; letter-spacing:.045em; list-style:none; cursor:pointer; }
.categoryMenuTrigger::-webkit-details-marker { display:none; }
.categoryMenuIcon { width:18px; display:grid; gap:4px; }
.categoryMenuIcon i { height:1px; display:block; background:currentColor; }
.categoryCaret { margin-left:auto; transition:transform .2s ease; }
.navCategoryMenu[open] .categoryCaret { transform:rotate(180deg); }
.categoryMenuPanel { width:min(1120px,calc(100vw - 48px)); position:fixed; z-index:140; top:152px; left:50%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; padding:1px; border:1px solid var(--line); background:var(--line); box-shadow:0 16px 38px rgba(52,35,23,.14); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.navCategoryMenu[open] .categoryMenuPanel { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.categoryMenuGroup { min-width:0; padding:24px 20px; background:#fff; }
.categoryMenuTitle { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; font-family:Georgia,serif; font-size:1.08rem; font-weight:600; text-transform:none; }
.categoryMenuTitle span { color:var(--walnut); }
.categoryMenuGroup > div { display:grid; gap:8px; }
.categoryMenuGroup > div a { color:var(--muted); font-size:.68rem; font-weight:500; line-height:1.35; text-transform:none; }
.navBackdrop,.searchBackdrop { display:none; }

/* Synced three-part hero */
.homeHero { width:var(--container); display:grid; grid-template-columns:minmax(0,1fr) 252px; gap:0; margin:0 auto; }
.heroSlider { min-width:0; height:510px; position:relative; overflow:hidden; background:var(--walnut-dark); }
.heroSlide { position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,1.32fr) minmax(290px,.68fr); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .6s ease,visibility .6s; }
.heroSlide.active { opacity:1; visibility:visible; pointer-events:auto; }
.heroVisual { min-width:0; overflow:hidden; }
.heroVisual img { width:100%; height:100%; object-fit:cover; transform:scale(1.018); transition:transform 6.5s ease; }
.heroSlide.active .heroVisual img { transform:scale(1); }
.heroContent { width:auto; min-height:0; display:flex; align-items:flex-start; justify-content:center; flex-direction:column; overflow:hidden; padding:42px 44px 58px; color:#fff; background:var(--walnut-dark); }
.heroContent > span { display:block; margin-bottom:15px; color:#d4af72; font-size:.59rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.heroContent h1 { max-width:420px; margin-bottom:17px; color:#fff; font-size:clamp(2.15rem,2.75vw,3.3rem); line-height:1.06; overflow-wrap:anywhere; }
.heroContent p { max-width:400px; margin-bottom:24px; color:rgba(255,255,255,.72); font-size:.75rem; line-height:1.65; }
.heroContent a { min-height:43px; display:inline-flex; align-items:center; gap:12px; padding:0 18px; color:#fff; background:var(--walnut); font-size:.62rem; font-weight:800; }
.heroControls { position:absolute; z-index:8; top:22px; right:24px; display:flex; align-items:center; gap:4px; }
.heroControls > button { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); color:#fff; background:transparent; cursor:pointer; }
.heroControls > div { display:flex; align-items:center; gap:5px; }
.heroControls > div button { width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; background:transparent; cursor:pointer; }
.heroControls > div span { width:16px; height:2px; background:rgba(255,255,255,.28); transition:width .2s,background .2s; }
.heroControls > div button.active span { width:28px; background:#d4af72; }
.departmentRail { min-width:0; display:flex; flex-direction:column; color:#fff; background:#342218; }
.departmentRail nav { min-height:0; display:grid; grid-template-rows:repeat(5,1fr); flex:1; }
.departmentRail nav a { min-height:0; display:grid; grid-template-columns:30px minmax(0,1fr) 16px; align-items:center; gap:13px; padding:13px 20px; border-bottom:1px solid rgba(255,255,255,.12); }
.departmentRail nav a:hover { background:#402a1e; }
.departmentIcon { color:#d2ab6d; font-size:1.2rem; text-align:center; }
.departmentRoomIcon { width:27px; height:27px; display:block; overflow:visible; color:#d2ab6d; }
.departmentRail nav a > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.departmentRail nav strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.departmentRail nav small { color:rgba(255,255,255,.5); font-size:.57rem; }
.departmentRail nav b,.departmentAll b { color:#d2ab6d; }
.departmentAll { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 20px; border-top:1px solid rgba(255,255,255,.12); color:#f7efe4; font-size:.62rem; font-weight:750; }

/* Homepage sections */
.categorySection,.productSection,.projectSection,.shopLookSection { width:var(--container); margin:0 auto; }
.categorySection { padding:54px 0 60px; }
.compactSectionHeader,.shopLookHeader { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:26px; }
.compactSectionHeader .sectionKicker,.shopLookHeader .sectionKicker { margin-bottom:7px; font-size:.6rem; }
.compactSectionHeader h2,.shopLookHeader h2 { margin:0; font-size:clamp(2rem,3.1vw,3.15rem); }
.categoryGrid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:42px; align-items:start; }
.categoryCard { min-width:0; border:0; background:transparent; }
.categoryImage { aspect-ratio:1/1.13; position:relative; display:block; overflow:hidden; border-radius:150px 150px 0 0; background:var(--surface); }
.categoryImage img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.categoryCard:hover .categoryImage img { transform:scale(1.025); }
.categoryCardHead { min-height:70px; display:grid; grid-template-columns:minmax(0,1fr) 32px; align-items:center; gap:8px; padding:14px 4px 0; text-align:center; }
.categoryCardHead h3 { margin:0 0 4px; font-size:1rem; }
.categoryCardHead small { color:var(--muted); font-size:.59rem; }
.categoryCardHead button { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; }
.subcategoryDrop { max-height:0; display:grid; margin-top:8px; padding:0 14px; overflow:hidden; border:1px solid transparent; background:#fff; opacity:0; transition:max-height .35s ease,opacity .2s,padding .3s,border-color .2s; }
.categoryCard.open .subcategoryDrop { max-height:440px; padding:9px 14px 14px; border-color:var(--line); opacity:1; }
.subcategoryDrop a { min-height:35px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); border-bottom:1px solid #eee8df; font-size:.65rem; }
.subcategoryDrop a:last-child { border:0; }
.homePromos { width:var(--container); display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 auto; }
.promoCard { min-height:250px; display:grid; grid-template-columns:minmax(0,1fr) 44%; overflow:hidden; }
.promoCard > div { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; padding:36px 42px; }
.promoCard > div > span { margin-bottom:10px; color:var(--moss-dark); font-size:.56rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.promoCard h2 { margin-bottom:9px; font-size:clamp(1.7rem,2.4vw,2.6rem); line-height:1.08; }
.promoCard p { margin-bottom:18px; color:var(--muted); font-size:.72rem; }
.promoCard a { display:inline-flex; align-items:center; gap:10px; padding-bottom:3px; border-bottom:1px solid currentColor; font-size:.63rem; font-weight:800; }
.promoCard img { width:100%; height:100%; object-fit:cover; }
.promoLight { background:#eee5d8; }
.promoDark { color:#fff; background:var(--walnut-dark); }
.promoDark h2 { color:#fff; }
.promoDark > div > span { color:#d4af72; }
.promoDark p { color:rgba(255,255,255,.62); }
.productSection { padding:62px 0 42px; }
.productTabs { display:flex; gap:28px; margin:-9px 0 22px; border-bottom:1px solid var(--line); }
.productTabs button { min-height:38px; position:relative; padding:0; border:0; color:var(--muted); background:transparent; font-size:.64rem; font-weight:750; }
.productTabs button::after { content:""; height:2px; position:absolute; right:100%; bottom:-1px; left:0; background:var(--walnut); transition:right .2s; }
.productTabs button.active { color:var(--ink); }
.productTabs button.active::after { right:0; }
.productGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.productCard { min-width:0; border:1px solid var(--line); background:#fff; transition:border-color .2s,transform .2s,box-shadow .2s; }
.productCard[hidden] { display:none!important; }
.productCard:hover { border-color:#c9baa8; transform:translateY(-2px); box-shadow:0 13px 28px rgba(52,35,23,.08); }
.productImage { aspect-ratio:1/1.06; position:relative; display:block; overflow:hidden; background:var(--surface); }
.productImage img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:opacity .35s,transform .5s ease; }
.alternateProductImage { opacity:0; }
.productCard:hover .primaryProductImage { opacity:0; }
.productCard:hover .alternateProductImage { opacity:1; transform:scale(1.025); }
.productBadge { position:absolute; z-index:2; top:10px; left:10px; padding:6px 8px; color:#fff; background:var(--walnut); font-size:.55rem; font-weight:800; text-transform:uppercase; }
.productQuickView { position:absolute; right:10px; bottom:10px; left:10px; display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 13px; color:#fff; background:rgba(45,28,18,.92); font-size:.64rem; font-weight:750; opacity:0; transform:translateY(8px); transition:opacity .2s,transform .2s; }
.productCard:hover .productQuickView { opacity:1; transform:none; }
.productMeta { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 14px 0; color:var(--muted); font-size:.58rem; text-transform:uppercase; }
.productCopy { min-height:78px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:7px 14px 13px; }
.productCopy h3 { margin:0 0 4px; font-size:1.05rem; line-height:1.15; }
.productCopy p { margin:0; color:var(--muted); font-size:.59rem; }
.productCopy > strong { padding-top:2px; font-size:.7rem; white-space:nowrap; }
.productActions { display:grid; grid-template-columns:1fr 1fr; margin:0 14px 14px; border:1px solid var(--line); }
.productActions a,.productActions button { min-height:38px; display:flex; align-items:center; justify-content:center; gap:7px; padding:0 8px; border:0; background:transparent; font-size:.63rem; font-weight:750; }
.productActions > :nth-child(2) { border-left:1px solid var(--line); }
.productActions a:hover,.productActions button:hover { color:#fff; background:var(--ink); }
.mobileActionLabel { display:none; }
.allProductsButton { width:max-content; min-height:42px; display:flex; align-items:center; gap:10px; margin:28px auto 0; padding:0 20px; border:1px solid var(--ink); font-size:.63rem; font-weight:800; }
.serviceStrip { width:var(--container); display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto 58px; border:1px solid var(--line); background:#fff; }
.serviceStrip article { min-height:88px; display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; padding:15px 24px; border-right:1px solid var(--line); }
.serviceStrip article:last-child { border:0; }
.serviceStrip article > span { color:var(--moss-dark); font-family:Georgia,serif; font-size:1.35rem; }
.serviceStrip div { min-width:0; display:flex; flex-direction:column; overflow-wrap:anywhere; }
.serviceStrip .serviceIcon { display:block; width:29px; height:29px; object-fit:contain; }
.homePromos:has(> article:only-child) { grid-template-columns:minmax(0,1fr); }
.homePromos:not(:has(> article)) { display:none; }
.serviceStrip strong { font-size:.76rem; }
.serviceStrip small { color:var(--muted); font-size:.65rem; }
.shopLookSection { padding:0 0 76px; }
.shopLook { min-height:520px; display:grid; grid-template-columns:minmax(0,1fr) 330px; color:var(--ink); background:#fff; }
.shopLookVisual { min-height:520px; position:relative; overflow:hidden; }
.shopLookVisual > img { width:100%; height:100%; object-fit:cover; }
.lookHotspot { width:34px; height:34px; display:grid; place-items:center; position:absolute; z-index:3; padding:0; transform:translate(-50%,-50%); border:2px solid #fff; border-radius:50%; color:#fff; background:var(--walnut-dark); box-shadow:0 5px 18px rgba(38,25,16,.2); }
.lookHotspot.active { background:var(--moss); transform:translate(-50%,-50%) scale(1.08); }
.shopLookPanel { display:flex; flex-direction:column; padding:22px 20px; border:1px solid var(--line); border-left:0; }
.lookProductList { display:grid; flex:1; margin:0; padding:0; list-style:none; }
.lookProductList li { border-bottom:1px solid var(--line); }
.lookProductList li:last-child { border:0; }
.lookProductList button { width:100%; min-height:92px; display:grid; grid-template-columns:27px 56px minmax(0,1fr); align-items:center; gap:10px; padding:10px 4px; border:0; text-align:left; background:transparent; }
.lookProductList li.active button { background:var(--surface); }
.lookProductNumber { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--walnut-dark); font-size:.58rem; }
.lookProductList img { width:56px; height:65px; object-fit:cover; }
.lookProductList button > span:last-child { min-width:0; display:flex; align-items:flex-start; flex-direction:column; }
.lookProductList li,.lookProductList button { min-width:0; overflow:hidden; }
.lookProductList img { max-width:100%; display:block; flex:none; }
.lookProductCopy { width:100%; min-width:0; display:grid; align-content:center; gap:3px; overflow:hidden; }
.lookProductCopy strong { max-width:100%; display:-webkit-box; overflow:hidden; line-height:1.25; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.lookProductCopy small,.lookProductCopy b { max-width:100%; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lookProductList strong { font-family:Georgia,serif; font-size:.82rem; font-weight:500; }
.lookProductList small { max-width:100%; overflow:hidden; color:var(--muted); font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }
.lookProductList b { margin-top:3px; font-size:.6rem; }
.lookProductCta { min-height:42px; display:flex; align-items:center; justify-content:center; gap:10px; margin-top:14px; color:#fff; background:var(--walnut); font-size:.63rem; font-weight:800; }
.projectSection { padding:68px 0; }
.projectGrid { height:510px; display:grid; grid-template-columns:1.1fr 1.35fr .9fr; gap:14px; }
.projectGrid a { position:relative; overflow:hidden; background:var(--surface); }
.projectGrid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.projectGrid a:hover img { transform:scale(1.025); }
.projectGrid span { position:absolute; z-index:2; right:14px; bottom:14px; left:14px; padding:12px 14px; color:#fff; background:rgba(31,25,20,.78); font-size:.67rem; font-weight:750; }
.trackingBanner { width:var(--container); display:flex; align-items:center; justify-content:space-between; gap:48px; margin:0 auto 96px; padding:48px 54px; color:#fff; background:#4a2f1c; }
.trackingBanner .sectionKicker { color:#d4af72; }
.trackingBanner h2 { max-width:820px; margin-bottom:14px; color:#fff; font-size:clamp(2.2rem,4vw,4rem); }
.trackingBanner p { margin:0; color:rgba(255,255,255,.7); font-size:.8rem; }
.trackingBanner > a { min-width:180px; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 18px; color:var(--ink); background:#fff; font-size:.7rem; font-weight:800; }

/* Synced compact footer */
.footer { color:#fff; background:var(--ink); }
.footerMain { width:min(1380px,calc(100% - clamp(40px,6vw,72px))); display:grid; grid-template-columns:minmax(230px,1.25fr) repeat(2,minmax(130px,.68fr)) minmax(230px,.95fr); gap:clamp(28px,4vw,58px); margin-inline:auto; padding:44px 0 32px; }
.footerBrandBlock,.footerContact { min-width:0; }
.footerLogo { width:174px; display:block; }
.footerLogo img { width:174px; filter:brightness(0) invert(1); }
.footerBrandBlock p { max-width:360px; margin:14px 0 18px; color:rgba(255,255,255,.62); font-size:.71rem; line-height:1.6; }
.footerLocation { color:rgba(255,255,255,.42); font-size:.63rem; }
.footerSocials { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; font-size:.61rem; }
.footerColumn { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.footerColumn strong,.footerContact > strong { margin-bottom:6px; color:#fff; font-size:.61rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.footerColumn a { color:rgba(255,255,255,.62); font-size:.68rem; line-height:1.4; }
.footerContact { display:flex; flex-direction:column; align-items:flex-start; }
.footerContact > p { max-width:300px; margin:0 0 14px; color:rgba(255,255,255,.58); font-size:.68rem; line-height:1.55; }
.footerWa { width:100%; display:flex; flex-direction:column; gap:4px; padding:11px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.footerWa span { color:#d4af72; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.footerWa b { color:#fff; font-family:Georgia,serif; font-size:clamp(1rem,1.5vw,1.3rem); font-weight:500; overflow-wrap:anywhere; }
.footerEmail { margin-top:11px; color:rgba(255,255,255,.62); font-size:.66rem; overflow-wrap:anywhere; }
.footerBottom { width:min(1380px,calc(100% - clamp(40px,6vw,72px))); display:flex; justify-content:space-between; gap:20px; margin-inline:auto; padding:15px 0 18px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.46); font-size:.62rem; }
.footerBottom > div { display:flex; flex-wrap:wrap; gap:18px; }

@media (max-width:1180px) {
    .headerMain { grid-template-columns:160px minmax(260px,1fr) 190px; gap:24px; }
    .brandLogo,.brandLogo img { width:150px; }
    .mainNav { gap:19px; }
    .categoryMenuTrigger { min-width:210px; }
    .homeHero { grid-template-columns:minmax(0,1fr) 225px; }
    .heroSlide { grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr); }
    .heroContent { padding-inline:34px; }
    .categoryGrid { gap:24px; }
}
@media (max-width:1040px) {
    :root { --container:calc(100% - 32px); }
    html { scroll-padding-top:80px; }
    .siteHeader { min-height:72px; }
    .utilityBar { display:none; }
    .headerMain { height:72px; grid-template-columns:44px minmax(0,1fr) auto; gap:8px; }
    .menuButton { width:42px; height:42px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; border:0; background:transparent; }
    .menuButton span { width:20px; height:1px; background:var(--ink); }
    .brandLogo { position:absolute; left:50%; transform:translateX(-50%); }
    .brandLogo,.brandLogo img { width:142px; }
    .headerSearch { height:58px; position:fixed; top:78px; right:16px; left:16px; display:none; grid-template-columns:minmax(0,1fr) 48px 42px; box-shadow:0 16px 38px rgba(52,35,23,.16); }
    .headerSearch.open { display:grid; }
    .searchCategorySelect { display:none; }
    .headerSearch > input { height:56px; }
    .searchSubmit { height:56px; }
    .searchClose { width:42px; height:56px; display:grid; place-items:center; position:static; border:0; background:#fff; }
    .mobileSearchButton { width:40px; height:42px; display:grid; place-items:center; padding:0; border:0; background:transparent; font-size:1.25rem; }
    .orderButton { display:none; }
    .cartButton { min-width:40px; width:40px; height:42px; padding:0; }
    .cartButton em { display:none; }
    .headerNavRow { width:0; height:0; border:0; }
    .mainNav { width:min(390px,88vw); height:calc(100dvh - 72px); position:fixed; z-index:150; top:72px; bottom:0; left:0; display:flex; align-items:stretch; flex-direction:column; gap:0; padding:14px 20px calc(24px + env(safe-area-inset-bottom)); overflow-y:auto; color:#fff4df; background:var(--walnut-dark); opacity:0; visibility:hidden; pointer-events:none; transform:translateX(-105%); transition:transform .28s ease,opacity .2s ease,visibility .2s; }
    .mainNav.open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
    .mainNav > a,.categoryMenuTrigger { width:100%; height:52px; min-height:52px; justify-content:space-between; padding:0; color:#fff4df; border-bottom:1px solid rgba(255,255,255,.14); background:transparent; font-family:Georgia,serif; font-size:1.08rem; font-weight:500; letter-spacing:0; text-transform:none; }
    .mainNav > a::after { display:none; }
    .navCategoryMenu { width:100%; height:auto; }
    .categoryMenuPanel { width:100%; max-height:0; position:static; display:none; grid-template-columns:1fr; padding:0; overflow:hidden; border:0; background:transparent; box-shadow:none; opacity:0; visibility:hidden; transform:none; }
    .navCategoryMenu[open] .categoryMenuPanel { max-height:none; display:grid; padding:10px 0 14px; overflow:visible; opacity:1; visibility:visible; }
    .categoryMenuGroup { padding:12px 14px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.05); }
    .categoryMenuTitle { color:#fff; }
    .categoryMenuGroup > div a { color:rgba(255,255,255,.65); }
    .navBackdrop.open { position:fixed; z-index:145; inset:72px 0 0; display:block; border:0; background:rgba(24,19,14,.55); }
    .searchBackdrop.open { position:fixed; z-index:120; inset:72px 0 0; display:block; border:0; background:rgba(24,19,14,.4); }
    .homeHero { width:100%; display:block; }
    .heroSlider { height:600px; }
    .departmentRail { display:none; }
    .categoryGrid { grid-template-columns:repeat(5,minmax(150px,1fr)); gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
    .categoryCard { scroll-snap-align:start; }
    .homePromos { grid-template-columns:1fr; }
    .productGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .shopLook { grid-template-columns:minmax(0,1fr) 300px; }
    .footerMain { grid-template-columns:1.25fr 1fr; }
}
@media (max-width:760px) {
    :root { --container:calc(100% - 28px); }
    .brandLogo,.brandLogo img { width:128px; }
    .heroSlider { height:660px; }
    .heroSlide { grid-template-columns:1fr; grid-template-rows:minmax(0,1.1fr) minmax(260px,.9fr); }
    .heroContent { padding:30px 24px 66px; }
    .heroContent h1 { font-size:clamp(2rem,8.8vw,3.15rem); }
    .heroContent p { font-size:.72rem; }
    .heroControls { top:14px; right:18px; }
    .categorySection { padding:46px 0 54px; }
    .compactSectionHeader,.shopLookHeader { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:22px; }
    .compactSectionHeader h2,.shopLookHeader h2 { font-size:2.45rem; }
    .categoryGrid { grid-template-columns:repeat(5,minmax(142px,44vw)); gap:16px; margin-right:-14px; padding-right:14px; }
    .categoryCardHead { text-align:left; }
    .homePromos { width:100%; gap:8px; }
    .promoCard { min-height:220px; grid-template-columns:1.1fr .9fr; }
    .promoCard > div { padding:28px 22px; }
    .productSection { padding:54px 0 38px; }
    .productGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .productCard:hover { transform:none; box-shadow:none; }
    .productActions { grid-template-columns:1fr; margin:0 10px 10px; }
    .productActions > :nth-child(2) { border-top:1px solid var(--line); border-left:0; }
    .catalogProductGrid .productActions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalogProductGrid .productActions > :nth-child(2) { border-top:0; border-left:1px solid var(--line); }

/* Stable inline header icons and complete catalog */
.headerIcon { display:block; flex:0 0 auto; }
.orderButton > .headerIcon { color:var(--walnut); }
.categoryCaret .headerIcon { transition:transform .2s ease; }
.all-products-page { padding-top:36px; padding-bottom:110px; }
.all-products-toolbar { display:flex; align-items:center; justify-content:space-between; gap:26px; padding:0 0 34px; color:var(--muted); font-size:.68rem; }
.all-products-group { scroll-margin-top:170px; padding:44px 0 66px; border-top:1px solid var(--line); }
.all-products-group-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.all-products-group-head span { color:var(--moss-dark); font-size:.61rem; font-weight:800; letter-spacing:.1em; }
.all-products-group-head h2 { margin:7px 0 0; font-size:clamp(2.2rem,4vw,4rem); }
.all-products-group-head > a { display:flex; align-items:center; gap:9px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:.64rem; font-weight:800; }
.all-products-grid { grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; }

@media (max-width:1040px) {
    .all-products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .all-products-page { padding-top:22px; padding-bottom:72px; }
    .all-products-toolbar { align-items:stretch; flex-direction:column; gap:16px; }
    .all-products-toolbar .catalog-search { width:100%; }
    .all-products-group { padding:34px 0 52px; }
    .all-products-group-head { align-items:flex-start; flex-direction:column; gap:12px; }
    .all-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:360px) {
    .all-products-grid { grid-template-columns:1fr; }
}
    .serviceStrip { grid-template-columns:1fr; margin-bottom:48px; }
    .serviceStrip article { min-height:70px; border-right:0; border-bottom:1px solid var(--line); }
    .shopLookSection { width:100%; padding-bottom:58px; }
    .shopLookHeader { width:var(--container); margin-right:auto; margin-left:auto; }
    .shopLook { display:block; min-height:0; }
    .shopLookVisual { min-height:0; aspect-ratio:4/3; }
    .shopLookPanel { padding:12px 14px 16px; border-left:1px solid var(--line); }
    .lookProductList { grid-template-columns:1fr 1fr; }
    .projectSection { padding:52px 0; }
    .projectGrid { height:auto; grid-template-columns:1fr 1fr; }
    .projectGrid a { min-height:260px; }
    .projectGrid a:first-child { grid-column:1/-1; }
    .trackingBanner { align-items:flex-start; flex-direction:column; gap:24px; margin-bottom:64px; padding:38px 26px; }
}
@media (max-width:580px) {
    .footerMain { width:calc(100% - 40px); grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; padding:34px 0 25px; }
    .footerBrandBlock,.footerContact { grid-column:1/-1; }
    .footerContact { padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
    .footerBottom { width:calc(100% - 40px); align-items:flex-start; flex-direction:column; gap:10px; }
}
@media (max-width:520px) {
    .headerMain { width:100%; padding-inline:10px; }
    .brandLogo,.brandLogo img { width:112px; }
    .headerSearch { right:10px; left:10px; }
    .heroSlider { height:610px; }
    .heroSlide { grid-template-rows:51% 49%; }
    .heroContent { padding:26px 20px 62px; }
    .heroContent h1 { margin-bottom:11px; font-size:clamp(1.85rem,9.4vw,2.65rem); }
    .heroContent p { display:-webkit-box; margin-bottom:15px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
    .heroControls > div { display:none; }
    .categoryGrid { grid-template-columns:repeat(5,minmax(132px,42vw)); }
    .promoCard { min-height:210px; grid-template-columns:1fr 42%; }
    .promoCard > div { padding:24px 18px; }
    .promoCard h2 { font-size:1.48rem; }
    .productGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .productImage { aspect-ratio:1/1.12; }
    .productMeta { align-items:flex-start; flex-direction:column; gap:2px; padding:10px 10px 0; }
    .productMeta > span { display:none; }
    .productCopy { min-height:98px; align-items:flex-start; flex-direction:column; gap:3px; padding:6px 10px 10px; }
    .productCopy h3 { font-size:.93rem; }
    .productActions a,.productActions button { font-size:.58rem; }
    .desktopActionLabel { display:none; }
    .mobileActionLabel { display:inline; }
    .lookProductList { display:block; }
    .projectGrid { grid-template-columns:1fr; }
    .projectGrid a,.projectGrid a:first-child { min-height:300px; grid-column:auto; }
}
@media (max-width:360px) {
    .brandLogo,.brandLogo img { width:102px; }
    .heroSlider { height:590px; }
    .productGrid { grid-template-columns:1fr; }
    .productCopy { min-height:0; }
    .categoryGrid { grid-template-columns:repeat(5,minmax(126px,68vw)); }
}
@media (hover:none) {
    .productCard:hover .primaryProductImage { opacity:1; }
    .productCard:hover .alternateProductImage { opacity:0; }
    .productQuickView { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .heroSlide,.heroVisual img,.productCard,.categoryImage img { transition:none!important; }
}

/* Gams palette — primary forest, warm oak, sage and ivory. */
:root {
    --ink:#0c0a08;
    --ink-soft:#2a3723;
    --muted:#596052;
    --paper:#e8e5dd;
    --surface:#f3f1eb;
    --surface-strong:#b9bba8;
    --line:rgba(42,55,35,.22);
    --walnut:#2a3723;
    --walnut-dark:#2a3723;
    --moss:#dcbc98;
    --moss-dark:#2a3723;
    --cream:#e8e5dd;
    --sand:#b9bba8;
    --accent:#2a3723;
    --shadow:0 16px 40px rgba(12,10,8,.10);
}
body { background:var(--paper); }
.siteHeader { background:rgba(232,229,221,.97); box-shadow:0 4px 18px rgba(12,10,8,.06); }
.announcement,.utilityBar,.heroContent,.departmentRail,.promoDark,.trackingBanner,.footer,.site-footer,.profileBand { background:#2a3723; }
.departmentRail nav a:hover { background:#3a4933; }
.categoryMenuTrigger,.searchSubmit,.heroContent a,.all-products-group-head > a:hover { color:#fff; border-color:#2a3723; background:#2a3723; }
.categoryMenuTrigger:hover,.searchSubmit:hover,.heroContent a:hover,.productActions a:hover,.productActions button:hover { background:#3a4933; }
.departmentRoomIcon,.departmentRail nav b,.departmentAll b,.heroContent > span,.promoDark > div > span,.trackingBanner .sectionKicker,.footerWa span,.footerColumn a:hover { color:#dcbc98; }
.promoLight { background:#b9bba8; }
.productBadge { color:#0c0a08; background:#dcbc98; }
.productCard,.headerSearch,.categoryCard,.subcategoryDrop { background:#f8f7f2; }
.button-dark { color:#fff; border-color:#2a3723; background:#2a3723; }
.button-dark:hover { background:#3a4933; }

/* Glassmorphism storefront — readable, responsive, and lightweight. */
:root {
    --glass-light:rgba(255,255,255,.58);
    --glass-light-strong:rgba(248,247,242,.82);
    --glass-dark:rgba(42,55,35,.88);
    --glass-border:rgba(255,255,255,.58);
    --glass-border-dark:rgba(255,255,255,.18);
    --glass-shadow:0 18px 48px rgba(42,55,35,.13);
    --glass-blur:16px;
}
html { background:#e8e5dd; }
body {
    background:radial-gradient(circle at 8% 4%,rgba(220,188,152,.46),transparent 30rem),radial-gradient(circle at 92% 24%,rgba(185,187,168,.48),transparent 34rem),linear-gradient(145deg,#f5f2e9 0%,#e8e5dd 48%,#dfe2d4 100%);
    background-attachment:fixed;
}
.siteHeader { border-bottom:1px solid rgba(255,255,255,.5); background:rgba(232,229,221,.76); box-shadow:0 10px 32px rgba(42,55,35,.08); backdrop-filter:blur(var(--glass-blur)) saturate(135%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%); }
.utilityBar { background:rgba(42,55,35,.92); }
.headerSearch,.searchResults,.categoryMenuPanel,.subcategoryDrop,.cartDrawer { border:1px solid var(--glass-border); background:var(--glass-light-strong); box-shadow:var(--glass-shadow); backdrop-filter:blur(var(--glass-blur)) saturate(140%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%); }
.homeHero { width:min(1460px,calc(100% - clamp(24px,4vw,64px))); margin:24px auto 0; overflow:visible; border:1px solid var(--glass-border); border-radius:26px; background:rgba(255,255,255,.28); box-shadow:var(--glass-shadow); }
.departmentRail,.heroContent { background:var(--glass-dark); backdrop-filter:blur(10px) saturate(125%); -webkit-backdrop-filter:blur(10px) saturate(125%); }
.heroContent { border-left:1px solid var(--glass-border-dark); }
.heroSlider { overflow:hidden; border-radius:26px 0 0 26px; }
.departmentRail { position:relative; z-index:20; overflow:visible; border-radius:0 26px 26px 0; }
.departmentRail > nav { position:relative; }
.departmentItem { min-height:0; position:relative; border-bottom:1px solid rgba(255,255,255,.12); }
.departmentItem:last-child { border-bottom:0; }
.departmentTrigger { width:100%; height:100%; min-height:72px; display:grid; grid-template-columns:30px minmax(0,1fr) 16px; align-items:center; gap:13px; padding:12px 20px; border:0; color:#fff; text-align:left; background:transparent; cursor:pointer; }
.departmentTrigger > span { min-width:0; display:flex; flex-direction:column; }
.departmentTrigger strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.departmentTrigger small { color:rgba(255,255,255,.62); font-size:.57rem; }
.departmentTrigger > b { color:var(--moss); font-size:1rem; transition:transform .2s ease; }
.departmentItem.open .departmentTrigger,
.departmentItem:hover .departmentTrigger,
.departmentItem:focus-within .departmentTrigger { background:rgba(255,255,255,.09); }
.departmentItem.open .departmentTrigger > b,
.departmentItem:hover .departmentTrigger > b,
.departmentItem:focus-within .departmentTrigger > b { transform:rotate(180deg); }
.departmentItemDropdown { width:min(310px,calc(100vw - 32px)); position:absolute; z-index:30; top:calc(100% - 6px); right:10px; padding:18px; border:1px solid rgba(255,255,255,.86); border-radius:18px; color:var(--ink); background:rgba(248,247,242,.96); box-shadow:0 24px 70px rgba(12,10,8,.24); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); }
.departmentItem:nth-last-child(-n+2) .departmentItemDropdown { top:auto; bottom:calc(100% - 6px); transform:translateY(8px); }
.departmentItem.open .departmentItemDropdown,
.departmentItem:hover .departmentItemDropdown,
.departmentItem:focus-within .departmentItemDropdown { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.departmentItemDropdown > div:first-child { display:flex; flex-direction:column; gap:3px; margin-bottom:11px; }
.departmentItemDropdown > div:first-child span { color:var(--muted); font-size:.56rem; font-weight:800; letter-spacing:.12em; }
.departmentItemDropdown > div:first-child strong { font-family:Georgia,serif; font-size:1.15rem; }
.departmentSubcategoryLinks { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; }
.departmentSubcategoryLinks a { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid rgba(42,55,35,.12); color:var(--ink); font-size:.63rem; }
.departmentSubcategoryLinks a:hover { color:var(--walnut); }
.departmentRail nav .departmentViewAll { min-height:40px; display:flex; grid-template-columns:none; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding:0 12px; border:0; border-radius:10px; color:#fff; background:var(--walnut); font-size:.61rem; font-weight:800; }
.departmentMobileDropdown { display:none; }
.heroVisual::after { background:linear-gradient(90deg,rgba(42,55,35,.12),transparent 48%); }
.categoryCard,.productCard,.promoCard,.valueCard,.contactCard,.portfolioItem,.contentBody,.productInfo,.category-sidebar,.empty-state { border:1px solid var(--glass-border); border-radius:18px; background:var(--glass-light); box-shadow:var(--glass-shadow); backdrop-filter:blur(var(--glass-blur)) saturate(135%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%); }
.categoryCard,.productCard,.promoCard,.portfolioItem { overflow:hidden; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
@media (hover:hover) { .categoryCard:hover,.productCard:hover,.promoCard:hover,.portfolioItem:hover { transform:translateY(-5px); border-color:rgba(220,188,152,.9); box-shadow:0 24px 60px rgba(42,55,35,.18); } }
.productMeta,.productCopy,.productActions,.categoryCardHead { padding-inline:16px; }
.productActions { padding-bottom:16px; }
.homePromos,.categorySection,.productSection,.shopLookSection,.projectSection,.contentSection { width:min(1380px,calc(100% - clamp(32px,6vw,96px))); }
.promoDark,.trackingBanner,.profileBand,.footer,.site-footer { border:1px solid var(--glass-border-dark); background:linear-gradient(145deg,rgba(42,55,35,.94),rgba(58,73,51,.86)); box-shadow:var(--glass-shadow); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.promoLight { border:1px solid rgba(255,255,255,.5); background:rgba(185,187,168,.68); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.shopLook,.trackingBanner,.profileBand { overflow:hidden; border-radius:24px; }
.shopLook { min-height:520px; grid-template-columns:minmax(0,1fr) 390px; overflow:visible; border:1px solid var(--glass-border); background:rgba(255,255,255,.3); box-shadow:var(--glass-shadow); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.shopLookVisual { min-height:520px; overflow:hidden; border-radius:24px; }
.shopLookVisual::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 55%,rgba(42,55,35,.14)); }
.lookHotspot { border-color:rgba(255,255,255,.94); background:rgba(42,55,35,.78); box-shadow:0 8px 24px rgba(12,10,8,.25); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.lookHotspot.active { color:var(--ink); background:rgba(220,188,152,.92); }
.shopLookPanel { min-width:0; position:relative; z-index:5; margin:18px 18px 18px -56px; padding:18px; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:20px; color:var(--ink); background:rgba(248,247,242,.68); box-shadow:0 24px 70px rgba(12,10,8,.18); backdrop-filter:blur(20px) saturate(145%); -webkit-backdrop-filter:blur(20px) saturate(145%); }
.lookProductList { gap:7px; }
.lookProductList li { border:0; border-radius:13px; }
.lookProductList button { min-height:88px; padding:9px; border-radius:13px; color:var(--ink); }
.lookProductList li.active button { background:rgba(255,255,255,.78); box-shadow:inset 0 0 0 1px rgba(255,255,255,.82),0 9px 24px rgba(42,55,35,.09); }
.lookProductList strong,.lookProductList b { color:var(--ink); }
.lookProductList small { color:var(--muted); }
.lookProductNumber { background:var(--walnut); }
.lookProductCta { border-radius:12px; box-shadow:0 12px 28px rgba(42,55,35,.18); }
.trackingBanner { padding:clamp(28px,4vw,48px); }
.category-page-hero,.page-hero.compact { border:1px solid var(--glass-border); border-radius:24px; background:var(--glass-light); box-shadow:var(--glass-shadow); backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); }
.catalog-toolbar,.all-products-toolbar,.all-products-group-head,.catalog-search input,.catalog-search button,.filter-toggle,.catalog-pagination { border:1px solid var(--glass-border); background:var(--glass-light); box-shadow:0 12px 36px rgba(42,55,35,.09); backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); }
.all-products-group-head { padding:20px 22px; border-radius:16px; }
.catalog-pagination { width:min(680px,100%); min-height:64px; display:flex; align-items:center; justify-content:center; gap:10px; margin:34px auto 72px; padding:10px 12px; border-radius:18px; }
.catalog-pagination a { min-width:42px; min-height:42px; display:flex; align-items:center; justify-content:center; padding:0 14px; border:0; border-radius:12px; color:var(--ink); background:rgba(255,255,255,.62); font-size:.65rem; font-weight:800; }
.catalog-pagination a.active,.catalog-pagination a:hover,.catalog-pagination .pagination-direction { color:#fff; background:var(--walnut); }
.catalog-pagination span { margin-inline:auto; color:var(--muted); font-size:.7rem; }
.catalog-pagination strong { color:var(--ink); }
.product-grid,.catalog-grid,.catalogProductGrid,.all-products-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
.footer,.site-footer { border-right:0; border-bottom:0; border-left:0; border-radius:28px 28px 0 0; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .siteHeader,.headerSearch,.searchResults,.categoryMenuPanel,.subcategoryDrop,.cartDrawer,.categoryCard,.productCard,.promoCard,.valueCard,.contactCard,.portfolioItem,.contentBody,.productInfo,.category-sidebar,.empty-state,.catalog-toolbar,.all-products-toolbar,.all-products-group-head,.catalog-pagination { background:#f3f1eb; } }
@media (max-width:760px) {
    :root { --glass-blur:11px; }
    body { background-attachment:scroll; }
    .homeHero { width:calc(100% - 20px); margin-top:10px; overflow:hidden; border-radius:18px; }
    .heroContent { border-top:1px solid var(--glass-border-dark); border-left:0; }
    .homePromos,.categorySection,.productSection,.shopLookSection,.projectSection,.contentSection { width:calc(100% - 28px); }
    .categoryCard,.productCard,.promoCard,.valueCard,.contactCard,.portfolioItem,.contentBody,.productInfo,.category-sidebar,.empty-state { border-radius:14px; }
    .shopLook,.trackingBanner,.profileBand { border-radius:18px; }
    .category-page-hero,.page-hero.compact { width:calc(100% - 28px); margin-inline:auto; padding-inline:20px; border-radius:18px; }
    .all-products-page,.category-catalog-layout { width:calc(100% - 28px); }
    .all-products-group-head { padding:16px; }
    .catalog-pagination { width:100%; flex-wrap:wrap; }
    .catalog-pagination span { width:100%; order:-1; margin:0; text-align:center; }
    .catalog-pagination .pagination-direction { flex:1; }
}
@media (max-width:1040px) {
    .homeHero { overflow:hidden; }
    .heroSlider { border-radius:18px 18px 0 0; }
    .departmentRail { display:block; padding:10px; border-radius:0 0 18px 18px; }
    .departmentRail > nav { display:flex; grid-template-rows:none; gap:8px; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; scrollbar-width:none; }
    .departmentRail > nav::-webkit-scrollbar { display:none; }
    .departmentItem { min-width:min(245px,72vw); flex:0 0 min(245px,72vw); border:1px solid rgba(255,255,255,.14); border-radius:13px; scroll-snap-align:start; }
    .departmentTrigger { min-height:66px; padding:10px 14px; }
    .departmentItemDropdown { display:none; }
    .departmentMobileDropdown { max-height:0; display:block; overflow:hidden; opacity:0; transition:max-height .25s ease,opacity .18s ease; }
    .departmentMobileDropdown.open { max-height:520px; opacity:1; }
    .departmentMobileDropdown > div { margin-top:10px; padding:14px; border:1px solid rgba(255,255,255,.62); border-radius:14px; color:var(--ink); background:rgba(248,247,242,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
    .departmentMobileDropdown > div > strong { display:block; margin-bottom:8px; font-family:Georgia,serif; font-size:1.05rem; }
    .departmentMobileDropdown .departmentSubcategoryLinks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; }
    .departmentAll { min-height:44px; margin-top:8px; padding-inline:12px; }
}
@media (max-width:760px) {
    .departmentRail > nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; padding-bottom:0; scroll-snap-type:none; }
    .departmentItem { min-width:0; width:auto; flex:none; }
    .departmentItem:nth-child(n+5) { display:none; }
    .shopLook { display:block; min-height:0; padding:10px; border-radius:18px; }
    .shopLookVisual { min-height:0; aspect-ratio:4/3; border-radius:14px; }
    .shopLookPanel { margin:-38px 8px 8px; padding:12px; border-radius:16px; }
    .lookProductList { display:grid; grid-auto-columns:minmax(230px,82vw); grid-auto-flow:column; gap:8px; overflow-x:auto; padding-bottom:5px; scroll-snap-type:x mandatory; scrollbar-width:none; }
    .lookProductList::-webkit-scrollbar { display:none; }
    .lookProductList li { scroll-snap-align:start; }
    .lookProductList button { min-height:86px; }
}
@media (max-width:520px) {
    .departmentTrigger { grid-template-columns:22px minmax(0,1fr) 14px; gap:8px; padding:9px 8px; }
    .departmentRoomIcon { width:22px; height:22px; }
    .departmentMobileDropdown .departmentSubcategoryLinks { grid-template-columns:1fr; }
    .shopLookVisual { aspect-ratio:4/5; }
    .shopLookPanel { margin-top:-28px; }
}
@media (max-width:520px) { .product-grid,.catalog-grid,.catalogProductGrid,.all-products-grid { grid-template-columns:1fr; } .productActions { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce) { .categoryCard,.productCard,.promoCard,.portfolioItem,.button,.allProductsButton { transition:none; } html:focus-within { scroll-behavior:auto; } }

/* Mobile media, navigasi kategori, dan Shop the Look — stability hotfix */
.categoryMenuTrigger { padding:0; }
.categoryMenuDestination { min-width:0; min-height:100%; display:flex; flex:1; align-items:center; gap:11px; padding-left:18px; }
.categoryMenuToggle { width:46px; height:100%; flex:0 0 46px; display:grid; place-items:center; padding:0; border:0; color:inherit; background:transparent; }
.categoryMenuToggle svg { transition:transform .2s ease; }
.navCategoryMenu.open .categoryMenuToggle svg { transform:rotate(180deg); }
.navCategoryMenu.open .categoryMenuPanel { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.product-video-block { display:grid; gap:10px; margin-top:22px; }
.product-video-block > div { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.product-video-block strong { font-size:.72rem; }
.product-video-block span { color:var(--muted); font-size:.61rem; }
.product-video-block video { width:100%; aspect-ratio:16/10; display:block; object-fit:cover; border:1px solid var(--line); background:#161616; }

@media (max-width:1040px) {
    .categoryMenuDestination { min-height:54px; padding-left:0; color:inherit; }
    .categoryMenuToggle { height:54px; }
    .navCategoryMenu.open .categoryMenuPanel { max-height:min(58dvh,520px); display:grid; padding:10px 0 14px; overflow-y:auto; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
}

@media (max-width:760px) {
    .product-detail.container { width:calc(100% - 28px); display:flex; flex-direction:column; gap:18px; margin-inline:auto; padding:18px 0 72px; }
    .product-gallery { width:100%; min-width:0; display:block; position:static; order:1; }
    .gallery-main { width:100%; height:auto; min-height:0; aspect-ratio:4/5; overflow:hidden; border:1px solid var(--glass-border); border-radius:16px; background:var(--surface); }
    .gallery-main img,.gallery-main video { width:100%; height:100%; display:block; object-fit:cover; }
    .gallery-thumbs { display:flex; gap:8px; padding:10px 0 4px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
    .gallery-thumbs::-webkit-scrollbar { display:none; }
    .gallery-thumbs button { width:72px; height:82px; flex:0 0 72px; aspect-ratio:auto; scroll-snap-align:start; }
    .zoom-hint { padding:6px 8px; font-size:.57rem; }
    .product-video-block { margin-top:18px; }
    .product-video-block video { aspect-ratio:4/3; border-radius:14px; }
    .product-copy { width:100%; min-width:0; order:2; margin:0; padding:24px 20px; border:1px solid var(--glass-border); border-radius:14px; background:var(--glass-light); box-shadow:var(--glass-shadow); }
    .product-copy .breadcrumbs { margin-bottom:22px; }
    .product-copy h1 { font-size:clamp(2.55rem,12vw,4.2rem); overflow-wrap:anywhere; }

    .shopLookSection { width:calc(100% - 28px); margin-inline:auto; }
    .shopLookHeader { width:100%; margin-inline:0; }
    .shopLook { width:100%; display:flex; flex-direction:column; gap:10px; padding:10px; overflow:hidden; }
    .shopLookVisual { width:100%; min-height:0; aspect-ratio:4/5; flex:none; border-radius:14px; }
    .shopLookPanel { width:100%; min-width:0; margin:0; padding:12px; overflow:hidden; border-radius:14px; }
    .lookProductList { width:100%; grid-template-columns:none; grid-auto-columns:100%; overscroll-behavior-x:contain; }
    .lookProductList li { width:100%; min-width:0; scroll-snap-stop:always; }
    .lookProductList button { width:100%; min-width:0; grid-template-columns:25px 54px minmax(0,1fr); align-items:center; gap:9px; padding:9px; }
    .lookProductList img { width:54px; height:62px; border-radius:8px; }
    .lookProductCopy { min-height:62px; align-content:center; }
    .lookProductCopy strong { font-size:.74rem; }
    .lookProductCopy small { line-height:1.35; }
    .lookProductCta { width:100%; }
}

@media (max-width:380px) {
    .product-detail.container,.shopLookSection { width:calc(100% - 24px); }
    .product-copy { padding:21px 16px; }
    .gallery-thumbs button { width:66px; height:74px; flex-basis:66px; }
    .lookProductList { grid-template-columns:none; grid-auto-columns:100%; }
    .lookProductList button { grid-template-columns:23px 48px minmax(0,1fr); gap:8px; padding:8px; }
    .lookProductList img { width:48px; height:58px; }
    .lookProductCopy { min-height:58px; }
}
