/* Supplied normal / hover design, scoped to the homepage CMS product cards. */
body.corelong-home #products {



    --fp-ease: var(--motion-ease-premium);
    position: relative;
    isolation: isolate;
    padding: 55px 0 60px;
    background: var(--bg-secondary);
}
body.corelong-home #products::before {
    content: ""; position: absolute; z-index: -1; top: -220px; right: -90px;
    width: 600px; height: 500px; border: 1px solid color-mix(in srgb,var(--brand-gold) 18%,transparent);
    border-radius: 50%; transform: rotate(-25deg); pointer-events: none;
}
body.corelong-home #products > .cl-wrap { width: min(calc(100% - 112px),1560px); }
body.corelong-home #products .cl-section-head { display: block; margin: 0 auto 26px; padding: 0; text-align: center; border: 0; }
body.corelong-home #products .cl-section-head::after { content: none; }
body.corelong-home #products .cl-eyebrow { display: inline-flex; align-items: center; gap: 18px; margin: 0 0 12px; color: var(--brand-gold-ink); font-size:var(--type-eyebrow) !important; letter-spacing: .26em; }
body.corelong-home #products .cl-eyebrow::before,
body.corelong-home #products .cl-eyebrow::after { content: ""; width: 42px; height: 1px; background: var(--brand-gold-light); }
html[lang="en"] body.corelong-home #products h2 { margin: 0 0 8px; color: var(--fp-ink); font: 600 var(--type-section)/1.16 var(--font-heading); letter-spacing: -.025em; font-size:var(--type-section) !important; }
body.corelong-home #products .fp-section-lead { margin: 0; color: var(--text-body); font-size:var(--type-body); line-height: 1.5; }
body.corelong-home #products .cl-tech-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; counter-reset: fp-product; }
body.corelong-home #products .fp-reveal { min-width: 0; display: flex; }
body.corelong-home #products .fp-card { position: relative; display: flex; flex-direction: column; width: 100%; min-height: 0; padding: 10px; overflow: visible; border: 1px solid color-mix(in srgb,var(--brand-navy) 5.5%,transparent); border-radius: 16px; background: var(--bg-primary); box-shadow: 0 10px 28px color-mix(in srgb,var(--brand-navy) 6%,transparent); counter-increment: fp-product; transition: transform 400ms var(--fp-ease),box-shadow 400ms ease,border-color 300ms ease; }
body.corelong-home #products .fp-card::before { content: none; }
body.corelong-home #products .fp-media { position: relative; aspect-ratio: 1.95; overflow: hidden; border-radius: 12px; background: linear-gradient(125deg,var(--bg-soft),var(--bg-gold) 60%,var(--bg-gold)); }
body.corelong-home #products .fp-media::before { content: ""; position: absolute; left: 18%; top: -25%; width: 76%; height: 180%; border: 1px solid color-mix(in srgb,var(--bg-primary) 75%,transparent); border-radius: 50%; background: linear-gradient(110deg,color-mix(in srgb,var(--bg-primary) 70%,transparent),color-mix(in srgb,var(--border-default) 24%,transparent)); transition: opacity 550ms var(--fp-ease),transform 550ms var(--fp-ease); }
body.corelong-home #products .fp-media::after { content: ""; position: absolute; inset: 76% 0 0; background: linear-gradient(var(--bg-soft),var(--bg-gold)); border-top: 1px solid color-mix(in srgb,var(--bg-primary) 80%,transparent); pointer-events: none; }
body.corelong-home #products .fp-image-link { position: absolute; z-index: 1; inset: 0; display: block; }
body.corelong-home #products .fp-media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; padding: 22px 30px 14px; object-fit: contain; background: transparent; filter: drop-shadow(0 8px 7px color-mix(in srgb,var(--brand-navy) 12%,transparent)); transition: transform 550ms var(--fp-ease); }
body.corelong-home #products .fp-badge { position: absolute; z-index: 2; left: 9px; top: 9px; display: inline-flex; align-items: center; gap: 12px; max-width: calc(100% - 65px); min-height: 34px; padding: 0 14px 0 0; border: 1px solid var(--bg-primary); border-radius: 999px; color: var(--fp-ink); background: color-mix(in srgb,var(--bg-soft) 94%,transparent); font-size:var(--type-eyebrow); line-height: 1.2; }
body.corelong-home #products .fp-number { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 34px; border-radius: 999px; color: var(--bg-primary); background: var(--text-body); font-size:var(--type-description); font-weight: 700; }
body.corelong-home #products .fp-number::before { content: counter(fp-product,decimal-leading-zero); }
body.corelong-home #products .cl-tech-copy { flex: 1; display: block; min-height: 0; padding: 14px 18px 12px; }
body.corelong-home #products .cl-tech-copy h3 { margin: 0 0 6px; color: var(--fp-ink); font-size:var(--type-card) !important; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
body.corelong-home #products .fp-title-link { color: inherit; text-decoration: none; }
body.corelong-home #products .cl-tech-copy p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--fp-muted); font-size:var(--type-description) !important; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
body.corelong-home #products .fp-footer { position: relative; display: block; flex: 0 0 108px; height: 108px; min-height: 108px; margin: 0 18px; border-top: 1px solid var(--bg-soft); }
body.corelong-home #products .fp-actions-default,
body.corelong-home #products .fp-actions-hover { position: absolute; inset: 0; align-content: center; }
body.corelong-home #products .fp-actions-default { display: flex; align-items: center; justify-content: space-between; opacity: 1; visibility: visible; transform: none; transition: opacity 250ms ease,transform 300ms var(--fp-ease),visibility 0s; }
body.corelong-home #products .fp-actions-hover { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity 250ms ease,transform 300ms var(--fp-ease),visibility 0s linear 300ms; }
body.corelong-home #products .fp-actions-hover .fp-detail { grid-column: 1/-1; }
body.corelong-home #products .fp-actions-hover :is(a,button) { width: 100%; opacity: 0; transform: translateY(8px); }
body.corelong-home #products .fp-actions-hover [data-brand-button] { transition: opacity 280ms ease,transform 280ms var(--fp-ease),background-color 250ms ease,border-color 250ms ease,box-shadow 250ms ease !important; }
body.corelong-home #products .fp-actions-open .fp-actions-default { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-5px); transition: opacity 180ms ease,transform 180ms var(--fp-ease),visibility 0s linear 180ms; }
body.corelong-home #products .fp-actions-open .fp-actions-hover { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity 280ms ease 80ms,transform 280ms var(--fp-ease) 80ms,visibility 0s; }
body.corelong-home #products .fp-actions-open .fp-actions-hover :is(a,button) { opacity: 1; transform: none; }
body.corelong-home #products .fp-actions-open .fp-actions-hover .fp-detail { transition-delay: 80ms !important; }
body.corelong-home #products .fp-actions-open .fp-actions-hover .fp-inquiry { transition-delay: 120ms !important; }
body.corelong-home #products .fp-actions-open .fp-actions-hover .fp-quick { transition-delay: 160ms !important; }
body.corelong-home #products .fp-footer a,
body.corelong-home #products .fp-footer button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 6px 0; border: 1px solid transparent; border-radius: 999px; color: var(--fp-ink); background: transparent; font: 600 var(--type-description)/1.2 var(--font-body); text-decoration: none; cursor: pointer; transition: background 250ms ease,transform 250ms var(--fp-ease),color 250ms ease; }
body.corelong-home #products .fp-footer .fp-detail { justify-content: flex-start; }
body.corelong-home #products .fp-footer .fp-circle-link { flex: 0 0 36px; min-height: 36px; width: 36px; height: 36px; border: 1px solid var(--brand-gold-light); border-radius: 50%; font-size:var(--type-button); }
body.corelong-home #products .fp-float-actions { position: absolute; z-index: 3; right: 12px; top: 14px; display: grid; grid-template-columns: 40px; justify-items: center; gap: 8px; }
body.corelong-home #products .fp-icon-button { display: grid; place-items: center; box-sizing: border-box; width: 40px; height: 40px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; appearance: none; background: var(--bg-primary); color: var(--fp-ink); line-height: 1; box-shadow: 0 3px 12px color-mix(in srgb,var(--brand-navy) 9%,transparent); cursor: pointer; transition: transform 200ms var(--fp-ease); }
body.corelong-home #products svg,
.fp-dialog svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body.corelong-home #products .fp-icon-button svg { display: block; margin: 0; width: 18px; height: 18px; }
body.corelong-home #products .fp-icon-button[aria-pressed="true"] { color: var(--brand-navy-light); background: var(--bg-secondary); }
body.corelong-home #products .fp-icon-button[aria-pressed="true"] svg { fill: color-mix(in srgb,var(--brand-navy-light) 14%,transparent); }
body.corelong-home #products [hidden] { display: none !important; }
body.corelong-home #products .fp-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.corelong-home #products :is(a,button):focus-visible { outline: 2px solid var(--brand-navy-light); outline-offset: 3px; }

/* The outer layer reveals; the inner card lifts. They never share a transform. */
body.corelong-home #products.fp-motion-ready .fp-reveal { opacity: 0; visibility: hidden; transform: translateY(var(--motion-reveal-distance)) scale(.985); transition: opacity 700ms var(--fp-ease) var(--fp-reveal-delay,0ms),transform 700ms var(--fp-ease) var(--fp-reveal-delay,0ms); }
body.corelong-home #products.fp-motion-ready .cl-section-head :is(.cl-eyebrow,h2,.fp-section-lead) { opacity: 0; transform: translateY(16px); transition: opacity 450ms var(--fp-ease),transform 450ms var(--fp-ease); }
body.corelong-home #products.fp-motion-ready .cl-section-head h2 { transform: translateY(26px); transition-duration: var(--motion-slow); transition-delay: 80ms; }
body.corelong-home #products.fp-motion-ready .cl-section-head .fp-section-lead { transition-duration: 500ms; transition-delay: 160ms; }
body.corelong-home #products.fp-motion-ready .fp-reveal.fp-is-visible { opacity: 1; visibility: visible; transform: none; }
body.corelong-home #products.fp-motion-ready .cl-section-head.fp-is-visible :is(.cl-eyebrow,h2,.fp-section-lead) { opacity: 1; transform: none; }

/* Fixed footer footprint: hover never moves adjacent cards. */
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
    body.corelong-home #products .cl-tech-grid { grid-auto-rows: 1fr; }
    body.corelong-home #products .fp-card .fp-float-actions { pointer-events: none; }
    body.corelong-home #products .fp-card .fp-icon-button { opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.92); transition: opacity 200ms ease,transform 300ms var(--fp-ease),visibility 0s linear 300ms; }
    body.corelong-home #products .fp-card:is(:hover,:focus-within) { z-index: 5; transform: translateY(var(--motion-hover-lift)); border-color: var(--border-strong); box-shadow: 0 18px 42px color-mix(in srgb,var(--brand-navy) 12%,transparent),0 0 0 1px color-mix(in srgb,var(--border-strong) 18%,transparent); }
    body.corelong-home #products .fp-card:is(:hover,:focus-within) img { transform: scale(var(--motion-image-scale)); }
    body.corelong-home #products .fp-card:is(:hover,:focus-within) .fp-media::before { opacity: .8; transform: translateX(2%) scale(1.02); }
    body.corelong-home #products .fp-card:is(:hover,:focus-within) .fp-icon-button { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity 260ms ease 100ms,transform 260ms var(--fp-ease) 100ms,visibility 0s; }
    body.corelong-home #products .fp-card:is(:hover,:focus-within) .fp-icon-button:nth-child(2) { transition-delay: 150ms; }
    body.corelong-home #products .fp-card .fp-footer svg { display: block; margin: 0; width: 16px; height: 16px; }
    body.corelong-home #products .fp-card .fp-footer .fp-detail > span { display: grid; place-items: center; width: 16px; height: 16px; font: 400 var(--type-body)/1 var(--font-body); }
}
body.corelong-home #products .fp-icon-button:hover { transform: scale(1.06); }
body.corelong-home #products [data-fp-action="zoom"]:is(:hover,:focus-visible) svg { animation: fp-search-feedback 400ms var(--fp-ease) 1; }
body.corelong-home #products [data-fp-action="save"]:is(:hover,:focus-visible) svg { animation: fp-heart-feedback 400ms var(--fp-ease) 1; }
html.brand-buttons body.corelong-home #products .fp-inquiry:is(:hover,:focus-visible) svg { animation: fp-search-feedback 400ms var(--fp-ease) 1 !important; }
html.brand-buttons body.corelong-home #products .fp-quick:is(:hover,:focus-visible) svg { animation: fp-heart-feedback 400ms var(--fp-ease) 1 !important; }
body.corelong-home #products .fp-footer a:hover > span { transform: translateX(3px); }
body.corelong-home #products .fp-footer a > span { transition: transform 200ms ease; }
body.corelong-home #products .fp-footer .fp-circle-link:hover { background: var(--bg-gold); }
body.corelong-home #products .fp-footer :is(.fp-inquiry,.fp-quick):hover { background: var(--bg-soft); }
body.corelong-home #products .fp-footer :is(a,button):active { transform: translateY(1px); }

.fp-dialog { width: min(1000px,calc(100% - 40px)); max-height: calc(100dvh - 60px); margin: auto; padding: 32px; border: 1px solid var(--bg-soft); border-radius: 20px; color: var(--brand-navy); background: var(--bg-primary); overflow: auto; box-shadow: 0 30px 80px color-mix(in srgb,var(--brand-navy) 20%,transparent); }
.fp-dialog[open] { animation: fp-action-in 250ms cubic-bezier(.22,1,.36,1); }
.fp-dialog::backdrop { background: color-mix(in srgb,var(--brand-navy) 50%,transparent); backdrop-filter: blur(5px); }
.fp-dialog [hidden] { display: none !important; }
.fp-dialog-close { position: absolute; z-index: 3; right: 12px; top: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--bg-soft); border-radius: 50%; background: var(--bg-primary); color: var(--brand-navy); cursor: pointer; }
.fp-dialog-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; align-items: center; }
.fp-dialog-image { display: block; width: 100%; height: 380px; padding: 20px; object-fit: contain; background: var(--bg-secondary); border-radius: 12px; }
.fp-dialog-thumbs { display: flex; gap: 8px; overflow-x: auto; margin-top: 12px; padding: 4px; }
.fp-dialog-thumbs button { flex: 0 0 64px; height: 58px; padding: 4px; border: 1px solid var(--bg-soft); border-radius: 8px; background: var(--bg-secondary); cursor: pointer; }
.fp-dialog-thumbs button[aria-pressed="true"] { border-color: var(--brand-navy-light); }
.fp-dialog-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.fp-dialog-category { margin: 0 0 12px; color: var(--text-body); font-size:var(--type-eyebrow); letter-spacing: .12em; text-transform: uppercase; }
.fp-dialog h2 { margin: 0 0 16px; font: 400 var(--type-section)/1.15 var(--font-heading); color: var(--brand-navy); }
.fp-dialog-description { color: var(--text-body); font-size:var(--type-body); line-height: 1.7; }
.fp-dialog-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.fp-dialog-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; border: 1px solid var(--brand-gold); border-radius: 999px; background: var(--brand-navy); color: var(--bg-primary); font-size:var(--type-description); font-weight: 600; text-decoration: none; }
.fp-dialog-links a:last-child { background: var(--brand-gold-light); color: var(--brand-navy); }
.fp-dialog button:focus-visible,.fp-dialog a:focus-visible { outline: 2px solid var(--brand-navy-light); outline-offset: 3px; }
.fp-dialog.fp-image-only { width: min(1100px,calc(100% - 40px)); }
.fp-image-only .fp-dialog-grid { grid-template-columns: 1fr; }
.fp-image-only .fp-dialog-info { display: none; }
.fp-image-only .fp-dialog-image { height: min(70dvh,650px); }
@keyframes fp-action-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes fp-icon-nudge { 0%,100% { transform: none; } 50% { transform: translateY(-1px); } }
@keyframes fp-search-feedback { 0%,100% { transform: none; } 50% { transform: translate(2px,-1px); } }
@keyframes fp-heart-feedback { 0%,100% { transform: scale(1); } 45% { transform: scale(1.12); } }
@media (max-width:1199px) {
    body.corelong-home #products > .cl-wrap { width: calc(100% - 56px); }
    body.corelong-home #products .cl-tech-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (min-width:768px) and (max-width:1399px) and (hover:hover) and (pointer:fine) {
    body.corelong-home #products .fp-footer { margin-inline: 10px; }
}
@media (max-width:767px), (hover:none), (pointer:coarse) {
    body.corelong-home #products .fp-actions-hover :is(a,button) { opacity: 1; transform: none; }
    body.corelong-home #products .fp-footer .fp-circle-link { display: none; }
    body.corelong-home #products .fp-footer :is(.fp-detail,.fp-inquiry,.fp-quick) { padding-inline: 14px; border-color: var(--bg-soft); font-size:var(--type-button); }
    body.corelong-home #products .fp-footer .fp-detail { color: var(--bg-primary); background: var(--brand-navy-light); }
}
@media (max-width:767px) {
    body.corelong-home #products { padding: 42px 0; }
    body.corelong-home #products > .cl-wrap { width: calc(100% - 32px); }
    body.corelong-home #products .cl-tech-grid { grid-template-columns: 1fr; gap: 18px; }
    body.corelong-home #products .cl-tech-copy { padding: 14px 10px 12px; }
    body.corelong-home #products .fp-footer { margin-inline: 10px; }
    body.corelong-home #products .fp-section-lead { font-size:var(--type-description); }
    body.corelong-home #products .cl-tech-copy h3 { font-size:var(--type-card) !important; }
    .fp-dialog { padding: 24px 18px; }
    .fp-dialog-grid { grid-template-columns: 1fr; gap: 20px; }
    .fp-dialog-image { height: 250px; }
    .fp-dialog h2 { font-size:var(--type-section); }
}
@media (prefers-reduced-motion:reduce) {
    body.corelong-home #products *,body.corelong-home #products *::before,.fp-dialog,.fp-dialog * { animation: none !important; transition: none !important; }
    body.corelong-home #products .fp-card:is(:hover,:focus-within),body.corelong-home #products .fp-card:is(:hover,:focus-within) img { transform: none; }
    body.corelong-home #products.fp-motion-ready .fp-reveal,
    body.corelong-home #products.fp-motion-ready .cl-section-head :is(.cl-eyebrow,h2,.fp-section-lead) { opacity: 1; visibility: visible; transform: none; }
    html.brand-buttons body.corelong-home #products .fp-actions-hover [data-brand-button],html.brand-buttons body.corelong-home #products svg { animation: none !important; transition: none !important; }
    html.brand-buttons body.corelong-home #products :is(.fp-inquiry,.fp-quick,[data-fp-action]):is(:hover,:focus-visible) svg { animation: none !important; }
}
