/* styles-103.css — in-house transfer additions for eaglelocksmithservice.com
   102: DESIGN POLISH pass (preserved below). 103: DESIGN + CONTENT
   upgrade pass — real-photo heroes/gallery, mobile photo-first hero,
   loc-rich/loc-demo styles for the new native city pages, extended
   lead-form rows. (Yaniv: "the site looks boring — make it alive").
   Everything from 101 (Water-Damage-pattern sticky bar, professional Privyr
   lead form, Google rating line, legal/404) is preserved verbatim below,
   followed by the 102 visual layer: dynamic hero carousel, animated stats,
   photo marquee, scroll reveals, card motion, bold amber energy.
   Loaded AFTER the site's own stylesheets; changes live only in this file. */

/* ---------- Sticky mobile bar (Water Damage pattern) ---------- */
.sticky-bar{display:none}
@media (max-width:1023.98px){
  .sticky-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:300;
    background:linear-gradient(120deg,#03142F,#0A2B54);
    box-shadow:0 -6px 22px rgba(3,20,47,.42);
    padding:9px 12px calc(9px + env(safe-area-inset-bottom))}
  .sticky-bar a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;
    text-align:center;text-decoration:none;font-weight:800;padding:.72em 0;border-radius:999px;
    font-size:1rem;line-height:1.25;white-space:nowrap}
  .sticky-bar .sb-call{background:linear-gradient(180deg,#F5B83D,#E8A838);color:#03142F}
  .sticky-bar .sb-text{background:linear-gradient(180deg,#2be07a,#1eb856);color:#fff}
}

/* ---------- Lead form (Privyr) additions ---------- */
.lead-form__row{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:640px){
  .lead-form__row{grid-template-columns:1fr 1fr;gap:1rem}
}
.lead-form__success{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;
  background:#ECFDF5;border:1px solid #6EE7B7;color:#065F46;border-radius:.75rem;
  padding:.9rem 1rem;font-weight:600}
.lead-form__error{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;
  background:#FEF2F2;border:1px solid #FCA5A5;color:#991B1B;border-radius:.75rem;
  padding:.9rem 1rem;font-weight:600}
.lead-form__success[hidden],.lead-form__error[hidden]{display:none}
.contact-form__input[type="date"]{min-height:48px}
.lead-form button[disabled]{opacity:.65;pointer-events:none}

/* ---------- Google rating line (reviews aggregate) ---------- */
.reviews-rating{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;color:#1A3A5C}
.reviews-rating__stars{color:#F59E0B;font-size:1.25rem;letter-spacing:.08em;line-height:1}
.reviews-rating strong{font-weight:900;font-size:1.2rem}
.reviews-aggregate{flex-wrap:wrap;gap:1rem 1.25rem}

/* ---------- Map facade (vanilla, replaces Alpine) ---------- */
.map-facade iframe{width:100%;height:380px;border:0;display:block}

/* ---------- Legal / simple content pages ---------- */
.legal-body{max-width:820px;margin:0 auto;padding:3rem 1.25rem 4rem;color:#1f2937;line-height:1.75}
.legal-body h2{color:#1A3A5C;margin:2rem 0 .6rem;font-size:1.35rem}
.legal-body p{margin:0 0 1rem}
.legal-body ul{margin:0 0 1rem;padding-left:1.4rem}
.legal-body li{margin-bottom:.4rem}

/* ---------- 404 ---------- */
.nf-wrap{max-width:720px;margin:0 auto;padding:4.5rem 1.25rem 5rem;text-align:center}
.nf-wrap h1{color:#1A3A5C;font-size:2.2rem;margin:0 0 1rem}
.nf-wrap p{color:#4b5563;line-height:1.7;margin:0 auto 1.75rem;max-width:520px}
.nf-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* ==================================================================
   102 POLISH LAYER — motion, depth, amber energy (navy/amber identity)
   ================================================================== */
:root{--p-gold:#E8A838;--p-gold-hi:#F5B83D;--p-gold-pale:#FDF3DC;
  --p-navy:#1A3A5C;--p-navy-dark:#0F2A4A;--p-navy-deep:#091E35;
  --p-ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth}
::selection{background:#E8A838;color:#091E35}

/* ---------- scroll reveal (JS adds .rv, then .in; classes removed after) ---------- */
.rv{opacity:0;transform:translateY(28px);
  transition:opacity .8s var(--p-ease),transform .8s var(--p-ease)}
.rv.in{opacity:1;transform:none}

/* ---------- header ---------- */
#site-header{transition:box-shadow .3s ease}
#site-header.scrolled,#site-header.is-scrolled{box-shadow:0 10px 30px -12px rgba(9,30,53,.35)}

/* ---------- buttons: gradient, depth, response ---------- */
.btn--primary{background:linear-gradient(180deg,#F7BE55 0%,#E8A838 55%,#DE9A22 100%);
  box-shadow:0 12px 26px -10px rgba(232,168,56,.65),inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .25s var(--p-ease),box-shadow .25s var(--p-ease),filter .25s ease}
.btn--primary:hover{transform:translateY(-2px);filter:brightness(1.04);
  box-shadow:0 18px 34px -10px rgba(232,168,56,.75),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--primary:active{transform:translateY(0) scale(.98)}
.hero .btn--secondary,.service-hero .btn--secondary,.page-hero .btn--secondary{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.38);color:#fff;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:transform .25s var(--p-ease),background .25s ease,border-color .25s ease}
.hero .btn--secondary:hover,.service-hero .btn--secondary:hover,.page-hero .btn--secondary:hover{
  background:rgba(232,168,56,.18);border-color:rgba(232,168,56,.65);transform:translateY(-2px)}
/* slow sheen sweep on the hero call button */
.hero .btn--primary{position:relative;overflow:hidden;isolation:isolate}
.hero .btn--primary::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;z-index:1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);animation:pSheen 3.8s ease-in-out infinite;pointer-events:none}
@keyframes pSheen{0%,55%{left:-70%}90%,100%{left:130%}}

/* ---------- heroes: layered navy + amber glow ---------- */
.hero{background:
  radial-gradient(900px 480px at 88% -10%,rgba(232,168,56,.22),transparent 60%),
  radial-gradient(760px 560px at -12% 112%,rgba(232,168,56,.12),transparent 55%),
  linear-gradient(135deg,#091E35 0%,#1A3A5C 55%,#1E4570 100%)}
.service-hero,.page-hero{background:
  radial-gradient(820px 420px at 90% -20%,rgba(232,168,56,.20),transparent 60%),
  linear-gradient(135deg,#091E35 0%,#1A3A5C 100%)}
/* photo-backed heroes (contact / about / blog / legal) */
.page-hero{position:relative}
.page-hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(9,30,53,.94) 30%,rgba(26,58,92,.80) 70%,rgba(26,58,92,.62)),
             url('/images/eagle-locksmith-technician-800.jpg') center 32%/cover no-repeat}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{text-shadow:0 4px 24px rgba(0,0,0,.45)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:1;
  background:linear-gradient(90deg,#E8A838,#F5B83D,#E8A838)}
/* per-service photo heroes (inline --svc-hero set by the builder) */
.service-hero{position:relative}
.service-hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(112deg,rgba(9,30,53,.95) 26%,rgba(26,58,92,.84) 62%,rgba(26,58,92,.66)),
             var(--svc-hero,none) center/cover no-repeat}
.service-hero .service-hero__inner{position:relative;z-index:1}
.service-hero__title{text-shadow:0 4px 24px rgba(0,0,0,.4)}
.service-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:1;
  background:linear-gradient(90deg,#E8A838,#F5B83D,#E8A838)}

/* ---------- hero type + badge ---------- */
.hero__title{letter-spacing:-.015em}
.hero__title-accent,.service-hero .hero__title-accent{
  background:linear-gradient(100deg,#E8A838 25%,#F7BE55 50%,#E8A838 75%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:#E8A838;
  animation:pShine 7s linear infinite}
@keyframes pShine{to{background-position:220% 0}}
.hero__badge{background:rgba(255,255,255,.07);border:1px solid rgba(232,168,56,.45);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
.hero__subheading strong{color:#F5B83D}
.hero__trust-badges .trust-badge{background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);border-radius:14px;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  transition:transform .3s var(--p-ease),border-color .3s ease,background .3s ease}
.hero__trust-badges .trust-badge:hover{transform:translateY(-3px);
  border-color:rgba(232,168,56,.6);background:rgba(232,168,56,.10)}

/* ---------- hero photo frame + carousel ---------- */
.hero__image picture img,.hero__image>img{border-radius:24px;
  box-shadow:0 34px 60px -18px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.14),0 0 0 7px rgba(232,168,56,.14)}
.hero__image--carousel{position:relative}
.hero-carousel{position:relative;border-radius:24px;overflow:hidden;
  aspect-ratio:4/3.55;min-height:300px;background:#0F2A4A;
  box-shadow:0 34px 60px -18px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.14),0 0 0 7px rgba(232,168,56,.14)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.07);
  transition:opacity 1.1s ease,transform 6.5s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-carousel::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,transparent 55%,rgba(9,30,53,.38))}
.hero-carousel__dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;gap:8px;z-index:3}
.hero-carousel__dots span{width:9px;height:9px;border-radius:99px;
  background:rgba(255,255,255,.45);transition:all .45s var(--p-ease)}
.hero-carousel__dots span.is-active{width:28px;background:#F5B83D}
.hero-chip{position:absolute;left:16px;bottom:-18px;z-index:4;display:flex;align-items:center;gap:.45rem;
  background:rgba(255,255,255,.96);color:#1A3A5C;border-radius:999px;
  padding:.55rem 1rem;font-size:.92rem;font-weight:600;
  box-shadow:0 18px 34px -12px rgba(9,30,53,.5),0 0 0 1px rgba(232,168,56,.35);
  animation:pFloat 5s ease-in-out infinite}
.hero-chip__stars{color:#F59E0B;letter-spacing:.06em}
.hero-chip strong{font-weight:900;font-size:1.05rem}
@keyframes pFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width:640px){.hero-carousel{aspect-ratio:4/3.1;min-height:250px}
  .hero-chip{bottom:-14px;font-size:.85rem;padding:.5rem .85rem}}

/* ---------- trust bar: elevated navy band ---------- */
.trust-bar{background:linear-gradient(120deg,#0F2A4A,#1A3A5C 60%,#0F2A4A);
  border-top:1px solid rgba(232,168,56,.35);border-bottom:1px solid rgba(232,168,56,.35)}
.trust-bar__num{font-size:1.28rem}
.trust-bar__icon{background:rgba(232,168,56,.14);border:1px solid rgba(232,168,56,.4);
  border-radius:14px;padding:9px;display:inline-flex}

/* ---------- stats band (homepage, animated counters) ---------- */
.stats-band{background:
  radial-gradient(700px 260px at 50% -30%,rgba(232,168,56,.16),transparent 65%),
  linear-gradient(120deg,#091E35,#122E52 55%,#091E35);
  padding:clamp(2.4rem,5vw,3.4rem) 0;position:relative;overflow:hidden}
.stats-band::before,.stats-band::after{content:"";position:absolute;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,#E8A838 30%,#F5B83D 50%,#E8A838 70%,transparent)}
.stats-band::before{top:0}.stats-band::after{bottom:0}
.stats-band__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat__num{display:block;font-size:clamp(2.1rem,4.5vw,3.1rem);font-weight:900;line-height:1;
  color:#F5B83D;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.stat__num .stat__stars{display:block;font-size:1.05rem;color:#F59E0B;letter-spacing:.28em;margin-top:.35rem}
.stat__label{display:block;margin-top:.55rem;color:rgba(255,255,255,.78);
  font-size:.86rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
@media (max-width:760px){.stats-band__grid{grid-template-columns:repeat(2,1fr);gap:1.6rem 1rem}}

/* ---------- photo marquee (homepage work strip) ---------- */
.photo-marquee{background:#0F2A4A;padding:1.1rem 0 1.3rem;overflow:hidden}
.photo-marquee__head{display:flex;align-items:baseline;justify-content:space-between;
  gap:1rem;padding-bottom:.9rem}
.photo-marquee__title{color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.02em;margin:0}
.photo-marquee__title em{color:#F5B83D;font-style:normal}
.photo-marquee__hint{color:rgba(255,255,255,.55);font-size:.85rem;margin:0}
.photo-marquee__viewport{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.photo-marquee__track{display:flex;width:max-content;animation:pMarquee 42s linear infinite}
.photo-marquee:hover .photo-marquee__track{animation-play-state:paused}
.pm-group{display:flex;gap:1rem;padding-right:1rem}
.pm-tile{position:relative;flex:0 0 auto;width:264px;height:186px;border-radius:16px;overflow:hidden;
  display:block;box-shadow:0 14px 28px -12px rgba(0,0,0,.55)}
.pm-tile img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--p-ease)}
.pm-tile:hover img{transform:scale(1.09)}
.pm-tile::after{content:"";position:absolute;inset:0;
  background:linear-gradient(195deg,transparent 52%,rgba(9,30,53,.82))}
.pm-tile__label{position:absolute;left:12px;bottom:10px;z-index:2;color:#fff;font-weight:700;
  font-size:.92rem;display:flex;align-items:center;gap:.45rem}
.pm-tile__label::before{content:"";width:8px;height:8px;border-radius:99px;background:#F5B83D;
  box-shadow:0 0 0 3px rgba(245,184,61,.3)}
@keyframes pMarquee{to{transform:translateX(-50%)}}
@media (max-width:640px){.pm-tile{width:216px;height:152px}
  .photo-marquee__track{animation-duration:32s}}

/* ---------- section headers: pill labels + amber rule ---------- */
.section-header__label{display:inline-flex;align-items:center;gap:.45rem;
  background:var(--p-gold-pale);color:#92600E;border:1px solid rgba(232,168,56,.45);
  font-weight:800;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;
  padding:.42em 1em;border-radius:999px}
.section-header__label::before{content:"";width:7px;height:7px;border-radius:99px;background:#E8A838}
.section-header__title{position:relative}
.section-header .section-header__title::after{content:"";display:block;width:66px;height:4px;
  border-radius:99px;margin-top:.65rem;
  background:linear-gradient(90deg,#E8A838,#F5B83D)}
.section-header:not(.section-header--left) .section-header__title::after{margin-inline:auto}
.loc-neighborhoods .section-header__label,.service-areas .section-header__label{
  background:rgba(232,168,56,.14);color:#F5B83D;border-color:rgba(232,168,56,.4)}

/* ---------- cards: depth + hover life ---------- */
.service-card{border-radius:20px;overflow:hidden;position:relative;
  box-shadow:0 6px 18px -6px rgba(26,58,92,.12);
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease),border-color .35s ease}
.service-card:hover{transform:translateY(-7px);border-color:rgba(232,168,56,.55);
  box-shadow:0 26px 40px -16px rgba(26,58,92,.28)}
.service-card__photo{margin:-1.5rem -1.5rem 1.15rem;height:158px;overflow:hidden;position:relative}
.service-card__photo img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--p-ease)}
.service-card:hover .service-card__photo img{transform:scale(1.08)}
.service-card__photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,transparent 55%,rgba(9,30,53,.30))}
.service-card__urgency-badge{z-index:3}
.service-card__icon{background:linear-gradient(145deg,#FDF3DC,#FBE3AC);
  box-shadow:inset 0 0 0 1px rgba(232,168,56,.35);
  transition:transform .4s var(--p-ease),background .3s ease}
.service-card:hover .service-card__icon{transform:rotate(-6deg) scale(1.08)}
.why-card{transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease),
  background .35s ease,border-color .35s ease}
.why-card:hover{transform:translateY(-6px);border-color:rgba(232,168,56,.55);
  background:rgba(232,168,56,.07);box-shadow:0 24px 38px -18px rgba(0,0,0,.55)}
.why-card__icon-wrap{transition:transform .4s var(--p-ease)}
.why-card:hover .why-card__icon-wrap{transform:scale(1.1) rotate(-5deg)}
.review-card{border-radius:18px;
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease)}
.review-card:hover{transform:translateY(-6px);
  box-shadow:0 24px 40px -18px rgba(26,58,92,.30)}
.review-card__avatar{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(232,168,56,.55)}
.blog-card{border-radius:18px;overflow:hidden;
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease)}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -18px rgba(26,58,92,.28)}
.blog-card img{transition:transform .8s var(--p-ease)}
.blog-card:hover img{transform:scale(1.06)}

/* ---------- section atmosphere (light washes, contrast-safe) ---------- */
.why-choose{background:
  radial-gradient(900px 480px at 85% -10%,rgba(232,168,56,.14),transparent 60%),
  linear-gradient(150deg,#0F2A4A,#1A3A5C 60%,#122C4E)}
.reviews-section{background:
  radial-gradient(800px 400px at 8% 0%,rgba(232,168,56,.10),transparent 55%),#F8FAFC}
.faq{background:linear-gradient(180deg,#fff, #FBF7EC)}
.service-areas a{transition:color .2s ease,transform .2s ease}
.service-areas a:hover{color:#E8A838}

/* ---------- ZIP checker band ---------- */
.zip-search__inner{border-radius:22px;
  box-shadow:0 24px 44px -20px rgba(26,58,92,.35),0 0 0 1px rgba(232,168,56,.30)}
.zip-search input:focus,.zip-search select:focus{outline:none;
  box-shadow:0 0 0 3px rgba(232,168,56,.45);border-color:#E8A838}

/* ---------- process steps: numbered energy ---------- */
.process-steps{counter-reset:process-step}
.process-step{border-radius:18px;
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease),border-color .35s ease}
.process-step:hover{transform:translateY(-6px);border-color:rgba(232,168,56,.55);
  box-shadow:0 22px 36px -16px rgba(26,58,92,.25)}
.process-step__number{background:linear-gradient(140deg,#F5B83D,#E8A838);color:#091E35;
  font-weight:900;box-shadow:0 10px 20px -8px rgba(232,168,56,.7);
  transition:transform .4s var(--p-ease)}
.process-step:hover .process-step__number{transform:scale(1.1) rotate(-6deg)}

/* ---------- city stats strip ---------- */
.loc-stats-strip{background:
  radial-gradient(700px 240px at 50% -40%,rgba(232,168,56,.18),transparent 65%),
  linear-gradient(120deg,#0F2A4A,#1A3A5C 60%,#0F2A4A);
  border-block:1px solid rgba(232,168,56,.35)}
.loc-stat__value{color:#F5B83D;font-weight:900;
  text-shadow:0 4px 18px rgba(232,168,56,.25)}
.location-card{border-radius:18px;overflow:hidden;
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease)}
.location-card:hover{transform:translateY(-6px);
  box-shadow:0 24px 40px -18px rgba(26,58,92,.28)}
.location-card img{transition:transform .8s var(--p-ease)}
.location-card:hover img{transform:scale(1.07)}

/* ---------- FAQ: responsive triggers ---------- */
.faq-item{transition:box-shadow .3s ease,border-color .3s ease,transform .3s var(--p-ease)}
.faq-item__trigger{transition:background .25s ease}
.faq-item__trigger:hover{background:#FDF3DC}
.faq-item__trigger svg{transition:transform .35s var(--p-ease)}
.faq-item__trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.faq-item__body{animation:pFaqIn .4s var(--p-ease)}
@keyframes pFaqIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ---------- forms: focus energy ---------- */
.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus,
.cta-form__input:focus{outline:none;border-color:#E8A838;
  box-shadow:0 0 0 3px rgba(232,168,56,.35)}
.contact-form-section .contact-form,.contact-page-form-section .contact-form{
  border-radius:20px;box-shadow:0 26px 48px -22px rgba(26,58,92,.35)}
.cta-band{background:
  radial-gradient(760px 320px at 85% -20%,rgba(232,168,56,.20),transparent 60%),
  linear-gradient(120deg,#0F2A4A,#1A3A5C)}

/* ---------- footer top edge ---------- */
footer.site-footer,footer{border-top:3px solid transparent;
  border-image:linear-gradient(90deg,transparent,#E8A838 35%,#F5B83D 50%,#E8A838 65%,transparent) 1}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .photo-marquee__track{animation:none}
  .hero-slide{transition:none}
  .hero-chip{animation:none}
  .hero .btn--primary::after{animation:none;display:none}
  .hero__title-accent,.service-hero .hero__title-accent{animation:none}
  html{scroll-behavior:auto}
}

/* ==================================================================
   103 LAYER — real photos, mobile photo-first, native city sections
   ================================================================== */

/* ---------- mobile: photo first in heroes (fleet standard) ---------- */
@media (max-width:1023.98px){
  .hero .hero__inner{display:flex;flex-direction:column;align-items:stretch}
  .hero .hero__image{order:-1}
  .hero .hero__content{order:0}
  .hero__image--carousel{margin-bottom:.4rem}
}

/* ---------- field gallery (real work photos, homepage) ---------- */
.field-gallery{background:linear-gradient(180deg,#FDFBF6,#F6F1E4);
  padding:clamp(2.6rem,5vw,3.6rem) 0 clamp(2.2rem,4vw,3rem);overflow:hidden}
.field-gallery .photo-marquee__viewport{margin-top:1.4rem}
.field-gallery .photo-marquee__track{animation-duration:55s}
.field-gallery .pm-tile{cursor:default}
.field-gallery__head h2{color:#1A3A5C;font-weight:900;letter-spacing:-.01em;
  font-size:clamp(1.5rem,3vw,2.1rem);margin:.55rem 0 .4rem}
.field-gallery__head p{color:#5B6B7F;max-width:640px;margin:0;line-height:1.6}
.field-gallery .pm-tile figcaption{position:absolute;left:12px;bottom:10px;z-index:2;
  color:#fff;font-weight:700;font-size:.92rem;display:flex;align-items:center;gap:.45rem}
.field-gallery .pm-tile figcaption::before{content:"";width:8px;height:8px;border-radius:99px;
  background:#F5B83D;box-shadow:0 0 0 3px rgba(245,184,61,.3)}
.field-gallery .pm-tile{margin:0}

/* ---------- native city sections (loc-rich / loc-demo, from the platform's
   own inline styles, consolidated here for the new native city pages) ---- */
.loc-rich{padding:3rem 0;background:#fff}
.loc-rich__intro p{margin:0 0 1rem;line-height:1.65;color:#1f2937}
.loc-rich__subtitle{margin:2rem 0 1rem;font-size:1.4rem;color:#0f172a;font-weight:700}
.loc-rich__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}
.loc-rich__card{padding:1.1rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}
.loc-rich__card h4{margin:0 0 .5rem;color:#0F7A3A;font-size:1rem}
.loc-rich__card p{margin:0;color:#475569;font-size:.95rem;line-height:1.5}
.loc-rich__cols{display:grid;grid-template-columns:1fr;gap:2rem;margin:2rem 0}
@media(min-width:768px){.loc-rich__cols{grid-template-columns:1fr 1fr}}
.loc-rich__col p{line-height:1.6;color:#374151}
.loc-rich__whyus{margin:2rem 0;padding:1.5rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:.5rem}
.loc-rich__whyus p{margin:0;line-height:1.6}
.loc-rich__faqs{margin-top:2rem}
.loc-rich__faq{margin:.5rem 0;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}
.loc-rich__faq summary{cursor:pointer;font-weight:600;color:#0f172a}
.loc-rich__faq p{margin:.6rem 0 0;color:#475569;line-height:1.55}
.loc-demo{padding:3rem 0;background:#f8fafc}
.loc-demo__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1.5rem 0}
.loc-demo__stat{display:flex;flex-direction:column;align-items:center;padding:1.25rem .75rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;text-align:center}
.loc-demo__num{font-size:1.6rem;font-weight:800;color:#0F7A3A;line-height:1.1}
.loc-demo__num--text{font-size:1.05rem;text-transform:none;line-height:1.25}
.loc-demo__label{margin-top:.35rem;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.loc-demo__insight{margin-top:1.5rem;padding:1.25rem 1.5rem;background:#fff;border-left:4px solid #0F7A3A;border-radius:.5rem;line-height:1.6;color:#334155}
.loc-demo__insight strong{color:#0f172a}

/* city heroes with real photos: fill the frame like the platform images */
.hero--location .hero__img{object-fit:cover;width:100%;height:100%}
.hero--location .hero__image picture{display:block;height:100%}

/* ---------- lead form 103: address/ZIP row ---------- */
.lead-form__row--addr{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:640px){
  .lead-form__row--addr{grid-template-columns:1fr 160px;gap:1rem}
}

/* blog cards for 103 articles */
.blog-card__new{position:absolute;top:10px;right:10px;z-index:2;background:#E8A838;color:#091E35;
  font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.3em .7em;border-radius:999px;box-shadow:0 6px 14px -6px rgba(9,30,53,.5)}
.blog-card__image-link{position:relative}

@media (prefers-reduced-motion:reduce){
  .field-gallery .photo-marquee__track{animation:none}
}
