/* Hero polish, kept after the legacy home styles to isolate the visual upgrade. */
body.corelong-home .cl-hero,
body.corelong-home .cl-capabilities {




}

body.corelong-home .cl-hero {
    isolation: isolate;
    background: var(--navy-900);
}
body.corelong-home .cl-hero .cl-wrap,
body.corelong-home .cl-capabilities .cl-wrap {
    width: min(calc(100% - 9.4vw), 1660px);
}
body.corelong-home .cl-hero-bg {
    left: 39%;
    background-position: center;
}
body.corelong-home .cl-hero-bg::after {
    background: linear-gradient(90deg, var(--navy-900) 0%, color-mix(in srgb,var(--brand-navy) 64%,transparent) 19%, color-mix(in srgb,var(--brand-navy) 14%,transparent) 53%, color-mix(in srgb,var(--brand-navy) 3%,transparent) 100%);
}
body.corelong-home .cl-hero::before {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(0deg, color-mix(in srgb,var(--brand-navy) 42%,transparent), transparent 28%);
}
body.corelong-home .cl-hero::after {
    z-index: 1;
    opacity: .26;
    background: radial-gradient(circle, color-mix(in srgb,var(--border-strong) 50%,transparent) .7px, transparent 1px);
    background-size: 27px 27px;
    mask-image: linear-gradient(90deg, var(--mask-ink), color-mix(in srgb,var(--mask-ink) 65%,transparent) 35%, transparent 64%);
}
body.corelong-home .cl-hero-grid {
    z-index: 2;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: clamp(560px, 33vw, 640px);
    gap: 24px;
    padding-bottom: 44px;
}
body.corelong-home .cl-hero-copy {
    position: relative;
    z-index: 3;
    padding: 60px 0 44px;
    animation: none;
}
body.corelong-home .cl-hero-copy .cl-eyebrow {
    position: relative;
    margin-bottom: 26px;
    color: var(--text-light);
    font-family:var(--font-body);
    font-size:var(--type-eyebrow) !important;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .2em;
}
body.corelong-home .cl-hero-copy .cl-eyebrow::after {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin-top: 13px;
    background: var(--gold-400);
    border-radius: 2px;
}
html[lang="en"] body.corelong-home .cl-hero-copy h1 {
    max-width: 800px;
    margin: 0 0 25px;
    font-family: var(--brand-font-display);
    font-size:var(--type-hero) !important;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.042em;
    color: var(--white);
}
html[lang="en"] body.corelong-home .cl-hero-copy h1 em { color: inherit; }
body.corelong-home .cl-hero-highlight { color: var(--gold-400); }
body.corelong-home .cl-hero-lead {
    max-width: 625px;
    margin-bottom: 16px;
    color: var(--text-light);
    font-size:var(--type-body-large) !important;
    line-height: 1.52;
}
body.corelong-home .cl-hero-note {
    margin: 0 0 26px;
    color: var(--text-muted);
    font-size:var(--type-description) !important;
    line-height: 1.6;
}
body.corelong-home .cl-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn {
    min-height: 52px;
    padding: 12px 23px;
    font-size:var(--type-button) !important;
    white-space: nowrap;
}
html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn:not(.gold) {
    background-color: color-mix(in srgb,var(--brand-navy) 62%,transparent);
}
body.corelong-home .cl-hero-actions .cl-arrow { font-size:var(--type-card) !important; }
body.corelong-home .cl-hero-product {
    min-width: 0;
    min-height: 490px;
    height: 100%;
    overflow: visible;
    animation: cl-hero-media-reveal 700ms 120ms ease both;
    touch-action: pan-y;
}
body.corelong-home .cl-hero-product::before {
    width: 91%;
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb,var(--brand-gold-light) 36%,transparent);
    box-shadow: 0 0 0 34px color-mix(in srgb,var(--brand-gold-light) 2.5%,transparent), 0 0 0 72px color-mix(in srgb,var(--brand-gold-light) 2.2%,transparent);
    pointer-events: none;
}
body.corelong-home .cl-hero-product-slide img {
    width: min(440px, 72%);
    max-width: 88%;
    max-height: 450px;
    filter: drop-shadow(0 22px 24px color-mix(in srgb,var(--mask-ink) 25%,transparent));
}
body.corelong-home .cl-hero-side-note {
    right: -1%;
    bottom: 17%;
    padding-left: 18px;
    border-left: 2px solid var(--gold-400);
    color: var(--text-light);
    font-size:var(--type-description) !important;
    line-height: 1.65;
    letter-spacing: .075em;
    text-shadow: 0 2px 9px color-mix(in srgb,var(--brand-navy) 80%,transparent);
}
body.corelong-home .cl-hero-meta {
    z-index: 4;
    right: 4.7%;
    left: 16%;
    bottom: 10px;
    gap: clamp(3px, .6vw, 12px);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb,var(--brand-gold-light) 40%,transparent) transparent;
    font-size:var(--type-description) !important;
    letter-spacing: .025em;
}
body.corelong-home .cl-hero-meta::before { width: 42px; flex: 0 0 42px; margin-right: 8px; }
body.corelong-home .cl-hero-dot {
    flex: 1 0 32px;
    min-height: 44px;
    padding: 8px 2px 12px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    transition: color 160ms ease;
}
body.corelong-home .cl-hero-dot::after {
    right: calc(50% - 12px);
    left: calc(50% - 12px);
    bottom: 5px;
    height: 3px;
    border-radius: 3px;
    background: var(--gold-400);
}
body.corelong-home .cl-hero-dot:is(:hover, :focus-visible, :active, .is-active) { color: var(--gold-400) !important; }
body.corelong-home .cl-hero-dot:is(:hover, :focus-visible):not(.is-active)::after { opacity: .5; transform: scaleX(.65); }
body.corelong-home .cl-hero-dot.is-active { font-weight: 700; }
body.corelong-home .cl-hero-dot:focus-visible,
body.corelong-home .cl-hero-product:focus-visible { outline: 2px solid var(--gold-400); outline-offset: -3px; border-radius: 4px; }

/* Existing six SVG metaphors and all CMS descriptions are retained. */
body.corelong-home .cl-capabilities { padding: 18px 0 24px; border: 0; background: var(--bg-primary); }
body.corelong-home .cl-capability-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
body.corelong-home .cl-capability {
    min-height: 228px;
    padding: 18px 22px 20px;
    gap: 13px;
    border: 1px solid var(--bg-soft) !important;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--bg-primary) 60%, var(--cream-50));
    box-shadow: 0 5px 14px color-mix(in srgb,var(--brand-navy) 5.5%,transparent);
    transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease;
}
body.corelong-home .cl-capability::before { top: -68px; right: -40px; width: 170px; height: 145px; background: linear-gradient(135deg, color-mix(in srgb,var(--brand-gold) 15%,transparent), color-mix(in srgb,var(--brand-gold) 2.5%,transparent)); }
body.corelong-home .cl-capability::after { content: none; }
body.corelong-home .cl-capability .cl-capability-icon {
    display: grid;
    place-items: center;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--bg-gold);
    overflow: visible;
    transform: none;
    box-shadow: none;
}
body.corelong-home .cl-capability-svg { width: 29px; height: 29px; color: var(--navy-800); stroke-width: 1.7; transform-origin: center; }
body.corelong-home .cl-capability b { max-width: none; font-size:var(--type-body) !important; line-height: 1.32; letter-spacing: -.018em; }
body.corelong-home .cl-capability span.cl-copy-lines {
    display: block;
    margin-top: 6px;
    padding: 0;
    overflow: visible;
    color: var(--text-body);
    font-size:var(--type-eyebrow) !important;
    line-height: 1.5;
    -webkit-line-clamp: unset;
}
body.corelong-home .cl-capability:is(:hover, :focus-within) {
    border-color: color-mix(in srgb,var(--brand-gold) 65%,transparent) !important;
    box-shadow: 0 10px 24px color-mix(in srgb,var(--brand-navy) 9%,transparent);
    transform: translateY(-2px);
}
body.corelong-home .cl-capability:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 3px; }
body.corelong-home .cl-capability:is(:hover, :focus-within) .cl-capability-svg {
    color: var(--navy-800);
    transform: none;
    animation: cl-icon-greet 540ms cubic-bezier(.22,.61,.36,1) 1;
}
body.corelong-home .cl-capability:nth-child(6):is(:hover, :focus-within) .cl-capability-svg { animation-name: cl-icon-turn; }
body.corelong-home .cl-hero-copy > :is(.cl-eyebrow, h1, .cl-hero-lead, .cl-hero-note, .cl-hero-actions) { animation: cl-hero-text-reveal 650ms cubic-bezier(.22,.61,.36,1) both; }
body.corelong-home .cl-hero-copy > h1 { animation-delay: 60ms; }
body.corelong-home .cl-hero-copy > .cl-hero-lead { animation-delay: 120ms; }
body.corelong-home .cl-hero-copy > .cl-hero-note { animation-delay: 180ms; }
body.corelong-home .cl-hero-copy > .cl-hero-actions { animation-delay: 240ms; }
@keyframes cl-hero-text-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes cl-hero-media-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes cl-icon-greet { 0%, 100% { transform: none; } 45% { transform: translateY(-3px) rotate(-5deg); } }
@keyframes cl-icon-turn { 0%, 100% { transform: none; } 50% { transform: rotate(22deg); } }

@media (min-width: 1500px) {
    body.corelong-home > main { padding-top: 92px; }
    body.corelong-home > header .cl-nav { width: min(calc(100% - 9.4vw), 1660px); max-width: 1660px; min-height: 92px; }
    body.corelong-home .cl-nav-logo img { width: 160px; }
    body.corelong-home .cl-wordmark small { font-size:var(--type-description) !important; }
    body.corelong-home .cl-nav-links a { font-size:var(--type-body) !important; }
}
@media (max-width: 1250px) {
    body.corelong-home .cl-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
    body.corelong-home .cl-hero-actions { gap: 10px; }
    html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn { padding-inline: 18px; }
    body.corelong-home .cl-capability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.corelong-home .cl-capability { min-height: 210px; }
    body.corelong-home .cl-hero-meta { left: 4.7%; }
    body.corelong-home .cl-hero-side-note { right: 0; bottom: 12%; }
}
@media (max-width: 900px) and (min-width: 761px) {
    html[lang="en"] body.corelong-home .cl-hero-copy h1 { font-size:var(--type-hero) !important; }
    body.corelong-home .cl-hero-product-slide img { width: 92%; }
}
@media (max-width: 760px) {
    body.corelong-home .cl-hero .cl-wrap,
    body.corelong-home .cl-capabilities .cl-wrap { width: calc(100% - 40px); }
    body.corelong-home .cl-hero-grid { grid-template-columns: 1fr; gap: 0; padding-bottom: 70px; }
    body.corelong-home .cl-hero-copy { padding: 38px 0 14px; }
    body.corelong-home .cl-hero-copy .cl-eyebrow { max-width: 330px; margin-bottom: 22px; font-size:var(--type-eyebrow) !important; letter-spacing: .14em; }
    html[lang="en"] body.corelong-home .cl-hero-copy h1 { font-size:var(--type-hero) !important; line-height: 1.08; margin-bottom: 22px; }
    body.corelong-home .cl-hero-lead { max-width: 530px; font-size:var(--type-body) !important; line-height: 1.6; }
    body.corelong-home .cl-hero-note { font-size:var(--type-eyebrow) !important; margin-bottom: 24px; }
    body.corelong-home .cl-hero-actions { display: flex; gap: 10px; }
    html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn { min-height: 50px; padding: 12px 18px; font-size:var(--type-button) !important; }
    body.corelong-home .cl-hero-bg { top: 37%; left: 0; background-position: 60% center; }
    body.corelong-home .cl-hero-bg::after { background: linear-gradient(180deg, var(--navy-900), color-mix(in srgb,var(--brand-navy) 82%,transparent) 16%, color-mix(in srgb,var(--brand-navy) 16%,transparent) 60%); }
    body.corelong-home .cl-hero-product { min-height: 320px; margin-top: 12px; }
    body.corelong-home .cl-hero-product::before { width: 280px; }
    body.corelong-home .cl-hero-product-slide img { width: min(310px, 76%); max-height: 300px; }
    body.corelong-home .cl-hero-side-note { right: 0; bottom: 4%; padding-left: 12px; font-size:var(--type-eyebrow) !important; }
    body.corelong-home .cl-hero-meta { right: 20px; left: 20px; bottom: 12px; gap: 8px; }
    body.corelong-home .cl-hero-meta::before { display: none; }
    body.corelong-home .cl-hero-dot { flex: 0 0 36px; }
    body.corelong-home .cl-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    body.corelong-home .cl-capability { min-height: 0; padding: 18px 16px; }
    body.corelong-home .cl-capability b { font-size:var(--type-description) !important; }
    body.corelong-home .cl-capability span.cl-copy-lines { font-size:var(--type-eyebrow) !important; }
}
@media (max-width: 460px) {
    html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn:first-child { width: 100%; }
    html[lang="en"] body.corelong-home .cl-hero-actions .cl-btn:not(:first-child) { flex: 1 1 auto; font-size:var(--type-button) !important; padding-inline: 12px; }
    body.corelong-home .cl-capability-grid { grid-template-columns: 1fr; }
    body.corelong-home .cl-capability { flex-direction: row; align-items: flex-start; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    body.corelong-home .cl-hero *,
    body.corelong-home .cl-hero *::after,
    body.corelong-home .cl-capability,
    body.corelong-home .cl-capability::before,
    body.corelong-home .cl-capability * { animation: none !important; transition: none !important; }
    body.corelong-home .cl-capability:is(:hover, :focus-within) { transform: none; }
}
