/* Stable slide geometry with a feathered, full-width mobile text backdrop. */
.cm-hero-slider { position:relative; touch-action:pan-y pinch-zoom; }
.cm-hero-slider .cm-hero-slide[hidden] { display:none !important; }
.cm-hero-slider .cm-hero-slide { width:100%; }
.cm-hero-slider .cm-hero-image-link { position:absolute; inset:0; z-index:2; }
.cm-hero-slider .cm-hero-slide::after { content:""; position:absolute; left:0; top:0; width:56%; height:100%; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(20,13,9,.84),rgba(20,13,9,.64) 54%,rgba(20,13,9,0) 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%); }
.cm-hero-slider .cm-hero-content { background:none; max-width:42%; margin-left:0; padding:28px 38px; border-radius:0; color:#fff; pointer-events:none; }
.cm-hero-slider .cm-hero-heading { color:#fff; text-shadow:0 2px 8px #0006; font-size:clamp(30px,3.3vw,48px); max-width:420px; font-weight:600; letter-spacing:0; line-height:1.08; margin-bottom:12px; }
.cm-hero-slider .cm-hero-subtext { color:#fff7ec; text-shadow:0 1px 3px #0006; font-size:14px; line-height:1.55; text-transform:none; letter-spacing:.01em; margin:0 0 18px; }
.cm-hero-slider .cm-hero-eyebrow { display:block; color:#f4d8a6; font-family:var(--cm-font-sans,sans-serif); font-size:10px; letter-spacing:.14em; font-weight:700; margin-bottom:12px; }
.cm-hero-slider .cm-hero-explore { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; background:#fff6e8; border:1px solid #fff6e8; border-radius:24px; color:#442615; font:700 12px var(--cm-font-sans,sans-serif); text-decoration:none; pointer-events:auto; position:relative; }
.cm-hero-slider .cm-hero-explore:focus-visible { outline:3px solid #f4d8a6; outline-offset:4px; }
.cm-hero-slider .cm-hero-brass .cm-hero-bg-img { object-fit:cover; }
@media(min-width:768px) {
 .cm-hero-slider .cm-hero-slide { aspect-ratio:1920 / 760 !important; min-height:0 !important; padding:0 !important; flex-direction:row !important; justify-content:flex-start !important; align-items:center !important; }
 .cm-hero-slider .cm-hero-content { transform:translateY(-64px); }
 .cm-hero-slider .cm-hero-brass .cm-hero-content { max-width:55%; }
 .cm-hero-slider .cm-hero-brass .cm-hero-heading { max-width:none; white-space:nowrap; }
}
@media(min-width:768px) and (max-width:1023px) {
 .cm-hero-slider .cm-hero-content { max-width:44%; width:44% !important; padding:12px 22px !important; transform:none; }
 .cm-hero-slider .cm-hero-brass .cm-hero-content { max-width:55% !important; width:55% !important; }
 .cm-hero-slider .cm-hero-heading { font-size:26px !important; line-height:1.06 !important; margin-bottom:10px !important; }
 .cm-hero-slider .cm-hero-subtext { font-size:12px !important; line-height:1.4; letter-spacing:0 !important; margin:0 0 12px !important; }
 .cm-hero-slider .cm-hero-eyebrow { font-size:9px; margin-bottom:8px; }
 .cm-hero-slider .cm-hero-detail { display:none; }
}
@media(min-width:1024px) {
 .cm-hero-slider .cm-hero-brass .cm-hero-content { max-width:55%; transform:translateY(clamp(-124px, calc(70px - 14vw), -64px)); }
}
.cm-hero-slider .cm-hero-accessible-pause { position:absolute; z-index:6; left:24px; bottom:12px; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
.cm-hero-slider .cm-hero-accessible-pause:focus { clip-path:none; width:auto; height:44px; padding:8px 18px; background:#fff; color:#442615; }
@media(max-width:767px) {
 .cm-hero-slider .cm-hero-desktop-break { display:none; }
 .cm-hero-slider .cm-hero-slide { aspect-ratio:4 / 5 !important; min-height:0 !important; padding:0 !important; }
 .cm-hero-slider .cm-hero-slide::after { width:100%; height:64%; background:linear-gradient(to bottom,rgba(20,13,9,.86) 0%,rgba(20,13,9,.76) 40%,rgba(20,13,9,.42) 68%,rgba(20,13,9,0) 100%); mask-image:none; }
 .cm-hero-slider .cm-hero-content { padding:18px 20px 24px !important; margin:0 !important; max-width:100%; width:100% !important; }
 .cm-hero-slider .cm-hero-heading { font-size:clamp(26px,7.2vw,31px) !important; max-width:100%; line-height:1.06 !important; margin-bottom:8px !important; }
 .cm-hero-slider .cm-hero-subtext { font-size:12px !important; max-width:100%; line-height:1.4; margin:0 0 10px !important; letter-spacing:0 !important; }
 .cm-hero-slider .cm-hero-eyebrow { font-size:9px; letter-spacing:.14em; margin-bottom:8px; }
 .cm-hero-slider .cm-hero-detail { display:none; }
 .cm-hero-slider .cm-hero-explore { min-height:44px; padding:9px 18px; font-size:12px; }
}
