/* ACES Robotics store — calm, minimal, trust-first. Scoped to .acs so it sits inside any theme. */
.acs, .acs-top, .acs-foot {
  --acs-ink: #1d1d1f; --acs-ink-2: #515154; --acs-ink-3: #86868b; --acs-line: #e3e3e8; --acs-soft: #f5f5f7; --acs-bg: #fff;
  --acs-navy: #283372; --acs-navy-2: #141b3d; --acs-red: #b5443b; --acs-green: #1f7a4d;
  --acs-r: 16px; --acs-r-sm: 10px; --acs-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(20,27,61,.06);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--acs-ink); line-height: 1.5; -webkit-font-smoothing: antialiased;
}
body.aces-store { margin: 0; background: var(--acs-bg, #fff); }
.acs *, .acs *::before, .acs *::after { box-sizing: border-box; }
.acs a { color: var(--acs-navy); text-decoration: none; }
.acs a:hover { text-decoration: underline; }
.acs img { max-width: 100%; display: block; }
.acs h1, .acs h2, .acs h3 { letter-spacing: -0.02em; color: var(--acs-ink); margin: 0; font-weight: 650; }
.acs-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.acs-hp { position: absolute !important; left: -9999px !important; }

/* own header / footer (standalone mode) */
.acs-top { background: rgba(255,255,255,.86); backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid var(--acs-line); position: sticky; top: 0; z-index: 40; }
.acs-top-in { display: flex; align-items: center; gap: 28px; height: 60px; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.acs-logo { display: flex; align-items: center; }
.acs-logo img { height: 32px; width: auto; }
.acs-logo span { display: none; font-weight: 700; color: var(--acs-navy); letter-spacing: .02em; }
.acs-logo.nologo img { display: none; } .acs-logo.nologo span { display: inline; }
.acs-nav { display: flex; gap: 22px; font-size: 14px; flex: 1; }
.acs-nav a, .acs-phone { color: var(--acs-ink-2); text-decoration: none; }
.acs-nav a:hover { color: var(--acs-ink); }
.acs-phone { font-size: 14px; font-weight: 600; color: var(--acs-navy); }
.acs-foot { background: var(--acs-soft); margin-top: 64px; padding: 40px 0 24px; font-size: 14px; color: var(--acs-ink-2); }
.acs-foot-in { display: flex; gap: 40px; justify-content: space-between; flex-wrap: wrap; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.acs-foot a { color: var(--acs-ink-2); }
.acs-foot-links { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: 6px 28px; }
.acs-fine { font-size: 12px; color: var(--acs-ink-3); margin-top: 24px; max-width: 1240px; margin-left: auto; margin-right: auto; padding: 16px 20px 0; border-top: 1px solid var(--acs-line); }

/* store bar */
.acs-bar { background: #fff; border-bottom: 1px solid var(--acs-line); position: sticky; top: 0; z-index: 30; }
.acs-top + .acs-bar { top: 60px; }
.acs-bar-in { display: flex; gap: 12px; align-items: center; padding-top: 10px; padding-bottom: 10px; }
.acs-cats { position: relative; }
.acs-cats summary { list-style: none; cursor: pointer; font-size: 14px; font-weight: 600; padding: 9px 14px; border-radius: 999px; background: var(--acs-soft); white-space: nowrap; }
.acs-cats summary::-webkit-details-marker { display: none; }
.acs-cats summary::after { content: "▾"; margin-left: 6px; font-size: 11px; color: var(--acs-ink-3); }
.acs-cats-menu { position: absolute; top: 46px; left: 0; background: #fff; border: 1px solid var(--acs-line); border-radius: var(--acs-r-sm); box-shadow: var(--acs-shadow); padding: 8px; min-width: 260px; display: grid; }
.acs-cats-menu a { padding: 9px 12px; border-radius: 8px; color: var(--acs-ink); font-size: 14px; }
.acs-cats-menu a:hover { background: var(--acs-soft); text-decoration: none; }
.acs-search { flex: 1; display: flex; align-items: center; background: var(--acs-soft); border-radius: 999px; padding: 0 6px 0 16px; border: 1px solid transparent; transition: border-color .15s, background .15s; max-width: 720px; }
.acs-search:focus-within { background: #fff; border-color: var(--acs-navy); box-shadow: 0 0 0 4px rgba(40,51,114,.10); }
.acs-search input { flex: 1; border: 0; background: transparent; font: inherit; font-size: 15px; padding: 10px 0; outline: none; color: var(--acs-ink); min-width: 0; }
.acs-search button { border: 0; background: var(--acs-navy); color: #fff; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.acs-cart { position: relative; display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--acs-ink) !important; padding: 8px 12px; border-radius: 999px; }
.acs-cart:hover { background: var(--acs-soft); text-decoration: none !important; }
.acs-cart b { background: var(--acs-red); color: #fff; font-size: 11px; min-width: 18px; height: 18px; border-radius: 9px; display: grid; place-items: center; padding: 0 5px; }

/* hero */
.acs-hero { background: linear-gradient(180deg, #f5f6fa 0%, #fff 100%); padding: 64px 0 40px; text-align: center; }
.acs-eyebrow { color: var(--acs-red); font-weight: 600; font-size: 14px; margin: 0 0 10px; letter-spacing: .02em; }
.acs-hero h1 { font-size: clamp(32px, 5vw, 56px); line-height: 1.07; font-weight: 700; }
.acs-lede { color: var(--acs-ink-2); font-size: clamp(17px, 2vw, 21px); max-width: 720px; margin: 16px auto 28px; }
.acs-hero .acs-search { margin: 0 auto; max-width: 640px; background: #fff; border-color: var(--acs-line); box-shadow: var(--acs-shadow); padding: 4px 6px 4px 20px; }
.acs-hero .acs-search input { font-size: 17px; padding: 12px 0; }
.acs-hero .acs-search button { width: 42px; height: 42px; }
.acs-trust { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; color: var(--acs-ink-2); font-size: 14px; }
.acs-trust li::before { content: "✓"; color: var(--acs-green); font-weight: 700; margin-right: 6px; }

/* sections */
.acs-sec { margin: 48px 0; }
.acs-sec-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.acs-sec-head h2 { font-size: 28px; }
.acs-sec-head a { font-size: 15px; }

/* category tiles (Radwell-style: image, count, top sub-categories) */
.acs-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.acs-tile { background: #fff; border: 1px solid var(--acs-line); border-radius: var(--acs-r); padding: 18px; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.acs-tile:hover { box-shadow: var(--acs-shadow); transform: translateY(-2px); }
.acs-tile-head { display: flex; gap: 14px; align-items: center; color: var(--acs-ink) !important; text-decoration: none !important; }
.acs-tile-head img, .acs-tile-head .acs-noimg { width: 84px; height: 84px; border-radius: 12px; object-fit: cover; background: var(--acs-soft); flex: none; }
.acs-tile h3 { font-size: 19px; }
.acs-tile-head span { color: var(--acs-ink-3); font-size: 14px; }
.acs-tile ul { list-style: none; padding: 0; margin: 14px 0 6px; display: grid; gap: 2px; }
.acs-tile li a { display: flex; justify-content: space-between; padding: 6px 0; color: var(--acs-ink-2); font-size: 14px; border-bottom: 1px solid var(--acs-soft); }
.acs-tile li a span { color: var(--acs-ink-3); }
.acs-tile p { color: var(--acs-ink-2); font-size: 14px; }
.acs-more { margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 600; }
.acs-more::after { content: " ›"; }

/* chips */
.acs-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.acs-chip { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--acs-line); border-radius: 999px; padding: 7px 14px; font-size: 14px; color: var(--acs-ink) !important; background: #fff; }
.acs-chip span { color: var(--acs-ink-3); font-size: 12px; }
.acs-chip:hover { border-color: var(--acs-navy); text-decoration: none !important; }
.acs-chip.on { background: var(--acs-navy); border-color: var(--acs-navy); color: #fff !important; }
.acs-chip.on span { color: rgba(255,255,255,.75); }
.acs-subs { margin: 0 0 20px; }

/* product cards */
.acs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.acs-card { background: #fff; border: 1px solid var(--acs-line); border-radius: var(--acs-r); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.acs-card:hover { box-shadow: var(--acs-shadow); transform: translateY(-2px); }
.acs-card-img { position: relative; aspect-ratio: 4 / 3; background: var(--acs-soft); display: block; overflow: hidden; }
.acs-card-img img, .acs-card-img .acs-noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acs-noimg { display: grid; place-items: center; color: #c7c7cc; }
.acs-badge { position: absolute; top: 10px; left: 10px; background: #fff; color: var(--acs-ink); font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.acs-badge.sold { background: var(--acs-ink); color: #fff; } .acs-badge.sale { background: var(--acs-red); color: #fff; }
.acs-vid { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.65); color: #fff; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; }
.acs-card-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 3px; flex: 1; }
.acs-brand { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--acs-ink-3) !important; }
.acs-card h3 { font-size: 15px; line-height: 1.35; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.acs-card h3 a { color: var(--acs-ink); }
.acs-meta, .acs-sku { font-size: 13px; color: var(--acs-ink-3); }
.acs-card-foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.acs-price { font-weight: 650; font-size: 17px; }
.acs-price s { color: var(--acs-ink-3); font-weight: 400; font-size: 13px; }
.acs-price.q { font-size: 14px; color: var(--acs-navy); font-weight: 600; }
.acs-add { border: 1px solid var(--acs-line); background: #fff; color: var(--acs-ink); border-radius: 999px; font: inherit; font-size: 13px; font-weight: 600; padding: 6px 12px; cursor: pointer; white-space: nowrap; }
.acs-add:hover { border-color: var(--acs-navy); color: var(--acs-navy); }

/* buttons + forms */
.acs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; background: var(--acs-navy); color: #fff !important; font: inherit; font-size: 16px; font-weight: 600; padding: 13px 24px; border-radius: 999px; cursor: pointer; text-decoration: none !important; transition: background .15s; }
.acs-btn:hover { background: var(--acs-navy-2); }
.acs-btn.ghost { background: #fff; color: var(--acs-navy) !important; border: 1px solid var(--acs-line); }
.acs-btn.ghost:hover { border-color: var(--acs-navy); }
.acs-btn[disabled] { opacity: .5; cursor: default; }
.acs-link { background: none; border: 0; padding: 6px 0; font: inherit; font-size: 14px; color: var(--acs-navy); cursor: pointer; }
.acs input:not([type=checkbox]):not([type=radio]), .acs select, .acs textarea { width: 100%; font: inherit; font-size: 15px; padding: 11px 14px; border: 1px solid #d2d2d7; border-radius: var(--acs-r-sm); background: #fff; color: var(--acs-ink); }
.acs input:focus, .acs select:focus, .acs textarea:focus { outline: none; border-color: var(--acs-navy); box-shadow: 0 0 0 4px rgba(40,51,114,.10); }
.acs .acs-search input { border: 0; box-shadow: none; padding: 10px 0; }
.acs-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.acs-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--acs-ink-2); margin: 4px 0 6px; }
.acs-check input { margin-top: 3px; }
.acs-msg { font-size: 14px; margin: 8px 0 0; min-height: 1em; }
.acs-msg.ok { color: var(--acs-green); } .acs-msg.err { color: var(--acs-red); }

/* listing */
.acs-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--acs-ink-3); padding: 18px 0 8px; }
.acs-crumbs a { color: var(--acs-ink-2); }
.acs-list-head { margin: 8px 0 18px; }
.acs-list-head h1 { font-size: clamp(28px, 3.5vw, 40px); }
.acs-list-head p { color: var(--acs-ink-2); margin: 6px 0 0; max-width: 760px; }
.acs-layout { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: start; }
.acs-filters { position: sticky; top: 130px; }
.acs-filters summary { font-weight: 650; font-size: 16px; cursor: pointer; list-style: none; padding-bottom: 6px; }
.acs-filters summary::-webkit-details-marker { display: none; }
.acs-filters fieldset { border: 0; border-top: 1px solid var(--acs-line); padding: 14px 0; margin: 0; display: grid; gap: 7px; }
.acs-filters legend { font-weight: 600; font-size: 14px; padding: 0 0 6px; }
.acs-filters label { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--acs-ink-2); cursor: pointer; }
.acs-filters label span { margin-left: auto; color: var(--acs-ink-3); font-size: 12px; }
.acs-filters .acs-btn { padding: 9px 18px; font-size: 14px; }
.acs-clear { font-size: 14px; margin-left: 10px; }
.acs-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; color: var(--acs-ink-2); font-size: 14px; }
.acs-toolbar select { width: auto; padding: 8px 12px; font-size: 14px; }
.acs-pager { display: flex; gap: 6px; justify-content: center; margin: 28px 0; }
.acs-pager a, .acs-pager span { min-width: 38px; height: 38px; padding: 0 12px; border-radius: 999px; display: grid; place-items: center; border: 1px solid var(--acs-line); font-size: 14px; color: var(--acs-ink); }
.acs-pager span[aria-current] { background: var(--acs-navy); color: #fff; border-color: var(--acs-navy); }
.acs-empty { color: var(--acs-ink-2); padding: 30px 0; }

/* product page */
.acs-pdp { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; margin: 10px 0 40px; }
.acs-stage { position: relative; background: var(--acs-soft); border-radius: 20px; aspect-ratio: 4 / 3; overflow: hidden; }
.acs-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .25s; display: grid; place-items: center; }
.acs-slide.on { opacity: 1; z-index: 1; }
.acs-slide img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.acs-slide iframe { width: 100%; height: 100%; border: 0; }
.acs-yt { position: relative; width: 100%; height: 100%; border: 0; padding: 0; background: #000; cursor: pointer; }
.acs-yt img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; opacity: .9; }
.acs-yt span { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,.95); color: var(--acs-red); font-size: 26px; display: grid; place-items: center; }
.acs-nav-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); box-shadow: 0 1px 4px rgba(0,0,0,.12); font-size: 24px; cursor: pointer; color: var(--acs-ink); }
.acs-nav-btn.prev { left: 12px; } .acs-nav-btn.next { right: 12px; }
.acs-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: thin; }
.acs-thumbs button { flex: none; width: 72px; height: 54px; border-radius: 10px; border: 2px solid transparent; padding: 0; background: var(--acs-soft); overflow: hidden; cursor: pointer; }
.acs-thumbs button[aria-current] { border-color: var(--acs-navy); }
.acs-thumbs button img { width: 100%; height: 100%; object-fit: cover; }
.acs-thumbs button.vid { background: var(--acs-ink); color: #fff; font-size: 16px; }
.acs-info h1 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; margin: 4px 0 10px; }
.acs-ids { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 14px; color: var(--acs-ink-3); }
.acs-cond { color: var(--acs-ink) !important; background: var(--acs-soft); border-radius: 999px; padding: 1px 10px; }
.acs-short { color: var(--acs-ink-2); font-size: 17px; margin: 16px 0 0; }
.acs-pricebox { border: 1px solid var(--acs-line); border-radius: var(--acs-r); padding: 22px; margin: 22px 0 16px; }
.acs-bigprice { font-size: 32px; font-weight: 700; letter-spacing: -0.02em; }
.acs-bigprice small { font-size: 14px; color: var(--acs-ink-3); font-weight: 500; }
.acs-bigprice s { font-size: 18px; color: var(--acs-ink-3); font-weight: 400; }
.acs-bigprice.q { font-size: 24px; color: var(--acs-navy); }
.acs-bigprice.sold { color: var(--acs-ink-3); }
.acs-pricebox p { color: var(--acs-ink-2); margin: 6px 0 14px; font-size: 15px; }
.acs-stock { color: var(--acs-green) !important; font-weight: 600; }
.acs-buy { display: flex; gap: 10px; flex-wrap: wrap; }
.acs-buy .acs-btn { flex: 1; min-width: 180px; }
.acs-qty input { width: 80px !important; text-align: center; border-radius: 999px !important; height: 100%; }
.acs-assure { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 14px; color: var(--acs-ink-2); }
.acs-assure li { padding-left: 24px; position: relative; }
.acs-assure li::before { content: "✓"; position: absolute; left: 0; color: var(--acs-green); font-weight: 700; }
.acs-detail { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; border-top: 1px solid var(--acs-line); padding-top: 36px; }
.acs-detail h2 { font-size: 22px; margin-bottom: 14px; }
.acs-prose { color: var(--acs-ink-2); font-size: 16px; }
.acs-prose h3 { font-size: 17px; margin: 20px 0 6px; }
.acs-specs { width: 100%; border-collapse: collapse; font-size: 14px; }
.acs-specs th, .acs-specs td { text-align: left; padding: 10px 0; border-bottom: 1px solid var(--acs-line); vertical-align: top; }
.acs-specs th { color: var(--acs-ink-3); font-weight: 500; width: 42%; padding-right: 12px; }

/* ask box */
.acs-ask { background: var(--acs-soft); border-radius: 22px; padding: 34px; margin: 56px 0 24px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px; align-items: start; }
.acs-ask h2 { font-size: 26px; }
.acs-ask p { color: var(--acs-ink-2); }
.acs-ask form { display: grid; gap: 10px; }

/* cart */
.acs-cart-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 36px; align-items: start; margin-top: 16px; }
.acs-cartpage h1 { font-size: 36px; }
.acs-line { display: grid; grid-template-columns: 84px 1fr auto; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--acs-line); align-items: center; }
.acs-line img, .acs-line .acs-noimg { width: 84px; height: 64px; object-fit: contain; background: var(--acs-soft); border-radius: 10px; }
.acs-line h3 { font-size: 15px; }
.acs-line small { color: var(--acs-ink-3); }
.acs-line-ctl { display: flex; gap: 10px; align-items: center; }
.acs-line-ctl input { width: 64px !important; padding: 6px 8px !important; text-align: center; }
.acs-line-ctl button { border: 0; background: none; color: var(--acs-ink-3); cursor: pointer; font: inherit; font-size: 13px; }
.acs-checkout { border: 1px solid var(--acs-line); border-radius: var(--acs-r); padding: 22px; position: sticky; top: 130px; }
.acs-checkout form { display: grid; gap: 10px; }
.acs-checkout h2 { font-size: 18px; margin: 8px 0 2px; }
.acs-totals { display: grid; gap: 4px; font-size: 15px; padding-bottom: 14px; border-bottom: 1px solid var(--acs-line); }
.acs-totals div { display: flex; justify-content: space-between; }
.acs-totals .t { font-weight: 700; font-size: 18px; }
.acs-totals .note { color: var(--acs-ink-3); font-size: 13px; }
.acs-status { font-size: 17px; padding: 14px 18px; border-radius: var(--acs-r-sm); background: var(--acs-soft); }
.acs-status.paid, .acs-status.quote-requested { background: #eaf6ef; color: var(--acs-green); }
.acs-order { max-width: 760px; padding-top: 30px; }
.acs-order h1 { margin-bottom: 14px; }
.acs-404 { text-align: center; padding: 80px 20px; }
.acs-404 .acs-search { margin: 20px auto; }

/* toast */
.acs-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: var(--acs-ink); color: #fff; padding: 12px 18px; border-radius: 999px; font-size: 14px; opacity: 0; transition: .25s; z-index: 99; display: flex; gap: 14px; align-items: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.acs-toast.on { opacity: 1; transform: translate(-50%, 0); }
.acs-toast a { color: #9fb4ff; font-weight: 600; }

@media (max-width: 900px) {
  .acs-layout, .acs-pdp, .acs-detail, .acs-ask, .acs-cart-grid { grid-template-columns: 1fr; gap: 22px; }
  .acs-filters { position: static; }
  .acs-filters details:not([open]) summary::after { content: " ▾"; }
  .acs-nav { display: none; }
  .acs-checkout { position: static; }
}
@media (max-width: 640px) {
  .acs-wrap { padding: 0 16px; }
  .acs-bar-in { flex-wrap: wrap; }
  .acs-search { order: 3; flex-basis: 100%; max-width: none; }
  .acs-cats { flex: 1; }
  .acs-hero { padding: 40px 0 28px; }
  .acs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .acs-card-body { padding: 10px 12px 12px; }
  .acs-card-foot { flex-direction: column; align-items: stretch; }
  .acs-add { width: 100%; }
  .acs-two { grid-template-columns: 1fr; }
  .acs-ask { padding: 22px; }
  .acs-sec-head h2 { font-size: 22px; }
  .acs-phone { display: none; }
}
@media (prefers-reduced-motion: reduce) { .acs * { transition: none !important; } }

/* ===== v0.5 public website ===== */
.acs-shell { position: sticky; top: 0; z-index: 50; }
.acs-topbar { background: var(--acs-navy-2); color: #cfd5f2; font-size: 13px; }
.acs-topbar .acs-wrap { display: flex; justify-content: space-between; gap: 12px; padding-top: 7px; padding-bottom: 7px; }
.acs-topbar a { color: #fff; }
.acs-top { position: static; }
.acs-top-in { gap: 22px; }
.acs-nav { align-items: center; gap: 4px; justify-content: flex-end; }
.acs-nav > a, .acs-dd > summary { padding: 8px 11px; border-radius: 8px; color: var(--acs-ink) !important; font-size: 14.5px; font-weight: 500; cursor: pointer; list-style: none; white-space: nowrap; text-decoration: none !important; }
.acs-nav > a:hover, .acs-dd > summary:hover, .acs-dd[open] > summary { background: var(--acs-soft); }
.acs-dd { position: relative; }
.acs-dd > summary::-webkit-details-marker { display: none; }
.acs-dd > summary::after { content: "▾"; font-size: 10px; margin-left: 5px; color: var(--acs-ink-3); }
.acs-dd > div { position: absolute; top: 44px; left: 0; min-width: 270px; background: #fff; border: 1px solid var(--acs-line); border-radius: 14px; box-shadow: var(--acs-shadow); padding: 8px; display: grid; z-index: 60; }
.acs-dd > div a { display: flex; justify-content: space-between; padding: 9px 12px; border-radius: 9px; color: var(--acs-ink) !important; font-size: 14px; text-decoration: none !important; }
.acs-dd > div a span { color: var(--acs-ink-3); font-size: 12px; }
.acs-dd > div a:hover { background: var(--acs-soft); }
.acs-cart { margin-left: 4px; }
.acs-burger { display: none; }
.acs-burger summary { list-style: none; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; cursor: pointer; }
.acs-burger summary::-webkit-details-marker { display: none; }
.acs-burger summary span, .acs-burger summary span::before, .acs-burger summary span::after { display: block; width: 20px; height: 2px; background: var(--acs-ink); position: relative; content: ""; }
.acs-burger summary span::before { position: absolute; top: -6px; } .acs-burger summary span::after { position: absolute; top: 6px; }
.acs-burger > div { position: fixed; inset: 106px 0 0 0; background: #fff; padding: 16px 20px 40px; overflow: auto; display: grid; align-content: start; gap: 2px; z-index: 70; }
.acs-burger > div a, .acs-burger > div b { padding: 12px 4px; border-bottom: 1px solid var(--acs-line); color: var(--acs-ink) !important; font-size: 16px; }
.acs-burger .acs-mgroup { display: grid; } .acs-burger .acs-mgroup b { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--acs-ink-3); border: 0; padding-bottom: 2px; }
.acs-burger .acs-mgroup a { padding-left: 12px; }
.acs-burger .acs-search { margin: 4px 0 12px; max-width: none; }

.acs-eyebrow.light { color: #ffb3aa; }
.acs-btn.light { background: rgba(255,255,255,.14); color: #fff !important; border: 1px solid rgba(255,255,255,.35); backdrop-filter: blur(6px); }
.acs-btn.light:hover { background: rgba(255,255,255,.24); }
.acs-hero2 { position: relative; color: #fff; padding: 110px 0 88px; background: linear-gradient(100deg, rgba(14,19,46,.94) 0%, rgba(20,27,61,.82) 45%, rgba(20,27,61,.35) 100%), var(--hero) center/cover no-repeat, var(--acs-navy-2); }
.acs-hero2 h1 { color: #fff; font-size: clamp(34px, 5vw, 60px); line-height: 1.04; max-width: 820px; font-weight: 700; }
.acs-hero2 .acs-lede { color: #dfe3f5; margin: 18px 0 26px; max-width: 680px; }
.acs-hero2 .acs-search { max-width: 620px; background: #fff; padding: 4px 6px 4px 18px; }
.acs-hero2 .acs-search input { font-size: 16px; padding: 12px 0; }
.acs-hero2 .acs-search button { width: 42px; height: 42px; }
.acs-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.acs-stats { background: #fff; border-bottom: 1px solid var(--acs-line); }
.acs-stats .acs-wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.acs-stats div { padding: 26px 18px; border-right: 1px solid var(--acs-line); }
.acs-stats div:last-child { border: 0; }
.acs-stats strong { display: block; font-size: 28px; letter-spacing: -.02em; color: var(--acs-navy); }
.acs-stats span { color: var(--acs-ink-2); font-size: 14px; }
.acs-bigtiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.acs-bigtile { position: relative; display: block; aspect-ratio: 4 / 3.4; border-radius: 20px; overflow: hidden; background: var(--acs-soft); color: #fff !important; text-decoration: none !important; }
.acs-bigtile img, .acs-bigtile .acs-noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.acs-bigtile:hover img { transform: scale(1.04); }
.acs-bigtile > span { position: absolute; inset: auto 0 0 0; padding: 60px 20px 18px; background: linear-gradient(180deg, transparent, rgba(10,14,35,.85)); display: grid; }
.acs-bigtile strong { font-size: 20px; } .acs-bigtile em { font-style: normal; color: #d8dcf0; font-size: 14px; }
.acs-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 44px; align-items: start; }
.acs-roundimg { width: 100%; border-radius: 22px; aspect-ratio: 4 / 3; object-fit: cover; }
.acs-prose p { margin: 0 0 14px; }
.acs-bands { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 56px 0; }
.acs-band { display: grid; gap: 8px; padding: 30px; border-radius: 22px; background: var(--acs-soft); color: var(--acs-ink) !important; text-decoration: none !important; transition: transform .2s, box-shadow .2s; }
.acs-band:hover { transform: translateY(-2px); box-shadow: var(--acs-shadow); }
.acs-band h3 { font-size: 22px; line-height: 1.25; } .acs-band span { color: var(--acs-navy); font-weight: 600; font-size: 15px; } .acs-band .acs-eyebrow { margin: 0; }
.acs-band.dark { background: var(--acs-navy); color: #fff !important; } .acs-band.dark h3 { color: #fff; } .acs-band.dark span { color: #b9c4ff; }
.acs-band.red { background: #fbeeed; } .acs-band.red span { color: var(--acs-red); }
.acs-visit { display: grid; grid-template-columns: 1fr 1.4fr; gap: 28px; align-items: center; background: var(--acs-soft); border-radius: 22px; padding: 28px; }
.acs-visit iframe, .acs-map { width: 100%; height: 300px; border: 0; border-radius: 16px; }
.acs-pagehead { background: linear-gradient(180deg, #f3f4f9, #fff); padding: 54px 0 34px; }
.acs-pagehead h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.08; max-width: 860px; }
.acs-pagehead .acs-lede { margin: 14px 0 0; text-align: left; max-width: 760px; }
.acs-lede2 { font-size: 19px; color: var(--acs-ink-2); max-width: 760px; margin: 0 0 24px; }
.acs-muted { color: var(--acs-ink-3); }
.acs-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin: 14px 0; }
.acs-cards article { border: 1px solid var(--acs-line); border-radius: 16px; padding: 20px; background: #fff; }
.acs-cards h3 { font-size: 17px; margin-bottom: 6px; } .acs-cards p { color: var(--acs-ink-2); font-size: 14.5px; margin: 0; }
.acs-steps { list-style: none; counter-reset: st; padding: 0; margin: 18px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.acs-steps li { counter-increment: st; border: 1px solid var(--acs-line); border-radius: 16px; padding: 18px 16px; background: #fff; display: grid; gap: 4px; }
.acs-steps li::before { content: counter(st); width: 28px; height: 28px; border-radius: 50%; background: var(--acs-navy); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.acs-steps strong { font-size: 15px; } .acs-steps span { color: var(--acs-ink-2); font-size: 13.5px; }
.acs-form { display: grid; gap: 10px; background: var(--acs-soft); padding: 26px; border-radius: 20px; }
.acs-form h2 { font-size: 22px; margin-bottom: 4px; }
.acs-brandgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 10px 0 40px; }
.acs-brandgrid a { border: 1px solid var(--acs-line); border-radius: 16px; padding: 22px; display: grid; gap: 4px; color: var(--acs-ink) !important; text-decoration: none !important; }
.acs-brandgrid a:hover { border-color: var(--acs-navy); } .acs-brandgrid strong { font-size: 18px; } .acs-brandgrid span { color: var(--acs-ink-3); font-size: 14px; }
.acs-contactlist { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 14px; font-size: 17px; }
.acs-contactlist span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--acs-ink-3); }
.acs-site .acs-wrap > .acs-split, .acs-site .acs-split { margin-top: 36px; }
.acs-foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.acs-foot-grid h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--acs-ink-3); margin: 0 0 10px; }
.acs-foot-grid > div { display: grid; align-content: start; gap: 6px; }
.acs-foot .acs-logo img { height: 30px; }
.acs-social { display: flex; flex-wrap: wrap; gap: 10px; }

/* parts (Radwell model) */
.acs-partshero { background: radial-gradient(1200px 400px at 80% 0%, #33408c 0%, var(--acs-navy-2) 60%); color: #fff; padding: 64px 0 44px; }
.acs-partshero h1 { color: #fff; font-size: clamp(32px, 4.5vw, 52px); }
.acs-partshero .acs-lede { color: #d3d8f2; text-align: left; margin: 12px 0 24px; max-width: 700px; }
.acs-search-xl { max-width: 760px; background: #fff; border-radius: 14px; padding: 6px 6px 6px 18px; }
.acs-search-xl input { font-size: 17px; padding: 13px 0; }
.acs-search-xl button, .acs-search-inline button { width: auto; height: auto; border-radius: 10px; padding: 12px 22px; font: inherit; font-weight: 600; }
.acs-chips.light { margin-top: 18px; } .acs-chips.light .acs-chip { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: #fff !important; } .acs-chips.light .acs-chip span { color: #c8cff0; }
.acs-partsgrid { display: grid; grid-template-columns: 290px 1fr; gap: 30px; align-items: start; }
.acs-catlist { border: 1px solid var(--acs-line); border-radius: 16px; padding: 18px; position: sticky; top: 140px; }
.acs-catlist h2 { font-size: 17px; margin-bottom: 8px; }
.acs-catlist ul { list-style: none; padding: 0; margin: 0; }
.acs-catlist a { display: flex; justify-content: space-between; padding: 8px 2px; border-bottom: 1px solid var(--acs-soft); color: var(--acs-ink) !important; font-size: 14.5px; }
.acs-catlist a span { color: var(--acs-ink-3); font-size: 13px; } .acs-catlist a.empty { color: var(--acs-ink-3) !important; }
.acs-search-inline { margin-top: 14px; max-width: 560px; border: 1px solid var(--acs-line); background: #fff; border-radius: 12px; }
.acs-table { border: 1px solid var(--acs-line); border-radius: 14px; overflow: hidden; font-size: 14px; }
.acs-tr { display: grid; grid-template-columns: 64px 2.4fr 1fr .9fr 1fr .8fr 120px; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--acs-line); background: #fff; }
.acs-tr:hover { background: #fafbfd; }
.acs-th { border-top: 0; background: var(--acs-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--acs-ink-3); font-weight: 600; }
.acs-tthumb { width: 64px; height: 48px; border-radius: 8px; overflow: hidden; background: var(--acs-soft); display: block; }
.acs-tthumb img, .acs-tthumb .acs-noimg { width: 100%; height: 100%; object-fit: cover; }
.acs-tmain { display: grid; gap: 2px; min-width: 0; } .acs-tmain b { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 14.5px; color: var(--acs-navy); }
.acs-tmain small { color: var(--acs-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .acs-tmain .sku { color: var(--acs-ink-3); font-size: 12px; }
.acs-tr em { font-style: normal; font-size: 13px; } .acs-tr em.in { color: var(--acs-green); font-weight: 600; } .acs-tr em.out { color: var(--acs-ink-3); }
.acs-tr .q { color: var(--acs-navy); font-weight: 600; } .acs-tr .acs-add { width: 100%; }
.acs-rfq textarea[name=parts] { font-family: ui-monospace, "SF Mono", Menlo, monospace; }
.acs-rfq .acs-steps { grid-template-columns: 1fr 1fr; }
.acs-ids .pn { font-family: ui-monospace, "SF Mono", Menlo, monospace; color: var(--acs-navy); font-weight: 600; }
.acs-paynote { font-size: 13px !important; color: var(--acs-ink-3) !important; margin: 10px 0 0 !important; }
.acs-h2s { font-size: 22px; }

/* checkout + order tracking */
.acs-stepper { list-style: none; padding: 0; margin: 10px 0 22px; display: flex; gap: 8px; flex-wrap: wrap; counter-reset: s; }
.acs-stepper li { counter-increment: s; display: flex; align-items: center; gap: 8px; color: var(--acs-ink-3); font-size: 14px; padding: 6px 12px 6px 6px; border-radius: 999px; background: var(--acs-soft); }
.acs-stepper li::before { content: counter(s); width: 24px; height: 24px; border-radius: 50%; background: #d8dbe6; color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.acs-stepper li.on { color: var(--acs-ink); font-weight: 600; } .acs-stepper li.on::before { background: var(--acs-navy); }
.acs-methods { display: grid; gap: 8px; }
.acs-methods label { display: flex; gap: 12px; align-items: flex-start; border: 1.5px solid var(--acs-line); border-radius: 12px; padding: 12px 14px; cursor: pointer; }
.acs-methods label:has(input:checked) { border-color: var(--acs-navy); background: #f5f6fd; }
.acs-methods input { margin-top: 3px; } .acs-methods b { display: block; font-size: 15px; } .acs-methods small { color: var(--acs-ink-2); font-size: 13px; }
.acs-checkout select { appearance: auto; }
.acs-timeline { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative; }
.acs-timeline li { position: relative; padding: 38px 10px 0 0; display: grid; gap: 3px; color: var(--acs-ink-3); }
.acs-timeline li::before { content: ""; position: absolute; top: 0; left: 0; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #d3d6e2; background: #fff; z-index: 1; }
.acs-timeline li::after { content: ""; position: absolute; top: 12px; left: 26px; right: 0; height: 2px; background: #e1e3ec; }
.acs-timeline li:last-child::after { display: none; }
.acs-timeline li.done { color: var(--acs-ink); } .acs-timeline li.done::before { background: var(--acs-green); border-color: var(--acs-green); content: "✓"; color: #fff; font-size: 13px; display: grid; place-items: center; font-weight: 700; }
.acs-timeline li.done::after { background: var(--acs-green); }
.acs-timeline li.current b { color: var(--acs-navy); } .acs-timeline li.current::before { box-shadow: 0 0 0 5px rgba(31,122,77,.18); }
.acs-timeline b { font-size: 14.5px; } .acs-timeline span { font-size: 13px; } .acs-timeline time { font-size: 12px; color: var(--acs-ink-3); }
.acs-note { background: #f4f6fd; border: 1px solid #dfe3f6; border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; font-size: 15px; }
.acs-status.cancel { background: #fbeeed; color: var(--acs-red); }
.acs-order { max-width: 900px; }

@media (max-width: 1100px) {
  .acs-nav { display: none; }
  .acs-burger { display: block; margin-left: auto; }
  .acs-cart { margin-left: auto; }
  .acs-burger { margin-left: 0; }
}
@media (max-width: 900px) {
  .acs-split, .acs-visit, .acs-partsgrid, .acs-foot-grid { grid-template-columns: 1fr; }
  .acs-stats .acs-wrap { grid-template-columns: 1fr 1fr; } .acs-stats div:nth-child(2) { border-right: 0; } .acs-stats div { border-bottom: 1px solid var(--acs-line); }
  .acs-bands { grid-template-columns: 1fr; }
  .acs-catlist { position: static; }
  .acs-tr { grid-template-columns: 56px 1fr auto; grid-template-areas: "img main add" "img meta price"; }
  .acs-th { display: none; }
  .acs-tr > span[data-l="Brand"], .acs-tr > span[data-l="Condition"] { display: none; }
  .acs-timeline { grid-template-columns: 1fr; gap: 14px; }
  .acs-timeline li { padding: 2px 0 0 40px; } .acs-timeline li::after { left: 12px; top: 28px; bottom: -14px; right: auto; width: 2px; height: auto; }
}
@media (max-width: 640px) {
  .acs-topbar .acs-wrap > span:first-child { display: none; }
  .acs-hero2 { padding: 64px 0 48px; }
  .acs-rfq .acs-steps { grid-template-columns: 1fr; }
  .acs-tr { grid-template-columns: 48px 1fr; } .acs-tr > span:last-child { grid-column: 1 / -1; }
}
.acs-methods label[hidden], .acs [hidden] { display: none !important; }
.acs .acs-search input[type=search] { border: 0 !important; box-shadow: none !important; background: transparent; padding-left: 0; }
@media (max-width: 640px) { .acs-stats strong { font-size: 22px; } .acs-stats div { padding: 18px 12px; } }
/* v0.6 blog on the home page + ACES header/footer around WordPress blog pages */
.acs-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.acs-post a{display:block;color:inherit !important;text-decoration:none !important;border:1px solid var(--acs-line);border-radius:var(--acs-r);overflow:hidden;background:#fff;height:100%;transition:box-shadow .2s,transform .2s}
.acs-post a:hover{box-shadow:var(--acs-shadow);transform:translateY(-2px)}
.acs-post img,.acs-post-ph{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--acs-soft)}
.acs-post div{padding:16px 18px 20px}.acs-post time{font-size:13px;color:var(--acs-ink-3)}.acs-post h3{font-size:18px;margin:4px 0 6px;line-height:1.3}.acs-post p{color:var(--acs-ink-2);font-size:14px;margin:0}
body.aces-wrapped .wp-site-blocks>header,body.aces-wrapped .wp-site-blocks>footer,body.aces-wrapped>header.site-header,body.aces-wrapped #masthead,body.aces-wrapped #colophon,body.aces-wrapped footer.site-footer,body.aces-wrapped header#site-header,body.aces-wrapped footer#site-footer{display:none !important}
/* ===== v0.7 home: light hero with bundled art, featured spotlight, illustrated category bento ===== */
.acs-hero3 { background: radial-gradient(1200px 520px at 50% 108%, #e9ecf8 0%, rgba(233,236,248,0) 70%), linear-gradient(180deg, #fbfbfd 0%, #f3f4f9 100%); text-align: center; padding: 72px 0 0; overflow: hidden; }
.acs-hero3 .acs-eyebrow { font-size: 15px; letter-spacing: .01em; }
.acs-hero3 h1 { font-size: clamp(38px, 6.2vw, 76px); line-height: 1.03; letter-spacing: -0.035em; font-weight: 700; max-width: 980px; margin: 0 auto; text-wrap: balance; }
.acs-hero3 .acs-lede { font-size: clamp(17px, 1.9vw, 22px); color: var(--acs-ink-2); max-width: 760px; margin: 20px auto 0; text-wrap: pretty; }
.acs-hero3 .acs-hero-actions { justify-content: center; align-items: center; margin-top: 28px; gap: 12px; }
.acs-hero3 .acs-btn { padding: 14px 28px; font-size: 17px; }
.acs-textlink { font-size: 17px; font-weight: 500; padding: 0 8px; }
.acs-hero3 .acs-search { margin: 28px auto 0; max-width: 560px; background: #fff; border-color: var(--acs-line); box-shadow: 0 1px 2px rgba(20,27,61,.04); padding: 3px 5px 3px 20px; }
.acs-hero-art { margin: 36px auto 0; max-width: 860px; }
.acs-hero-art img { width: 100%; height: auto; display: block; margin: 0 auto; }
.acs-hero-art.photo { max-width: 1100px; padding-bottom: 56px; }
.acs-hero-art.photo img { border-radius: 28px; aspect-ratio: 21 / 9; object-fit: cover; box-shadow: 0 30px 80px rgba(20,27,61,.18); }
.acs-featured { margin-top: 56px; }
.acs-spot { display: grid; grid-template-columns: 1.25fr 1fr; background: var(--acs-soft); border-radius: 28px; overflow: hidden; color: inherit !important; text-decoration: none !important; margin-bottom: 20px; transition: box-shadow .25s; }
.acs-spot:hover { box-shadow: var(--acs-shadow); }
.acs-spot-img { position: relative; min-height: 360px; background: #e9eaf0; }
.acs-spot-img img, .acs-spot-img .acs-noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acs-spot-text { padding: 44px 44px 40px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.acs-spot-text h3 { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.12; letter-spacing: -0.025em; }
.acs-spot-text p { color: var(--acs-ink-2); font-size: 17px; margin: 0; }
.acs-spot-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; flex-wrap: wrap; }
.acs-spot-foot strong { font-size: 22px; letter-spacing: -0.01em; }
.acs-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.acs-bento-tile { grid-column: span 2; position: relative; display: flex; flex-direction: column; justify-content: space-between; background: var(--acs-soft); border-radius: 28px; overflow: hidden; color: var(--acs-ink) !important; text-decoration: none !important; min-height: 420px; transition: transform .25s, box-shadow .25s; }
.acs-bento-tile:hover { transform: translateY(-3px); box-shadow: var(--acs-shadow); }
.acs-bento-tile.wide { grid-column: span 3; }
.acs-bento-tile > div { padding: 34px 34px 0; position: relative; z-index: 1; }
.acs-bento-tile em { font-style: normal; font-size: 13px; font-weight: 600; color: var(--acs-red); letter-spacing: .02em; }
.acs-bento-tile h3 { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -0.025em; margin: 6px 0 8px; line-height: 1.1; }
.acs-bento-tile p { color: var(--acs-ink-2); font-size: 16px; margin: 0 0 12px; max-width: 34ch; }
.acs-bento-tile span { color: var(--acs-navy); font-weight: 600; font-size: 16px; }
.acs-bento-tile img { width: 100%; height: auto; margin-top: 8px; mix-blend-mode: multiply; }
.acs-bento-tile.dark { background: linear-gradient(160deg, #1c2456, #10163a); color: #fff !important; }
.acs-bento-tile.dark h3 { color: #fff; } .acs-bento-tile.dark p { color: #c6cbe6; } .acs-bento-tile.dark span { color: #9fb4ff; } .acs-bento-tile.dark em { color: #ffb3aa; }
.acs-bento-tile.dark img { mix-blend-mode: normal; border-radius: 22px 22px 0 0; width: calc(100% - 68px); margin: 14px 34px 0; }
@media (max-width: 1000px) { .acs-bento-tile, .acs-bento-tile.wide { grid-column: span 3; min-height: 360px; } .acs-spot { grid-template-columns: 1fr; } .acs-spot-img { min-height: 260px; } .acs-spot-text { padding: 28px; } }
@media (max-width: 640px) { .acs-hero3 { padding-top: 44px; } .acs-bento-tile, .acs-bento-tile.wide { grid-column: span 6; min-height: 0; } .acs-bento-tile > div { padding: 24px 24px 0; } .acs-hero3 .acs-btn { padding: 12px 22px; font-size: 16px; } .acs-textlink { flex-basis: 100%; } .acs-bento, .acs-spot { border-radius: 22px; } }
.acs-hero-art { max-width: 680px; margin-top: 28px; }
.acs-bento-tile.wide { grid-column: span 3; }
.acs-bento-tile img { margin-top: auto; }
.acs-bento-tile.dark img { width: calc(100% - 68px); margin: auto 34px 0; border-radius: 22px 22px 0 0; object-fit: cover; }

/* v0.8 home: brand tiles, 2 wide + 3 category layout */
.acs-brandtiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.acs-brandtile { background: var(--acs-soft); border-radius: 20px; padding: 26px 22px; display: flex; flex-direction: column; gap: 6px; color: var(--acs-ink) !important; text-decoration: none !important; transition: background .2s, transform .2s; }
.acs-brandtile:hover { background: #ecedf3; transform: translateY(-2px); }
.acs-brandtile strong { font-size: 21px; letter-spacing: -0.02em; }
.acs-brandtile span { color: var(--acs-navy); font-size: 14px; font-weight: 600; }
.acs-morebrands { margin-top: 14px; }
@media (max-width: 1000px) { .acs-brandtiles { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .acs-brandtiles { grid-template-columns: repeat(2, 1fr); } .acs-brandtile { padding: 18px 16px; } .acs-brandtile strong { font-size: 17px; } }
.acs-partnerband { display: block; margin: 28px 0 8px; }
