/* Spartan Site Tools styles (moved out of the theme style.css). Loads after the theme stylesheet. */

/* STS self-hosted fonts (so the site looks right even where Google Fonts is blocked) */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-400.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-600.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-condensed-400.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-condensed-700.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-condensed-800.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:swap;src:url('/wp-content/uploads/2026/10/barlow-condensed-900.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


/* ============================================================
   SPARTAN SEO/UX UPDATES (restored after style.css overwrite)
   ============================================================ */

/* Homepage popup title (was an h1) */
.popup-content .popup-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 3rem);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 16px;
  line-height: 1.05;
}

/* Dayton card heading links to the Dayton page */
.hero-location-name a { color: inherit; text-decoration: none; }
.hero-location-name a:hover { text-decoration: underline; }

/* Visit Us locations dropdown */
.nav-dropdown-cta .nav-dropdown-menu { left: auto; right: 0; min-width: 180px; }
@media (max-width: 1100px) {
  .nav-dropdown-cta { align-items: flex-start; }
  .nav-dropdown-cta .nav-dropdown-menu { width: 100%; }
}

/* Dayton location page map */
.dayton-map-section { padding: 80px 0; }
.dayton-map { border-radius: 4px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); line-height: 0; }
.dayton-map iframe { width: 100%; height: 420px; border: 0; }
@media (max-width: 768px) { .dayton-map iframe { height: 320px; } }

/* LINE CARD PAGE (text version) */
.lc-intro { padding: 70px 0 50px; background: var(--white); }
.lc-intro-inner { max-width: 960px; margin: 0 auto; text-align: center; }
.lc-intro-inner .pt-lead { margin: 0 auto 36px; max-width: 760px; }
.lc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 36px; }
.lc-stat { background: var(--blue-deep); color: var(--white); padding: 22px 12px; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
.lc-stat-num { display: block; font-family: var(--font-display); font-size: 2rem; font-weight: 900; line-height: 1; color: var(--white); }
.lc-stat-label { display: block; margin-top: 8px; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.lc-jump { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.lc-jump-label { font-family: var(--font-display); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--red-primary); margin-right: 4px; }
.lc-jump a { padding: 8px 16px; border: 2px solid var(--blue-deep); color: var(--blue-deep); font-family: var(--font-display); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; transition: background 0.2s, color 0.2s; }
.lc-jump a:hover { background: var(--blue-deep); color: var(--white); }
.lc-category { padding: 70px 0; background: var(--white); scroll-margin-top: 90px; }
.lc-category-alt { background: #f3f4f8; }
.lc-category-inner { display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: start; }
.lc-category-header h2 { margin: 8px 0 12px; }
.lc-category-header p { color: #555; margin-bottom: 18px; }
.lc-category-link { font-family: var(--font-display); font-weight: 700; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red-primary); text-decoration: none; }
.lc-category-link:hover { text-decoration: underline; }
.lc-brand-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.lc-brand-grid li { margin: 0; background: var(--white); border-left: 4px solid var(--red-primary); padding: 14px 16px; font-family: var(--font-display); font-weight: 700; font-size: 1rem; letter-spacing: 0.02em; color: var(--blue-deep); box-shadow: 0 2px 10px rgba(10,6,118,0.08); }
.lc-specialties { padding: 90px 0; background: var(--blue-deep); color: var(--white); scroll-margin-top: 90px; }
.lc-specialties-inner { display: grid; grid-template-columns: 1.6fr 1fr; gap: 60px; }
.lc-specialties h2 { color: var(--white); margin: 8px 0 28px; }
.lc-check-list { list-style: none; margin: 0; padding: 0; }
.lc-check-list li { position: relative; padding: 8px 0 8px 28px; border-bottom: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.88); }
.lc-check-list li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 10px; height: 10px; background: var(--red-primary); }
.lc-check-list-2col { columns: 2; column-gap: 40px; }
.lc-check-list-2col li { break-inside: avoid; }
.lc-services { background: rgba(255,255,255,0.05); padding: 32px; border-top: 4px solid var(--red-primary); }
.lc-print-note { margin-top: 24px; font-size: 0.9rem; color: rgba(255,255,255,0.7); }
.lc-print-note a { color: var(--white); text-decoration: underline; }
@media (max-width: 900px) {
  .lc-stats { grid-template-columns: repeat(2, 1fr); }
  .lc-category-inner { grid-template-columns: 1fr; gap: 24px; }
  .lc-specialties-inner { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 560px) {
  .lc-check-list-2col { columns: 1; }
  .lc-brand-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .lc-brand-grid li { padding: 12px; font-size: 0.9rem; }
  .lc-jump a { font-size: 0.7rem; padding: 7px 10px; }
}

/* Line card logo tiles */
.lc-logo-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.lc-logo-grid li { display: flex; align-items: center; justify-content: center; height: 96px; padding: 14px 18px; background: var(--white); border: 1px solid #e3e5ee; box-shadow: 0 2px 8px rgba(10,6,118,0.05); transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.lc-logo-grid li:hover { transform: translateY(-2px); border-color: var(--red-primary); box-shadow: 0 8px 20px rgba(10,6,118,0.12); }
.lc-logo-grid .lc-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: 62px; object-fit: contain; }
.lc-logo-text { font-family: var(--font-display); font-weight: 700; color: var(--blue-deep); text-align: center; }
.lc-logo-grid li > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; text-decoration: none; }
@media (max-width: 560px) {
  .lc-logo-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .lc-logo-grid li { height: 84px; padding: 12px; }
  .lc-logo-grid .lc-logo { max-height: 52px; }
}

/* Brand pages */
.brand-page-logo { margin-bottom: 24px; }
.brand-page-logo img { display: block; width: auto; height: auto; max-height: 72px; max-width: 260px; }
.brand-hub-grid li { height: auto; padding: 0; }
.brand-hub-grid li a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; min-height: 130px; padding: 18px; text-decoration: none; }
.brand-hub-name { font-family: var(--font-display); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue-deep); }

/* STS AAA SHOP (category pages) */
.sts-aaa-shop{padding:var(--section-pad);background:var(--black);color:#fff}
.sts-aaa-head{text-align:center;max-width:720px;margin:0 auto 36px}
.sts-aaa-head h2{color:#fff;font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 12px}
.sts-aaa-head p{color:rgba(255,255,255,.75);margin:0}
.sts-aaa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;min-height:120px}
.sts-aaa-card{display:flex;flex-direction:column;background:#fff;color:var(--black);text-decoration:none;padding:16px;border-radius:4px;transition:transform var(--transition),box-shadow var(--transition)}
.sts-aaa-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.sts-aaa-img{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;margin-bottom:12px;overflow:hidden}
.sts-aaa-img img{max-width:100%;max-height:100%;object-fit:contain}
.sts-aaa-vendor{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red-primary);font-weight:700}
.sts-aaa-title{font-size:.95rem;line-height:1.3;margin:4px 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sts-aaa-price{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin-top:auto}
.sts-aaa-go{font-size:.85rem;font-weight:700;color:var(--blue-deep);margin-top:6px}
.sts-aaa-brands{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:32px 0 24px}
.sts-aaa-chip{border:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;transition:background var(--transition),border-color var(--transition)}
.sts-aaa-chip:hover{background:var(--red-primary);border-color:var(--red-primary);color:#fff}
.sts-aaa-cta{text-align:center}
@media(max-width:900px){.sts-aaa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sts-aaa-grid{gap:12px}.sts-aaa-card{padding:10px}.sts-aaa-title{font-size:.85rem}}

/* STS header Shop Online button */
.site-nav a.nav-shop{border:2px solid var(--red-primary);padding:8px 18px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.85rem;transition:background var(--transition),color var(--transition)}
.site-nav a.nav-shop:hover{background:var(--red-primary);color:#fff}
.site-nav a.nav-shop::after{display:none}
@media(max-width:1024px){.site-nav a.nav-shop{display:inline-block;margin:6px 0}}
@media(min-width:1101px) and (max-width:1260px){.site-nav{gap:12px}.site-nav > a,.site-nav .nav-dropdown > a{font-size:12.5px;letter-spacing:.06em}.site-nav a.nav-shop,.site-nav .nav-cta{padding:8px 12px}}

/* STS homepage warehouse section */
.sts-warehouse{padding:var(--section-pad);background:var(--white);border-top:1px solid var(--gray-light)}
.sts-warehouse-head{text-align:center;max-width:780px;margin:0 auto 48px}
.sts-warehouse-head h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.05;margin:8px 0 16px;color:var(--black)}
.sts-warehouse-head p{color:var(--gray-dark);font-size:1.05rem;line-height:1.7;margin:0}
.sts-warehouse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.sts-warehouse-card{margin:0}
.sts-warehouse-img{overflow:hidden;border-radius:10px;aspect-ratio:3/2;background:var(--gray-light)}
.sts-warehouse-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.sts-warehouse-card:hover .sts-warehouse-img img{transform:scale(1.04)}
.sts-warehouse-card figcaption{padding:20px 8px 0}
.sts-warehouse-card h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.45rem;letter-spacing:.02em;margin:0 0 10px;color:var(--black)}
.sts-warehouse-card p{margin:0;color:var(--gray-dark);line-height:1.6}
@media(max-width:1024px){.sts-warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}
@media(max-width:600px){.sts-warehouse-grid{grid-template-columns:1fr;gap:32px;max-width:560px;margin:0 auto}.sts-warehouse-card figcaption{padding:16px 4px 0}}

/* STS category brand logos section (readable header + 3 columns) */
.sts-cat-brands{padding:var(--section-pad);background:var(--off-white)}
.sts-cat-brands .pt-brands-header h2{color:var(--black);font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 12px}
.sts-cat-brands .pt-brands-header p{color:var(--gray-dark);margin:0}
.sts-cat-brands .pt-brands-header p a{color:var(--red-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sts-cat-brands .lc-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:960px;margin:0 auto}
.sts-cat-brands .lc-logo-grid li{min-height:140px;padding:20px 28px;background:#fff;border:1px solid var(--gray-light);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}
.sts-cat-brands .lc-logo-grid li:hover{border-color:var(--red-primary);box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.sts-cat-brands .lc-logo-grid .lc-logo{max-height:80px;max-width:100%;width:auto;object-fit:contain}
@media(max-width:600px){.sts-cat-brands .lc-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sts-cat-brands .lc-logo-grid li{min-height:100px;padding:14px}}

/* STS line icons (replace emoji) */
.sts-ico{width:1em;height:1em;display:inline-block;vertical-align:-0.14em;flex-shrink:0}
.pillar-icon,.service-icon,.pt-cat-icon,.pt-related-icon,.about-page-block-icon,.hero-location-icon,.contact-icon,.promo-placeholder-icon{color:var(--red-primary);line-height:1}
.pillar-icon .sts-ico,.service-icon .sts-ico,.pt-cat-icon .sts-ico,.pt-related-icon .sts-ico,.about-page-block-icon .sts-ico{stroke-width:1.5}
.promo-placeholder-icon{color:var(--gray-mid)}
.pt-cat-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:#fff;border:1px solid var(--gray-light);font-size:22px;flex-shrink:0}
.contact-icon .sts-ico{display:none}
.hero-location-icon{color:#fff}
.cookie-bar-icon{color:#fff}
.home-repair-item > span:first-child{color:var(--red-primary)}
.service-icon{font-size:44px}
.service-icon .sts-ico{stroke-width:1.4}

/* STS homepage shop (light variant + tabs) */
.sts-aaa-shop--light{background:var(--off-white);color:var(--black)}
.sts-aaa-shop--light .sts-aaa-head h2{color:var(--black)}
.sts-aaa-shop--light .sts-aaa-head p{color:var(--gray-dark)}
.sts-aaa-shop--light .sts-aaa-card{border:1px solid var(--gray-light)}
.sts-aaa-shop--light .sts-aaa-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.1);border-color:var(--red-primary)}
.sts-aaa-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 32px}
.sts-aaa-tab{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;padding:10px 20px;border:2px solid var(--gray-light);background:#fff;color:var(--black);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}
.sts-aaa-tab:hover{border-color:var(--red-primary)}
.sts-aaa-tab.is-active{background:var(--red-primary);border-color:var(--red-primary);color:#fff}
.sts-aaa-shop--light .sts-aaa-cta{margin-top:36px}
.sts-aaa-grid.is-loading{opacity:.45;transition:opacity .2s}
.sts-aaa-grid.is-loading:empty{min-height:320px}
@media(max-width:600px){.sts-aaa-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;-webkit-overflow-scrolling:touch}.sts-aaa-tab{flex:0 0 auto;font-size:.85rem;padding:8px 14px}}
.sts-aaa-note{text-align:center;font-size:.8rem;margin:14px 0 0;color:rgba(255,255,255,.55)}
.sts-aaa-shop--light .sts-aaa-note{color:var(--gray-mid)}

/* STS reviews */
.sts-reviews{padding:var(--section-pad);background:var(--white)}
.sts-reviews--alt{background:var(--off-white)}
.sts-reviews-head{text-align:center;margin:0 auto 40px;max-width:720px}
.sts-reviews-head h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 16px;color:var(--black)}
.sts-reviews-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--gray-light);border-radius:999px;background:#fff;color:var(--gray-dark);text-decoration:none;font-size:.95rem}
.sts-reviews-badge strong{color:var(--black);font-size:1.05rem}
.sts-reviews-badge:hover{border-color:var(--red-primary)}
.sts-g{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#4285F4;color:#fff;font-weight:700;font-size:.8rem;font-family:Arial,sans-serif}
.sts-stars{display:inline-flex;gap:1px;color:#F5A623;line-height:0}
.sts-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sts-review{margin:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-light);border-top:3px solid var(--red-primary);padding:24px}
.sts-review blockquote{margin:14px 0 18px;font-size:1rem;line-height:1.6;color:var(--gray-dark);flex:1}
.sts-review figcaption{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--gray-light);padding-top:14px}
.sts-review-name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--black)}
.sts-review-src{font-size:.8rem;color:var(--gray-mid)}
.sts-reviews-cta{text-align:center;margin-top:36px}
.sts-reviews .btn-outline{color:var(--black);border-color:var(--black)}
.sts-reviews .btn-outline:hover{background:var(--black);color:#fff}
@media(max-width:900px){.sts-reviews-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.sts-review{scroll-snap-align:start}}

/* STS brand page product lines */
.sts-reviews{border-top:1px solid var(--gray-light)}
.brand-lines{padding:var(--section-pad);background:var(--white)}
.brand-lines-head{text-align:center;max-width:760px;margin:0 auto 40px}
.brand-lines-head h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 14px;color:var(--black)}
.brand-lines-head p{color:var(--gray-dark);font-size:1.05rem;line-height:1.7;margin:0}
.brand-lines-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.brand-line{background:var(--off-white);border-left:4px solid var(--red-primary);padding:24px 26px}
.brand-line h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.35rem;letter-spacing:.02em;margin:0 0 8px;color:var(--black)}
.brand-line p{margin:0;color:var(--gray-dark);line-height:1.65}
.brand-why{margin-top:40px;background:var(--blue-deep);color:#fff;padding:32px 36px}
.brand-why h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem;margin:0 0 16px;color:#fff}
.brand-why ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px}
.brand-why li{position:relative;padding-left:26px;color:rgba(255,255,255,.88);line-height:1.5}
.brand-why li::before{content:"";position:absolute;left:0;top:.3em;width:14px;height:8px;border-left:3px solid var(--red-primary);border-bottom:3px solid var(--red-primary);transform:rotate(-45deg)}
@media(max-width:768px){.brand-lines-grid,.brand-why ul{grid-template-columns:1fr}.brand-why{padding:24px 20px}}
/* STS warehouse even */
.sts-warehouse-card{display:flex;flex-direction:column}
.sts-warehouse-card figcaption{text-align:center}
.sts-warehouse-card h3{border-left:0;padding-left:0}
.sts-warehouse-card p{min-height:3.2em}
.sts-warehouse-img img[src*="spartan-delivery-van"]{object-position:center 70%}

/* STS brand band (blue brand cards built from the line card) */
.sts-brand-band .sts-brand-cards{grid-template-columns:repeat(auto-fit,minmax(230px,280px));justify-content:center}
.sts-brand-card{display:flex;flex-direction:column;transition:border-color var(--transition),transform var(--transition)}
.sts-brand-card:hover{border-color:var(--red-primary);transform:translateY(-2px)}
.sts-brand-card-logo-wrap{display:flex;align-items:center;justify-content:center;height:96px;background:#fff;border-radius:4px;padding:14px 20px;margin-bottom:18px;text-decoration:none}
.sts-brand-card-logo{max-height:64px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sts-brand-card .lc-logo-text{color:var(--black);font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.2rem;text-align:center}
.sts-brand-band .pt-brand-name a{color:#fff;text-decoration:none}
.sts-brand-band .pt-brand-name a:hover{color:var(--red-primary)}
.sts-brand-band .pt-brand-desc{color:rgba(255,255,255,.72)}
.sts-brand-band .pt-brands-header p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.sts-brand-band .sts-brand-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sts-brand-card-logo-wrap{height:72px;padding:10px}.sts-brand-card-logo{max-height:48px}}

/* STS About page */
.ab-head{text-align:center;max-width:760px;margin:0 auto 44px}
.ab-head h2,.ab-intro h2,.ab-family h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 14px;color:var(--black)}
.ab-intro{padding:var(--section-pad);background:var(--white)}
.ab-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.ab-intro-copy p{color:var(--gray-dark);line-height:1.75;margin:0 0 16px}
.ab-intro-copy .pt-lead{font-size:1.15rem;color:var(--black)}
.ab-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ab-intro .btn-outline,.ab-loc .btn-outline{color:var(--black);border-color:var(--black)}
.ab-intro-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 70%;border-radius:10px;display:block}
.ab-stats{background:var(--blue-deep);padding:48px 0}
.ab-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}
.ab-stat strong{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;color:#fff}
.ab-stat span{display:block;margin-top:8px;color:rgba(255,255,255,.75);font-size:.95rem}
.ab-stat{border-left:3px solid var(--red-primary);padding:4px 12px}
.ab-story{padding:var(--section-pad);background:var(--off-white)}
.ab-timeline{list-style:none;margin:0 auto;padding:0;max-width:1000px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.ab-timeline::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--gray-light)}
.ab-timeline li{position:relative;padding-top:44px}
.ab-timeline li::before{content:"";position:absolute;top:6px;left:0;width:20px;height:20px;border-radius:50%;background:var(--red-primary);border:4px solid var(--off-white);box-shadow:0 0 0 2px var(--red-primary)}
.ab-when{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--red-primary);font-size:.95rem}
.ab-timeline h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.35rem;margin:6px 0 8px;color:var(--black)}
.ab-timeline p{margin:0;color:var(--gray-dark);line-height:1.6}
.ab-services{padding:var(--section-pad);background:var(--white)}
.ab-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ab-service{display:block;background:var(--off-white);border-top:3px solid var(--red-primary);padding:28px 24px;text-decoration:none;color:inherit;transition:transform var(--transition),box-shadow var(--transition)}
a.ab-service:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.ab-service-icon{display:inline-flex;font-size:36px;color:var(--red-primary);margin-bottom:12px}
.ab-service h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.3rem;margin:0 0 8px;color:var(--black)}
.ab-service p{margin:0;color:var(--gray-dark);line-height:1.6}
.ab-family{padding:var(--section-pad);background:var(--off-white)}
.ab-family-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
.ab-family p{color:var(--gray-dark);line-height:1.7}
.ab-list{list-style:none;margin:16px 0 0;padding:0}
.ab-list li{position:relative;padding:10px 0 10px 22px;border-bottom:1px solid var(--gray-light);color:var(--gray-dark);line-height:1.5}
.ab-list li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;background:var(--red-primary)}
.ab-list strong{color:var(--black)}
.ab-alliances{background:var(--white);border:1px solid var(--gray-light);border-top:3px solid var(--blue-deep);padding:28px}
.ab-alliances h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.5rem;margin:0 0 8px;color:var(--black)}
.ab-locations{padding:var(--section-pad);background:var(--white);border-top:1px solid var(--gray-light)}
.ab-loc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin:0 auto}
.ab-loc{background:var(--off-white);padding:32px;border-left:4px solid var(--red-primary)}
.ab-loc h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.5rem;margin:0 0 14px;color:var(--black)}
.ab-loc p{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--gray-dark)}
.ab-loc p .sts-ico{color:var(--red-primary)}
.ab-loc p a{color:var(--black);font-weight:600;text-decoration:none}
.ab-loc .btn{margin-top:10px}
@media(max-width:1024px){.ab-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.ab-timeline::before{display:none}}
@media(max-width:900px){.ab-intro-grid,.ab-family-grid{grid-template-columns:1fr;gap:32px}.ab-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ab-services-grid,.ab-timeline,.ab-loc-grid{grid-template-columns:1fr}}
/* STS footer quick links in two columns */
.footer-col.sts-ql ul{columns:2;column-gap:20px}
.footer-col.sts-ql li{break-inside:avoid}

/* About: sister companies, memberships, Ohio map */
.ab-sisters{list-style:none;margin:16px 0 0;padding:0}
.ab-sisters li{display:flex;flex-direction:column;padding:12px 0 12px 22px;border-bottom:1px solid var(--gray-light);position:relative}
.ab-sisters li::before{content:"";position:absolute;left:0;top:20px;width:8px;height:8px;background:var(--red-primary)}
.ab-sisters a{font-family:var(--font-display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em;color:var(--black);text-decoration:none;align-self:flex-start;border-bottom:2px solid transparent;transition:border-color var(--transition),color var(--transition)}
.ab-sisters a::after{content:" \2197";font-size:.85em;color:var(--red-primary)}
.ab-sisters a:hover{color:var(--red-primary);border-color:var(--red-primary)}
.ab-sisters span{color:var(--gray-dark);font-size:.95rem;margin-top:2px}
.ab-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.ab-member{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--gray-light);border-radius:6px;padding:18px 14px 14px;text-decoration:none;text-align:center;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
.ab-member:hover{border-color:var(--red-primary);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.ab-member-logo{display:flex;align-items:center;justify-content:center;height:72px;width:100%}
.ab-member-logo img{max-height:72px;max-width:100%;width:auto;height:auto;object-fit:contain}
.ab-member-name{font-size:.78rem;line-height:1.35;color:var(--gray-dark)}
.ab-map{padding:var(--section-pad);background:radial-gradient(circle at 72% 45%,#1a148f 0%,#0A0676 42%,#04022e 100%);color:#fff;overflow:hidden}
.ab-map-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.ab-map-copy h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1;margin:8px 0 16px;color:#fff}
.ab-map-copy h2 span{color:var(--red-primary)}
.ab-map-copy p{color:rgba(255,255,255,.78);line-height:1.7;margin:0 0 24px;max-width:460px}
.ab-map-legend{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ab-map-legend li{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:12px 16px;border-radius:6px;color:rgba(255,255,255,.75);font-size:.95rem}
.ab-map-legend strong{display:block;color:#fff;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem}
.ab-dot{width:14px;height:14px;border-radius:50%;background:var(--red-primary);box-shadow:0 0 0 4px rgba(235,14,16,.25),0 0 16px rgba(235,14,16,.8);flex-shrink:0}
.ab-map-art{display:flex;justify-content:center}
.ab-ohio{width:100%;max-width:560px;height:auto;overflow:visible}
.ab-ohio-glow{opacity:.85}
.ab-ohio-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:abDraw 2.6s ease-out .2s forwards}
.ab-route{animation:abDash 1.1s linear infinite;opacity:.85}
.ab-pulse{fill:var(--red-primary);opacity:.55;transform-box:fill-box;transform-origin:center;animation:abPulse 2.4s ease-out infinite}
.ab-pulse2{animation-delay:1.2s}
.ab-core{fill:var(--red-primary);stroke:#fff;stroke-width:2.5}
.ab-tag rect{fill:#fff;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.ab-tag-t{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:.06em;fill:var(--black)}
.ab-tag-s{font-family:var(--font-body);font-size:11.5px;fill:#555}
.ab-map-water{font-family:var(--font-display);font-size:12px;letter-spacing:.32em;fill:rgba(255,255,255,.38)}
.ab-map-city circle{fill:rgba(255,255,255,.55)}
.ab-map-city text{font-family:var(--font-body);font-size:12px;fill:rgba(255,255,255,.6)}
@keyframes abDraw{to{stroke-dashoffset:0}}
@keyframes abDash{to{stroke-dashoffset:-28}}
@keyframes abPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(4.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.ab-ohio-line{animation:none;stroke-dashoffset:0}.ab-route,.ab-pulse{animation:none}.ab-pulse{opacity:0}}
@media(max-width:900px){.ab-map-grid{grid-template-columns:1fr;gap:32px}.ab-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* STS nav: never wrap menu labels onto two lines */
.site-nav{flex-wrap:nowrap}
.site-nav > a,.site-nav .nav-dropdown > a{white-space:nowrap}
@media(min-width:1101px) and (max-width:1360px){.site-nav{gap:12px}.site-nav > a,.site-nav .nav-dropdown > a{font-size:12.5px;letter-spacing:.06em}.site-nav a.nav-shop,.site-nav .nav-cta{padding:8px 12px}}
