/* Home page — only what site.css does not already cover. */

/* Headline emphasis: saved copy marks it with <span>, styled like <em>. */
:is(h2, h3) > span:not([class]) { font-style: italic; font-weight: 400; color: var(--arch); }
.storm h2 > span:not([class]) { color: #8FAAFF; }
.section-head--center .lead { margin-inline: auto; }
.section-head .lead + .lead { margin-top: -.4em; }

/* ---------- Hero: two-photo crossfade inside the arch ---------- */
.hero-slides { position: absolute; inset: -8% 0; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; }
.hero-slide + .hero-slide { opacity: 0; animation: hero-fade 14s var(--ease) infinite; }
@keyframes hero-fade { 0%, 40% { opacity: 0; } 50%, 90% { opacity: 1; } 100% { opacity: 0; } }
.chip--card { max-width: 320px; }
.chip--card .float { display: flex; align-items: center; gap: 12px; animation-duration: 5.4s; animation-delay: -4s; }
.chip--card .icon-box { width: 44px; height: 44px; }
.chip--card .icon-box svg { width: 20px; height: 20px; }
.chip--card .chip-text { display: block; }
.chip--card strong { display: block; font-family: var(--f-ui); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.chip--card .chip-text span { display: block; font-weight: 500; color: var(--slate); }
/* Editor: show both photos side by side so each can be picked. */
.is-editing .hero-slide + .hero-slide { animation: none; opacity: 1; left: 50%; }

/* ---------- Perks band ---------- */
.band--4 { margin-top: 0; grid-template-columns: repeat(4, 1fr); }
.band--4 .band-item { align-items: center; padding: 22px; }
.band--4 .band-item p { color: #C9D2E6; }
.band--4 .band-item strong { color: #fff; }

/* ---------- Lists ---------- */
.check-list > li > span { padding-top: 1px; }
.check-list h4 { font-family: var(--f-ui); font-size: 16px; font-weight: 700; letter-spacing: 0; margin: 0 0 4px; }
.check-list li p { color: var(--slate); font-weight: 400; font-size: 15px; margin: 0; }
.check-list--grid { grid-template-columns: repeat(2, 1fr); gap: 14px 32px; max-width: 920px; margin: 0 auto 40px; }
.check-list--grid li { padding: 16px 18px; border-radius: 16px; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.check-list--tight { gap: 10px; margin: 18px 0 0; }
.prose--center { margin: 0 auto; text-align: center; }
.center-actions { display: flex; justify-content: center; margin-top: clamp(32px, 5vw, 56px); }
.pill-row--center { justify-content: center; }
.pill-row--center + .prose--center { margin-top: 36px; }
.pill > span { display: inline; }

/* ---------- Discount-style CTA bands ---------- */
.discount p { color: #E6EDFF; max-width: 62ch; }
.discount-actions { flex-direction: column; }

/* ---------- Service rows ---------- */
.svc-row + .svc-row { margin-top: clamp(56px, 8vw, 112px); }
.svc-row .arch-img { aspect-ratio: 6 / 5; }
.split-media .tile-tag { top: auto; bottom: 22px; left: 22px; }
.svc-title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.svc-row .prose { margin-bottom: 26px; }

/* ---------- Cards ---------- */
.cards--center { justify-content: center; }
.storm .stat .icon-box { margin-bottom: 18px; }
.stat-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* ---------- Founder stats ---------- */
.mini-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding-top: 26px; border-top: 1px solid var(--line); }
.mini-stat-num { font-family: var(--f-display); font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1; color: var(--arch); font-variant-numeric: tabular-nums; margin-bottom: 6px; }
.mini-stat-num small { font-size: .5em; margin-left: 3px; color: var(--ink); }
.mini-stat-label { display: block; font-size: 13px; font-weight: 600; color: var(--slate); line-height: 1.3; }

/* ---------- Cost ---------- */
.cost { align-items: start; }
.cost-card { padding: clamp(26px, 4vw, 40px); border-radius: 28px 28px 20px 20px; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-md); }
.cost-card h3 { margin-bottom: 4px; }

/* ---------- Showroom video ---------- */
.video-media .chip { opacity: 1; transform: none; right: auto; left: 22px; bottom: auto; top: 22px; gap: 10px; padding: 10px 16px; font-weight: 700; font-size: 14px; }
.chip--fb svg { width: 18px; height: 18px; color: #1877F2; }
.video-media .info-list { margin-bottom: 0; }

/* ---------- Brands ---------- */
.brands { padding-top: calc(var(--section) * .6); background: var(--paper); }
.brands .section-head { margin-bottom: 32px; }
.marquee-track .brand > span { opacity: 1; display: inline; font: inherit; color: inherit; }
.marquee-track .brand > span::after { content: none; }

/* ---------- Reviews ---------- */
.g-mark { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: conic-gradient(#EA4335 0 25%, #FBBC05 0 50%, #34A853 0 75%, #4285F4 0); color: #fff; font-family: var(--f-ui); font-weight: 800; font-size: 13px; }
.reviews-head .eyebrow { display: flex; }
.rating { display: flex; align-items: center; gap: 18px; padding: 18px 24px; border-radius: 22px; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.rating-num { font-family: var(--f-display); font-size: 3.2rem; line-height: 1; color: var(--ink); }
.rating .stars { margin-bottom: 4px; }
.rating-count { font-size: 14px; font-weight: 600; color: var(--slate); }
.review-src { color: var(--brass); }

/* ---------- Letters ---------- */
.letters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.letter { display: block; }
.letter-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; font-size: 13px; font-weight: 600; color: var(--slate); }
.letter-badge { padding: 4px 10px; border-radius: 999px; background: var(--arch-mist); color: var(--arch); font-size: 12px; font-weight: 700; }
.letter .letter-author { font-size: 1.35rem; margin-bottom: 2px; }
.card .letter-loc { font-size: 14px; color: var(--slate); margin: 0 0 14px; }
.letter-quote { margin: 0 0 16px; padding-left: 16px; border-left: 2px solid var(--brass); font-family: var(--f-display); font-style: italic; font-size: 1.05rem; line-height: 1.55; color: var(--ink); }
.letter .review-tag { display: block; padding-top: 14px; border-top: 1px solid var(--line); font-size: 12.5px; font-weight: 600; }

/* ---------- FAQ ---------- */
.faq-split { align-items: start; grid-template-columns: .8fr 1.2fr; }
.faq-split > :first-child { position: sticky; top: calc(var(--nav-h) + 24px); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .band--4, .letters { grid-template-columns: repeat(2, 1fr); }
  .stat-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .faq-split { grid-template-columns: 1fr; }
  .faq-split > :first-child { position: static; }
}
@media (max-width: 767px) {
  .band--4, .check-list--grid, .stat-grid--3, .letters { grid-template-columns: 1fr; }
  .mini-stats { grid-template-columns: repeat(2, 1fr); row-gap: 20px; }
  .discount-actions { flex-direction: row; }
  .chip--card { max-width: 260px; }
  .rating { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide + .hero-slide { animation: none; opacity: 0; }
}
