/* Collection-specific homepage hero only. Legacy corporate hero is untouched. */
.ffh { --ffh-ink:#0b1829; --ffh-accent:#ffad76; --ffh-delay:9000ms; position:relative; width:100%; min-width:0; overflow:hidden; isolation:isolate; color:#fff; background:var(--ffh-ink); }
.ffh *, .ffh *::before, .ffh *::after { box-sizing:border-box; }
.ffh-shell { width:min(1426px,calc(100% - 80px)); margin-inline:auto; }
.ffh-stage { display:grid; min-width:0; }
.ffh-slide { position:relative; grid-area:1/1; min-width:0; isolation:isolate; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility 0s .65s; }
.ffh-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.ffh-visual { position:absolute; z-index:-1; inset:0 0 0 auto; width:70%; min-width:0; overflow:hidden; background:#1b242b; }
.ffh-visual::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--ffh-ink),rgba(11,24,41,.46) 18%,transparent 42%),linear-gradient(0deg,rgba(11,24,41,.7),transparent 28%); }
.ffh-visual picture, .ffh-image { display:block; width:100%; height:100%; }
.ffh-image { object-fit:cover; object-position:85% 30%; }
.ffh-image-note { position:absolute; z-index:2; top:25px; right:28px; padding:6px 9px; border:1px solid rgba(255,255,255,.17); border-radius:6px; background:rgba(8,18,30,.6); color:#f3f0eb; font-size:9px; line-height:1.4; }
.ffh-sample { position:absolute; z-index:3; right:7%; bottom:123px; display:flex; align-items:center; gap:11px; max-width:260px; min-height:68px; padding:11px 14px 11px 11px; border:1px solid rgba(255,255,255,.32); border-radius:12px; background:rgba(10,24,39,.9); color:#fff; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.ffh-sample > img { flex:0 0 44px; width:44px; height:44px; object-fit:cover; border-radius:7px; }
.ffh-sample > span { min-width:0; }
.ffh-sample small, .ffh-sample strong { display:block; }
.ffh-sample small { color:#b5c1d0; font-size:8px; line-height:1.5; letter-spacing:.08em; }
.ffh-sample strong { margin-top:4px; color:#fff; font-size:13px; line-height:1.4; }
.ffh-sample > i { margin-left:7px; color:var(--ffh-accent); font-size:12px; }
.ffh-inner { position:relative; z-index:2; display:flex; align-items:center; min-height:650px; padding-top:50px; padding-bottom:119px; pointer-events:none; }
.ffh-copy { width:min(48%,560px); min-width:0; pointer-events:auto; }
.ffh-eyebrow { display:flex; align-items:center; gap:11px; color:var(--ffh-accent); font-size:10px; font-weight:650; line-height:1.5; letter-spacing:.14em; }
.ffh-eyebrow > span { flex:0 0 24px; height:1px; background:currentColor; }
.ffh-copy h1, .ffh-copy h2 { max-width:560px; margin:18px 0; color:#fff; font-size:clamp(38px,3.65vw,56px); font-weight:650; line-height:1.12; letter-spacing:-.038em; text-wrap:balance; overflow-wrap:anywhere; }
.ffh-description { max-width:495px; margin:0; color:#c3cedb; font-size:14px; line-height:1.8; }
.ffh-features { display:grid; gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.ffh-features li { display:flex; align-items:center; gap:11px; min-width:0; margin:0; color:#f1f3f5; font-size:12px; font-weight:500; line-height:1.6; }
.ffh-features li > i { display:grid; flex:0 0 27px; width:27px; height:27px; place-items:center; border:1px solid rgba(255,173,118,.24); border-radius:7px; background:rgba(255,173,118,.08); color:var(--ffh-accent); font-size:11px; }
.ffh-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:25px; }
.ffh-actions a { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:12px 20px; border-radius:10px; font-size:12px; font-weight:600; line-height:1.5; text-decoration:none; }
.ffh-primary { border:1px solid #ffab73; background:linear-gradient(110deg,#ffc08d,#ff9858); color:#18283b; box-shadow:0 6px 19px rgba(240,134,75,.12); }
.ffh-primary i { display:grid; flex:0 0 23px; width:23px; height:23px; place-items:center; border-radius:50%; background:rgba(255,255,255,.25); font-size:10px; }
.ffh-secondary { border:1px solid rgba(255,255,255,.25); background:rgba(14,31,50,.6); color:#e6edf5; }
.ffh-secondary i { color:#afbac8; font-size:10px; }
.ffh-product-note { display:block; margin-top:15px; max-width:495px; color:#9eabbc; font-size:10px; line-height:1.65; }
.ffh-controls { position:absolute; z-index:5; right:0; bottom:25px; left:0; display:flex; align-items:center; gap:28px; }
.ffh-selections { display:grid; flex:1 1 auto; min-width:0; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ffh-select { position:relative; display:flex; align-items:center; gap:12px; min-width:0; min-height:65px; margin:0; padding:10px 0 12px; border:0; border-top:1px solid rgba(255,255,255,.23); border-radius:0; background:none; color:#bac4d0; cursor:pointer; text-align:left; }
.ffh-select__number { align-self:flex-start; margin-top:3px; font-size:9px; color:#8897aa; }
.ffh-select__copy { min-width:0; }
.ffh-select strong, .ffh-select small { display:block; overflow-wrap:anywhere; }
.ffh-select strong { color:inherit; font-size:12px; font-weight:550; line-height:1.5; }
.ffh-select small { margin-top:3px; color:#92a2b5; font-size:9px; line-height:1.4; }
.ffh-select[aria-pressed="true"] { color:#fff; border-top-color:rgba(255,173,118,.7); }
.ffh-select[aria-pressed="true"] .ffh-select__number, .ffh-select[aria-pressed="true"] small { color:var(--ffh-accent); }
.ffh-select__track { position:absolute; top:-1px; right:0; left:0; height:2px; overflow:hidden; pointer-events:none; }
.ffh-select__track > span { display:block; width:100%; height:100%; background:var(--ffh-accent); transform:scaleX(0); transform-origin:left; }
.ffh[data-hero-paused="false"] .ffh-select[aria-pressed="true"] [data-hero-progress] { animation:ffh-progress var(--ffh-delay) linear forwards; }
.ffh-navigation { display:flex; flex:0 0 auto; align-items:center; gap:7px; }
.ffh-navigation > button { display:grid; flex:0 0 44px; width:44px; min-width:44px; height:44px; margin:0; padding:0; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(11,24,41,.66); color:#fff; font-size:12px; cursor:pointer; }
.ffh-navigation > button[data-hero-toggle] { color:var(--ffh-accent); font-size:11px; }
.ffh-count { display:flex; align-items:center; gap:5px; margin-right:11px; color:#899aaf; font-size:10px; line-height:1.5; }
.ffh-count b { color:#fff; font-size:13px; font-weight:600; }
.ffh a:focus-visible, .ffh button:focus-visible { outline:3px solid #ffbe90; outline-offset:4px; }
.ffh a:hover { color:#fff; }
.ffh .ffh-primary:hover { color:#14263a; background:#ffc69f; }
.ffh-sr { position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; white-space:nowrap; clip:rect(0,0,0,0); clip-path:inset(50%); }
@keyframes ffh-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes ffh-reveal { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) {
    .ffh-slide.is-active .ffh-copy > * { animation:ffh-reveal .6s both cubic-bezier(.22,.7,.2,1); }
    .ffh-slide.is-active .ffh-copy > :nth-child(2) { animation-delay:.06s; }
    .ffh-slide.is-active .ffh-copy > :nth-child(3) { animation-delay:.13s; }
    .ffh-slide.is-active .ffh-copy > :nth-child(4) { animation-delay:.2s; }
    .ffh-slide.is-active .ffh-copy > :nth-child(5) { animation-delay:.27s; }
    .ffh-slide.is-active .ffh-copy > :nth-child(6) { animation-delay:.33s; }
}
@media(hover:hover) { .ffh-select:hover { color:#fff; }.ffh-navigation > button:hover { border-color:#ffbc8d; background:#ffbc8d; color:#0b1829; }.ffh-sample:hover { border-color:#ffbc8d; } }
@media(max-width:1199.98px) {
    .ffh-shell { width:calc(100% - 56px); }
    .ffh-copy { width:49%; }
    .ffh-inner { min-height:650px; }
    .ffh-controls { gap:20px; }
    .ffh-selections { gap:14px; }
    .ffh-select { gap:8px; }
    .ffh-count { display:none; }
    .ffh-sample { right:4%; }
}
@media(max-width:991.98px) {
    .ffh-shell { width:calc(100% - 44px); }
    .ffh-copy { width:52%; }
    .ffh-copy h1, .ffh-copy h2 { font-size:39px; }
    .ffh-description { font-size:13px; }
    .ffh-features li { font-size:11px; }
    .ffh-secondary { display:none!important; }
    .ffh-select small { font-size:8px; }
    .ffh-select__number { display:none; }
    .ffh-navigation { gap:5px; }
    .ffh-sample { right:3%; bottom:135px; }
}
@media(max-width:767.98px) {
    .ffh-shell { width:calc(100% - 32px); }
    .ffh-inner { display:block; min-height:710px; padding-top:291px; padding-bottom:85px; }
    .ffh-visual { inset:0 0 auto; width:100%; height:280px; }
    .ffh-visual::after { background:linear-gradient(0deg,var(--ffh-ink),rgba(11,24,41,.32) 17%,transparent 43%); }
    .ffh-image { object-position:100% 36%; }
    .ffh-image-note { top:67px; right:auto; left:16px; padding:5px 7px; font-size:8px; }
    .ffh-sample { left:16px; right:auto; bottom:20px; gap:9px; min-height:52px; max-width:230px; padding:7px 10px 7px 7px; border-radius:9px; }
    .ffh-sample > img { flex-basis:34px; width:34px; height:34px; border-radius:5px; }
    .ffh-sample small { font-size:7px; }
    .ffh-sample strong { margin-top:2px; font-size:11px; }
    .ffh-copy { width:100%; }
    .ffh-eyebrow { gap:8px; font-size:9px; letter-spacing:.09em; }
    .ffh-eyebrow > span { flex-basis:18px; }
    .ffh-copy h1, .ffh-copy h2 { max-width:520px; margin:12px 0 11px; font-size:clamp(29px,7.6vw,37px); line-height:1.13; letter-spacing:-.032em; }
    .ffh-description { max-width:570px; font-size:12px; line-height:1.7; }
    .ffh-features { gap:7px; margin-top:16px; }
    .ffh-features li { gap:9px; font-size:11px; line-height:1.45; }
    .ffh-features li > i { flex-basis:23px; width:23px; height:23px; font-size:10px; border-radius:6px; }
    .ffh-actions { gap:9px; margin-top:18px; }
    .ffh-actions a { min-height:48px; padding:11px 16px; font-size:11px; }
    .ffh .ffh-secondary { display:inline-flex!important; padding-inline:13px; }
    .ffh-product-note { margin-top:11px; font-size:9px; line-height:1.55; }
    .ffh-controls { position:static; width:auto; margin:0; display:contents; }
    .ffh-selections { position:absolute; z-index:5; right:16px; bottom:14px; left:16px; gap:10px; }
    .ffh-select { align-items:flex-start; min-height:48px; padding:9px 0 6px; }
    .ffh-select strong { font-size:10px; line-height:1.4; }
    .ffh-select small { margin-top:3px; font-size:7.5px; line-height:1.4; }
    .ffh-navigation { position:absolute; z-index:5; right:auto; left:16px; top:12px; gap:5px; }
    .ffh-navigation > button { flex-basis:44px; width:44px; height:44px; background:rgba(11,24,41,.83); font-size:11px; }
    .ffh { touch-action:pan-y; }
}
@media(max-width:359.98px) {
    .ffh-shell { width:calc(100% - 28px); }
    .ffh-copy h1, .ffh-copy h2 { font-size:29px; }
    .ffh-actions { gap:7px; }
    .ffh-actions a { padding-inline:12px; font-size:10px; gap:11px; }
    .ffh-selections { gap:8px; }
    .ffh-select strong { font-size:9px; }
    .ffh-select small { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) {
    .ffh *, .ffh *::before, .ffh *::after { animation:none!important; transition:none!important; }
}
