/* BJP Trailers premium nationwide design layer — original implementation inspired by high-end dealer UX. */
:root {
  --premium-accent: #f04454;
  --premium-accent-deep: #c61531;
  --premium-orange: #c61531;
  --premium-navy: #071a39;
  --premium-ink: #101828;
  --premium-muted: #5d6677;
  --premium-cream: #faf8f4;
  --premium-line: #e4e7ec;
  --premium-card: #ffffff;
  --premium-radius: 30px;
  --premium-shadow: 0 28px 80px rgba(7, 26, 57, .14);
}

body.premium-site { background:#fff; color:var(--premium-ink); }
body.premium-site h1, body.premium-site h2, body.premium-site h3 { text-wrap:balance; }
body.premium-site p { text-wrap:pretty; }
body.premium-site .shell { width:min(calc(100% - 44px), 1380px); }
body.premium-site .utility-bar { background:var(--premium-navy); min-height:34px; }
body.premium-site .utility-inner { min-height:34px; font-size:.72rem; letter-spacing:.035em; }
body.premium-site .utility-inner a { font-weight:850; }
body.premium-site .site-header { background:rgba(255,255,255,.98); border-bottom:1px solid rgba(16,24,40,.08); box-shadow:none; }
body.premium-site .site-header.is-scrolled { box-shadow:0 12px 34px rgba(7,26,57,.10); }
body.premium-site .nav-row { min-height:82px; }
body.premium-site .brand { width:min(235px, 20vw); }
body.premium-site .desktop-nav { gap:clamp(13px,1.35vw,24px); }
body.premium-site .desktop-nav > a, body.premium-site .nav-trigger { font-size:.91rem; font-weight:720; letter-spacing:-.015em; }
body.premium-site .nav-inventory-link { color:var(--premium-ink) !important; background:none !important; padding:9px 2px !important; }
body.premium-site .nav-cta { border-radius:9px; }
body.premium-site .nav-cta--primary { background:linear-gradient(135deg,var(--premium-accent),var(--premium-accent-deep)); }
body.premium-site .mega-menu { border:1px solid rgba(16,24,40,.10); border-radius:22px; box-shadow:0 30px 80px rgba(7,26,57,.18); }
body.premium-site .mobile-toggle { border-radius:10px; }
body.premium-site .mobile-navigation { background:#fff; }

.premium-home-main { overflow:hidden; }
.gst-hero { position:relative; min-height:760px; display:flex; align-items:stretch; isolation:isolate; background:var(--premium-navy); }
.gst-hero-media, .gst-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.gst-hero-media img { object-fit:cover; object-position:61% 50%; filter:saturate(1.04) contrast(1.04); }
.gst-hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(5,14,31,.94) 0%,rgba(7,22,44,.82) 35%,rgba(8,23,44,.29) 67%,rgba(8,23,44,.20) 100%),linear-gradient(0deg,rgba(4,14,31,.50),transparent 45%); }
.gst-hero::after { content:""; position:absolute; inset:0; z-index:1; opacity:.16; background-image:radial-gradient(rgba(255,255,255,.65) .7px,transparent .7px); background-size:14px 14px; mix-blend-mode:soft-light; pointer-events:none; }
.gst-hero-inner { position:relative; z-index:2; min-height:760px; padding:88px 0 196px; display:grid; grid-template-columns:minmax(0,720px) 1fr; gap:40px; align-items:center; }
.gst-hero-copy { color:#fff; }
.gst-kicker, .premium-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--premium-accent); font-size:.76rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.gst-kicker { color:#fff; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:9px 13px; backdrop-filter:blur(10px); }
.gst-hero h1 { max-width:760px; margin:22px 0 20px; color:#fff; font-size:clamp(3.45rem,5.4vw,6rem); font-weight:900; letter-spacing:-.065em; line-height:.91; text-transform:uppercase; text-shadow:0 5px 30px rgba(0,0,0,.22); }
.gst-hero h1 span { color:#ff5a5f; }
.gst-hero-copy > p { max-width:660px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(1.03rem,1.4vw,1.22rem); line-height:1.58; }
.gst-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.gst-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 22px; border:1px solid transparent; border-radius:10px; font-size:.92rem; font-weight:850; line-height:1.2; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.gst-button:hover { transform:translateY(-2px); }
.gst-button svg { width:19px; }
.gst-button--outline { color:#fff; border-color:rgba(255,255,255,.72); background:rgba(5,14,31,.18); backdrop-filter:blur(8px); }
.gst-button--outline:hover { background:#fff; color:var(--premium-ink); }
.gst-button--light { background:#fff; color:var(--premium-ink); box-shadow:0 12px 34px rgba(0,0,0,.16); }
.gst-button--light:hover { box-shadow:0 18px 46px rgba(0,0,0,.22); }
.gst-button--dark { background:var(--premium-navy); color:#fff; }
.gst-button--accent { background:linear-gradient(135deg,var(--premium-accent),var(--premium-accent-deep)); color:#fff; box-shadow:0 16px 34px rgba(198,21,49,.24); }
.gst-hero-mini-proof { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; color:rgba(255,255,255,.82); font-size:.82rem; font-weight:700; }
.gst-hero-mini-proof span { display:flex; align-items:center; gap:7px; }
.gst-hero-mini-proof svg { width:18px; color:#ff7277; }
.gst-featured-stock { align-self:end; justify-self:end; max-width:320px; padding:18px 20px; border:1px solid rgba(255,255,255,.26); border-radius:18px; background:rgba(5,14,31,.62); color:#fff; backdrop-filter:blur(14px); box-shadow:0 24px 60px rgba(0,0,0,.22); }
.gst-featured-stock > span { display:block; margin-bottom:7px; color:#ff7c80; font-size:.69rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.gst-featured-stock strong { display:block; color:#fff; font-size:1rem; line-height:1.35; }
.gst-featured-stock small { display:block; margin-top:8px; color:rgba(255,255,255,.72); }
.gst-proof-wrap { position:absolute; z-index:3; left:50%; bottom:30px; transform:translateX(-50%); }
.gst-proof-card { display:grid; grid-template-columns:repeat(4,1fr); gap:0; min-height:145px; padding:25px 34px; border-radius:25px; background:#fff; box-shadow:0 30px 85px rgba(3,13,32,.30); }
.gst-proof-card > div { padding:8px 28px; border-right:1px solid #e7e9ee; display:flex; flex-direction:column; justify-content:center; }
.gst-proof-card > div:last-child { border-right:0; }
.gst-proof-card strong { display:flex; align-items:baseline; gap:3px; color:var(--premium-accent); font-size:clamp(1.8rem,2.4vw,2.7rem); font-weight:900; letter-spacing:-.055em; line-height:1; font-variant-numeric:tabular-nums; }
.gst-proof-card strong .gst-stat-number { min-width:1.2ch; font-size:1em; }
.gst-proof-card strong .gst-stat-symbol { font-size:.68em; }
.gst-proof-card p { margin:9px 0 0; color:var(--premium-ink); font-size:.91rem; font-weight:760; line-height:1.25; }
.gst-trust-strip { position:relative; z-index:4; overflow:hidden; background:linear-gradient(90deg,#f04454 0%,#d71938 52%,#b70d2a 100%); color:#fff; box-shadow:0 10px 30px rgba(208,40,49,.18); }
.gst-trust-track { min-height:67px; display:flex; align-items:center; justify-content:center; gap:clamp(24px,4vw,70px); padding:12px 28px; white-space:nowrap; }
.gst-trust-track span { display:flex; align-items:center; gap:9px; font-size:.79rem; font-weight:850; letter-spacing:.015em; }
.gst-trust-track svg { width:18px; }

.premium-section { padding:clamp(82px,8vw,126px) 0; }
.premium-centered-heading { max-width:850px; margin:0 auto 52px; text-align:center; }
.premium-centered-heading h2, .premium-split-heading h2, .premium-operation-copy h2, .premium-seo-title h2, .premium-faq-grid h2 { margin:14px 0 18px; color:var(--premium-ink); font-size:clamp(2.35rem,4.2vw,4.45rem); font-weight:850; letter-spacing:-.06em; line-height:.98; }
.premium-centered-heading > p { max-width:760px; margin-inline:auto; font-size:1.05rem; }
.premium-why { background:linear-gradient(180deg,#fff,#fafbfc); }
.premium-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.premium-feature-card { display:grid; grid-template-columns:220px 1fr; min-height:330px; overflow:hidden; border:1px solid var(--premium-line); border-radius:var(--premium-radius); background:#fff; box-shadow:0 16px 48px rgba(16,24,40,.07); transition:transform .25s ease,box-shadow .25s ease; }
.premium-feature-card:hover { transform:translateY(-5px); box-shadow:var(--premium-shadow); }
.premium-feature-icon { position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(circle at 20% 10%,#283b60,var(--premium-navy)); color:#fff; }
.premium-feature-icon::after { content:""; position:absolute; width:170px; height:170px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.premium-feature-icon > span { position:absolute; top:18px; left:20px; color:rgba(255,255,255,.45); font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.premium-feature-icon svg { width:72px; position:relative; z-index:1; }
.premium-feature-card > div:last-child { padding:38px 34px; }
.premium-card-label { display:block; margin-bottom:10px; color:var(--premium-accent); font-size:.7rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.premium-feature-card h3 { margin-bottom:14px; font-size:1.55rem; }
.premium-feature-card p { margin-bottom:24px; }
.premium-feature-card a { display:inline-flex; align-items:center; gap:9px; color:var(--premium-ink); font-size:.85rem; font-weight:850; }
.premium-feature-card a svg { width:18px; color:var(--premium-accent); }

.premium-shop-types { background:var(--premium-cream); }
.premium-split-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); gap:80px; align-items:end; margin-bottom:48px; }
.premium-split-heading h2 { margin-bottom:0; }
.premium-split-heading > p, .premium-split-heading > div:last-child p { margin:0; font-size:1.02rem; }
.premium-type-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:20px; }
.premium-type-card { position:relative; min-height:420px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:34px; border-radius:var(--premium-radius); color:#fff; isolation:isolate; box-shadow:0 24px 60px rgba(7,26,57,.16); }
.premium-type-card::before { content:""; position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform .55s ease; }
.premium-type-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(4,12,28,.93),rgba(5,16,34,.14) 70%); }
.premium-type-card:hover::before { transform:scale(1.045); }
.premium-type-card--food::before { background-image:url('/inventory/8-5-24ta3-concession-food-trailer-grey-blue-vin-70673-01-1200.webp'); }
.premium-type-card--coffee::before { background-image:url('/inventory/8-5-14ta-water-blue-concession-trailer-71905-01-1200.webp'); }
.premium-type-card--cargo::before { background-image:url('/inventory/8-5-26ta3-silver-cargo-trailer-68807-01-1200.webp'); }
.premium-type-card > span { color:#ff777c; font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.premium-type-card strong { display:block; margin:12px 0 22px; color:#fff; font-size:clamp(1.35rem,2vw,2.05rem); line-height:1.15; }
.premium-type-card em { display:flex; align-items:center; gap:9px; font-size:.84rem; font-style:normal; font-weight:850; }
.premium-type-card em svg { width:18px; }

.premium-inventory-showcase { background:#fff; }
.premium-split-heading--inventory { align-items:center; }
.premium-text-button { display:inline-flex; align-items:center; gap:10px; margin-top:15px; color:var(--premium-ink); font-size:.88rem; font-weight:880; }
.premium-text-button svg { width:20px; color:var(--premium-accent); }
.premium-stock-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.premium-stock-card { border:1px solid #e5e7eb; border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 12px 38px rgba(16,24,40,.075); }
.premium-stock-card:hover { transform:translateY(-4px); box-shadow:0 25px 60px rgba(16,24,40,.13); }
.premium-stock-image { aspect-ratio:1.08/1; background:#eef1f5; }
.premium-stock-image picture, .premium-stock-image img { width:100%; height:100%; }
.premium-stock-image img { object-fit:cover; }
.premium-photo-badge { position:absolute; right:12px; bottom:12px; padding:6px 9px; border-radius:999px; background:rgba(5,16,35,.78); color:#fff; font-size:.62rem; font-weight:800; backdrop-filter:blur(6px); }
.premium-stock-body { padding:22px; }
.premium-stock-body h3 { min-height:2.65em; margin:12px 0 10px; font-size:1.12rem; line-height:1.28; }
.premium-stock-body > p { min-height:3.5em; font-size:.86rem; line-height:1.55; }
.premium-stock-footer { padding-top:16px; border-top:1px solid #eceef2; }
.premium-stock-footer strong { color:var(--premium-ink); font-size:.88rem; }
.premium-stock-footer a { font-size:.8rem; }
.premium-center-action { display:flex; justify-content:center; margin-top:42px; }

.premium-operation-planner { padding:clamp(80px,8vw,122px) 0; background:linear-gradient(135deg,#f6f1ea,#fff); }
.premium-operation-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:clamp(50px,7vw,100px); align-items:center; }
.premium-operation-media { position:relative; min-height:650px; overflow:hidden; border-radius:36px; box-shadow:var(--premium-shadow); }
.premium-operation-media > img { width:100%; height:100%; min-height:650px; object-fit:cover; }
.premium-media-stamp { position:absolute; right:24px; bottom:24px; display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 16px 40px rgba(7,26,57,.20); }
.premium-media-stamp strong { color:var(--premium-accent); font-size:1.25rem; }
.premium-media-stamp span { color:var(--premium-ink); font-size:.72rem; font-weight:750; line-height:1.4; }
.premium-operation-copy > p { font-size:1.03rem; }
.premium-process-list { margin:30px 0 34px; padding:0; list-style:none; }
.premium-process-list li { display:grid; grid-template-columns:44px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid #dedbd5; }
.premium-process-list li > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:var(--premium-navy); color:#fff; font-weight:900; }
.premium-process-list strong { color:var(--premium-ink); }
.premium-process-list p { margin:4px 0 0; font-size:.88rem; line-height:1.55; }
.premium-inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.premium-phone-link { display:flex; align-items:center; gap:8px; color:var(--premium-ink); font-weight:900; }
.premium-phone-link svg { width:21px; color:var(--premium-accent); }

.premium-concepts { background:radial-gradient(circle at 90% 0%,#213a68,transparent 36%),linear-gradient(135deg,#06152f,#0c285d); color:#fff; }
.premium-centered-heading--light h2 { color:#fff; }
.premium-centered-heading--light > p { color:#c8d4e6; }
.premium-concept-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.12); border-radius:26px; overflow:hidden; }
.premium-concept-grid a { min-height:245px; padding:28px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.02); transition:background .2s ease,transform .2s ease; }
.premium-concept-grid a:nth-child(4n) { border-right:0; }
.premium-concept-grid a:nth-child(n+5) { border-bottom:0; }
.premium-concept-grid a:hover { background:rgba(255,255,255,.075); }
.premium-concept-grid span { color:#ff737a; font-size:.72rem; font-weight:900; letter-spacing:.13em; }
.premium-concept-grid strong { display:block; margin:42px 0 12px; color:#fff; font-size:1.3rem; }
.premium-concept-grid small { color:#bdcbe0; font-size:.84rem; line-height:1.55; }

.premium-reviews { background:#fbfcfe; }
.premium-review-heading { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; margin-bottom:42px; }
.premium-review-heading h2 { max-width:850px; margin:13px 0 0; font-size:clamp(2.45rem,4vw,4.6rem); }
.premium-rating { min-width:210px; padding:20px 24px; border:1px solid var(--premium-line); border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(16,24,40,.07); }
.premium-rating strong { display:block; font-size:2.7rem; line-height:1; }
.premium-rating span { display:block; margin:7px 0 5px; color:#f2a31b; letter-spacing:.08em; }
.premium-rating small { color:var(--premium-muted); }
.premium-review-carousel { position:relative; }
.premium-review-viewport { overflow:hidden; margin:-10px; padding:10px; }
.premium-review-track { display:flex; gap:22px; transform:translate3d(0,0,0); transition:transform .68s cubic-bezier(.22,.72,.18,1); will-change:transform; }
.premium-review-track.is-jumping { transition:none !important; }
.premium-review-card { flex:0 0 calc((100% - 44px)/3); display:flex; flex-direction:column; min-width:0; min-height:360px; padding:30px; border:1px solid var(--premium-line); border-radius:24px; background:#fff; box-shadow:0 15px 42px rgba(16,24,40,.065); }
.premium-review-card header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.review-stars { color:#f2a31b; letter-spacing:.08em; }
.premium-review-source { color:var(--premium-accent-deep); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.premium-review-card blockquote { flex:1; margin:22px 0 30px; color:#263247; font-size:1rem; font-style:normal; line-height:1.7; }
.premium-review-card footer { padding-top:18px; border-top:1px solid #eceef2; }
.premium-review-card footer strong, .premium-review-card footer span { display:block; }
.premium-review-card footer span { color:var(--premium-muted); font-size:.78rem; }
.premium-review-controls { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:22px; }
.premium-review-controls button { width:44px; height:44px; display:grid; place-items:center; border:1px solid #dfe3ea; border-radius:50%; background:#fff; color:var(--premium-ink); box-shadow:0 8px 22px rgba(16,24,40,.07); transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease; }
.premium-review-controls button:hover { transform:translateY(-2px); border-color:var(--premium-accent); background:var(--premium-accent); color:#fff; }
.premium-review-controls button:focus-visible { outline:3px solid rgba(240,68,84,.25); outline-offset:3px; }
.premium-review-controls svg { width:19px; }
.premium-review-controls > span { min-width:94px; color:var(--premium-muted); font-size:.74rem; font-weight:800; text-align:center; }
.premium-review-note { margin:18px 0 0; font-size:.74rem; }

.premium-national { padding:clamp(84px,8vw,126px) 0; background:linear-gradient(135deg,#f04454 0%,#d71938 52%,#b70d2a 100%); color:#fff; }
.premium-national-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); gap:80px; align-items:center; }
.premium-national-copy .premium-kicker { color:#fff; }
.premium-national-copy h2 { margin:15px 0 20px; color:#fff; font-size:clamp(2.7rem,4.6vw,5rem); line-height:.94; }
.premium-national-copy p { color:rgba(255,255,255,.87); }
.premium-city-finder { padding:30px; border:1px solid rgba(255,255,255,.32); border-radius:28px; background:rgba(255,255,255,.94); color:var(--premium-ink); box-shadow:0 30px 75px rgba(88,10,20,.24); }
.premium-city-finder > label { display:block; margin-bottom:12px; font-size:1.1rem; font-weight:850; }
.premium-search-box { display:flex; align-items:center; gap:10px; padding:0 15px; border:1px solid #d8dde5; border-radius:12px; background:#fff; }
.premium-search-box svg { width:20px; color:#7a8494; }
.premium-search-box input { width:100%; height:52px; border:0; outline:0; background:transparent; }
.premium-city-results { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; max-height:330px; overflow:auto; margin-top:16px; padding-right:4px; }
.premium-city-results a { padding:13px 14px; border:1px solid #e5e8ed; border-radius:11px; background:#fff; }
.premium-city-results a:hover { border-color:#f39aa3; background:#fff6f7; }
.premium-city-results strong, .premium-city-results span { display:block; }
.premium-city-results strong { font-size:.88rem; }
.premium-city-results span { color:var(--premium-muted); font-size:.7rem; }
.premium-city-results a[hidden] { display:none; }
.premium-city-finder > p { margin:14px 0 0; color:var(--premium-muted); font-size:.82rem; }
.premium-city-finder > p a { color:var(--premium-accent-deep); font-weight:800; }

.premium-seo-content { background:#fff; }
.premium-seo-grid { display:grid; grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr); gap:100px; }
.premium-seo-title { position:sticky; top:130px; align-self:start; }
.premium-seo-copy p { font-size:1.02rem; }
.premium-seo-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.premium-seo-links a { padding:9px 12px; border:1px solid #dfe3ea; border-radius:999px; font-size:.76rem; font-weight:800; }
.premium-seo-links a:hover { border-color:#f49aa3; color:var(--premium-accent-deep); }
.premium-faq { background:var(--premium-cream); }
.premium-faq-grid { display:grid; grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr); gap:90px; }
.premium-faq-list details { border-top:1px solid #d9d7d1; }
.premium-faq-list details:last-child { border-bottom:1px solid #d9d7d1; }
.premium-faq-list summary { position:relative; padding:24px 42px 24px 0; color:var(--premium-ink); font-size:1.04rem; font-weight:830; cursor:pointer; list-style:none; }
.premium-faq-list summary::-webkit-details-marker { display:none; }
.premium-faq-list summary::after { content:"+"; position:absolute; right:7px; top:20px; font-size:1.45rem; font-weight:400; }
.premium-faq-list details[open] summary::after { content:"–"; }
.premium-faq-list details p { margin:0; padding:0 42px 24px 0; }
.premium-final-cta { padding:56px 0; background:var(--premium-navy); color:#fff; }
.premium-final-cta-inner { display:grid; grid-template-columns:1fr .7fr auto; gap:50px; align-items:center; }
.premium-final-cta span { color:#ff7a80; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.premium-final-cta h2 { margin:9px 0 0; color:#fff; font-size:clamp(1.7rem,2.7vw,2.7rem); }
.premium-final-cta p { margin:0; color:#c5d1e3; }
.premium-final-cta-inner > div:last-child { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.premium-final-cta-inner > div:last-child > a:last-child { display:flex; align-items:center; gap:8px; color:#fff; font-weight:900; }
.premium-final-cta-inner > div:last-child svg { width:20px; }

/* Nationwide, state, city, inventory, and product pages */
body.city-page .city-hero, body.state-page .state-hero, body.locations-page .locations-hero, body.generic-page .page-hero, body.inventory-page .page-hero, body.product-page .product-hero {
  position:relative; overflow:hidden; background:radial-gradient(circle at 87% 8%,rgba(54,99,172,.50),transparent 34%),linear-gradient(135deg,#071a39,#0c2c63); color:#fff;
}
body.city-page .city-hero::after, body.state-page .state-hero::after, body.locations-page .locations-hero::after, body.generic-page .page-hero::after, body.inventory-page .page-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; background-image:radial-gradient(rgba(255,255,255,.6) .7px,transparent .7px); background-size:15px 15px; }
body.city-page .city-hero > .shell, body.state-page .state-hero > .shell, body.locations-page .locations-hero > .shell, body.generic-page .page-hero > .shell, body.inventory-page .page-hero > .shell { position:relative; z-index:1; }
body.city-page .city-hero h1, body.state-page .state-hero h1, body.locations-page .locations-hero h1, body.generic-page .page-hero h1, body.inventory-page .page-hero h1 { color:#fff; font-size:clamp(2.8rem,5vw,5.8rem); letter-spacing:-.065em; }
body.city-page .city-hero p, body.state-page .state-hero p, body.locations-page .locations-hero p, body.generic-page .page-hero p, body.inventory-page .page-hero p { color:#c7d3e5; }
body.city-page .market-proof-bar { background:linear-gradient(90deg,#f04454 0%,#d71938 52%,#b70d2a 100%); color:#fff; }
body.city-page .market-proof-bar span { color:rgba(255,255,255,.72); }
body.city-page .market-proof-bar strong { color:#fff; }
body.city-page main > .section, body.state-page main > .section, body.generic-page main > .section { padding-block:clamp(78px,7vw,112px); }
body.city-page main .section--soft, body.state-page main .section--soft { background:#f8f7f4; }
body.city-page .city-priorities .planning-card, body.city-page .city-local-fit article, body.city-page .size-card, body.state-page .state-city-card, body.state-page .state-plan-card { border-radius:22px; border-color:#e2e5ea; box-shadow:0 14px 40px rgba(16,24,40,.065); }
body.city-page .inventory-strip, body.state-page .inventory-strip { background:#fff; }
body.city-page .inventory-grid, body.state-page .inventory-grid { gap:20px; }
body.city-page .inventory-card, body.state-page .inventory-card, body.inventory-page .inventory-card { border-radius:22px; border:1px solid #e3e6eb; box-shadow:0 14px 42px rgba(16,24,40,.075); }
body.city-page .city-resources a, body.city-page .nearby-markets a, body.state-page .state-city-grid a { transition:transform .2s ease,background .2s ease; }
body.city-page .city-resources a:hover, body.city-page .nearby-markets a:hover, body.state-page .state-city-grid a:hover { transform:translateY(-3px); }
body.locations-page .state-directory-card, body.locations-page .region-card { border-radius:22px; box-shadow:0 14px 42px rgba(16,24,40,.07); }
body.inventory-page .inventory-controls { border-radius:22px; box-shadow:0 18px 50px rgba(16,24,40,.08); }
body.inventory-page .inventory-grid-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body.inventory-page .inventory-card-image { aspect-ratio:1.12/1; }
body.product-page .product-gallery, body.product-page .product-summary-card, body.product-page .product-spec-card { border-radius:24px; }
body.premium-site .launch-cta { background:linear-gradient(90deg,#f04454 0%,#d71938 52%,#b70d2a 100%); }
body.premium-site .site-footer { background:#05142e; }
body.premium-site .footer-refined-contact address, body.premium-site .footer-refined-contact span { color:#b8c5da; }
body.premium-site .mobile-sticky-call { background:linear-gradient(135deg,var(--premium-accent),var(--premium-accent-deep)); }

@media (max-width:1180px) {
  .premium-stock-grid { grid-template-columns:repeat(3,1fr); }
  .premium-concept-grid { grid-template-columns:repeat(2,1fr); }
  .premium-concept-grid a:nth-child(2n) { border-right:0; }
  .premium-concept-grid a:nth-child(4n) { border-right:0; }
  .premium-concept-grid a:nth-child(n+5) { border-bottom:1px solid rgba(255,255,255,.12); }
  .premium-concept-grid a:nth-child(n+7) { border-bottom:0; }
  .premium-national-grid { grid-template-columns:1fr 1fr; gap:45px; }
}
@media (max-width:1040px) {
  .premium-review-card { flex-basis:calc((100% - 22px)/2); }
  body.premium-site .brand { width:230px; }
  .gst-hero { min-height:800px; }
  .gst-hero-inner { min-height:800px; grid-template-columns:1fr; padding:78px 0 210px; }
  .gst-featured-stock { display:none; }
  .gst-hero h1 { max-width:680px; }
  .gst-proof-card { padding-inline:18px; }
  .gst-proof-card > div { padding-inline:18px; }
  .premium-feature-card { grid-template-columns:170px 1fr; }
  .premium-type-grid { grid-template-columns:1fr 1fr; }
  .premium-type-card--food { grid-column:1/-1; min-height:470px; }
  .premium-operation-grid, .premium-seo-grid, .premium-faq-grid { grid-template-columns:1fr; gap:48px; }
  .premium-operation-media { min-height:520px; }
  .premium-operation-media > img { min-height:520px; }
  .premium-seo-title { position:static; }
  .premium-national-grid { grid-template-columns:1fr; }
  .premium-final-cta-inner { grid-template-columns:1fr 1fr; }
  .premium-final-cta-inner > p { display:none; }
  body.inventory-page .inventory-grid-catalog { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:780px) {
  body.premium-site .shell { width:min(calc(100% - 30px), 1380px); }
  body.premium-site .utility-message { max-width:72vw; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .gst-hero { min-height:750px; }
  .gst-hero-media img { object-position:69% 50%; }
  .gst-hero-shade { background:linear-gradient(90deg,rgba(4,13,29,.96),rgba(5,16,34,.67)),linear-gradient(0deg,rgba(4,13,29,.62),transparent 45%); }
  .gst-hero-inner { min-height:750px; padding:64px 0 250px; align-items:start; }
  .gst-hero h1 { margin-top:18px; font-size:clamp(2.75rem,13vw,4.2rem); line-height:.93; }
  .gst-hero-copy > p { font-size:.98rem; }
  .gst-hero-actions { flex-direction:column; align-items:stretch; }
  .gst-button { width:100%; }
  .gst-hero-mini-proof { gap:10px; flex-direction:column; }
  .gst-proof-wrap { bottom:22px; }
  .gst-proof-card { grid-template-columns:repeat(2,1fr); min-height:194px; padding:14px; border-radius:20px; }
  .gst-proof-card > div { padding:12px 14px; border-right:1px solid #e7e9ee; border-bottom:1px solid #e7e9ee; }
  .gst-proof-card > div:nth-child(2n) { border-right:0; }
  .gst-proof-card > div:nth-child(n+3) { border-bottom:0; }
  .gst-proof-card strong { font-size:1.65rem; }
  .gst-proof-card p { font-size:.72rem; }
  .gst-trust-track { justify-content:flex-start; overflow:auto; scrollbar-width:none; }
  .premium-section { padding:76px 0; }
  .premium-centered-heading { margin-bottom:34px; text-align:left; }
  .premium-centered-heading h2, .premium-split-heading h2, .premium-operation-copy h2, .premium-seo-title h2, .premium-faq-grid h2 { font-size:clamp(2.15rem,10vw,3.15rem); }
  .premium-feature-grid { grid-template-columns:1fr; }
  .premium-review-card { flex-basis:100%; min-height:330px; }
  .premium-review-controls { justify-content:center; }
  .premium-feature-card { grid-template-columns:1fr; min-height:0; }
  .premium-feature-icon { min-height:180px; }
  .premium-feature-card > div:last-child { padding:28px 24px; }
  .premium-split-heading { grid-template-columns:1fr; gap:22px; }
  .premium-type-grid { grid-template-columns:1fr; }
  .premium-type-card--food { grid-column:auto; }
  .premium-type-card { min-height:390px; }
  .premium-stock-grid { grid-template-columns:1fr; }
  .premium-stock-image { aspect-ratio:1.25/1; }
  .premium-operation-media, .premium-operation-media > img { min-height:430px; }
  .premium-concept-grid { grid-template-columns:1fr; }
  .premium-concept-grid a { min-height:200px; border-right:0 !important; border-bottom:1px solid rgba(255,255,255,.12) !important; }
  .premium-concept-grid a:last-child { border-bottom:0 !important; }
  .premium-concept-grid strong { margin-top:25px; }
  .premium-review-heading { grid-template-columns:1fr; }
  .premium-rating { width:100%; }
  .premium-city-results { grid-template-columns:1fr; max-height:390px; }
  .premium-final-cta-inner { grid-template-columns:1fr; }
  .premium-final-cta-inner > div:last-child { align-items:stretch; }
  body.inventory-page .inventory-grid-catalog { grid-template-columns:1fr; }
  body.city-page .city-hero h1, body.state-page .state-hero h1, body.locations-page .locations-hero h1, body.generic-page .page-hero h1, body.inventory-page .page-hero h1 { font-size:clamp(2.55rem,12vw,4rem); }
}
@media (prefers-reduced-motion:reduce) {
  .premium-feature-card, .premium-stock-card, .premium-type-card::before, .gst-button, .premium-review-track, .premium-review-controls button { transition:none !important; }
}

.directory-search-panel { max-width:760px; margin-top:32px; padding:20px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.10); backdrop-filter:blur(12px); }
.directory-search-panel > label { display:block; margin-bottom:9px; color:#fff; font-size:.86rem; font-weight:850; }
.directory-search-panel > div { display:flex; align-items:center; gap:12px; padding:8px 12px; border-radius:11px; background:#fff; }
.directory-search-panel input { flex:1; height:42px; border:0; outline:0; }
.directory-search-panel span { color:#7a8494; font-size:.72rem; }
@media(max-width:700px){.directory-search-panel > div{display:block}.directory-search-panel span{display:block;padding:0 0 8px}}

/* Hero contrast safeguards for localized pages. */
body.city-page .city-hero .button--outline,
body.state-page .state-hero .button--outline,
body.locations-page .locations-hero .button--outline,
body.generic-page .page-hero .button--outline,
body.inventory-page .page-hero .button--outline {
  color:#fff !important;
  border-color:rgba(255,255,255,.72) !important;
  background:rgba(4,14,31,.16) !important;
}
body.city-page .city-hero .button--outline:hover,
body.state-page .state-hero .button--outline:hover,
body.locations-page .locations-hero .button--outline:hover,
body.generic-page .page-hero .button--outline:hover,
body.inventory-page .page-hero .button--outline:hover {
  color:var(--premium-ink) !important;
  background:#fff !important;
}
