/* Homepage compositions use shared HCC tokens, controls and navigation. */
.hcc-home { --home-line: var(--hcc-border); color: var(--hcc-text-primary); }
.hcc-home section[id] { scroll-margin-top: calc(var(--hcc-header-height) + 24px); }
.hcc-home h1,.hcc-home h2,.hcc-home h3,.hcc-home h4,.hcc-home p { margin: 0; }
.hcc-home a { text-underline-offset: 4px; }
.hcc-home button,.hcc-home input { font: inherit; }
.home-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.home-section { padding:64px 0; }
.home-section-tint { background:var(--hcc-bg-subtle); border-block:1px solid var(--home-line); }
.home-eyebrow { font-size:11px; font-weight:800; letter-spacing:.12em; line-height:1.5; color:var(--hcc-accent); }
.home-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.home-heading h2 { margin-top:8px; font-size:clamp(25px,2.4vw,34px); letter-spacing:-.035em; line-height:1.2; }
.home-heading p:not(.home-eyebrow) { margin-top:12px; max-width:700px; font-size:15px; color:var(--hcc-text-muted); }
.home-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--hcc-accent); font-size:14px; font-weight:700; text-decoration:none; }
.home-link:hover { text-decoration:underline; }
.home-heading>.home-link { flex-shrink:0; }
.home-small { font-size:12px; line-height:1.6; color:var(--hcc-text-muted); }
.home-hero { background:var(--hcc-navy); color:white; }
.home-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:48px; padding-block:40px; }
.home-hero-copy { padding-block:8px; }
.home-hero .home-eyebrow { color:#fbbf24; margin-bottom:16px; }
.home-hero h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.13; letter-spacing:-.04em; color:white; }
.home-hero h1 span { color:#fbbf24; }
.home-hero-copy>p:not(.home-eyebrow) { color:#cbd5e1; font-size:15px; line-height:1.75; margin-top:20px; max-width:530px; }
.home-hero-art { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:var(--hcc-radius-lg); display:block; }
.home-search { display:flex; gap:6px; padding:6px; background:white; border-radius:8px; margin-top:24px; }
.home-search input { width:100%; min-width:0; border:0; padding:8px 12px; background:white; color:var(--hcc-text-primary); font-size:14px; border-radius:4px; }
.home-search .hcc-btn { flex-shrink:0; }
.home-popular { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; margin-top:8px; font-size:12px; color:#cbd5e1; }
.home-popular a { color:white; display:inline-flex; min-height:36px; align-items:center; text-decoration:none; }
.home-popular a:hover { text-decoration:underline; }
.home-jump { display:grid; grid-template-columns:repeat(4,1fr); }
.home-jump a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 20px; border-top:1px solid #475569; color:white; text-decoration:none; font-size:13px; font-weight:600; }
.home-jump a:first-child { border-top:3px solid #fbbf24; padding-top:16px; }
.home-jump a:hover { background:var(--hcc-navy-surface); color:#fbbf24; }
.home-explore { padding:32px 0; background:var(--hcc-bg-subtle); border-bottom:1px solid var(--home-line); }
.home-explore-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; }
.home-explore-grid>div+div { padding-left:32px; border-left:1px solid var(--home-line); }
.home-explore h2 { font-size:16px; font-weight:750; }
.home-explore p { font-size:12px; color:var(--hcc-text-muted); margin:8px 0 14px; }
.home-chips { display:flex; flex-wrap:wrap; gap:8px; }
.home-chips a { min-height:40px; display:inline-flex; align-items:center; background:white; border:1px solid var(--home-line); border-radius:6px; padding:8px 12px; font-size:12px; color:var(--hcc-text-secondary); text-decoration:none; font-weight:600; transition:border-color var(--hcc-motion),color var(--hcc-motion); }
.home-chips a:hover { border-color:var(--hcc-accent); color:var(--hcc-accent); }
.home-disclosure { padding-bottom:20px; font-size:12px; color:var(--hcc-text-muted); max-width:900px; }
.home-disclosure a { color:inherit; }
.home-help { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; background:var(--hcc-bg-subtle); padding:24px; border-radius:8px; margin-top:24px; }
.home-help p { font-size:13px; color:var(--hcc-text-muted); margin-top:4px; }
.home-trust-layout { display:grid; grid-template-columns:1fr 2fr; gap:36px; align-items:center; }
.home-trust-brand { background:white; border:1px solid var(--home-line); border-radius:8px; padding:24px; }
.home-trust-brand img { display:block; width:100%; height:auto; }
.home-tabs { min-width:0; }
.home-tab-buttons { display:flex; gap:24px; border-bottom:1px solid var(--home-line); flex-wrap:wrap; }
.home-tab-buttons button { background:transparent; border:0; border-bottom:2px solid transparent; min-height:48px; padding:8px 0; font-size:13px; font-weight:650; color:var(--hcc-text-muted); cursor:pointer; }
.home-tab-buttons button[aria-selected=true] { border-bottom-color:var(--hcc-accent); color:var(--hcc-accent); }
.home-tab-panel { padding-top:24px; min-height:210px; }
.home-tab-panel[hidden] { display:none; }
.home-tab-panel h3 { font-size:22px; letter-spacing:-.025em; }
.home-tab-panel p { margin-top:12px; color:var(--hcc-text-muted); font-size:14px; line-height:1.8; }
.home-tab-panel .home-link { margin-top:10px; }
.home-deals { display:grid; gap:12px; }
.home-deal { display:grid; grid-template-columns:180px 1fr 170px; align-items:center; gap:28px; padding:24px; border:1px solid var(--home-line); border-radius:8px; }
.home-offer-tag { display:inline-block; background:var(--hcc-accent-subtle); color:var(--hcc-accent); border:1px solid var(--hcc-accent-border); border-radius:4px; padding:4px 8px; font-size:10px; font-weight:800; }
.home-deal-brand h3 { margin-top:14px; font-size:23px; letter-spacing:-.04em; }
.home-deal h4 { font-size:14px; line-height:1.5; }
.home-deal p { color:var(--hcc-text-muted); font-size:12px; margin-top:8px; }
.home-deal-actions { display:grid; text-align:center; gap:4px; }
.home-deal-actions .home-link { justify-content:center; }
.home-copy { display:inline-flex; gap:16px; align-items:center; border:1px dashed var(--hcc-accent); background:var(--hcc-accent-subtle); color:var(--hcc-accent); padding:8px 12px; border-radius:4px; margin-top:12px; cursor:pointer; min-height:44px; }
.home-copy span:first-child { font-size:12px; font-weight:750; user-select:all; }
.home-copy span:last-child { font-size:10px; }
.hcc-home .home-pricing-note { margin-top:16px; }
.home-newsletter { background:var(--hcc-navy); color:white; padding:36px 0; }
.home-newsletter-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; }
.home-newsletter .home-eyebrow { color:#fbbf24; }
.home-newsletter h2 { font-size:27px; color:white; margin-top:8px; }
.home-newsletter p:not(.home-eyebrow) { color:#cbd5e1; font-size:13px; margin-top:8px; }
.home-newsletter label { display:block; font-size:12px; margin-bottom:8px; }
.home-newsletter-fields { display:flex; gap:8px; }
.home-newsletter input { width:100%; min-width:0; padding:12px; border:1px solid #94a3b8; border-radius:6px; color:var(--hcc-text-primary); background:white; font-size:13px; }
.home-newsletter a { color:white; }
.home-newsletter .hcc-btn { white-space:nowrap; }
.home-articles { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:24px; }
.home-article { min-width:0; border:1px solid var(--home-line); border-radius:8px; overflow:hidden; align-self:start; }
.home-article-lead { grid-row:span 2; }
.home-article-image { display:block; }
.home-article-image img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }
.home-article-lead .home-article-image img { aspect-ratio:4/3; }
.home-article-placeholder { aspect-ratio:16/9; background:var(--hcc-bg-subtle); display:flex; align-items:end; justify-content:space-between; padding:24px; color:var(--hcc-text-muted); font-size:10px; letter-spacing:.1em; }
.home-article-placeholder span+span { font-size:48px; color:var(--hcc-accent); letter-spacing:-.05em; }
.home-article-text { padding:20px; }
.home-article h3 { font-size:17px; line-height:1.45; letter-spacing:-.02em; margin-top:8px; }
.home-article-lead h3 { font-size:23px; }
.home-article h3 a { color:inherit; text-decoration:none; }
.home-article h3 a:hover { text-decoration:underline; }
.home-article-text>p:not(.home-eyebrow) { font-size:12px; color:var(--hcc-text-muted); margin-top:12px; }
.home-article .home-link { margin-top:12px; }
.home-tools-section { border-top:1px solid var(--home-line); padding-top:48px; }
.home-tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.home-tool { border:1px solid var(--home-line); border-radius:8px; padding:24px; color:var(--hcc-text-primary); text-decoration:none; transition:border-color var(--hcc-motion); }
.home-tool:hover { border-color:var(--hcc-accent); }
.home-tool-number { color:var(--hcc-accent); font-size:12px; font-weight:700; }
.home-tool h3 { display:flex; justify-content:space-between; gap:8px; font-size:17px; margin-top:24px; }
.home-tool p { font-size:13px; color:var(--hcc-text-muted); margin-top:12px; }
.home-launch { margin-top:48px; border-top:1px solid var(--home-line); padding-top:48px; display:grid; grid-template-columns:1.5fr 1fr; gap:64px; align-items:center; }
.home-launch h2 { font-size:29px; line-height:1.25; letter-spacing:-.035em; margin-top:12px; }
.home-launch p:not(.home-eyebrow) { font-size:14px; color:var(--hcc-text-muted); margin-top:16px; max-width:600px; }
.home-launch-links { display:flex; gap:20px; flex-wrap:wrap; margin-top:24px; }
.home-launch-steps { padding:24px; border:1px solid var(--home-line); border-radius:8px; background:var(--hcc-bg-subtle); }
.home-launch-steps span { color:var(--hcc-accent); font-size:12px; font-weight:750; margin-right:12px; }
.home-launch-steps .home-link { margin-top:16px; }
@media(min-width:768px) { .home-tab-panel { min-height:230px; } }
@media(max-width:1100px) { .home-hero-grid { gap:28px; } .home-hero h1 { font-size:36px; }  }
@media(max-width:767px) {
    .home-section { padding:40px 0; } .home-heading { align-items:start; flex-direction:column; gap:8px; margin-bottom:20px; }
    .home-hero-grid { grid-template-columns:1fr; gap:24px; padding-block:28px; } .home-hero h1 { font-size:clamp(30px,7.5vw,42px); } .home-hero-copy>p:not(.home-eyebrow) { font-size:14px; margin-top:16px; }
    .home-hero-art { width:100%; max-width:480px; justify-self:center; } .home-jump { grid-template-columns:1fr 1fr; } .home-jump a { font-size:12px; padding:14px 10px; }
    .home-jump a:first-child { padding-top:12px; } .home-search input { font-size:12px; padding-inline:6px; } .home-search .hcc-btn { padding-inline:12px; font-size:12px; }
    .home-explore-grid { grid-template-columns:1fr; gap:24px; } .home-explore-grid>div+div { padding:24px 0 0; border-left:0; border-top:1px solid var(--home-line); }
    .home-chips a { min-height:44px; }
    .home-trust-layout { grid-template-columns:1fr; gap:24px; } .home-trust-brand { max-width:320px; padding:20px; } .home-tab-buttons { gap:16px; } .home-tab-buttons button { font-size:12px; } .home-tab-panel { min-height:280px; }
    .home-deal { grid-template-columns:1fr; gap:16px; padding:20px; } .home-deal-brand { display:flex; gap:16px; align-items:center; } .home-deal-brand h3 { margin:0; } .home-deal-actions { grid-template-columns:1fr 1fr; gap:12px; align-items:center; }
    .home-newsletter-grid { grid-template-columns:1fr; gap:24px; } .home-newsletter-fields { flex-wrap:wrap; } .home-newsletter-fields input { flex:1 1 180px; }
    .home-articles { grid-template-columns:1fr 1fr; gap:16px; } .home-article-lead { grid-column:1/-1; grid-row:auto; } .home-article-lead .home-article-image img { aspect-ratio:16/9; }
    .home-tool-grid { grid-template-columns:1fr; gap:12px; } .home-tool h3 { margin-top:12px; } .home-launch { grid-template-columns:1fr; gap:24px; padding-top:32px; margin-top:32px; }

}
@media(max-width:479px) { .home-articles { grid-template-columns:1fr; } .home-article-lead { grid-column:auto; } .home-tab-buttons { gap:12px; } .home-tab-panel { min-height:330px; } }

@media(max-width:767px) { .home-search input,.home-newsletter input { font-size:16px; } }
