/* Framed product showcase, shared by both manually controlled slides. */
.hero {
    width: calc(100% - 64px);
    max-width: 1440px;
    margin: 28px auto 26px;
    overflow: hidden;
    border: 1px solid #e5dedb;
    border-radius: 18px;
    background:
        radial-gradient(ellipse at 92% 26%, #fff0eb 0, transparent 48%),
        linear-gradient(115deg, #fff 36%, #fcf9f7 100%);
    box-shadow: 0 8px 28px #49332b06, inset 0 0 0 5px #ffffff80;
}
.hero .hero-grid { max-width: none; padding: 0 52px; min-height: 510px; }
.hero .hero-copy { padding: 46px 0 36px; }
.hero .hero-copy > p { max-width: 390px; }
.hero .eyebrow { color: #85736c; }
.hero .hero-art { height: 470px; }
.hero .hero-art::before {
    inset: auto -10% 30px;
    width: 120%;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(ellipse, #d9cbc13b, #f5ebe42b 52%, transparent 72%);
    transform: rotate(-5deg);
}
.hero .hero-art::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 88%;
    height: 72%;
    right: -9%;
    bottom: 25px;
    border: 1px solid #e9d9ce80;
    border-radius: 180px 180px 30px 30px;
    background: linear-gradient(150deg, #ffffff70, #f6e7dd26);
    transform: rotate(9deg);
}
.hero .hero-product {
    height: 410px;
    max-width: 80%;
    filter: none;
    transform: rotate(-5deg);
}
.hero .hero-cap {
    width: 38%;
    height: 190px;
    right: -3px;
    bottom: 62px;
    filter: none;
    transform: rotate(7deg);
}
.hero .hero-label { bottom: 12px; left: 22px; right: 4px; }
.hero-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 30px;
    min-height: 64px;
    padding: 17px 52px 17px 180px;
    border-top: 1px solid #eadfd970;
    background: #ffffff7a;
    color: #7c716c;
    font-size: 10px;
}
.hero-footer > span { display: inline-flex; align-items: center; gap: 8px; }
.hero-footer .icon { width: 16px; height: 16px; color: #9e8174; }
.hero .slider-controls { bottom: 16px; left: 52px; align-items: center; }
.hero .slide-dot { width: 27px; height: 25px; border-bottom-color: #d5c7c0; }
.hero .slide-dot[aria-current=true] { border-bottom-color: var(--red); }
.hero .slider-arrow { border-color: #e8ded8; background: #ffffffb0; }
.hero .btn-outline { background: #ffffffa8; border-color: #e3d9d4; }
@media (max-width: 1120px) {
    .hero { width: calc(100% - 40px); margin-top: 22px; }
    .hero .hero-grid { padding: 0 32px; }
    .hero .hero-art { height: 425px; }
    .hero .hero-product { height: 370px; }
    .hero .hero-cap { height: 155px; }
    .hero-footer { padding-right: 32px; gap: 20px; }
    .hero .slider-controls { left: 32px; }
    .hero-since { display: none !important; }
}
@media (max-width: 900px) {
    .hero .hero-grid { min-height: 460px; }
    .hero .hero-art { height: 390px; }
    .hero .hero-product { height: 335px; }
    .hero .hero-cap { height: 140px; }
    .hero .hero-label { font-size: 9px; }
    .hero-footer { font-size: 9px; gap: 16px; }
}
@media (max-width: 650px) {
    .hero { width: calc(100% - 24px); margin: 16px auto 20px; border-radius: 13px; }
    .hero .hero-grid { padding: 0 23px; min-height: 0; }
    .hero .hero-copy { padding: 30px 0 0; }
    .hero .eyebrow { max-width: none; padding-right: 0; }
    .hero h1 { font-size: clamp(38px, 8.8vw, 52px); }
    .hero .hero-copy > p { max-width: 100%; }
    .hero .hero-art { height: 285px; margin-top: 16px; }
    .hero .hero-product { height: 275px; width: 76%; }
    .hero .hero-cap { height: 125px; bottom: 44px; width: 36%; right: -1px; }
    .hero .hero-label { left: 0; right: 0; bottom: 9px; font-size: 8px; }
    .hero .hero-art::after { right: -4%; bottom: 23px; height: 75%; }
    .hero-footer { min-height: 55px; padding: 15px 22px 15px 96px; gap: 0; font-size: 10px; }
    .hero-footer > span:nth-child(2) { display: none; }
    .hero .slider-controls { top: auto; bottom: 15px; left: 23px; right: auto; }
    .hero .slide-dot { width: 22px; height: 23px; }
    .hero .slider-arrow { display: none; }
}
@media (max-width: 370px) {
    .hero .hero-grid { padding: 0 18px; }
    .hero .hero-copy { padding-top: 25px; }
    .hero .actions { gap: 8px; }
    .hero .actions .btn { padding: 11px 12px; font-size: 11px; }
    .hero-footer { padding-right: 17px; font-size: 9px; }
    .hero .slider-controls { left: 18px; }
}
/* Stronger showroom composition and a clearly enclosed first section. */
.hero { width:calc(100% - 64px); margin:30px auto 32px; border:1px solid #d4c7c3; border-top:3px solid var(--red); box-shadow:0 12px 30px #3026220b; background:linear-gradient(110deg,#fff 40%,#fff4f1 100%); }
.hero .hero-grid { gap:40px; min-height:530px; }
.hero .hero-art { isolation:isolate; height:480px; border-left:1px solid #e9d4cd; background:radial-gradient(ellipse at 52% 48%,#fff 10%,#fff8f500 70%); }
.hero .hero-art::after { width:78%;height:78%;right:3%;bottom:42px;border:1px solid #ddc7bf;border-radius:48% 48% 12px 12px;transform:none;background:linear-gradient(145deg,#fff8,#f5ddd138); }
.hero-display-plinth { position:absolute;z-index:-1;bottom:48px;left:5%;width:92%;height:62px;border-radius:50%;background:linear-gradient(#fff,#ead8ce);box-shadow:0 16px 22px #65463418;border:1px solid #e4d1c6; }
.hero .hero-product { position:absolute;left:21%;bottom:82px;height:345px;width:47%;max-width:none;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(0 12px 9px #59423420);z-index:3; }
.hero .hero-companion { position:absolute;right:3%;bottom:107px;height:285px;width:33%;object-fit:contain;transform:rotate(9deg);filter:drop-shadow(0 10px 7px #59423418);z-index:2; }
.hero .hero-cap { position:absolute;left:6%;right:auto;bottom:72px;width:29%;height:145px;transform:rotate(-8deg);filter:drop-shadow(0 8px 7px #59423418);z-index:4; }
.hero .hero-valves { position:absolute;right:1%;bottom:59px;width:30%;height:130px;object-fit:contain;z-index:5;filter:drop-shadow(0 5px 5px #59423416); }
.hero-art-caption { position:absolute;top:17px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.04em;color:#8b6558; }
.hero .hero-label { bottom:13px;left:20px;right:15px;color:#78635b; }
.hero-footer { border-top:1px solid #d8c5bd;background:#fbf1ed;color:#655049; }
.hero .hero-copy { padding:50px 0; }
@media(max-width:1120px){.hero .hero-grid{gap:24px;padding:0 30px}.hero .hero-product{height:310px}.hero .hero-companion{height:260px}}
@media(max-width:900px){.hero .hero-art{height:430px}.hero .hero-grid{min-height:480px}.hero .hero-product{height:280px}.hero .hero-companion{height:230px}.hero .hero-cap{height:120px}.hero .hero-valves{height:105px}}
@media(max-width:650px){.hero{width:calc(100% - 28px);margin:18px auto 24px}.hero .hero-grid{padding:0 24px;gap:0;min-height:0}.hero .hero-copy{padding:29px 0 24px}.hero .hero-art{height:330px;margin-top:0;border-left:0;border-top:1px solid #e5cfc6}.hero-art-caption{top:15px;font-size:9px}.hero .hero-product{height:235px;bottom:58px;left:21%;width:46%}.hero .hero-companion{height:190px;bottom:76px;right:1%}.hero .hero-cap{height:102px;bottom:54px;left:2%;width:30%}.hero .hero-valves{height:95px;bottom:46px;right:-1%;width:30%}.hero-display-plinth{bottom:37px;height:46px}.hero .hero-art::after{bottom:39px;height:76%}.hero .hero-label{bottom:11px;font-size:8px;left:0;right:0}.hero-footer{min-height:55px;padding-left:96px}.hero .slider-controls{left:24px}}
/* Keep the reduced gap after the showcase above the category toolbar. */
.hero{margin-bottom:16px}
@media(max-width:650px){.hero{margin-bottom:12px}}
/* Champagne showroom keeps the red brand signature. */
.hero{background:linear-gradient(110deg,#fffdf9 40%,#ede4d5 100%);border-color:#cfc3af;border-top-color:var(--red)}
.hero .hero-art{border-left-color:#d6cbb8;background:radial-gradient(ellipse at 52% 48%,#fffdf8 10%,#f0e7d900 70%)}
.hero .hero-art::after{border-color:#c8b99e;background:linear-gradient(145deg,#ffffff70,#d5c3a52b)}
.hero-display-plinth{background:linear-gradient(#fffdf8,#d9cab2);border-color:#cdbd9f}
.hero-footer{background:#e6eeeb;border-top-color:#c4d1ca;color:#425c55}
.hero .hero-copy h1{color:#28383c}
.hero .hero-art-caption,.hero .hero-label{color:#665d4e}
.hero .btn-outline{background:#fffdf8;border-color:#cfc3af;color:#244d55}
@media(max-width:650px){.hero .hero-art{border-top-color:#d6cbb8}}
