/* 3ON Public UI/UX Refresh v2 - intentionally loaded after public.css */
:root {
  --threeon-gold: #d9b85f;
  --threeon-gold-soft: #f0d98d;
  --threeon-ink: #070707;
  --threeon-surface: #101010;
  --threeon-surface-2: #171717;
  --threeon-line: rgba(255,255,255,.10);
  --threeon-muted: #b8b8b8;
  --threeon-max: 1240px;
  --threeon-radius: 22px;
  --threeon-shadow: 0 24px 70px rgba(0,0,0,.34);
}

html { scroll-behavior: smooth; }
body {
  background: var(--threeon-ink);
  color: #f7f7f7;
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: optimizeLegibility;
}

::selection { background: rgba(217,184,95,.28); color: #fff; }

.navbar {
  width: min(calc(100% - 32px), var(--threeon-max));
  left: 50%;
  transform: translateX(-50%);
  top: 14px;
  border: 1px solid transparent;
  border-radius: 20px;
  padding-left: 20px;
  padding-right: 14px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, backdrop-filter .22s ease;
}
.home .navbar:not(.scrolled) {
  background: rgba(8,8,8,.18);
  border-color: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.navbar.scrolled,
body:not(.home) .navbar {
  background: rgba(8,8,8,.88);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 16px 45px rgba(0,0,0,.30);
  backdrop-filter: blur(18px);
}
.nav-links { gap: 4px; }
.nav-links a:not(.nav-cta) {
  border-radius: 11px;
  padding: 11px 13px;
}
.nav-links a:not(.nav-cta):hover,
.nav-links a:not(.nav-cta).active { background: rgba(255,255,255,.055); }
.nav-cta { border-radius: 12px !important; }

.home-hero {
  min-height: 840px;
  padding: 150px max(24px, calc((100vw - var(--threeon-max))/2)) 90px;
  isolation: isolate;
}
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 33%, rgba(217,184,95,.16), transparent 30%),
    radial-gradient(circle at 22% 16%, rgba(255,255,255,.05), transparent 25%),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 38%);
  z-index: 0;
}
.home-hero-content {
  width: 100%;
  max-width: var(--threeon-max);
  margin: 0 auto;
  gap: clamp(40px, 7vw, 110px);
  position: relative;
  z-index: 2;
}
.home-hero-left { max-width: 720px; }
.home-hero-eyebrow {
  width: fit-content;
  padding: 9px 13px;
  border: 1px solid rgba(217,184,95,.24);
  border-radius: 999px;
  background: rgba(217,184,95,.055);
  letter-spacing: .09em;
}
.home-hero-title {
  letter-spacing: -.055em;
  line-height: .88;
  max-width: 760px;
  text-wrap: balance;
}
.home-hero-desc {
  max-width: 660px;
  color: #c8c8c8;
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.85;
}
.home-hero-buttons { gap: 12px; }
.btn-gold, .btn-outline {
  min-height: 50px;
  border-radius: 14px;
  padding-inline: 20px;
  box-shadow: none;
}
.btn-gold { background: linear-gradient(135deg, var(--threeon-gold-soft), var(--threeon-gold)); color: #090909; }
.btn-outline { background: rgba(255,255,255,.025); border-color: rgba(255,255,255,.16); }
.home-hero-stats {
  margin-top: 42px;
  padding-top: 24px;
  border-top: 1px solid var(--threeon-line);
  gap: clamp(22px, 4vw, 46px);
}
.home-hero-stat .number { color: var(--threeon-gold-soft); }
.home-hero-right { filter: drop-shadow(0 36px 70px rgba(0,0,0,.34)); }
.home-hero-center-badge {
  box-shadow: 0 0 0 1px rgba(217,184,95,.20), 0 34px 80px rgba(0,0,0,.42);
}

section:not(.home-hero) { scroll-margin-top: 112px; }
.home-section, .section { padding-top: clamp(72px, 8vw, 116px); padding-bottom: clamp(72px, 8vw, 116px); }
.home-section-header, .section-header { max-width: 760px; }

.home-division-card,
.home-blog-card,
.home-spotlight-card,
.blog-card,
.blog-featured,
.blog-sidebar > *,
.article-card,
.division-card {
  border-color: var(--threeon-line) !important;
  border-radius: var(--threeon-radius) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.014)) !important;
  box-shadow: none;
  overflow: hidden;
}
.home-division-card:hover,
.home-blog-card:hover,
.home-spotlight-card:hover,
.blog-card:hover,
.division-card:hover {
  transform: translateY(-5px);
  border-color: rgba(217,184,95,.28) !important;
  box-shadow: var(--threeon-shadow);
}
.home-image-wrap img,
.blog-card img,
.blog-featured img { transition: transform .55s cubic-bezier(.2,.75,.25,1); }
.home-blog-card:hover .home-image-wrap img,
.blog-card:hover img,
.blog-featured:hover img { transform: scale(1.025); }

.blog-hero { padding-top: 175px !important; }
.blog-featured { box-shadow: var(--threeon-shadow); }
.blog-content, .blog-layout, .blog-grid, .blog-page-grid { max-width: var(--threeon-max); margin-inline: auto; }
.blog-article-content, .article-body { font-size: 1.06rem; line-height: 1.88; }
.blog-article-content p, .article-body p { max-width: 74ch; }
.blog-article-content h2, .article-body h2 { letter-spacing: -.025em; margin-top: 2.25em; }
.blog-article-content a, .article-body a { text-underline-offset: 3px; }

.footer { border-top: 1px solid var(--threeon-line); }
.footer-grid, .footer-bottom { max-width: var(--threeon-max); margin-left: auto; margin-right: auto; }
.footer-link-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-align: left;
  opacity: .78;
}
.footer-link-button:hover, .footer-link-button:focus-visible { opacity: 1; color: var(--threeon-gold-soft); }

.analytics-consent {
  width: min(920px, calc(100% - 28px));
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  bottom: 18px !important;
  border: 1px solid rgba(217,184,95,.22) !important;
  border-radius: 18px !important;
  background: rgba(12,12,12,.94) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 22px 80px rgba(0,0,0,.50) !important;
}
.analytics-consent__actions button,
.analytics-consent__actions a { border-radius: 11px !important; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid rgba(240,217,141,.85) !important;
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .navbar { width: calc(100% - 22px); top: 10px; }
  .home-hero { min-height: auto; padding-top: 135px; }
  .home-hero-content { gap: 56px; }
}

@media (max-width: 720px) {
  .navbar { border-radius: 16px; }
  .home-hero { padding-left: 20px; padding-right: 20px; padding-bottom: 68px; }
  .home-hero-title { font-size: clamp(3.5rem, 18vw, 5.7rem); }
  .home-hero-buttons { display: grid; grid-template-columns: 1fr; }
  .home-hero-buttons a { justify-content: center; }
  .home-hero-stats { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
  .home-hero-stat .number { font-size: 1.55rem; }
  .home-hero-stat .label { font-size: .68rem; }
  .analytics-consent { bottom: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ============================================================
   SmartersWeb 2026-09-06 Editorial + Conversion System
   Loaded after the legacy theme so the production redesign can
   remain upgrade-safe without rewriting the original stylesheet.
============================================================ */

/* Shared editorial primitives */
.editorial-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--threeon-line);
  background:
    radial-gradient(circle at 80% 18%, rgba(217,184,95,.13), transparent 30%),
    linear-gradient(180deg, #090909 0%, #070707 100%);
}
.editorial-hero-grid,
.spotlight-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: clamp(38px, 7vw, 92px);
  align-items: center;
}
.editorial-hero h1 {
  max-width: 920px;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.editorial-hero p { max-width: 760px; }
.editorial-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.editorial-card-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px 14px;
  color:#9f9f9f;
  font-family:'Raleway',sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.blog-pill {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  border:1px solid rgba(217,184,95,.30);
  border-radius:999px;
  padding:6px 11px;
  background:rgba(217,184,95,.07);
  color:var(--threeon-gold-soft) !important;
  font-weight:800;
  text-decoration:none;
}
.editorial-text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--threeon-gold-soft);
  text-decoration:none;
  font-weight:800;
  margin-top:auto;
}
.editorial-text-link span { transition:transform .2s ease; }
.editorial-text-link:hover span { transform:translateX(4px); }

/* Homepage */
.home-hero {
  background:
    radial-gradient(circle at 70% 24%, rgba(217,184,95,.10), transparent 28%),
    linear-gradient(135deg, #050505 0%, #090909 52%, #050505 100%);
}
.home-hero-title { font-size:clamp(4.1rem, 8.3vw, 8.2rem); }
.home-hero-title span { color:var(--threeon-gold-soft); }
.home-editorial-visual {
  position:relative;
  margin:0;
  border:1px solid rgba(217,184,95,.25);
  border-radius:28px;
  overflow:hidden;
  background:#0a0a0a;
  box-shadow:0 38px 100px rgba(0,0,0,.48);
}
.home-editorial-visual::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.78) 100%);
}
.home-editorial-visual img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
.home-editorial-visual figcaption {
  position:absolute;
  z-index:2;
  left:18px; right:18px; bottom:18px;
  display:flex; flex-wrap:wrap; gap:8px;
}
.home-editorial-visual figcaption span {
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(8,8,8,.70);
  backdrop-filter:blur(8px);
  padding:7px 10px;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-trust-row .number { min-width:58px; }
.home-operating-system {
  border-top:1px solid var(--threeon-line);
  border-bottom:1px solid var(--threeon-line);
  background:linear-gradient(180deg,#0c0c0c,#080808);
}
.operating-flow-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.operating-flow-grid article {
  position:relative;
  min-height:250px;
  border:1px solid var(--threeon-line);
  border-radius:20px;
  padding:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.operating-flow-grid article > span {
  display:block;
  color:var(--threeon-gold-soft);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.16em;
  margin-bottom:44px;
}
.operating-flow-grid article h3 { font-size:1.35rem; margin-bottom:12px; }
.operating-flow-grid article p { color:var(--threeon-muted); line-height:1.7; }
.home-card-fallback { display:none; }
.home-content-card img { aspect-ratio:16/9; height:auto !important; object-fit:cover; }
.home-content-card { display:flex; flex-direction:column; height:100%; }
.home-content-card-body { display:flex; flex:1; flex-direction:column; }
.home-content-card .sw-link { margin-top:auto; }

/* Blog archive */
.blog-index-hero { padding-bottom:82px !important; }
.blog-hero-search {
  border:1px solid rgba(217,184,95,.22);
  border-radius:22px;
  padding:26px;
  background:rgba(255,255,255,.025);
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}
.blog-hero-search label {
  display:block;
  margin-bottom:12px;
  color:#f4f4f4;
  font-weight:800;
}
.blog-search-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
.blog-search-row input {
  min-width:0;
  min-height:52px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  background:#0d0d0d;
  color:#fff;
  padding:0 15px;
}
.blog-hero-search > p { margin:14px 0 0; color:#999; font-size:.82rem; line-height:1.5; }
.editorial-feature-card { grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); }
.editorial-feature-card .blog-featured-image-link,
.editorial-feature-card .blog-featured-image-link img { min-height:430px; }
.editorial-feature-card .blog-featured-body { padding:clamp(28px,4vw,48px); }
.editorial-feature-card .blog-featured-body h2 { text-transform:none; letter-spacing:-.035em; text-wrap:balance; }
.editorial-feature-card .blog-featured-body p { font-size:1rem; }
.editorial-grid { align-items:stretch; }
.editorial-card {
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.editorial-card .blog-card-image {
  height:auto;
  aspect-ratio:16/9;
}
.editorial-card .blog-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.editorial-card .blog-card-body h2 {
  font-size:clamp(1.13rem,1.6vw,1.38rem);
  line-height:1.18;
  letter-spacing:-.018em;
  text-transform:none;
  text-wrap:balance;
}
.editorial-card .blog-card-body p { color:#adadad; }
.blog-page-heading { margin:18px 0 26px; }
.blog-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--threeon-line);
}
.blog-pagination span { color:#999; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.editorial-sidebar { gap:18px; }
.editorial-desk-card {
  border-color:rgba(217,184,95,.32) !important;
  background:linear-gradient(145deg,rgba(217,184,95,.085),rgba(255,255,255,.018)) !important;
}
.editorial-category-list { display:grid; }
.editorial-category-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  text-decoration:none;
  color:#d4d4d4;
}
.editorial-category-list a:last-child { border-bottom:0; }
.editorial-category-list a:hover { color:var(--threeon-gold-soft); }
.editorial-category-list strong { color:var(--threeon-gold-soft); font-size:.75rem; }
.subscribe-card { position:relative; overflow:hidden; }
.subscribe-card::before {
  content:"";
  position:absolute;
  width:180px; height:180px; border-radius:50%;
  right:-90px; top:-90px;
  background:rgba(217,184,95,.10);
}
.blog-featured-image,
.sw-featured-image.blog-featured-image {
  width:100%;
  aspect-ratio:16/9;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover;
  border-radius:20px;
}
.blog-article-main { min-width:0; }
.blog-article-body { color:#dadada; }
.blog-article-body > * { max-width:74ch; }
.blog-article-body > figure,
.blog-article-body > img,
.blog-article-body > .wide { max-width:100%; }
.blog-article-body h2 { font-size:clamp(1.65rem,3vw,2.35rem); text-transform:none; letter-spacing:-.03em; }
.blog-article-body h3 { text-transform:none; letter-spacing:-.015em; }
.blog-article-body ul,
.blog-article-body ol { max-width:72ch; padding-left:1.4rem; color:#d0d0d0; line-height:1.8; }

/* Spotlight */
.spotlight-hero-image {
  margin:0;
  border:1px solid rgba(217,184,95,.24);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--threeon-shadow);
}
.spotlight-hero-image img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.spotlight-standard-section { background:#0a0a0a; }
.spotlight-standard-heading { max-width:800px; }
.spotlight-principles-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.spotlight-principles-grid .sw-card { padding:26px; min-height:225px; }
.spotlight-number { display:block; color:var(--threeon-gold-soft); font-weight:900; letter-spacing:.14em; margin-bottom:38px; }
.spotlight-principles-grid h3 { font-size:1.25rem; }
.spotlight-principles-grid p { color:#aaa; line-height:1.7; }
.spotlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.spotlight-card {
  display:flex;
  flex-direction:column;
  border:1px solid var(--threeon-line);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.012));
}
.spotlight-card-image { display:block; aspect-ratio:16/9; overflow:hidden; background:#0a0a0a; }
.spotlight-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.spotlight-card:hover img { transform:scale(1.025); }
.spotlight-card-body { display:flex; flex:1; flex-direction:column; padding:24px; }
.spotlight-card-body h2 { font-size:1.3rem; line-height:1.18; margin:12px 0; }
.spotlight-card-body h2 a { color:#fff; text-decoration:none; }
.spotlight-card-body p { color:#aaa; line-height:1.7; }
.spotlight-empty {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border:1px solid rgba(217,184,95,.25);
  border-radius:24px;
  padding:clamp(28px,5vw,52px);
  background:linear-gradient(120deg,rgba(217,184,95,.08),rgba(255,255,255,.018));
}
.spotlight-empty > div { max-width:760px; }
.spotlight-empty h2 { font-size:clamp(1.8rem,3vw,2.8rem); margin:10px 0; }
.spotlight-empty p { color:#bbb; line-height:1.75; }
.spotlight-pitch-section { background:#090909; }
.spotlight-checklist ul { margin:0 0 24px; padding-left:1.2rem; display:grid; gap:10px; color:#c3c3c3; }
.spotlight-single-meta { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.spotlight-single-meta span { border:1px solid rgba(255,255,255,.11); border-radius:999px; padding:7px 10px; color:#bbb; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.spotlight-article-shell { max-width:980px; }
.spotlight-featured-wrap { margin:0 0 38px; border-radius:22px; overflow:hidden; border:1px solid var(--threeon-line); }
.spotlight-featured-wrap img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; display:block; }
.spotlight-article-body { font-size:1.05rem; line-height:1.88; color:#d7d7d7; }
.spotlight-article-body h2 { margin-top:2.1em; letter-spacing:-.025em; }

/* Divisions */
.division-index-card { position:relative; padding-top:0 !important; overflow:hidden; }
.division-index-image { margin:0 0 22px; aspect-ratio:16/9; overflow:hidden; background:#080808; }
.division-index-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.division-index-card:hover .division-index-image img { transform:scale(1.025); }
.division-index-icon { margin-left:22px; }
.division-index-card .service-title,
.division-index-card .service-desc,
.division-index-card .service-tags { margin-left:22px; margin-right:22px; }
.division-index-card .service-tags { margin-bottom:22px; }
.division-ecosystem-flow { background:#0b0b0b; border-top:1px solid var(--threeon-line); }
.division-featured-wrap { border-radius:24px; overflow:hidden; border:1px solid var(--threeon-line); }
.division-featured-image { width:100%; aspect-ratio:16/9; height:auto !important; object-fit:cover; }
.division-process-section { margin-top:52px; }
.division-process-section > h2 { max-width:760px; }
.division-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:26px; }
.division-process-card {
  min-height:240px;
  padding:25px;
  border:1px solid var(--threeon-line);
  border-radius:19px;
  background:#0d0d0d;
}
.division-process-card > span { display:block; color:var(--threeon-gold-soft); font-weight:900; letter-spacing:.15em; margin-bottom:40px; }
.division-process-card h3 { font-size:1.25rem; margin-bottom:10px; }
.division-process-card p { color:#aaa; line-height:1.7; }
.division-focus-card { min-height:190px; }

/* Contact / lead intake */
.contact-route-summary {
  border:1px solid rgba(217,184,95,.22);
  border-radius:22px;
  padding:26px;
  background:rgba(255,255,255,.025);
}
.contact-route-kicker { display:block; color:var(--threeon-gold-soft); font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; }
.contact-route-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.contact-route-list span { border-bottom:1px solid rgba(255,255,255,.08); padding:8px 0; color:#d0d0d0; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }
.contact-form-panel { min-width:0; }
.contact-intro { color:#aaa; max-width:690px; }
.contact-intake-form { margin-top:28px; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-intake-form label { display:grid; gap:8px; color:#d6d6d6; font-size:.78rem; font-weight:800; letter-spacing:.04em; }
.contact-intake-form input,
.contact-intake-form select,
.contact-intake-form textarea {
  width:100%;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:#0c0c0c;
  color:#fff;
  padding:13px 14px;
  font:inherit;
}
.contact-intake-form input,
.contact-intake-form select { min-height:52px; }
.contact-intake-form textarea { resize:vertical; line-height:1.6; }
.form-optional { color:#777; font-weight:500; }
.contact-submit-row { display:flex; align-items:center; gap:20px; margin-top:4px; }
.contact-submit-row p { margin:0; color:#818181; font-size:.78rem; line-height:1.5; max-width:430px; }
.contact-sidebar { position:sticky; top:110px; display:grid; gap:16px; }
.contact-sidebar-card { padding:24px; }
.contact-sidebar-card h3 { margin:10px 0; }
.contact-sidebar-card p,
.contact-sidebar-card li { color:#aaa; line-height:1.65; }
.contact-sidebar-card ul { padding-left:1.15rem; }

/* General content hierarchy */
.sw-section-title,
.section-title { text-wrap:balance; }
.sw-card p { color:#aaa; }
.sw-alert { border-radius:14px; }

@media (max-width: 1100px) {
  .editorial-hero-grid,
  .spotlight-hero-grid,
  .contact-layout { grid-template-columns:1fr; }
  .editorial-hero-grid .blog-hero-search,
  .contact-route-summary { max-width:760px; }
  .operating-flow-grid,
  .division-process-grid,
  .spotlight-principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .spotlight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-sidebar { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .editorial-feature-card { grid-template-columns:1fr; }
  .editorial-feature-card .blog-featured-image-link,
  .editorial-feature-card .blog-featured-image-link img { min-height:0; aspect-ratio:16/9; }
  .contact-form-grid { grid-template-columns:1fr; }
  .contact-sidebar { grid-template-columns:1fr; }
  .spotlight-empty { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 620px) {
  .home-hero-title { font-size:clamp(3.3rem,16vw,5.4rem); }
  .home-hero-stats { grid-template-columns:1fr 1fr 1fr; }
  .home-editorial-visual { border-radius:18px; }
  .operating-flow-grid,
  .division-process-grid,
  .spotlight-principles-grid,
  .spotlight-grid { grid-template-columns:1fr; }
  .operating-flow-grid article,
  .division-process-card { min-height:0; }
  .operating-flow-grid article > span,
  .division-process-card > span,
  .spotlight-number { margin-bottom:22px; }
  .blog-search-row { grid-template-columns:1fr; }
  .blog-search-row button { width:100%; }
  .blog-pagination { align-items:stretch; flex-direction:column; }
  .blog-pagination a { justify-content:center; }
  .contact-route-list { grid-template-columns:1fr; }
  .contact-submit-row { align-items:flex-start; flex-direction:column; }
}
.blog-search-form { max-width:760px; margin:0 auto 2rem; }
.blog-card-image { aspect-ratio:16/9; height:auto !important; }
.blog-card-body h2 { text-transform:none !important; letter-spacing:-.015em; }
.blog-card { display:flex; flex-direction:column; }
.blog-card-body { display:flex; flex:1; flex-direction:column; }
.blog-card-button { margin-top:auto; justify-content:center; }

/* ============================================================
   SmartersWeb Visual Correction v2.1 - 2026-09-06
   Compact professional hierarchy + controlled editorial imagery.
   These overrides intentionally load last.
============================================================ */

:root {
  --threeon-max: 1180px;
  --threeon-radius: 16px;
}

/* Global type scale: professional site proportions, not poster scale */
.section-title,
.sw-section-title {
  font-size: clamp(1.75rem, 2.9vw, 2.45rem) !important;
  line-height: 1.06 !important;
  letter-spacing: .015em !important;
}

.sw-hero h1,
.editorial-hero h1,
.blog-index-hero h1,
.blog-archive-hero h1,
.divisions-hero h1,
.blog-single-hero h1 {
  font-size: clamp(2.1rem, 3.8vw, 3.25rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}

.sw-hero p,
.editorial-hero p {
  font-size: clamp(.96rem, 1.2vw, 1.05rem) !important;
  line-height: 1.72 !important;
}

.section-body,
.sw-body,
.blog-article-content,
.article-body,
.blog-article-body,
.spotlight-article-body {
  font-size: 1rem !important;
  line-height: 1.76 !important;
}

/* Homepage hero */
.home-hero {
  min-height: 620px !important;
  padding-top: 126px !important;
  padding-bottom: 66px !important;
}
.home-hero-content {
  gap: clamp(34px, 5vw, 66px) !important;
  align-items: center;
}
.home-hero-left { max-width: 620px !important; }
.home-hero-title {
  font-size: clamp(2.65rem, 4.7vw, 4.1rem) !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
  max-width: 650px !important;
  margin-bottom: 20px !important;
}
.home-hero-desc {
  max-width: 585px !important;
  font-size: clamp(.96rem, 1.15vw, 1.05rem) !important;
  line-height: 1.72 !important;
  margin-bottom: 28px !important;
}
.home-hero-eyebrow {
  padding: 7px 11px !important;
  font-size: .69rem !important;
}
.home-hero-right {
  width: 100%;
  max-width: 520px;
  justify-self: end;
  filter: none !important;
}
.home-editorial-visual {
  border-radius: 16px !important;
  border-color: rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.32) !important;
}
.home-editorial-visual img {
  width: 100%;
  height: auto;
  max-height: 315px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 44%;
}
.home-editorial-visual::after { background: linear-gradient(180deg, transparent 72%, rgba(0,0,0,.32) 100%) !important; }
.home-editorial-visual figcaption { display: none !important; }
.home-hero-stats { margin-top: 30px !important; padding-top: 18px !important; }
.home-hero-stat .number { font-size: 1.35rem !important; }
.home-hero-stat .label { font-size: .66rem !important; }

/* Compact buttons/navigation */
.btn-gold,
.btn-outline,
.sw-btn-primary,
.sw-btn-secondary {
  min-height: 44px !important;
  padding: 11px 18px !important;
  border-radius: 10px !important;
  font-size: .7rem !important;
  letter-spacing: .11em !important;
}
.navbar { top: 10px !important; border-radius: 14px !important; }
.nav-links a:not(.nav-cta) { padding: 9px 11px !important; font-size: .76rem !important; }
.nav-cta { min-height: 40px !important; }

/* Sections/cards */
.sw-section { padding-top: 72px !important; padding-bottom: 72px !important; }
.home-section,
.section { padding-top: 72px !important; padding-bottom: 72px !important; }
.sw-card,
.about-card,
.home-division-card,
.home-blog-card,
.home-spotlight-card,
.blog-card,
.division-card,
.spotlight-card { border-radius: 16px !important; }
.sw-card h2,
.sw-card h3,
.about-card .card-title { line-height: 1.18 !important; }
.operating-flow-grid article,
.division-process-card,
.spotlight-principles-grid .sw-card {
  min-height: 0 !important;
  padding: 22px !important;
}
.operating-flow-grid article > span,
.division-process-card > span,
.spotlight-number { margin-bottom: 22px !important; }
.operating-flow-grid article h3,
.division-process-card h3,
.spotlight-principles-grid h3 { font-size: 1.08rem !important; }

/* Blog archive - reduce image and headline dominance */
.blog-hero { padding-top: 138px !important; }
.blog-index-hero { padding-bottom: 58px !important; }
.editorial-hero-grid,
.spotlight-hero-grid {
  gap: clamp(28px, 5vw, 58px) !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr) !important;
}
.blog-hero-search { padding: 20px !important; border-radius: 15px !important; }
.blog-search-row input { min-height: 46px !important; }
.editorial-feature-card,
.blog-featured-card {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
  border-radius: 16px !important;
}
.editorial-feature-card .blog-featured-image-link,
.editorial-feature-card .blog-featured-image-link img,
.blog-featured-image-link,
.blog-featured-image-link img {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 330px !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center 45% !important;
}
.editorial-feature-card .blog-featured-body,
.blog-featured-body { padding: 26px !important; }
.editorial-feature-card .blog-featured-body h2,
.blog-featured-body h2 {
  font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
  line-height: 1.08 !important;
  margin: 9px 0 12px !important;
}
.editorial-feature-card .blog-featured-body p,
.blog-featured-body p {
  font-size: .94rem !important;
  line-height: 1.62 !important;
}
.editorial-card .blog-card-image,
.blog-card-image {
  height: 210px !important;
  aspect-ratio: auto !important;
  overflow: hidden;
}
.editorial-card .blog-card-image img,
.blog-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 44% !important;
}
.editorial-card .blog-card-body,
.blog-card-body { padding: 20px !important; }
.editorial-card .blog-card-body h2,
.blog-card-body h2 {
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  margin: 10px 0 !important;
}
.editorial-card .blog-card-body p,
.blog-card-body p {
  font-size: .9rem !important;
  line-height: 1.58 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.editorial-card-meta { font-size: .64rem !important; gap: 7px 10px !important; }
.blog-pill { min-height: 27px !important; padding: 5px 9px !important; }

/* Article pages */
.blog-featured-image,
.sw-featured-image.blog-featured-image,
.spotlight-featured-wrap img,
.division-featured-image {
  max-height: 500px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center 44% !important;
}
.blog-article-body h2,
.blog-article-content h2,
.article-body h2,
.spotlight-article-body h2 {
  font-size: clamp(1.45rem, 2.2vw, 1.95rem) !important;
  line-height: 1.18 !important;
}
.blog-article-body h3,
.blog-article-content h3,
.article-body h3,
.spotlight-article-body h3 {
  font-size: clamp(1.12rem, 1.7vw, 1.38rem) !important;
}

/* Spotlight */
.spotlight-hero-image { border-radius: 16px !important; box-shadow: 0 18px 45px rgba(0,0,0,.28) !important; }
.spotlight-hero-image img { max-height: 360px !important; object-position: center 42% !important; }
.spotlight-card-image { height: 205px !important; aspect-ratio: auto !important; }
.spotlight-card-body { padding: 20px !important; }
.spotlight-card-body h2 { font-size: 1.1rem !important; }
.spotlight-empty h2 { font-size: clamp(1.45rem, 2.4vw, 2rem) !important; }

/* Divisions: photos support the card rather than becoming the card */
.division-index-image {
  height: 190px !important;
  aspect-ratio: auto !important;
  margin-bottom: 18px !important;
}
.division-index-image img { object-position: center 45% !important; }
.division-index-card .service-title { font-size: 1.2rem !important; }
.division-index-icon { transform: scale(.88); transform-origin: left center; }
.division-featured-wrap { max-width: 900px; margin-inline: auto; border-radius: 16px !important; }
.division-featured-image { max-height: 430px !important; }

/* Contact */
.contact-route-summary,
.blog-sidebar-card,
.contact-sidebar-card { border-radius: 15px !important; }
.contact-form-grid { gap: 13px !important; }
.contact-intake-form input,
.contact-intake-form select { min-height: 46px !important; }
.contact-intake-form input,
.contact-intake-form select,
.contact-intake-form textarea { border-radius: 10px !important; padding: 11px 12px !important; }

/* Tablet */
@media (max-width: 1100px) {
  .home-hero { min-height: auto !important; }
  .home-hero-right { max-width: 620px; justify-self: start; }
  .editorial-hero-grid,
  .spotlight-hero-grid { grid-template-columns: 1fr !important; }
  .blog-hero-search { max-width: 680px; }
}

@media (max-width: 820px) {
  .home-hero { padding-top: 112px !important; padding-bottom: 54px !important; }
  .home-hero-title { font-size: clamp(2.45rem, 10vw, 3.65rem) !important; }
  .home-editorial-visual img { max-height: 300px; }
  .editorial-feature-card,
  .blog-featured-card { grid-template-columns: 1fr !important; }
  .editorial-feature-card .blog-featured-image-link,
  .editorial-feature-card .blog-featured-image-link img,
  .blog-featured-image-link,
  .blog-featured-image-link img { max-height: none !important; height: auto !important; aspect-ratio: 16 / 9 !important; }
  .editorial-card .blog-card-image,
  .blog-card-image,
  .spotlight-card-image,
  .division-index-image { height: auto !important; aspect-ratio: 16 / 9 !important; }
}

@media (max-width: 620px) {
  .sw-container { padding-left: 20px !important; padding-right: 20px !important; }
  .sw-hero h1,
  .editorial-hero h1,
  .blog-index-hero h1,
  .blog-archive-hero h1,
  .divisions-hero h1,
  .blog-single-hero h1 { font-size: clamp(2rem, 10.5vw, 2.85rem) !important; }
  .home-hero-title { font-size: clamp(2.25rem, 11.5vw, 3.15rem) !important; }
  .section-title,
  .sw-section-title { font-size: clamp(1.65rem, 8vw, 2.2rem) !important; }
  .home-hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .home-hero-stat .number { font-size: 1.12rem !important; }
  .home-hero-stat .label { font-size: .58rem !important; letter-spacing: .055em !important; }
  .sw-section,
  .home-section,
  .section { padding-top: 54px !important; padding-bottom: 54px !important; }
  .editorial-feature-card .blog-featured-body,
  .blog-featured-body,
  .editorial-card .blog-card-body,
  .blog-card-body,
  .spotlight-card-body { padding: 18px !important; }
}


/* SmartersWeb brand-focus pass 2026-09-06: restrained visuals, clearer card roles */

.service-card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--threeon-gold-soft, #d4af37);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.service-card-link span { transition: transform .2s ease; }
.service-card:hover .service-card-link span { transform: translateX(3px); }
.services-grid.divisions-grid .division-index-card {
  min-height: 270px !important;
  padding: 26px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)) !important;
}
.services-grid.divisions-grid .division-index-icon {
  margin-bottom: 26px !important;
  transform: none !important;
}
.services-grid.divisions-grid .service-title {
  font-size: 1.12rem !important;
  margin-bottom: 10px !important;
}
.services-grid.divisions-grid .service-desc {
  font-size: .9rem !important;
  line-height: 1.58 !important;
  color: #aaa !important;
}
.services-grid.divisions-grid .service-tags { margin-top: auto !important; padding-top: 20px !important; }
.home-card-grid .home-content-card { overflow: hidden !important; border-radius: 15px !important; }
.home-card-grid .home-image-wrap { height: 182px !important; aspect-ratio: auto !important; }
.home-card-grid .home-image-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 44% !important; }
.home-card-grid .home-content-card-body { padding: 19px !important; }
.home-card-grid .home-content-card-body h3 {
  font-size: 1.08rem !important;
  line-height: 1.22 !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.home-card-grid .home-content-card-body p {
  font-size: .88rem !important; line-height: 1.55 !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-grid.editorial-grid { align-items: stretch; }
.blog-grid.editorial-grid .blog-card-image { height: 184px !important; }
.blog-grid.editorial-grid .blog-card-body h2 {
  min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-grid.editorial-grid .blog-card-body p { -webkit-line-clamp: 2 !important; }
.blog-grid.editorial-grid .editorial-text-link { margin-top: auto !important; }
.about-cards { align-items: stretch; }
.about-card { min-height: 190px !important; }
.about-card .card-title { font-size: 1.03rem !important; }
.about-card .card-desc { font-size: .88rem !important; line-height: 1.58 !important; }
.contact-route-list { gap: 8px !important; }
.contact-route-list span { font-size: .76rem !important; }
@media (max-width: 820px) {
  .home-card-grid .home-image-wrap,
  .blog-grid.editorial-grid .blog-card-image { height: auto !important; aspect-ratio: 16 / 9 !important; }
  .services-grid.divisions-grid .division-index-card { min-height: 0 !important; }
}


/* ============================================================
   SmartersWeb Layout System v3.0 - 2026-09-06
   Corrects double-padding, section alignment, desktop rhythm,
   card hierarchy, and public editorial image presentation.
============================================================ */
:root {
  --threeon-max: 1320px;
  --threeon-gutter: clamp(20px, 3vw, 34px);
  --threeon-section-y: clamp(58px, 6vw, 84px);
  --threeon-card-gap: clamp(16px, 2vw, 24px);
}

/* One width system across the public site */
.sw-container,
.services-inner,
.mission-inner,
.footer-grid,
.footer-bottom {
  width: min(100%, var(--threeon-max)) !important;
  max-width: var(--threeon-max) !important;
  margin-inline: auto !important;
  padding-inline: var(--threeon-gutter) !important;
}

/* Homepage hero had section padding + legacy content padding stacked together. */
.home-hero {
  min-height: 0 !important;
  padding: 118px var(--threeon-gutter) 64px !important;
}
.home-hero-content {
  width: min(100%, var(--threeon-max)) !important;
  max-width: var(--threeon-max) !important;
  padding: 0 !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr) !important;
  gap: clamp(42px, 5vw, 72px) !important;
  align-items: center !important;
}
.home-hero-left { max-width: 650px !important; }
.home-hero-right { max-width: 610px !important; width: 100% !important; }
.home-editorial-visual img {
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-position: center 46% !important;
}
.home-hero-eyebrow { margin-bottom: 20px !important; }
.home-hero-title {
  font-size: clamp(2.7rem, 4.15vw, 4.05rem) !important;
  line-height: .98 !important;
  margin-bottom: 18px !important;
}
.home-hero-desc { margin-bottom: 24px !important; }
.home-hero-stats { margin-top: 26px !important; }

/* Home sections share the same outer shell and vertical rhythm. */
.about-section,
.home-blog-section,
.home-spotlight-section,
.home-faq-section,
.cta-section {
  width: min(100%, var(--threeon-max)) !important;
  max-width: var(--threeon-max) !important;
  margin-inline: auto !important;
  padding: var(--threeon-section-y) var(--threeon-gutter) !important;
}
.services-section,
.mission-section { padding-block: var(--threeon-section-y) !important; padding-inline: 0 !important; }
.sw-section { padding-block: var(--threeon-section-y) !important; }

.about-section {
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr) !important;
  gap: clamp(42px, 6vw, 78px) !important;
  align-items: start !important;
}
.about-left { max-width: 590px; }
.about-cards { gap: 14px !important; }
.about-card { min-height: 0 !important; padding: 20px !important; }
.about-card.featured { padding-block: 22px !important; }

/* Section heading/action belongs to the full section width. */
.home-section-header,
.section-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(28px, 4vw, 42px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 28px !important;
}
.home-section-header > div:first-child,
.section-header > div:first-child { max-width: 720px; }
.home-section-header .section-title,
.section-header .section-title { margin-bottom: 0 !important; }

.section-title,
.sw-section-title {
  font-size: clamp(1.7rem, 2.35vw, 2.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.01em !important;
}
.section-label,
.sw-eyebrow { letter-spacing: .24em !important; }

/* Divisions: balanced 3x2 cards, compact and useful. */
.services-header { margin-bottom: 38px !important; }
.services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--threeon-card-gap) !important;
}
.service-card {
  min-height: 250px !important;
  padding: 24px !important;
  border-radius: 15px !important;
  display: flex !important;
  flex-direction: column !important;
}
.service-icon { width: 48px !important; height: 48px !important; margin-bottom: 18px !important; border-radius: 12px !important; font-size: 19px !important; }
.service-title { font-size: 1rem !important; line-height: 1.22 !important; letter-spacing: .03em !important; }
.service-desc { font-size: .88rem !important; line-height: 1.58 !important; }
.service-card-link { margin-top: auto !important; }

/* Editorial cards: no poster titles, no clipped headlines, same visual rhythm. */
.home-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--threeon-card-gap) !important;
  align-items: stretch !important;
}
.home-content-card { min-width: 0; }
.home-card-grid .home-image-wrap { height: auto !important; aspect-ratio: 16 / 9 !important; }
.home-card-grid .home-content-card-body { padding: 18px !important; gap: 0; }
.home-card-grid .home-content-card-body h3 {
  min-height: 0 !important;
  font-size: .98rem !important;
  line-height: 1.28 !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  margin: 8px 0 10px !important;
}
.home-card-grid .home-content-card-body p { font-size: .86rem !important; line-height: 1.58 !important; }
.home-card-label { font-size: .64rem !important; letter-spacing: .16em !important; margin-bottom: 4px !important; }
.home-card-date { font-size: .64rem !important; letter-spacing: .12em !important; margin-top: 12px !important; }
.home-content-card .sw-link { font-size: .68rem !important; letter-spacing: .12em !important; }

/* FAQ was using a different width than its header. Keep the whole block together. */
.home-faq-section { background: transparent !important; }
.home-faq-grid {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.home-faq-item { border-radius: 13px !important; }
.home-faq-item summary { min-height: 64px !important; padding: 16px 18px !important; font-size: .91rem !important; }
.home-faq-item p { padding: 0 18px 18px !important; font-size: .9rem !important; line-height: 1.65 !important; }

/* CTA should close the page without another giant billboard. */
.cta-box { padding: clamp(34px, 5vw, 56px) !important; border-radius: 18px !important; }
.cta-title { font-size: clamp(1.85rem, 3vw, 2.8rem) !important; line-height: 1.05 !important; }
.cta-desc { margin-bottom: 26px !important; }

/* General public page heroes and content grids */
.sw-hero { padding: 128px 0 64px !important; }
.editorial-hero-grid,
.spotlight-hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr) !important;
  gap: clamp(34px, 5vw, 64px) !important;
}
.sw-hero h1,
.editorial-hero h1,
.blog-index-hero h1,
.blog-archive-hero h1,
.divisions-hero h1,
.blog-single-hero h1 {
  font-size: clamp(2.15rem, 3.25vw, 3.1rem) !important;
  max-width: 850px !important;
  line-height: 1.04 !important;
  text-transform: none !important;
  letter-spacing: -.025em !important;
}

.blog-layout { grid-template-columns: minmax(0, 1fr) 310px !important; gap: 30px !important; }
.blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
.blog-grid.editorial-grid .blog-card-image { height: auto !important; aspect-ratio: 16 / 9 !important; }
.blog-grid.editorial-grid .blog-card-body h2 {
  min-height: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.28 !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  text-transform: none !important;
}
.blog-grid.editorial-grid .blog-card-body p { font-size: .86rem !important; line-height: 1.58 !important; }
.blog-sidebar-card { padding: 20px !important; }

.editorial-feature-card,
.blog-featured-card { grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important; }
.editorial-feature-card .blog-featured-image-link,
.editorial-feature-card .blog-featured-image-link img,
.blog-featured-image-link,
.blog-featured-image-link img { max-height: none !important; aspect-ratio: 16 / 9 !important; }

/* Other public grids */
.spotlight-grid { gap: 18px !important; }
.spotlight-card-image { height: auto !important; aspect-ratio: 16 / 9 !important; }
.spotlight-card-body h2 { text-transform: none !important; }
.division-process-grid,
.operating-flow-grid { gap: 14px !important; }
.contact-layout { grid-template-columns: minmax(0, 1fr) 320px !important; gap: 30px !important; }

@media (max-width: 1100px) {
  .home-hero-content { grid-template-columns: 1fr !important; }
  .home-hero-left { max-width: 760px !important; }
  .home-hero-right { max-width: 760px !important; justify-self: start !important; }
  .about-section { grid-template-columns: 1fr !important; }
  .about-left { max-width: 760px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .blog-layout { grid-template-columns: 1fr !important; }
  .blog-sidebar { position: static !important; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .contact-layout { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
  :root { --threeon-gutter: 18px; --threeon-section-y: 48px; }
  .home-hero { padding-top: 104px !important; padding-bottom: 48px !important; }
  .home-hero-content { gap: 28px !important; }
  .home-hero-title { font-size: clamp(2.25rem, 11vw, 3.05rem) !important; }
  .home-hero-eyebrow { width: 100% !important; border-radius: 12px !important; }
  .home-hero-stats { gap: 10px !important; }
  .home-section-header,
  .section-header { align-items: flex-start !important; flex-direction: column !important; gap: 16px !important; }
  .home-section-header .btn-outline,
  .section-header .btn-outline { width: 100%; justify-content: center; }
  .about-cards,
  .services-grid,
  .home-card-grid,
  .home-faq-grid,
  .blog-grid,
  .spotlight-grid { grid-template-columns: 1fr !important; }
  .about-card.featured { grid-column: auto !important; }
  .blog-sidebar { grid-template-columns: 1fr !important; }
  .editorial-feature-card,
  .blog-featured-card { grid-template-columns: 1fr !important; }
  .editorial-hero-grid,
  .spotlight-hero-grid { grid-template-columns: 1fr !important; }
  .contact-sidebar { grid-template-columns: 1fr !important; }
}


/* Public content/card normalization across remaining pages */
.sw-grid { gap: var(--threeon-card-gap) !important; }
.sw-card { padding: 22px !important; border-radius: 15px !important; }
.sw-two-col { gap: clamp(24px, 4vw, 40px) !important; }
.sw-content { max-width: 860px !important; }
.sw-content h2 {
  font-size: clamp(1.45rem, 2.25vw, 2rem) !important;
  line-height: 1.16 !important;
  text-transform: none !important;
  letter-spacing: -.015em !important;
  margin: 32px 0 12px !important;
}
.sw-content h3 {
  font-size: clamp(1.08rem, 1.6vw, 1.3rem) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.sw-content p,
.sw-content li { font-size: .98rem !important; line-height: 1.75 !important; }
.sw-cta-box { margin-top: 38px !important; padding: clamp(28px, 4vw, 40px) !important; border-radius: 17px !important; }

/* Single article: readable column, compact support rail */
.blog-single-layout {
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 30px !important;
}
.blog-article-sidebar { gap: 14px !important; }
.blog-toc,
.blog-share-card,
.blog-sidebar-card { padding: 18px !important; border-radius: 14px !important; box-shadow: none !important; }
.blog-featured-wrap { border-radius: 16px !important; margin-bottom: 28px !important; }
.blog-featured-image { max-height: none !important; aspect-ratio: 16 / 9 !important; }
.blog-related-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 18px !important; }
.blog-related-card { padding: 0 0 18px !important; }
.blog-related-card .sw-card-image { border-radius: 0 !important; margin-bottom: 16px !important; }
.blog-related-card > :not(img) { margin-inline: 18px; }

/* Division pages */
.division-content { max-width: 980px !important; }
.division-intro-card,
.division-approach-card { border-radius: 15px !important; }
.division-focus-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 16px !important; }
.division-focus-card { min-height: 0 !important; }
.division-featured-wrap { max-width: 980px !important; }

/* Spotlight */
.spotlight-principles-grid { gap: 16px !important; }
.spotlight-card { border-radius: 15px !important; }
.spotlight-card-body { padding: 18px !important; }
.spotlight-card-body h2 { font-size: 1.02rem !important; line-height: 1.28 !important; }
.spotlight-card-body p { font-size: .87rem !important; line-height: 1.58 !important; }
.spotlight-featured-wrap { border-radius: 16px !important; }

/* Playlists */
.playlists-grid { gap: 18px !important; }
.playlist-card { border-radius: 16px !important; padding: 22px !important; gap: 16px !important; box-shadow: none !important; }
.playlist-card-header h3 { font-size: clamp(1.2rem, 2vw, 1.55rem) !important; text-transform: none !important; }
.playlists-intro-section h2 { font-size: clamp(1.55rem, 2.5vw, 2.1rem) !important; text-transform: none !important; }
.playlists-intro-section p,
.playlists-submit-section p { font-size: .98rem !important; line-height: 1.72 !important; }
.playlist-placeholder { min-height: 260px !important; border-radius: 14px !important; }
.spotify-embed-wrap { border-radius: 14px !important; }

@media (max-width: 980px) {
  .blog-single-layout { grid-template-columns: 1fr !important; }
  .blog-article-sidebar { position: static !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blog-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .division-focus-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 680px) {
  .blog-article-sidebar,
  .blog-related-grid,
  .division-focus-grid { grid-template-columns: 1fr !important; }
}
