/* === hero-float === */
/* ── Hero Float ── */
.ssla-section[data-ssla-type="hero-float"]{background:linear-gradient(135deg,var(--shell-bg-dark-cool,#0f1b2e) 0%,var(--shell-bg-dark-cool-end,#1a2a45) 50%,var(--shell-accent,#2B4C7E) 100%);padding:0;min-height:100vh;display:flex;align-items:stretch;position:relative;overflow:hidden}
.ssla-section[data-ssla-type="hero-float"]::before{content:"";position:absolute;top:-50%;left:-20%;width:140%;height:200%;opacity:0.03;pointer-events:none}
.hf-inner{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;width:100%;max-width:1400px;margin:0 auto}
.hf-content{display:flex;flex-direction:column;justify-content:center;padding:var(--paint-section-padding,120px) 60px 80px 48px;position:relative;z-index:2}
.hf-badge{display:inline-block;padding:6px 18px;border:1px solid var(--shell-line,rgba(226,160,63,0.4));color:var(--shell-accent,currentColor);font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-eyebrow-size,12px);font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:28px;align-self:flex-start}
.ssla-section[data-ssla-type="hero-float"] h1{font-family:var(--shell-hf,"DM Serif Display","Georgia",serif);font-size:var(--paint-h1-size,clamp(36px,5vw,60px));color:var(--shell-bg,#fff);line-height:1.1;margin:0 0 24px;font-weight:400}
.ssla-section[data-ssla-type="hero-float"] h1 strong{color:var(--shell-accent,currentColor);font-weight:400}
.hf-sub{font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-h3-size,20px);color:var(--shell-m,#a0b8d0);line-height:1.6;max-width:520px;margin:0 0 16px}
.hf-sub strong,.hf-sub em{color:var(--shell-accent,currentColor);font-style:normal;font-weight:600}
.hf-sub2{font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-body-size,16px);color:var(--shell-m,#7a98b5);line-height:var(--paint-body-line-height,1.7);max-width:520px;margin:0 0 40px}
.hf-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.hf-btn-primary{display:inline-block;background:var(--shell-accent,currentColor);color:var(--shell-bg,#fff);padding:18px 48px;font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-button-size,16px);font-weight:700;letter-spacing:1.5px;text-decoration:none;text-transform:uppercase;transition:all 0.25s;border:none;cursor:pointer}
/* v3.12.24 (#5) — button-hover paint retired (Glenn 2026-05-21 walk).
 * Unified hover treatment now ships from 0-shared.css (lift only,
 * no paint shift). Original rule preserved here for reference.
 * Original:
 * .hf-btn-primary:hover{filter:brightness(0.9);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.2)}
 */
.hf-btn-primary:hover{/* paint retired; global rule provides lift */}
.hf-btn-text{display:inline-flex;align-items:center;gap:6px;color:var(--shell-m,#a0b8d0);font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-button-size,15px);font-weight:600;text-decoration:none;padding:18px 8px;transition:color 0.2s}
/* v3.12.24 (#5) — button-hover paint retired (Glenn 2026-05-21 walk).
 * Unified hover treatment now ships from 0-shared.css (lift only,
 * no paint shift). Original rule preserved here for reference.
 * Original:
 * .hf-btn-text:hover{color:var(--shell-accent,currentColor)}
 */
.hf-btn-text:hover{/* paint retired; global rule provides lift */}
.hf-fine{font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-eyebrow-size,12px);color:var(--shell-m,#5a7a96);font-weight:500;margin:0}
.hf-fine:empty{display:none}
.hf-image{position:relative;overflow:hidden}
.hf-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.hf-tint{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,0.12),rgba(26,51,86,0.25))}
.hf-card{position:absolute;bottom:44px;left:36px;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);padding:18px 24px;box-shadow:0 10px 35px rgba(0,0,0,0.12);z-index:5}
.hf-card-label{font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-eyebrow-size,9px);font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--shell-m,#8896a4);margin:0 0 8px}
.hf-card-items{display:flex;gap:14px}
.hf-dot{display:flex;align-items:center;gap:6px;font-family:var(--shell-bf,"Montserrat",sans-serif);font-size:var(--paint-eyebrow-size,11px);font-weight:700;color:var(--shell-t,#2a3642)}
.hf-dot i{width:8px;height:8px;display:inline-block}
@media(max-width:900px){.hf-inner{grid-template-columns:1fr}.hf-content{padding:120px 24px 48px;text-align:center;align-items:center}.hf-badge{align-self:center}.hf-image{height:400px}.hf-actions{justify-content:center}}
@media(max-width:640px){.hf-content{padding:var(--paint-section-padding-mobile,100px) 20px 36px}.ssla-section[data-ssla-type="hero-float"] h1{font-size:var(--paint-h1-size-mobile,32px)}.hf-sub{font-size:var(--paint-h3-size-mobile,17px)}.hf-card{bottom:20px;left:16px;right:16px}.hf-card-items{flex-wrap:wrap;gap:10px}}
