/* Overclock v2.3 — complete, focused homepage stylesheet.
   Replaces accumulated v2.0–v2.2 home overrides, follows approved layout reference. */
:root { --oc23-red:#e2222a; --oc23-dark:#10161c; --oc23-muted:#606a75; --oc23-border:#e7eaee; --oc23-container:1400px; }
body.home { background:#fff; color:var(--oc23-dark); }
body.home .oc-shop-icon-rail { display:none; }
body.home .oc23-home { width:100%; overflow:hidden; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--oc23-dark); }
body.home .oc23-home *,body.home .oc23-home *::before,body.home .oc23-home *::after { box-sizing:border-box; }
body.home .oc23-home a { text-decoration:none; }
body.home .oc23-home h1,body.home .oc23-home h2,body.home .oc23-home h3 { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-style:normal; }
body.home .oc23-kicker { font-size:11px;line-height:1.3;color:#d61d26;font-weight:800;letter-spacing:.115em;text-transform:uppercase;margin:0 0 15px; }
body.home .oc23-btn { display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:12px 21px;border-radius:5px;font-size:13px;font-weight:750;line-height:1.25;white-space:nowrap;transition:transform .2s ease,background .2s ease,border-color .2s ease; }
body.home .oc23-btn:hover { transform:translateY(-2px); }
body.home .oc23-btn--primary { border:1px solid var(--oc23-red);background:var(--oc23-red);color:#fff!important; }
body.home .oc23-btn--primary:hover { background:#b9151e;border-color:#b9151e; }
body.home .oc23-btn--outline { border:1px solid #cdd3d9;background:#fff;color:#1c242e!important; }
body.home .oc23-btn--outline:hover { border-color:#aab4bd;background:#f7f9fb; }
body.home .oc23-btn--dark { border:1px solid #77818c;background:transparent;color:#fff!important; }
body.home .oc23-btn--dark:hover { border-color:#fff;background:rgba(255,255,255,.08); }

/* Header: compact with an integrated search and one horizontal navigation. */
body.home .site-header { background:rgba(255,255,255,.97)!important;color:var(--oc23-dark)!important;border-bottom:1px solid #e6e9ed!important;box-shadow:none!important;backdrop-filter:saturate(130%) blur(10px); }
body.home .site-header.is-scrolled { box-shadow:0 8px 22px rgba(15,22,30,.06)!important; }
body.home .site-header__inner { max-width:var(--oc23-container);grid-template-areas:"brand search actions" "nav nav nav";grid-template-columns:clamp(165px,19vw,240px) minmax(230px,420px) 1fr;column-gap:clamp(18px,2.7vw,52px);row-gap:0;padding:8px 30px 0;min-height:0;align-items:center; }
body.home .site-brand { width:min(100%,204px); }
body.home .site-brand img,body.home .site-brand .custom-logo { width:100%;height:auto;max-height:57px;object-fit:contain;object-position:left center; }
body.home .header-product-search { grid-area:search;height:40px;border:1px solid #e1e5e8!important;border-radius:22px!important;background:#f5f7f8!important;box-shadow:none!important; }
body.home .header-product-search input[type=search] { background:transparent!important;color:#222831!important;font-size:12px; }
body.home .header-product-search input::placeholder { color:#7b8690!important; }
body.home .header-product-search button { color:#242b35!important;background:transparent!important;border-left:1px solid #e1e5e8!important; }
body.home .header-product-search button:hover { background:#f0f2f5!important;color:#d5212a!important; }
body.home .site-header__actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0; }
body.home .header-account,body.home .site-cart.header-cart { position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:0!important;margin:0;border:0!important;box-shadow:none!important;background:transparent!important;color:#131c25!important;border-radius:7px; }
body.home .header-account span:not(.icon),body.home .site-cart__meta { display:none!important; }
body.home .header-account svg,body.home .site-cart svg,body.home .site-cart__icon svg { display:block!important;width:21px;height:21px;color:#111820!important;stroke:#111820!important;fill:none!important;opacity:1!important;visibility:visible!important; }
body.home .header-account:hover svg,body.home .site-cart:hover svg { color:#d5212a!important;stroke:#d5212a!important; }
body.home .site-cart__count { position:absolute;right:-3px;top:-4px;width:18px;height:18px;font-size:10px;background:var(--oc23-red);border:2px solid #fff;color:#fff;display:grid;place-items:center;border-radius:50%; }
body.home .button.button--header { min-height:40px;padding:0 18px;border-radius:5px;font-size:12px;font-weight:800;box-shadow:none!important;color:#fff!important; }
body.home .button.button--header .icon { width:18px;height:18px; }
body.home .primary-navigation { grid-area:nav;width:100%;border:0!important;justify-self:stretch;background:transparent!important; }
body.home .primary-navigation .menu { justify-content:center;gap:clamp(15px,2.5vw,34px);min-height:36px; }
body.home .primary-navigation .menu>li>a { padding:5px 0!important;color:#1c2732!important;font-size:12px!important;font-weight:700; }
body.home .primary-navigation .menu>li>a:hover { color:#d5212a!important; }
body.home .primary-navigation .menu>li>a::after { bottom:1px; }

/* Hero: two columns at reference proportions, bounded height, no floating dashboard. */
body.home .oc23-hero { display:grid;grid-template-columns:48% 52%;width:100%;min-height:480px;max-height:none;background:linear-gradient(90deg,#fbfcfd 0%,#f8fafb 100%); }
body.home .oc23-hero__copy { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:54px clamp(26px,4vw,72px) 48px max(30px,calc((100vw - var(--oc23-container))/2 + 30px)); }
body.home .oc23-hero h1 { max-width:610px;margin:0 0 17px;color:#10151c;font-size:clamp(42px,4.4vw,66px);font-weight:850;letter-spacing:-.064em;line-height:1.01; }
body.home .oc23-hero h1 span { color:#e2222a; }
body.home .oc23-hero__lead { max-width:510px;margin:0 0 24px;color:#4e5864;font-size:clamp(15px,1.25vw,18px);line-height:1.55; }
body.home .oc23-hero__actions { display:flex;gap:11px;align-items:center;flex-wrap:wrap; }
body.home .oc23-hero__features { margin-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;color:#28313a;font-size:11px;font-weight:700; }
body.home .oc23-hero__features span { display:flex;align-items:center;gap:8px;white-space:nowrap; }
body.home .oc23-hero__features i { color:#e2222a;font-size:19px;font-style:normal;line-height:1; }
body.home .oc23-hero__photo { position:relative;overflow:hidden;min-height:480px;background:#162129; }
body.home .oc23-hero__photo img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center; }
body.home .oc23-hero__photo-label { position:absolute;right:23px;bottom:24px;padding:12px 16px;color:#fff;background:rgba(12,18,24,.88);border-radius:4px;border-left:3px solid #e2222a;font-size:11px;font-weight:800;letter-spacing:.025em; }

/* Common home section layout */
body.home .oc23-section { width:min(100%,var(--oc23-container));margin:0 auto;padding:50px 30px 46px; }
body.home .oc23-section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px; }
body.home .oc23-section-head .oc23-kicker { margin-bottom:10px; }
body.home .oc23-section-head h2 { max-width:640px;margin:0;font-size:clamp(28px,2.65vw,39px);letter-spacing:-.048em;font-weight:800;line-height:1.12; }
body.home .oc23-section-head__note { margin:0 0 3px;color:#6e7680;font-size:13px; }
body.home .oc23-link { display:inline-flex;gap:12px;align-items:center;border:1px solid #d8dde2;padding:9px 12px;border-radius:5px;font-weight:720;font-size:12px;color:#1d2731!important;white-space:nowrap; }
body.home .oc23-link:hover { border-color:#b7c0c9;background:#fafbfc; }

/* Six compact image-first cards, exactly one desktop row. */
body.home .oc23-services { padding-top:45px;padding-bottom:48px; }
body.home .oc23-service-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px; }
body.home .oc23-service { min-width:0;display:flex;flex-direction:column;border:1px solid #e6e9ed;background:#fff;border-radius:7px;overflow:hidden;color:#161b21!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
body.home .oc23-service:hover { transform:translateY(-3px);border-color:#cbd2d8;box-shadow:0 10px 26px rgba(19,30,39,.08); }
body.home .oc23-service__media { height:133px;overflow:hidden;background:#e9eef0; }
body.home .oc23-service__media img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
body.home .oc23-service:hover .oc23-service__media img { transform:scale(1.025); }
body.home .oc23-service__info { position:relative;display:flex;flex:1;flex-direction:column;padding:14px 14px 40px;min-height:132px; }
body.home .oc23-service h3 { margin:0 0 6px;color:#11171d;font-size:14px;line-height:1.23;letter-spacing:-.025em;font-weight:800; }
body.home .oc23-service p { margin:0;color:#69717b;font-size:11px;line-height:1.52; }
body.home .oc23-service__info>span { position:absolute;right:11px;bottom:10px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #e0e5e9;border-radius:50%;color:#d52029;font-size:13px; }

/* Client proof — logos in one row without repetitive cards. */
body.home .oc23-clients { width:100%;max-width:none;background:#f6f8fa;padding:39px max(30px,calc((100vw - var(--oc23-container))/2 + 30px)) 40px; }
body.home .oc23-clients .oc23-section-head { max-width:calc(var(--oc23-container) - 60px);margin-left:auto;margin-right:auto; }
body.home .oc23-client-rail { display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cfd5db transparent;padding:0 0 10px;overscroll-behavior-inline:contain; }
body.home .oc23-client { flex:0 0 184px;display:flex;align-items:center;justify-content:center;min-width:0;height:88px;padding:14px;background:#fff;border:1px solid #eaedf0;border-radius:7px;scroll-snap-align:start; }
body.home .oc23-client--dark { background:#14202a;border-color:#14202a; }
body.home .oc23-client img { width:auto;height:auto;max-height:60px;max-width:155px;object-fit:contain; }
body.home .oc23-client img[src*="prince-market"] { max-height:69px; }

/* Dynamic WooCommerce preview */
body.home .oc23-shop { padding-top:44px;padding-bottom:45px; }
body.home .oc23-product-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px; }
body.home .oc23-product { display:flex;flex-direction:column;border:1px solid #e6e9ed;background:#fff;border-radius:7px;min-width:0;overflow:hidden; }
body.home .oc23-product__image { display:grid;place-items:center;height:168px;padding:16px; }
body.home .oc23-product__image img { display:block;max-width:100%;max-height:144px;width:auto;height:auto;object-fit:contain; }
body.home .oc23-product__body { padding:9px 15px 15px;display:flex;flex-direction:column;flex:1; }
body.home .oc23-product h3 { margin:0 0 9px;font-size:13px;line-height:1.38;font-weight:650;letter-spacing:-.01em;min-height:37px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
body.home .oc23-product__price { margin-top:auto;margin-bottom:12px;color:#c91d26;font-size:16px;font-weight:800; }
body.home .oc23-product__price del { color:#9ba3a9;font-size:12px;font-weight:500; }
body.home .oc23-product__link { display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;background:#e2222a;color:#fff!important;border-radius:4px;font-size:12px;font-weight:750; }
body.home .oc23-product__link:hover { background:#b71922; }

/* Real proof + four concise service reasons. */
body.home .oc23-why { display:grid;grid-template-columns:46% 54%;min-height:300px;background:#f5f7f8; }
body.home .oc23-why__photo { min-height:300px;position:relative;overflow:hidden;background:#15232f; }
body.home .oc23-why__photo img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center; }
body.home .oc23-why__content { align-self:center;padding:42px max(30px,calc((100vw - var(--oc23-container))/2 + 30px)) 40px clamp(30px,4vw,68px); }
body.home .oc23-why h2 { margin:0;font-size:clamp(30px,2.85vw,43px);line-height:1.06;letter-spacing:-.048em;font-weight:800; }
body.home .oc23-why__intro { font-size:13px;line-height:1.65;color:#636d75;max-width:570px;margin:13px 0 17px; }
body.home .oc23-why__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px; }
body.home .oc23-why__grid>div { position:relative;padding-left:19px; }
body.home .oc23-why__grid>div::before { content:'✓';position:absolute;top:0;left:0;font-size:14px;line-height:1.4;color:#e2222a;font-weight:900; }
body.home .oc23-why__grid strong { display:block;color:#131a22;font-size:12px;font-weight:800; }
body.home .oc23-why__grid span { display:block;font-size:11px;line-height:1.5;color:#65707a; }

/* Differentiating feature, intentionally compact. */
body.home .oc23-pos-highlight { display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:var(--oc23-container);margin:0 auto;padding:26px 30px;border-bottom:1px solid #e8ecef; }
body.home .oc23-pos-highlight__tag { font-size:10px;letter-spacing:.1em;font-weight:850;color:#d51f28; }
body.home .oc23-pos-highlight h2 { font-size:21px;line-height:1.25;letter-spacing:-.025em;font-weight:800;margin:5px 0 5px; }
body.home .oc23-pos-highlight p { max-width:810px;font-size:12px;line-height:1.65;color:#66717b;margin:0; }
body.home .oc23-pos-highlight .oc23-btn { flex:0 0 auto; }

/* Dark CTA that mirrors the approved mockup. */
body.home .oc23-cta { position:relative;min-height:210px;display:flex;align-items:center;background:#11171c;color:#fff;overflow:hidden; }
body.home .oc23-cta__photo { position:absolute;top:0;right:0;bottom:0;width:45%;background-image:linear-gradient(90deg,#11171c 0%,rgba(17,23,28,.22) 100%),url('../images/oc-editorial-pos-v226.webp');background-position:center;background-size:cover;opacity:.72; }
body.home .oc23-cta__copy { position:relative;z-index:1;width:min(100%,var(--oc23-container));margin:auto;padding:40px 30px; }
body.home .oc23-cta .oc23-kicker { color:#ff5360;margin-bottom:10px; }
body.home .oc23-cta h2 { margin:0 0 8px;color:#fff;font-size:clamp(31px,2.9vw,44px);letter-spacing:-.045em;line-height:1.1;font-weight:800; }
body.home .oc23-cta p:not(.oc23-kicker) { max-width:520px;margin:0 0 17px;color:#d5dbe1;font-size:13px;line-height:1.5; }
body.home .oc23-contactbar { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:min(100%,var(--oc23-container));margin:0 auto;padding:21px 30px; }
body.home .oc23-contactbar div { display:flex;flex-direction:column;gap:4px; }
body.home .oc23-contactbar span { color:#717b85;font-size:11px;font-weight:700; }
body.home .oc23-contactbar a,body.home .oc23-contactbar strong { font-size:13px;line-height:1.25;font-weight:750;color:#17202a; }

body.home .oc23-project-details { width:min(100%,var(--oc23-container));padding:0 30px;margin:0 auto;border-bottom:1px solid #e6eaee; }
body.home .oc23-project-details summary { display:flex;align-items:center;gap:15px;cursor:pointer;padding:14px 0;color:#1b2631;list-style:none; }
body.home .oc23-project-details summary::-webkit-details-marker { display:none; }
body.home .oc23-project-details summary>span:first-child { font-size:13px;font-weight:800; }
body.home .oc23-project-details summary small { color:#65707b;font-size:12px;font-weight:550; }
body.home .oc23-project-details summary>span:last-child { margin-left:auto;font-size:21px;color:#d2232c; }
body.home .oc23-project-details[open] summary>span:last-child { transform:rotate(45deg); }
body.home .oc23-project-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 0 24px; }
body.home .oc23-project { padding:15px;border:1px solid #e5eaee;border-radius:6px;min-width:0; }
body.home .oc23-project__logo { display:grid;place-items:center;height:72px;background:#fff; }
body.home .oc23-project__logo--dark { background:#14202a; }
body.home .oc23-project__logo img { width:auto;height:auto;max-width:130px;max-height:62px;object-fit:contain; }
body.home .oc23-project h3 { font-size:13px;line-height:1.3;margin:9px 0 5px; }
body.home .oc23-project p { color:#68737c;font-size:11px;line-height:1.5;margin:0; }
@media(max-width:700px) {
 body.home .oc23-project-details { padding:0 18px; }
 body.home .oc23-project-details summary small { display:none; }
 body.home .oc23-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1180px) {
 body.home .oc23-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.home .oc23-hero__copy { padding:42px 32px 38px; }
 body.home .oc23-hero h1 { font-size:clamp(40px,4.7vw,57px); }
 body.home .oc23-why__content { padding:35px 30px; }
 body.home .oc23-hero__features { gap:9px 16px; }
}
@media(max-width:900px) {
 body.home .oc23-hero { grid-template-columns:52% 48%;min-height:415px; }
 body.home .oc23-hero__photo { min-height:415px; }
 body.home .oc23-hero__copy { padding:30px 22px; }
 body.home .oc23-hero h1 { font-size:clamp(34px,5.2vw,48px); }
 body.home .oc23-hero__lead { font-size:14px; }
 body.home .oc23-why { grid-template-columns:45% 55%; }
 body.home .oc23-why__grid { gap:13px; }
 body.home .oc23-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body.home .oc23-hero { display:block;min-height:0; }
 body.home .oc23-hero__copy { padding:34px 20px 28px; }
 body.home .oc23-kicker { font-size:10px;margin-bottom:11px; }
 body.home .oc23-hero h1 { max-width:480px;font-size:clamp(36px,9.1vw,47px);line-height:1.01;margin-bottom:13px; }
 body.home .oc23-hero__lead { max-width:440px;font-size:15px;margin-bottom:17px; }
 body.home .oc23-hero__photo { min-height:265px;height:265px; }
 body.home .oc23-hero__photo-label { right:12px;bottom:12px;font-size:10px; }
 body.home .oc23-hero__features { gap:12px;margin-top:20px;font-size:10px; }
 body.home .oc23-section { padding:35px 18px; }
 body.home .oc23-section-head { align-items:flex-start;gap:13px;margin-bottom:17px; }
 body.home .oc23-section-head h2 { font-size:27px;line-height:1.12; }
 body.home .oc23-section-head__note { display:none; }
 body.home .oc23-link { font-size:11px;padding:8px 10px; }
 body.home .oc23-services .oc23-section-head { display:flex; }
 body.home .oc23-service-grid { display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin; }
 body.home .oc23-service { flex:0 0 clamp(170px,55vw,220px);scroll-snap-align:start; }
 body.home .oc23-service__media { height:130px; }
 body.home .oc23-service__info { min-height:130px; }
 body.home .oc23-clients { padding:34px 18px; }
 body.home .oc23-client { flex:0 0 138px;height:76px; }
 body.home .oc23-client img { max-height:48px;max-width:118px; }
 body.home .oc23-product-grid { display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px; }
 body.home .oc23-product { flex:0 0 min(66vw,250px);scroll-snap-align:start; }
 body.home .oc23-product__image { height:155px; }
 body.home .oc23-why { display:block; }
 body.home .oc23-why__photo { min-height:210px;height:210px; }
 body.home .oc23-why__content { padding:34px 20px; }
 body.home .oc23-why h2 { font-size:29px; }
 body.home .oc23-pos-highlight { display:block;padding:28px 20px; }
 body.home .oc23-pos-highlight h2 { font-size:21px; }
 body.home .oc23-pos-highlight .oc23-btn { margin-top:13px; }
 body.home .oc23-cta { min-height:245px; }
 body.home .oc23-cta__photo { width:70%;opacity:.25; }
 body.home .oc23-cta__copy { padding:35px 20px; }
 body.home .oc23-cta h2 { font-size:34px; }
 body.home .oc23-contactbar { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px 20px; }
}
@media(max-width:440px) {
 body.home .oc23-section-head { flex-direction:column; }
 body.home .oc23-hero__features span { white-space:normal; }
 body.home .oc23-btn { padding:11px 15px; }
}
@media(prefers-reduced-motion:reduce) {
 body.home .oc23-home *,body.home .oc23-home *::before,body.home .oc23-home *::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; }
}
