/* OEM / ODM: shared product actions, scoped visuals and a stable six-card grid. */
body.corelong-home #oem {    --oc-ease:cubic-bezier(.22,1,.36,1); position:relative; isolation:isolate; overflow:hidden; padding:64px 0; background:linear-gradient(120deg,var(--bg-primary) 18%,var(--bg-gold)); }
body.corelong-home #oem::before,body.corelong-home #oem::after { content:""; position:absolute; z-index:-1; width:120%; height:700px; border:1px solid color-mix(in srgb,var(--brand-gold) 22%,transparent); border-radius:50%; pointer-events:none; }
body.corelong-home #oem::before { top:-550px; right:-12%; transform:rotate(20deg); box-shadow:0 32px 0 color-mix(in srgb,var(--brand-gold) 6%,transparent); }
body.corelong-home #oem::after { left:-20%; bottom:-470px; transform:rotate(-30deg); box-shadow:0 -30px 0 color-mix(in srgb,var(--brand-gold) 2.5%,transparent); }
body.corelong-home #oem .cl-oem-grid { position:relative; width:min(calc(100% - 7%),1660px); display:grid; grid-template-columns:minmax(0,34fr) minmax(0,66fr); align-items:center; gap:34px; }
body.corelong-home #oem .oc-intro { position:relative; padding:0 12px 0 0; border:0; }
body.corelong-home #oem .oc-intro::before { content:none; }
body.corelong-home #oem .oc-intro::after { content:""; position:absolute; z-index:-1; right:-60px; bottom:10px; width:250px; height:240px; opacity:.22; background:repeating-linear-gradient(0deg,transparent 0 39px,var(--border-default) 40px 41px),repeating-linear-gradient(90deg,transparent 0 49px,var(--border-default) 50px 51px); transform:skewY(-18deg) rotate(4deg); mask-image:linear-gradient(90deg,transparent,var(--mask-ink)); pointer-events:none; }
body.corelong-home #oem .cl-eyebrow { display:flex; align-items:center; gap:16px; margin:0 0 24px; color:var(--brand-gold-ink); font:600 var(--type-eyebrow)/1.4 var(--font-body)!important; letter-spacing:3px; }
body.corelong-home #oem .cl-eyebrow::before { content:""; width:38px; height:1px; flex:none; background:var(--oc-gold); }
body.corelong-home #oem .oc-intro > h2 { margin:0 0 26px; color:var(--oc-ink); font:400 var(--type-page)/1.05 var(--font-heading)!important; letter-spacing:-.045em; text-wrap:balance; }
body.corelong-home #oem .oc-description { margin:0; max-width:500px; color:var(--oc-muted); font:400 var(--type-body)/1.55 var(--font-body)!important; }
body.corelong-home #oem .oc-benefits { display:grid; gap:24px; margin:32px 0; }
body.corelong-home #oem .oc-benefit { display:flex; align-items:center; gap:22px; }
body.corelong-home #oem .oc-benefit-icon { display:grid; place-items:center; flex:none; width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--bg-gold),var(--bg-gold)); color:var(--brand-navy-light); }
body.corelong-home #oem svg { display:block; flex:none; width:18px; height:18px; margin:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.corelong-home #oem .oc-benefit-icon svg { width:28px; height:28px; stroke-width:1.5; }
body.corelong-home #oem .oc-benefit h3 { margin:0 0 5px; color:var(--oc-ink); font:600 var(--type-card)/1.25 var(--font-heading)!important; letter-spacing:-.03em; }
body.corelong-home #oem .oc-benefit p { margin:0; color:var(--oc-muted); font:400 var(--type-description)/1.45 var(--font-body)!important; }
body.corelong-home #oem .oc-benefit:hover svg { animation:oc-icon-once 300ms ease 1; }
body.corelong-home #oem .oc-project { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:64px; padding:8px 14px 8px 28px; border:1px solid var(--brand-gold-light); border-radius:999px; color:var(--oc-ink); background:linear-gradient(120deg,var(--brand-gold),var(--brand-gold-light)); box-shadow:0 12px 26px color-mix(in srgb,var(--brand-gold-ink) 22%,transparent); font:600 var(--type-body)/1.2 var(--font-body)!important; text-decoration:none; transition:transform 300ms var(--oc-ease),box-shadow 300ms ease; }
body.corelong-home #oem .oc-project > span { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--bg-gold); color:var(--brand-gold-ink); }
body.corelong-home #oem .oc-project svg { width:22px; height:22px; transition:transform 200ms ease; }
body.corelong-home #oem .oc-project:hover { transform:translateY(-3px); box-shadow:0 16px 30px color-mix(in srgb,var(--brand-gold-ink) 28%,transparent); }
body.corelong-home #oem .oc-project:hover svg { transform:translateX(4px); }
body.corelong-home #oem .cl-oem-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:row; grid-auto-columns:auto; width:100%; padding:0; overflow:visible; scroll-snap-type:none; gap:14px; counter-reset:oc-product; }
body.corelong-home #oem .oc-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:10px; border:1px solid var(--bg-soft); border-radius:16px; background:var(--bg-primary); box-shadow:0 9px 24px color-mix(in srgb,var(--brand-navy) 5.5%,transparent); counter-increment:oc-product; transition:transform 380ms var(--oc-ease),box-shadow 380ms ease,border-color 300ms ease; }
body.corelong-home #oem .oc-media { position:relative; aspect-ratio:1.6; overflow:hidden; border-radius:12px; background:linear-gradient(135deg,var(--bg-gold),var(--bg-gold) 60%,var(--bg-gold)); }
body.corelong-home #oem .oc-media::before { content:""; position:absolute; width:75%; height:150%; top:-30%; left:22%; border:1px solid color-mix(in srgb,var(--bg-primary) 80%,transparent); border-radius:50%; background:linear-gradient(120deg,color-mix(in srgb,var(--bg-primary) 60%,transparent),color-mix(in srgb,var(--brand-gold-light) 16%,transparent)); }
body.corelong-home #oem .fp-image-link { position:absolute; z-index:1; inset:0; display:block; }
body.corelong-home #oem .oc-media img { display:block; width:100%; height:100%; padding:22px 12px 8px; object-fit:contain; filter:drop-shadow(0 6px 5px color-mix(in srgb,var(--brand-navy) 8%,transparent)); transition:transform 500ms var(--oc-ease); }
body.corelong-home #oem .oc-number { position:absolute; z-index:2; left:10px; top:10px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--bg-primary); background:var(--brand-navy-light); font:700 var(--type-description)/1 var(--font-body); }
body.corelong-home #oem .oc-number::before { content:counter(oc-product,decimal-leading-zero); }
body.corelong-home #oem .oc-copy { display:block; flex:1; min-height:0; padding:9px 10px 0; }
body.corelong-home #oem .oc-category { display:inline-block; max-width:100%; padding:4px 10px; margin:0 0 8px; border-radius:999px; background:var(--bg-gold); color:var(--brand-gold-ink); font:400 var(--type-eyebrow)/1.3 var(--font-body); letter-spacing:1px; text-transform:uppercase; }
body.corelong-home #oem .oc-copy h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:48px; margin:0 0 6px; color:var(--oc-ink); font:600 var(--type-card)/1.2 var(--font-heading)!important; letter-spacing:-.035em; }
body.corelong-home #oem .fp-title-link { color:inherit; text-decoration:none; }
body.corelong-home #oem .oc-copy p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:40px; margin:0; color:var(--oc-muted); font:400 var(--type-description)/1.45 var(--font-body)!important; }
body.corelong-home #oem .oc-footer { position:relative; height:84px; margin:12px 10px 0; }
body.corelong-home #oem .oc-footer :is(a,button) { display:flex; align-items:center; justify-content:center; box-sizing:border-box; height:38px; margin:0; padding:0 8px; gap:7px; border:1px solid var(--border-default); border-radius:999px; color:var(--oc-ink); background:var(--bg-primary); font:400 var(--type-eyebrow)/1 var(--font-body); text-decoration:none; cursor:pointer; transition:opacity 260ms ease,transform 260ms var(--oc-ease),background 250ms ease; }
body.corelong-home #oem .oc-footer svg { width:16px; height:16px; }
body.corelong-home #oem .oc-footer .oc-detail { position:absolute; left:0; right:48px; top:23px; justify-content:flex-start; padding:0; border-color:transparent; border-radius:0; font-weight:600; font-size:var(--type-button); transition:top 260ms var(--oc-ease),background 260ms ease; }
body.corelong-home #oem .oc-footer .oc-circle { position:absolute; right:0; top:23px; width:38px; padding:0; border-color:var(--oc-gold); }
body.corelong-home #oem .oc-footer .fp-inquiry,body.corelong-home #oem .oc-footer .oc-quick { position:absolute; bottom:0; width:calc(50% - 4px); opacity:0; visibility:hidden; transform:translateY(6px); }
body.corelong-home #oem .oc-footer .fp-inquiry { left:0; }
body.corelong-home #oem .oc-footer .oc-quick { right:0; }
body.corelong-home #oem .oc-float { position:absolute; z-index:3; top:10px; right:10px; display:flex; gap:8px; opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity 250ms ease,transform 250ms var(--oc-ease); }
body.corelong-home #oem .oc-icon { display:grid; place-items:center; box-sizing:border-box; width:42px; height:42px; min-height:0; margin:0; padding:0; border:0; border-radius:50%; color:var(--oc-ink); background:var(--bg-primary); box-shadow:0 4px 12px color-mix(in srgb,var(--brand-navy) 10%,transparent); cursor:pointer; }
body.corelong-home #oem .oc-icon[aria-pressed="true"] { color:var(--brand-navy-light); background:var(--bg-soft); }
body.corelong-home #oem .oc-icon[aria-pressed="true"] svg { fill:color-mix(in srgb,var(--brand-navy-light) 12%,transparent); }
body.corelong-home #oem [hidden] { display:none!important; }
body.corelong-home #oem :is(a,button):focus-visible { outline:2px solid var(--brand-navy-light); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) { z-index:10; transform:translateY(-6px); border-color:var(--border-strong); box-shadow:0 18px 42px color-mix(in srgb,var(--brand-navy-light) 14%,transparent),0 0 0 1px color-mix(in srgb,var(--border-strong) 18%,transparent); }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) img { transform:scale(1.04); }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-float { opacity:1; transform:none; pointer-events:auto; }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-icon { animation:oc-float-in 250ms var(--oc-ease) both; }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-icon:nth-child(2) { animation-delay:50ms; }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-circle { opacity:0; pointer-events:none; }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-detail { top:0; right:0; justify-content:center; border-radius:999px; background:linear-gradient(135deg,var(--brand-navy-light),var(--brand-navy)); color:var(--bg-primary); font-weight:400; }
 body.corelong-home #oem .oc-card:is(:hover,:focus-within) .fp-inquiry,body.corelong-home #oem .oc-card:is(:hover,:focus-within) .oc-quick { opacity:1; visibility:visible; transform:none; }
}
body.corelong-home #oem .oc-footer :is(a,button):hover svg { animation:oc-arrow-once 200ms ease 1; }
body.corelong-home #oem .oc-icon:hover svg { animation:oc-icon-once 300ms ease 1; }
@keyframes oc-float-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
@keyframes oc-icon-once { 50% { transform:translateY(-2px); } }
@keyframes oc-arrow-once { 50% { transform:translateX(4px); } }
@media (min-width:1024px) and (max-width:1439px) { body.corelong-home #oem .cl-oem-grid { grid-template-columns:minmax(0,38fr) minmax(0,62fr); gap:24px; } body.corelong-home #oem .cl-oem-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } body.corelong-home #oem .oc-intro > h2 { font-size:var(--type-section)!important; } }
@media (max-width:1023px) { body.corelong-home #oem .cl-oem-grid { width:calc(100% - 48px); grid-template-columns:1fr; gap:36px; } body.corelong-home #oem .oc-intro { max-width:680px; padding:0; } body.corelong-home #oem .cl-oem-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } body.corelong-home #oem .oc-intro > h2 { max-width:600px; font-size:var(--type-section)!important; } }
@media (max-width:767px) { body.corelong-home #oem { padding:44px 0; } body.corelong-home #oem .cl-oem-grid { width:calc(100% - 32px); gap:28px; } body.corelong-home #oem .cl-oem-tiles { grid-template-columns:1fr; gap:18px; } body.corelong-home #oem .cl-eyebrow { gap:12px; font-size:var(--type-eyebrow)!important; letter-spacing:2px; } body.corelong-home #oem .oc-intro > h2 { font-size:var(--type-section)!important; margin-bottom:20px; } body.corelong-home #oem .oc-benefits { gap:20px; margin:26px 0; } body.corelong-home #oem .oc-benefit { gap:16px; } body.corelong-home #oem .oc-project { min-height:60px; font-size:var(--type-body)!important; } }
@media (hover:none), (pointer:coarse), (max-width:767px) { body.corelong-home #oem .oc-footer { height:96px; } body.corelong-home #oem .oc-footer :is(a,button) { height:44px; } body.corelong-home #oem .oc-footer .oc-circle { display:none; } body.corelong-home #oem .oc-footer .oc-detail { top:0; right:0; justify-content:center; border-radius:999px; background:var(--brand-navy-light); color:var(--bg-primary); } body.corelong-home #oem .oc-footer .fp-inquiry,body.corelong-home #oem .oc-footer .oc-quick { opacity:1; visibility:visible; transform:none; } body.corelong-home #oem .oc-float { opacity:1; transform:none; pointer-events:auto; } body.corelong-home #oem .oc-icon { width:44px; height:44px; } }
@media (prefers-reduced-motion:reduce) { body.corelong-home #oem *,body.corelong-home #oem *::before { animation:none!important; transition:none!important; } body.corelong-home #oem .oc-card:is(:hover,:focus-within),body.corelong-home #oem .oc-card:is(:hover,:focus-within) img { transform:none; } }
