/* Modern digital storefront: shared across Home, catalogue and product pages. */
:root { --sans: 'Segoe UI', Arial, sans-serif; --serif: 'Segoe UI', Arial, sans-serif; --ink:#30231f; --accent:#985235; --paper:#fdfbf8; }
h1,h2 { font-weight:750; letter-spacing:-.055em; line-height:1.09; }
h2 { font-size:clamp(1.85rem,3vw,2.65rem); }
em { font-style:normal; font-weight:inherit; }
.brand { font-family:var(--sans); font-weight:850; font-size:2.8rem; letter-spacing:-.09em; }
.header-main { min-height:94px; }
.search { border-radius:12px; background:#f2eee9; }
.header-cta { background:var(--ink); color:white; padding:12px 18px; border-radius:10px; font-weight:600; }
.nav { border-top:0; padding-top:5px; padding-bottom:20px; }
.button { border-radius:12px; font-weight:650; box-shadow:0 6px 16px #30231f12; }
.hero { background:radial-gradient(ellipse at 85% 20%,#edd3bd 0,transparent 55%),#f2e9dd; }
.hero-grid { gap:56px; min-height:570px; align-items:center; padding-block:52px; }
.hero-copy { padding:15px 0; }
.hero h1 { font-size:clamp(2.8rem,4.65vw,4.5rem); margin-bottom:24px; }
.hero h1 em { display:inline-block; margin-top:4px; }
.hero-copy>p { max-width:460px; font-size:1.1rem; line-height:1.65; }
.eyebrow { letter-spacing:.1em; }
.hero .eyebrow { display:inline-block; padding:8px 12px; border:1px solid #d2bcaa; border-radius:30px; font-size:.7rem; background:#ffffff50; }
.hero-note { font-size:.8rem; }
.digital-showcase { min-width:0; padding:24px; border:1px solid #ffffffb0; border-radius:24px; background:#ffffff42; box-shadow:0 24px 60px #5e382d12; }
.showcase-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:.7rem; font-weight:700; letter-spacing:.07em; margin-bottom:18px; }
.showcase-heading span:last-child { font-size:.75rem; font-weight:400; letter-spacing:0; }
.spotlight { display:block; padding:28px; background:#3c2924; color:#fff4e7; border-radius:16px; }
.spotlight-tag { display:inline-block; padding:5px 9px; border:1px solid #987263; border-radius:6px; font-size:.7rem; letter-spacing:.1em; }
.spotlight h2 { position:relative; font-size:clamp(2rem,3vw,3rem); margin:24px 0 10px; letter-spacing:-.045em; }
.spotlight h2 span { position:absolute; right:0; top:0; color:#e9b588; }
.spotlight p { font-size:.875rem; color:#d9c0af; margin-bottom:28px; }
.spotlight-bottom { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #705046; padding-top:18px; flex-wrap:wrap; }
.spotlight-bottom span { font-size:.7rem; color:#ddc6b8; }
.spotlight-bottom strong { font-size:.8rem; font-weight:600; }
.showcase-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.mini-tile { display:flex; flex-direction:column; padding:20px; border-radius:14px; background:#dce0d4; color:#313d32; gap:12px; }
.mini-tile:last-child { background:#edcec2; color:#593b32; }
.mini-tile>span:first-child { font-size:.65rem; font-weight:700; letter-spacing:.08em; }
.mini-tile strong { font-size:1.3rem; letter-spacing:-.03em; line-height:1.2; }
.mini-tile>span:last-child { font-size:.8rem; margin-top:4px; }
.spotlight:hover,.mini-tile:hover { outline:2px solid #aa7654; outline-offset:3px; }
.section { padding-block:60px; }
.category-grid { gap:16px; border:0; }
.category,.category+.category { border:1px solid #e3dbd2; padding:22px; border-radius:14px; background:white; }
.category:hover { background:#f4eae0; border-color:#b9967b; }
.category-number { font:600 .8rem var(--sans); background:#f0e7dc; color:#825338; padding:7px 10px; border-radius:8px; display:inline-block; }
.category h3 { font-family:var(--sans); font-weight:650; font-size:1rem; margin-top:18px; }
.category p { font-size:.8rem; }
.categories { padding-bottom:0; }
.product { padding:14px; border:1px solid #e7dfd6; border-radius:18px; background:white; }
.cover { border:0; border-radius:10px; aspect-ratio:1/1.1; padding:22px; }
.cover-title { font-weight:750; font-size:clamp(1.6rem,2.1vw,2.2rem); letter-spacing:-.055em; }
.cover-brand { font-weight:650; }
.cover-kicker { padding-top:24px; }
.cover-rule { width:32px; height:3px; border-radius:3px; opacity:.55; }
.cover-bottom { font-size:.7rem; }
.product-meta { font-size:.75rem; margin-top:16px; }
.product h3 { font-family:var(--sans); font-weight:650; font-size:1.05rem; }
.product>p { font-size:.875rem; }
.product-bottom strong { font-size:1.25rem; font-weight:750; }
.product-cta { border:0; border-radius:9px; padding:12px 14px; color:white; background:var(--ink); font-weight:600; }
.product-cta:hover { color:white; background:#835039; }
.featured-section { background:#f1eee9; }
.promo { border-radius:22px; background:linear-gradient(115deg,#33231e,#704830); }
.promo h2 { font-size:clamp(1.9rem,3.1vw,2.8rem); }
.benefits>div { border:1px solid #e3dbd2; border-radius:14px; padding:24px; background:#fff; }
.benefits h3 { font-weight:650; }
.editorial { background:#eae1d5; }
.editorial h2 { font-size:clamp(2.2rem,3.5vw,3.35rem); }
.faq details { border:1px solid var(--line); border-radius:12px; padding-inline:20px; margin-bottom:12px; background:#fff; }
.faq summary { font-weight:600; }
.filter-links a,.catalog-controls select { border-radius:9px; }
.detail-cover { border-radius:20px; }
.detail-copy h1 { font-weight:750; }
.cover-large .cover-title { font-size:clamp(2rem,3.3vw,3.1rem); }
@media(max-width:1100px) {
 .hero-grid { gap:28px; }
 .digital-showcase { padding:16px; }
 .spotlight { padding:22px; }
 .mini-tile { padding:16px; }
 .hero h1 { font-size:3.5rem; }
 .category,.category+.category { padding:18px; }
}
@media(max-width:720px) {
 .header-main { min-height:76px; }
 .brand { font-size:2.5rem; }
 .hero-grid { padding-block:30px; gap:28px; }
 .hero-copy { padding:0; }
 .hero h1 { font-size:clamp(2.65rem,10vw,3.7rem); }
 .hero-copy>p { font-size:1rem; }
 .hero .eyebrow { font-size:.6rem; letter-spacing:.055em; }
 .hero-note { font-size:.75rem; }
 .digital-showcase { padding:16px; border-radius:20px; }
 .spotlight h2 { font-size:2.3rem; }
 .spotlight { padding:22px; }
 .mini-tile { padding:16px; }
 .mini-tile strong { font-size:1.15rem; }
 .section { padding-block:42px; }
 .categories { padding-bottom:0; }
 .category-grid { gap:12px; }
 .category,.category+.category,.category:nth-child(3) { padding:16px; border:1px solid #e3dbd2; }
 .category h3 { font-size:.95rem; }
 .category p { font-size:.8rem; }
 .category>svg { top:24px; }
 .product { padding:10px; border-radius:14px; }
 .product-grid .cover { padding:12px; min-height:215px; }
 .product-grid .cover-title { font-size:1.45rem; }
 .product h3 { font-size:1rem; }
 .product-cta { font-size:.8rem; padding:12px 9px; }
 .carousel .product { flex-basis:82%; }
 .carousel .cover-title { font-size:2rem; }
 .benefits>div { padding:22px 22px 22px 58px; }
 .benefits>div>svg { left:20px; }
 .editorial h2 { font-size:2.3rem; }
 .faq details { padding-inline:16px; }
 .detail-copy h1 { font-size:2.5rem; }
}
@media(max-width:360px) {
 .mini-tile { padding:12px; }
 .mini-tile strong { font-size:1.05rem; }
 .showcase-heading { font-size:.6rem; }
 .showcase-heading span:last-child { font-size:.65rem; }
}

/* Accents for the digital product storefront. */
:root{--accent:#b34e2d}
.hero-copy>.button,.product-cta{background:#a94426;border-color:#a94426;color:#fff}
.hero-copy>.button:hover,.product-cta:hover{background:#87351f;color:#fff}
.hero{background:radial-gradient(ellipse at 90% 12%,#f2c4a2 0,transparent 52%),#f6eee5}
.hero h1 em{color:#a94426}
.mini-tile{background:#d7e2ce}.mini-tile:last-child{background:#f5c8b1}
.spotlight{background:#292b29}.spotlight-tag{border-color:#767b6d}.spotlight-bottom{border-color:#62665a}

.cover-link,.cover{min-width:0;width:100%}.cover-title{overflow-wrap:anywhere}

/* Photographic direction: real textures and a quieter product presentation. */
.hero{background:#f2ede6}.realistic-showcase{min-width:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 16px 40px #38281e16}.realistic-photo-link{display:block}.realistic-photo-link img{display:block;width:100%;height:460px;object-fit:cover;object-position:50% 50%}.photo-product-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px}.photo-product-caption span{display:block;font-size:.65rem;letter-spacing:.08em;color:#746254;margin-bottom:6px}.photo-product-caption strong{font-size:1rem}.photo-product-caption>a{font-size:.85rem;white-space:nowrap;color:#a94426;font-weight:650}.product,.category,.category+.category,.benefits>div{border-radius:8px}.cover{border-radius:4px}.promo{background:#453127;border-radius:12px}@media(max-width:720px){.realistic-photo-link img{height:330px}.photo-product-caption{padding:16px;align-items:start;flex-direction:column;gap:12px}.hero-grid{gap:26px}}

/* Rotating hero: stable height and accessible controls. */
.hero-slides{display:grid}.hero-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s}.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto}.hero-slider-controls{display:flex;align-items:center;gap:8px;padding:0 20px 16px}.hero-slider-controls button{min-width:44px;min-height:44px;background:#f3eee8;border:1px solid #e0d5ca;border-radius:8px;color:#34251f}.hero-dots{display:flex;gap:2px}.hero-dots button{background:transparent;border:0}.hero-dots span{display:block;width:8px;height:8px;border-radius:50%;background:#b9a89b;margin:auto}.hero-dots [aria-pressed=true] span{background:#a94426;width:22px;border-radius:5px}.hero-slider-controls [data-hero-pause]{margin-left:auto;font-size:.8rem;padding-inline:12px}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Full-width photographic hero. */
.hero{background:#2e2822}
.hero-grid{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;position:relative}
.hero-copy,.hero-slider{grid-area:1/1}
.hero-slider{border-radius:0;box-shadow:none;background:#2e2822;position:relative}
.hero-slider .realistic-photo-link{position:relative}
.hero-slider .realistic-photo-link img{height:640px;object-fit:cover;object-position:center 53%}
.hero-slider .realistic-photo-link::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,20,18,.90) 0%,rgba(22,20,18,.75) 32%,rgba(22,20,18,.20) 68%,rgba(22,20,18,.10) 100%);pointer-events:none}
.hero-copy{width:54%;align-self:center;padding:64px 32px 90px max(48px,calc((100vw - 1280px)/2));color:#fff;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero h1{font-size:clamp(3rem,4.7vw,4.8rem);color:#fff}
.hero h1 em{color:#f2bc95}
.hero-copy>p{color:#f0e5da;max-width:480px}
.hero .eyebrow{color:#fff0e1;border-color:#b49b83;background:#ffffff0d}
.hero-note{color:#e4d3c2}
.hero-slider .photo-product-caption{position:absolute;right:max(48px,calc((100vw - 1280px)/2));bottom:88px;max-width:38%;padding:16px 20px;border-radius:10px;background:#fff9f0f0;align-items:start;flex-direction:column;gap:8px}
.hero-slider-controls{position:absolute;right:max(48px,calc((100vw - 1280px)/2));bottom:20px;padding:0;z-index:2}
.hero-slider-controls button{background:#fff8ef;border-color:#fff8ef}
.hero-slider-controls .hero-dots{background:#fff8ef;border-radius:8px}
.hero-slider-controls [data-hero-pause]{margin-left:8px}
@media(max-width:720px){
 .hero-slider .realistic-photo-link img{height:750px;object-position:60% center}
 .hero-slider .realistic-photo-link::after{background:linear-gradient(180deg,#161412d9 0%,#161412a8 48%,#16141230 76%,#16141288 100%)}
 .hero-copy{width:100%;align-self:start;padding:40px 24px 0}
 .hero h1{font-size:clamp(2.6rem,9.5vw,3.8rem)}
 .hero-copy>p{max-width:430px}
 .hero-slider .photo-product-caption{left:24px;right:24px;bottom:88px;max-width:none;padding:14px 18px}
 .hero-slider-controls{right:24px;bottom:20px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
