/* ═══════════════════════════════════════════════════════════════════
   De Anza Smiles — LIGHT theme (orange + gray from the logo)
   Loaded AFTER styles.css. Homepage preview only for now (/home-preview/);
   the ads LP (/dental-care) uses styles-lp.css and never loads this file.
   Logo:  orange #D57E00 · gray #7D868C
   Type:  Lora 400 (headings + numbers) · Inter (text) — as on the AIDM site
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --orange:       #D57E00;   /* logo orange: icons, rules, big numbers */
  --orange-dark:  #A85F00;   /* text-safe orange (4.9:1 on white) */
  --orange-btn:   #C06F00;
  --orange-light: #FCEBD3;
  --orange-xlt:   #FFF8EF;
  --logo-gray:    #7D868C;
  --gray-dark:    #3B4145;   /* headings */
  --gray:         #4A5156;   /* body */
  --gray-mid:     #5F676C;   /* muted text */
  --gray-lt:      #8A9297;
  --gray-bg:      #F4F5F6;
  --border:       #E4E6E8;
  --bg-cream:     #FFF8EF;
  --bg-peach:     #FDF2E4;
  --bg-mist:      #F3F5F6;
  --shadow:       0 4px 20px rgba(59,65,69,.07);
  --shadow-lg:    0 14px 44px rgba(59,65,69,.12);
}

body { color: var(--gray); background: #fff; }
a { color: var(--orange-dark); }
a:hover { color: #8A4E00; }
h1, h2, h3, h4 { color: var(--gray-dark); }

/* numbers: Lora 400, like the date numerals on the AIDM events page */
.hv-badge .num, .hv-rt-top b, .dp-stat strong, .rrh-line b, .offer-amt,
.doctor-pannu-badge strong, .hero-stat strong { font-family: 'Lora', Georgia, serif; font-weight: 400; letter-spacing: -0.02em; }

/* eyebrows / overlines — text-safe orange */
.eyebrow, .hv-eyebrow, .pt-eyebrow, .wt-eyebrow, .pt-more-hdr, .offer-label,
.section-hdr .overline, .why-body .overline, .why-dark .overline, .why-dark .why-body .overline { color: var(--orange-dark); }
.eyebrow::before, .hv-eyebrow::before, .pt-eyebrow::before, .wt-eyebrow::before, .wt-eyebrow::after { background: var(--orange); }
.pt-more-hdr::before, .pt-more-hdr::after { background: rgba(213,126,0,.28); }

/* ── Buttons ── */
.btn { border-radius: 100px; letter-spacing: .3px; text-transform: none; font-weight: 600; font-size: .95rem; }
.btn-lg { padding: 15px 32px; font-size: 1rem; }
.btn-orange, .btn-primary { background: var(--orange-btn); color: #fff; box-shadow: 0 6px 18px rgba(213,126,0,.22); }
.btn-orange:hover, .btn-primary:hover { background: var(--orange-dark); color: #fff; box-shadow: 0 8px 22px rgba(213,126,0,.32); }
.btn-outline-white, .btn-outline-gray { background: #fff; color: var(--gray-dark); border: 1.5px solid #D5D9DC; }
.btn-outline-white:hover, .btn-outline-gray:hover { background: #fff; border-color: var(--logo-gray); color: var(--gray-dark); }
.btn-white { background: var(--orange-btn); color: #fff; }
.btn-white:hover { background: var(--orange-dark); color: #fff; }

/* ── Top bar + nav: white, logo in its real colors ── */
.topbar { background: var(--bg-mist); border-bottom: 1px solid var(--border); }
.topbar a { color: var(--gray-mid); }
.topbar a:hover { color: var(--orange-dark); }
.topbar i { color: var(--orange); }
.site-nav { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--border); box-shadow: 0 2px 18px rgba(59,65,69,.06); backdrop-filter: saturate(1.4) blur(6px); }
.nav-logo img { filter: none; opacity: 1; height: 46px; }
.nav-links a { color: var(--gray-dark); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: .95rem; }
.nav-links a:hover, .nav-links a.active { color: var(--orange-dark); background: var(--bg-cream); }
.nav-phone { color: var(--gray-dark); }
.nav-phone:hover { color: var(--orange-dark); text-decoration: none; }
.site-nav .nav-cta .btn { background: var(--orange-btn); color: #fff; }
.site-nav .nav-cta .btn:hover { background: var(--orange-dark); color: #fff; box-shadow: 0 6px 18px rgba(213,126,0,.3); }
.nav-hamburger span { background: var(--gray-dark); }
.nav-hamburger:hover { background: var(--bg-mist); }

/* ── Hero: video stays, light cream wash on the copy side ── */
.hv { background: var(--bg-cream); color: var(--gray-dark); }
.hv-overlay {
  background:
    linear-gradient(to left, rgba(255,248,239,.97) 0%, rgba(255,248,239,.93) 36%, rgba(255,248,239,.55) 58%, rgba(255,248,239,0) 78%),
    linear-gradient(to top, rgba(255,248,239,.35) 0%, rgba(255,248,239,0) 30%);
}
.hv h1 { color: var(--gray-dark); text-shadow: none; }
.hv h1 em { color: var(--orange); }
.hv-sub { color: var(--gray); }
.hv-badge { border-color: var(--border); box-shadow: 0 6px 20px rgba(59,65,69,.08); }
.hv-badge-orange { background: var(--orange-light); border-color: #F5D3A3; box-shadow: none; }
.hv-badge-orange .num { color: var(--orange-dark); }
.hv-badge-orange .src { color: var(--gray-mid); }
a.hv-badge:hover { box-shadow: 0 10px 26px rgba(59,65,69,.14); }
.hv-cap { background: rgba(255,255,255,.92); border: 1px solid var(--border); border-left: 3px solid var(--orange); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.hv-cap strong { color: var(--gray-dark); }
.hv-cap span { color: var(--orange-dark); }

/* ── Trust strip: soft gray with orange icons ── */
.trust-strip { background: #fff; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.trust-item { border-right: 1px solid var(--border); }
.trust-item i { color: var(--orange); }
.trust-item-text strong { color: var(--gray-dark); font-weight: 600; }
.trust-item-text span { color: var(--gray-mid); }

/* ── Shared: every former dark section goes light ── */
.pt, .wt, .offers, .sec-dark, .why-dark { color: var(--gray); }
.sec-dark .section-hdr h2, .why-dark h2, .why-dark h3 { color: var(--gray-dark); }
.sec-dark .section-hdr p { color: var(--gray-mid); }

/* Patient story — cream */
.pt { background: var(--bg-cream); border-bottom: 0; }
.pt blockquote p { color: var(--gray-dark); font-weight: 400; }
.pt-sub { color: var(--gray-mid); }
.pt-link { color: var(--gray-dark); }
.pt-link:hover { color: var(--orange-dark); }
.pt-player { box-shadow: 0 22px 56px rgba(59,65,69,.2); }
.pt-player-wrap::before { border-color: var(--orange); opacity: .4; }
.pt .vp figcaption { color: var(--gray-dark); }
.pt .vp-player { box-shadow: 0 16px 40px rgba(59,65,69,.18); }

/* Doctor — white */
#about { background: #fff !important; }
.doctor-pannu-body .chip { background: var(--bg-cream); color: var(--orange-dark); border-color: #F5D3A3; }
.doctor-pannu-img img { box-shadow: 0 18px 48px rgba(59,65,69,.14); }
.dp-stat { background: var(--bg-cream); border-color: #F6E3C8; }
.dp-stat strong { color: var(--orange); font-size: 1.85rem; }
.dp-stat span { color: var(--gray-mid); }

/* Walkthrough — soft gray */
.wt { background: var(--bg-mist); }
.wt::before { display: none; }
.wt h2 { color: var(--gray-dark); }
.wt-head p { color: var(--gray-mid); }
.wt-player-xl { box-shadow: 0 30px 70px rgba(59,65,69,.22), 0 0 0 1px rgba(59,65,69,.06); }
.wt-ch { background: #fff; border: 1px solid var(--border); color: var(--gray); }
.wt-ch:hover { background: #fff; border-color: var(--logo-gray); color: var(--gray-dark); }
.wt-ch.is-active { border-color: var(--orange); background: var(--bg-cream); color: var(--gray-dark); }
.wt-time { color: var(--orange-dark); }
.wt-addr { color: var(--gray-mid); }
.wt-addr i { color: var(--orange); }
.wt-play-btn { background: var(--orange); box-shadow: 0 0 0 0 rgba(213,126,0,.5); }
@keyframes wtPulse { 0% { box-shadow: 0 0 0 0 rgba(213,126,0,.5); } 70% { box-shadow: 0 0 0 26px rgba(213,126,0,0); } 100% { box-shadow: 0 0 0 0 rgba(213,126,0,0); } }

/* Services — white */
.svc-photo img { box-shadow: 0 18px 48px rgba(59,65,69,.14); }
.svc-photo-tag { background: #fff; color: var(--gray-dark); box-shadow: 0 8px 22px rgba(0,0,0,.14); }
.svc-photo-tag i { color: var(--orange); }
.svc-list strong { font-weight: 400; color: var(--gray-dark); }
.svc-list a:hover { background: var(--bg-cream); }

/* Offers — cream band, soft cards */
.offers { background: var(--bg-peach); }
.offer-emergency { background: #fff; border: 1.5px solid #F2D2A6; box-shadow: 0 14px 40px rgba(213,126,0,.10); color: var(--gray); }
.offer-emergency h3 { color: var(--gray-dark); }
.offer-emergency .offer-label { color: #B3261E; }
.offer-emergency p { color: var(--gray-mid); }
.offer-emergency .btn-orange { background: var(--orange-btn); color: #fff; }
.offer-emergency .btn-orange:hover { background: var(--orange-dark); color: #fff; box-shadow: 0 8px 22px rgba(213,126,0,.3); }
.offer-invis { border: 1.5px solid #F2D2A6; box-shadow: 0 14px 40px rgba(213,126,0,.10); }
.offer-amt { color: var(--orange); }
.offer-amt span { color: var(--orange-dark); }

/* Care in action — soft gray */
#care-in-action { background: var(--bg-mist) !important; }
.clip { box-shadow: 0 16px 40px rgba(59,65,69,.16); }

/* Reviews — cream */
.sec-dark { background: var(--bg-cream); }
.rrh, .sec-dark .rrh { border: 1px solid #F2E2CC; box-shadow: var(--shadow); }
.review-stars { color: var(--orange); }
.review-avatar { background: var(--orange-light); color: var(--orange-dark); }
.review-text { color: var(--gray); }
.rmq-card { box-shadow: 0 6px 20px rgba(59,65,69,.08); border-color: #EEE7DC; }

/* Happy patients + gratitude notes — white */
.smiles { background: #fff; }
.grat-card { box-shadow: 0 14px 36px rgba(59,65,69,.12); }
.grat-author i { color: var(--orange); }

/* Why choose us — soft gray */
.why-dark { background: var(--bg-mist); }
.why-dark .why-list p { color: var(--gray-mid); }
.why-ic, .why-dark .why-ic { background: #fff; color: var(--orange); box-shadow: 0 4px 14px rgba(59,65,69,.08); }
.why-photos img, .why-dark .why-photos img { box-shadow: 0 14px 36px rgba(59,65,69,.14); }

/* Office gallery — white */
#office { background: #fff !important; }

/* CTA — office photo under a cream wash */
.cta-band { color: var(--gray); }
.cta-photo { background: linear-gradient(rgba(255,248,239,.9), rgba(255,248,239,.9)), url('/images/home/office-op1.jpg') center / cover no-repeat; border-top: 1px solid #F2E2CC; border-bottom: 1px solid #F2E2CC; }
.cta-band h2 { color: var(--gray-dark); }
.cta-band p { color: var(--gray-mid); }
.cta-band p[style] { color: var(--gray-mid) !important; }

/* Contact form — soft gray */
#book { background: var(--bg-mist); }
.contact-form-wrap { box-shadow: var(--shadow-lg); border: 1px solid var(--border); }
input:focus, textarea:focus, select:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(213,126,0,.14); }
.form-success { color: var(--orange-dark); background: var(--bg-cream); }

/* ── Footer: logo gray ── */
.site-footer { background: #4A5156; color: rgba(255,255,255,.8); }
.footer-brand p, .footer-col p, .footer-col ul li a { color: rgba(255,255,255,.78); }
.footer-col h4 { color: #F7C57E; }
.footer-col ul li a:hover, .footer-bottom a:hover { color: #F7C57E; }
.footer-bottom { border-top-color: rgba(255,255,255,.14); color: rgba(255,255,255,.6); }
.footer-bottom a { color: rgba(255,255,255,.6); }
.footer-social a { background: rgba(255,255,255,.1); color: #fff; }
.footer-social a:hover { background: var(--orange); }

/* ── Mobile ── */
@media (max-width: 900px) {
  /* phones/tablets: video on top, copy below on solid cream (no text over video) */
  .hv { display: block; min-height: 0; }
  .hv-video { position: relative; inset: auto; height: clamp(260px, 52vw, 420px); object-position: 30% 40%; }
  .hv-overlay { top: 0; bottom: auto; height: clamp(260px, 52vw, 420px); background: linear-gradient(to top, rgba(255,248,239,1) 0%, rgba(255,248,239,0) 28%); }
  .hv-inner { padding: 8px 0 52px; }
  .hv-eyebrow { text-shadow: none; }
}
@media (max-width: 480px) {
  .trust-item { border-right: 0; border-bottom: 1px solid var(--border); }
}

/* ── v2 (9/28): compact hero, caption aligned with the buttons, caps menu ── */
.nav-links a { text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; font-weight: 600; padding-left: 10px; padding-right: 10px; white-space: nowrap; }
@media (max-width: 1240px) { .nav-phone { display: none; } }
#patient-story { scroll-margin-top: var(--nav-h); }
@media (min-width: 901px) {
  .hv { min-height: 0; }
  /* video fills the left ~60% only, so it scales to the hero height: no zoom-in on wide screens,
     Dr. Saboowala's head stays in frame, and the empty wall above her is trimmed */
  .hv { background: var(--bg-cream); }
  .hv-video { width: 60%; right: auto; object-position: 50% 20%; }
  .hv-overlay { background: linear-gradient(to right, rgba(255,248,239,0) 0%, rgba(255,248,239,0) 38%, rgba(255,248,239,.88) 52%, rgba(255,248,239,1) 60%); }
  .hv-inner { justify-content: space-between; align-items: flex-end; gap: 40px; padding: 48px 0 52px; }
  .hv-cap { position: static; flex-shrink: 0; margin-bottom: -9px; }   /* centre on the button row */
}

/* ── v3 (9/28): tighter vertical rhythm between sections ── */
.section { padding: 64px 0; }
.section-sm { padding: 48px 0; }
.pt { padding: 60px 0; }
.wt { padding: 56px 0 60px; }
.offers { padding: 52px 0; }
.smiles { padding: 64px 0; }
.cta-band { padding: 56px 0; }
.section-hdr { margin-bottom: 32px; }
.section-title { margin-bottom: 36px; }
.wt-head { margin-bottom: 26px; }
.pt-more { margin-top: 44px; }
.grat-hdr { margin-top: 56px; }
.rev-highlight { margin-bottom: 26px; }
.cta-band p { margin-bottom: 26px; }
#office { padding: 56px 0 60px; }
.gallery-bento { grid-auto-rows: 210px; }
@media (max-width: 800px) {
  .section { padding: 48px 0; }
  .pt, .wt, .smiles { padding: 44px 0; }
  .offers { padding: 40px 0; }
  .grat-hdr { margin-top: 40px; }
}
.cta-photo { background: linear-gradient(rgba(255,248,239,.9), rgba(255,248,239,.9)), url('/images/home/office-reception2.jpg') center / cover no-repeat; }
.site-footer a[href^="tel"], .footer-col a[href^="tel"] { color: #F7C57E; }

/* ═══════════════════════════════════════════════════════════════════
   INNER PAGES (ip-*) — same light orange/gray system as the homepage
   ═══════════════════════════════════════════════════════════════════ */
.ip-hero { background: var(--bg-cream); border-bottom: 1px solid #F2E2CC; padding: 44px 0 48px; }
.ip-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.ip-crumb { font-size: .8rem; color: var(--gray-mid); margin-bottom: 18px; }
.ip-crumb a { color: var(--gray-mid); }
.ip-crumb a:hover { color: var(--orange-dark); }
.ip-crumb span { margin: 0 6px; color: var(--gray-lt); }
.ip-hero h1 { font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.12; margin-bottom: 16px; }
.ip-hero h1 em { color: var(--orange); }
.ip-lead { font-size: 1.06rem; line-height: 1.75; color: var(--gray); max-width: 560px; margin-bottom: 26px; }
.ip-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ip-hero-img { position: relative; }
.ip-hero-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; box-shadow: 0 18px 48px rgba(59,65,69,.16); }
.ip-hero-img.contain img { object-fit: contain; background: #fff; padding: 24px; }
.ip-hero-img::before { content: ''; position: absolute; inset: 16px -12px -12px 16px; border: 2px solid var(--orange); border-radius: 22px; opacity: .35; z-index: -1; }
.ip-hero-img { z-index: 0; }

.ip-sec { padding: 60px 0; }
.ip-sec.alt { background: var(--bg-mist); }
.ip-sec.cream { background: var(--bg-cream); }
.ip-layout { display: grid; grid-template-columns: 1fr 330px; gap: 56px; align-items: start; }
.ip-body > * + * { margin-top: 18px; }
.ip-body h2 { font-size: clamp(1.5rem, 2.4vw, 1.95rem); margin-top: 40px; }
.ip-body h2:first-child { margin-top: 0; }
.ip-body h3 { font-size: 1.2rem; margin-top: 28px; }
.ip-body p { font-size: 1rem; line-height: 1.8; color: var(--gray); }
.ip-body ul.ip-checks { list-style: none; display: grid; gap: 10px; }
.ip-checks li { position: relative; padding-left: 30px; line-height: 1.65; color: var(--gray); }
.ip-checks li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--orange); font-size: .85rem; width: 20px; height: 20px; border-radius: 50%; background: var(--orange-light); display: flex; align-items: center; justify-content: center; font-size: .65rem; }
.ip-eyebrow { display: block; font-size: .7rem; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; color: var(--orange-dark); margin-bottom: 8px; }

.ip-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.ip-cards.three { grid-template-columns: repeat(3, 1fr); }
.ip-card { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 22px 22px 20px; box-shadow: var(--shadow); }
.ip-sec.cream .ip-card, .ip-sec.alt .ip-card { border-color: transparent; }
.ip-card i.ic { width: 42px; height: 42px; border-radius: 12px; background: var(--bg-cream); color: var(--orange); display: flex; align-items: center; justify-content: center; font-size: 1rem; margin-bottom: 14px; }
.ip-card h3 { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: 0; margin: 0 0 6px; }
.ip-card p { font-size: .9rem; line-height: 1.65; color: var(--gray-mid); margin: 0; }

.ip-steps { counter-reset: st; display: grid; gap: 14px; }
.ip-step { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 18px 20px; }
.ip-step::before { counter-increment: st; content: counter(st); font-family: 'Lora', Georgia, serif; font-size: 1.5rem; color: var(--orange); width: 46px; height: 46px; border-radius: 50%; background: var(--bg-cream); display: flex; align-items: center; justify-content: center; }
.ip-step h3 { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: 0; margin: 2px 0 4px; }
.ip-step p { font-size: .9rem; line-height: 1.65; color: var(--gray-mid); margin: 0; }

.ip-faq { margin-top: 8px; border-top: 1px solid var(--border); }
.ip-faq .faq-item { padding: 18px 0; }
.ip-faq .faq-q { font-weight: 600; color: var(--gray-dark); font-size: 1rem; }
.ip-faq .faq-q::after { color: var(--orange); }
.ip-faq .faq-a { color: var(--gray-mid); font-size: .95rem; }

.ip-side { position: sticky; top: calc(var(--nav-h) + 20px); display: grid; gap: 16px; }
.ip-book { background: var(--bg-cream); border: 1px solid #F2E2CC; border-radius: 18px; padding: 24px; }
.ip-book h3 { font-size: 1.3rem; margin-bottom: 6px; }
.ip-book p { font-size: .9rem; color: var(--gray-mid); line-height: 1.6; margin-bottom: 16px; }
.ip-book .btn { width: 100%; justify-content: center; margin-bottom: 10px; }
.ip-hours { list-style: none; font-size: .86rem; color: var(--gray); border-top: 1px solid #F2E2CC; margin-top: 8px; padding-top: 14px; display: grid; gap: 5px; }
.ip-hours li { display: flex; justify-content: space-between; }
.ip-hours li b { font-weight: 600; color: var(--gray-dark); }
.ip-links { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 20px 22px; }
.ip-links h4 { font-family: 'Inter', sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--orange-dark); margin-bottom: 10px; }
.ip-links ul { list-style: none; }
.ip-links a { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--border); color: var(--gray-dark); font-size: .92rem; }
.ip-links li:last-child a { border-bottom: 0; }
.ip-links a::after { content: '\f061'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: .7rem; color: var(--orange); }
.ip-links a:hover, .ip-links a.cur { color: var(--orange-dark); }

/* services index */
.ip-svc-group + .ip-svc-group { margin-top: 44px; }
.ip-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ip-svc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; color: var(--gray-dark); box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.ip-svc:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); color: var(--gray-dark); }
.ip-svc img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ip-svc div { padding: 18px 20px 20px; }
.ip-svc strong { display: block; font-family: 'Lora', Georgia, serif; font-weight: 400; font-size: 1.2rem; margin-bottom: 6px; }
.ip-svc span { display: block; font-size: .88rem; color: var(--gray-mid); line-height: 1.6; }
.ip-svc em { display: inline-block; margin-top: 12px; font-style: normal; font-size: .82rem; font-weight: 600; color: var(--orange-dark); }

/* about */
.ip-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.ip-split img { width: 100%; border-radius: 20px; box-shadow: var(--shadow-lg); aspect-ratio: 4 / 5; object-fit: cover; }
.ip-split.wide img { aspect-ratio: 4 / 3; }
.ip-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ip-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; box-shadow: var(--shadow); }
.ip-quote { font-family: 'Lora', Georgia, serif; font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.45; color: var(--gray-dark); border-left: 3px solid var(--orange); padding-left: 20px; }

/* contact */
.ip-contact { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
.ip-info { display: grid; gap: 14px; }
.ip-info-row { display: flex; gap: 14px; background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 18px 20px; }
.ip-info-row > i { color: var(--orange); font-size: 1.1rem; margin-top: 3px; width: 20px; text-align: center; }
.ip-info-row h3 { font-family: 'Inter', sans-serif; font-size: .74rem; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--gray-mid); margin-bottom: 4px; }
.ip-info-row p, .ip-info-row a { font-size: .98rem; color: var(--gray-dark); line-height: 1.6; }
.ip-info-row .ip-hours { border: 0; margin: 0; padding: 0; min-width: 230px; }
.ip-map { border: 0; width: 100%; height: 100%; min-height: 320px; border-radius: 16px; box-shadow: var(--shadow); }

/* form band on inner pages */
.ip-form { max-width: 720px; margin: 0 auto; }

/* CTA band (inner pages) */
.ip-cta { background: var(--bg-cream); border-top: 1px solid #F2E2CC; padding: 52px 0; text-align: center; }
.ip-cta h2 { margin-bottom: 10px; }
.ip-cta p { color: var(--gray-mid); margin-bottom: 22px; }
.ip-cta .ip-actions { justify-content: center; }

@media (max-width: 1024px) {
  .ip-layout { grid-template-columns: 1fr; gap: 36px; }
  .ip-side { position: static; grid-template-columns: 1fr 1fr; }
  .ip-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .ip-cards.three { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px) {
  .ip-hero { padding: 28px 0 36px; }
  .ip-hero-grid, .ip-split, .ip-contact { grid-template-columns: 1fr; gap: 28px; }
  .ip-hero-img { order: -1; }
  .ip-hero-img::before { display: none; }
  .ip-sec { padding: 44px 0; }
  .ip-cards, .ip-cards.three, .ip-svc-grid, .ip-side { grid-template-columns: 1fr; }
  .ip-photos { grid-template-columns: 1fr 1fr; }
  .ip-split img { aspect-ratio: 4 / 3; }
}

/* ═══ HOMEPAGE HERO: photo strip | centred text | photo strip ═══ */
.hv.hv-wall { min-height: 0; display: block; background: linear-gradient(150deg, #FFFFFF 0%, #FFF8EF 50%, #FDF2E4 100%); }
.hw-grid { display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 1fr) minmax(150px, 210px); grid-template-areas: "a copy b"; gap: 44px; align-items: center; }
.hw-a { grid-area: a; } .hw-b { grid-area: b; }
.hv-wall .hv-copy { grid-area: copy; max-width: 640px; margin: 0 auto; text-align: center; padding: 28px 0; }
.hv-wall .hv-eyebrow { justify-content: center; margin-bottom: 14px; }
.hv-wall .hv-eyebrow::after { content: ''; width: 32px; height: 1.5px; background: var(--orange); flex-shrink: 0; }
.hv-wall h1 { margin-bottom: 14px; }
.hv-wall .hv-sub { margin: 0 auto 22px; }
.hv-wall .hv-badges { justify-content: center; margin-bottom: 24px; }
.hv-wall .hv-actions { justify-content: center; }
.hw-strip { height: clamp(440px, 60vh, 520px); overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%); }
.pw-track { display: flex; flex-direction: column; gap: 14px; animation: pwScroll 40s linear infinite; }
.hw-a .pw-track { animation-direction: reverse; }
.hw-strip:hover .pw-track { animation-play-state: paused; }
@keyframes pwScroll { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.pw-tile { flex-shrink: 0; width: 100%; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 22px rgba(59,65,69,.16); }
.pw-tile.pw-wide { aspect-ratio: 1 / 1; }
.pw-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (prefers-reduced-motion: reduce) { .pw-track { animation: none; } }
@media (max-width: 900px) {
  .hw-grid { grid-template-columns: 1fr 1fr; grid-template-areas: "a b" "copy copy"; gap: 12px; padding: 16px 0 36px; }
  .hw-strip { height: 300px; }
  .hw-b { margin-top: -36px; height: 336px; }
  .hv-wall .hv-copy { padding: 4px 0 0; }
}

/* Why section: single photo instead of the 3-photo collage */
.why-photos.why-photo-one { display: block; aspect-ratio: auto; }
.why-photos.why-photo-one img { height: auto; aspect-ratio: 4 / 3; }

/* Blog: article graphics carry their own title text, so show them uncropped (1200x625). */
.ip-post-tile img,
.ip-post-hero .ip-hero-img img { aspect-ratio: 1200 / 625; object-fit: cover; }
