/* =========================================================
0) Reset / Base
========================================================= */
.landing-seo *,
.landing-seo *::before,
.landing-seo *::after{
box-sizing:border-box;
}

.landing-seo{
  --strong-default:600;
  --heading-color:var(--ink,#222);
  --heading-section-size:clamp(26px, 3vw, 34px);
  --heading-section-weight:800;
  --heading-section-line:1.15;
  --heading-section-spacing:-0.025em;
  overflow-x:hidden;
}

.landing-seo .container{
width:100%;
padding-right:.75rem;
padding-left:.75rem;
margin-right:auto;
margin-left:auto;
}

.landing-seo p{
font-size:16px;
line-height:1.5;
color:#666;
}

.landing-seo strong,
.landing-seo .u-strong{
font-weight:var(--strong-default);
}

.landing-seo .faq-section strong,
.landing-seo .faq-section .u-strong{
color:#333;
}
/* =========================================================
   1) Shared Heading System
========================================================= */
/* ---------- Standard Section H2 ---------- */
.landing-seo :is(
  .intent__title,
  .how-it-works > h2,
  .reviews__title,
  .section__title,
  .menu-pricing__title,
  .service-areas__title,
  .hub-guides__title,
  .faq-title
){
  color:var(--heading-color);
  font-size:var(--heading-section-size);
  font-weight:var(--heading-section-weight);
  line-height:var(--heading-section-line);
  letter-spacing:var(--heading-section-spacing);
  text-align:center;
}

/* ---------- Secondary Section Titles ---------- */
.landing-seo :is(
  .menu-pricing__subtitle,
  .service-areas__subtitle,
  .hub-guides__group-title
){
  color:var(--heading-color);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.01em;
}

/* ---------- Card Titles ---------- */
.landing-seo :is(
  .how-it-works__card h3,
  .c-feature__title,
  .hub-guides__card-title
){
  color:var(--heading-color);
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.01em;
}
/* =========================================================
   2) Global Utilities
========================================================= */
   .landing-seo :is(
   #booking,
   #pricing,
   #reviews,
   #service-areas,
   #faq
   ){
   scroll-margin-top:90px;
   }

.landing-seo .icon-emoji{
position:relative;
display:inline-block;
margin-right:5px;
font-size:20px;
}

.landing-seo .text-highlight{
color:#ff4f00;
font-weight:800;
}

/* =========================================================
   3) Shared CTA Width
========================================================= */
.landing-seo .intent__actions .hw-btn,
.landing-seo .service-areas__actions .hw-btn,
.landing-seo .cta-bottom__actions .hw-btn{
width:260px;
justify-content:center;
}

@media (max-width:600px){
.landing-seo .intent__actions .hw-btn,
.landing-seo .service-areas__actions .hw-btn,
.landing-seo .cta-bottom__actions .hw-btn{
width:90%;
max-width:340px;
}
}

/* Desktop */
.landing-seo .show-desktop{
  display:block;
}

.landing-seo .show-mobile{
  display:none;
}

/* Mobile */
@media (max-width:767.98px){

  .landing-seo .show-desktop{
    display:none;
  }

  .landing-seo .show-mobile{
    display:block;
  }

}
/* =========================================================
   4) Hero
========================================================= */

.landing-seo .hero{
position:relative;
left:50%;
width:100vw;
min-height:clamp(540px, 75vh, 780px);
margin-left:-50vw;
overflow:hidden;
isolation:isolate;
}

.landing-seo .hero::before{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;
background:linear-gradient(
to bottom,
rgba(7,12,24,.58) 0%,
rgba(7,12,24,.42) 36%,
rgba(7,12,24,.26) 72%,
rgba(7,12,24,.18) 100%
);
}

.landing-seo .hero .hero__video{
position:absolute;
inset:0;
z-index:0;
width:100%;
height:100%;
object-fit:cover;
pointer-events:none;
filter:brightness(.94) contrast(1.08) saturate(1.05);
transform:scale(1.02) translateZ(0);
will-change:transform;
backface-visibility:hidden;
}

.landing-seo .hero .hero__overlay{
position:relative;
z-index:2;
max-width:760px;
margin-inline:auto;
padding:
calc(clamp(18px, 3vh, 34px) + env(safe-area-inset-top,0px))
18px
12px;
text-align:center;
color:#fff;
background:none;
}

/* ---------- Hero Text Shadow ---------- */
.landing-seo .hero__title,
.landing-seo .hero__price,
.landing-seo .hero__min,
.landing-seo .hero__trust,
.landing-seo .hero__desc,
.landing-seo .hero-urgency{
text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* ---------- Hero CTA ---------- */
.landing-seo .hero .hero__cta{
position:relative;
z-index:3;
display:flex;
align-items:center;
justify-content:center;
width:100%;
margin-top:0;
}

.landing-seo .hero .hero__cta{
  text-shadow:none;
}

.landing-seo .hero .hw-btn{
width:auto;
min-width:280px;
}

/* ---------- Hero Button ---------- */
.landing-seo .btn--invert,
.landing-seo .btn--invert:link,
.landing-seo .btn--invert:visited{
min-height:44px;
margin:0 auto;
padding:13px 32px;
border:1px solid rgba(255,255,255,.24);
border-radius:999px;
background:rgba(255,255,255,.9);
color:#111827;
font-size:15px;
font-weight:700;
letter-spacing:.01em;
backdrop-filter:blur(10px);
box-shadow:0 8px 24px rgba(0,0,0,.16);
transition:
background .22s ease,
transform .22s ease,
box-shadow .22s ease;
}

@media (hover:hover){
.landing-seo .btn--invert:hover{
background:#f5f5f5;
transform:translateY(-.5px);
box-shadow:0 16px 40px rgba(0,0,0,.3);
}
}

.landing-seo .btn--invert:active{
background:#f3f4f6;
transform:scale(.98);
box-shadow:0 6px 14px rgba(0,0,0,.16);
}

/* ---------- Hero Content ---------- */
.landing-seo .hero__logo{
margin:18px 0 16px;
color:#fff;
font-size:clamp(38px, 5.6vw, 48px);
font-weight:900;
line-height:1.12;
letter-spacing:-.03em;
}

.landing-seo .hero__logo-highlight{
color:#00ff26;
font-size:clamp(40px, 5.8vw, 50px);
}

.landing-seo .hero .hero__title{
margin:8px 0 12px;
color:#fff;
font-size:clamp(26px, 3.4vw, 40px);
font-weight:900;
line-height:1.12;
letter-spacing:-.03em;
}

.landing-seo .hero__price{
margin:0 0 4px;
color:#fff;
font-size:clamp(15px, 1.6vw, 17px);
font-weight:500;
line-height:1.4;
}

.landing-seo .hero__min{
display:inline-block;
padding:6px 16px;
border:1px solid rgba(255,255,255,.22);
border-radius:999px;
background:rgba(255,255,255,.16);
white-space:nowrap;
backdrop-filter:blur(8px);
}

.landing-seo .hero__trust{
display:inline-flex;
align-items:center;
justify-content:center;
gap:5px;
margin:6px 0 10px;
color:rgba(255,255,255,.96);
font-size:14px;
font-weight:500;
line-height:1.35;
letter-spacing:.15px;
}

.landing-seo .hero__trust .icon-emoji{
color:#fbbf24;
font-size:15px;
transform:translateY(-1px);
}

.landing-seo .hero .hero__desc{
max-width:620px;
margin:0 auto 30px;
padding:0 6px;
color:#fff;
font-size:clamp(15px, 1.45vw, 16px);
font-weight:400;
line-height:1.5;
text-align:center;
}

.landing-seo .hero-urgency{
display:flex;
align-items:center;
justify-content:center;
gap:5px;
max-width:620px;
margin:14px auto 0;
padding:0 16px;
color:#fff4e8;
font-size:14px;
font-weight:600;
line-height:1.45;
text-align:center;
}

.landing-seo .hero-urgency .icon-emoji{
flex-shrink:0;
}

/* ---------- Hero Mobile ---------- */
@media (max-width:767.98px){

  .landing-seo .hero{
    min-height:clamp(540px, 76svh, 700px);
  }

  .landing-seo .hero::before{
    background:linear-gradient(
      to bottom,
      rgba(7,12,24,.62) 0%,
      rgba(7,12,24,.45) 36%,
      rgba(7,12,24,.30) 72%,
      rgba(7,12,24,.20) 100%
    );
  }

  .landing-seo .hero .hero__video{
    filter:brightness(.92) contrast(1.08) saturate(1.05);
    transform:scale(1.04) translateZ(0);
  }

  .landing-seo .hero .hero__overlay{
    max-width:680px;
    padding:
      calc(clamp(34px, 5vh, 58px) + env(safe-area-inset-top,0px))
      18px
      14px;
  }

  .landing-seo .hero__logo{
    margin:22px 0 18px;
    font-size:clamp(34px, 9vw, 42px);
  }

  .landing-seo .hero__logo-highlight{
    font-size:clamp(36px, 9.5vw, 46px);
  }

  .landing-seo .hero .hero__title{
    margin:22px 0 18px;
    font-size:clamp(27px, 7.2vw, 34px);
    line-height:1.12;
  }

  .landing-seo .hero__price{
    font-size:14.5px;
    line-height:1.35;
  }

  .landing-seo .hero .hero__min{
    display:block;
    width:fit-content;
    max-width:100%;
    margin:0 auto;
    padding:6px 13px;
    font-size:13.5px;
    line-height:1.3;
  }

  .landing-seo .hero__trust{
    margin:6px auto 20px;
    font-size:13.5px;
    line-height:1.35;
    letter-spacing:.1px;
  }

  .landing-seo .hero__trust .icon-emoji{
    font-size:13.5px;
  }

  .landing-seo .hero .hero__cta .hw-btn{
    width:100%;
    min-width:0;
    max-width:300px;
    padding:12px 24px;
    font-size:13.5px;
  }

  .landing-seo .hero-urgency{
    margin:10px auto 0;
    font-size:13.5px;
    line-height:1.45;
  }

  .landing-seo .btn--invert:hover{
    transform:none;
    box-shadow:none;
    animation:none;
  }
}
/* =========================================================
  5) Intent
========================================================= */
.landing-seo #intent{
  padding:0 12px 6px;
}

.landing-seo .intent__container{
  max-width:960px;
  margin:0 auto;
  padding:0 4px;
  text-align:center;
}

.landing-seo .intent__title{
  margin:8px auto 10px;
  padding:0 6px;
  word-break:normal;
  overflow-wrap:anywhere;
}

.landing-seo .intent__subtitle{
  display:block;
  margin-top:6px;
  color:#ff4f00;
  font-size:clamp(17px,1.7vw,20px);
  font-weight:600;
  line-height:1.2;
}

.landing-seo .intent__lead{
  margin:4px 0;
  padding:0;
  color:#4a4a4a;
  font-size:clamp(15px,1.7vw,16px);
  line-height:1.6;
}

.landing-seo .intent-trust{
  margin:14px 0 10px;
  padding:0 .75rem;
  color:#444;
  font-size:clamp(15px,1.6vw,16px);
  font-weight:600;
  line-height:1.6;
  text-align:center;
}

.landing-seo .intent-pricing__container{
  max-width:720px;
  margin:0 auto;
  padding:0 .75rem;
  text-align:center;
}

.landing-seo .intent-pricing__title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:6px 0 10px;
  color:#ff4f00;
  font-size:clamp(17px,1.7vw,19px);
  font-weight:600;
  line-height:1.25;
}

.landing-seo .intent-pricing__list{
  margin:0 auto;
  padding:0;
  list-style:none;
  color:#4a4a4a;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.6;
}

.landing-seo .intent-pricing__item{
  padding:2px 0;
}

.landing-seo .intent-pricing__chip{
  display:inline-block;
  padding:0 .35em;
  border-radius:8px;
  background:rgba(255,79,0,.06);
  color:#ff4f00;
  font-weight:600;
}

.landing-seo .intent-pricing__note{
  margin:12px 0 22px;
  color:#555;
  font-size:clamp(14px,1.7vw,15px);
  font-style:italic;
  line-height:1.6;
  opacity:.8;
}

.landing-seo .intent__actions{
  display:flex;
  justify-content:center;
  margin:0;
}
/* =========================================================
6) How It Works
========================================================= */
.landing-seo .how-it-works{
  padding:18px 0 30px;
}

.landing-seo .how-it-works h2{
  margin:0 0 20px;
}

.landing-seo .how-it-works__grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:clamp(14px, 2.2vw, 24px);
width:min(1180px, 92vw);
margin:0 auto;
padding:0;
list-style:none;
}

.landing-seo .how-it-works__grid > li{
list-style:none;
}

.landing-seo .how-it-works__card{
position:relative;
padding:16px 18px;
border:1px solid rgba(15,23,42,.06);
border-radius:18px;
background:#fff;
text-align:center;
box-shadow:
0 18px 40px rgba(15,23,42,.08),
0 2px 10px rgba(15,23,42,.06);
}

.landing-seo .how-it-works__step{
display:inline-flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
margin:0 auto 6px;
border:2px solid #ff6a00;
border-radius:999px;
background:#fff;
color:#ff6a00;
font-size:16px;
font-weight:800;
line-height:1;
}

.landing-seo .how-it-works__card h3{
  margin:0 0 6px;
  color:#111827;
  font-size:18px;
  line-height:1.25;
}

.landing-seo .how-it-works__card p{
margin:0;
color:rgba(17,24,39,.78);
font-size:15px;
line-height:1.6;
}

.landing-seo .how-it-works__card a{
color:rgba(17,24,39,.78);
font-weight:400;
text-decoration:none;
}

/* ---------- How It Works Responsive ---------- */
@media (max-width:980px){
.landing-seo .how-it-works__grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width:640px){
.landing-seo .how-it-works{
padding:12px 0;
}

.landing-seo .how-it-works h2{
margin-bottom:16px;
padding:0 8px;
}

.landing-seo .how-it-works__grid{
grid-template-columns:1fr;
gap:14px;
width:min(560px, 92vw);
}

.landing-seo .how-it-works__card{
padding:12px 12px 18px;
border-radius:16px;
}

.landing-seo .how-it-works__step{
width:40px;
height:40px;
font-size:15px;
}
}

/* =========================================================
7) Reviews
========================================================= */
.landing-seo .reviews__container{
width:100%;
max-width:1200px;
margin:20px auto 0;
padding:0 12px;
}

.landing-seo .reviews__title{
  margin:0 0 18px;
  padding:6px 10px;
}

.landing-seo .reviews-grid__list{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px;
margin:12px 0 0;
padding:0;
list-style:none;
}

.landing-seo .reviews-grid__item{
min-width:0;
margin:0;
padding:0;
}

.landing-seo .reviews-grid__card{
display:flex;
flex-direction:column;
height:100%;
padding:18px 20px;
border:1px solid rgba(15,23,42,.06);
border-radius:18px;
background:#fff;
box-shadow:
0 10px 30px rgba(15,23,42,.06),
0 2px 6px rgba(15,23,42,.04);
transition:
box-shadow .18s ease,
border-color .18s ease,
background .18s ease;
}

.landing-seo .reviews-grid__header{
display:flex;
align-items:center;
gap:10px;
min-width:0;
margin-bottom:8px;
}

.landing-seo .reviews-grid__avatar{
flex:0 0 auto;
width:28px;
height:28px;
border-radius:50%;
object-fit:cover;
}

.landing-seo .reviews-grid__author{
overflow:hidden;
color:#111827;
font-size:.98rem;
font-weight:600;
line-height:1.15;
text-overflow:ellipsis;
white-space:nowrap;
}

.landing-seo .reviews-grid__stars{
margin-top:2px;
color:#ffb400;
font-size:14px;
line-height:1.1;
letter-spacing:.3px;
}

.landing-seo .reviews-grid__text{
  display:-webkit-box;
  margin:6px 0 0;
  overflow:hidden;
  color:#4a4a4a;
  font-size:.9rem;
  line-height:1.6;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
}

.landing-seo .reviews-note{
  margin:24px 0 40px;
  color:#8b93a1;
  font-size:13px;
  line-height:1.6;
  text-align:center;
}

.landing-seo .reviews-note .icon-emoji{
  font-size:15px;
  margin-right:6px;
  vertical-align:-1px;
}
/* ---------- Reviews Responsive ---------- */
@media (max-width:1024px){
.landing-seo .reviews-grid__list{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width:768px){
.landing-seo .reviews-grid__card{
padding:14px;
}
}

@media (max-width:680px){
.landing-seo .reviews-grid__list{
grid-template-columns:1fr;
gap:16px;
}

.landing-seo .reviews-grid__text{
-webkit-line-clamp:5;
}
}

/* =========================================================
   8) Features / Section
========================================================= */
.landing-seo .section{
  margin:20px auto 0;
  padding:0 0 10px;
}

.landing-seo .section__container{
  max-width:1080px;
  margin:0 auto;
  padding:0 12px;
}

.landing-seo .section__title{
  margin:0 0 20px;
  padding:8px 16px;
}

.landing-seo .c-features__list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}

.landing-seo .c-feature{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  padding:16px 18px;
  border:1px solid transparent;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.10);
  transition:
    box-shadow .2s ease,
    border-color .2s ease;
}

.landing-seo .c-feature:hover,
.landing-seo .c-feature:focus-within{
  border-color:rgba(15,23,42,.08);
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}

.landing-seo .c-feature__icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(255,79,0,.08);
  font-size:24px;
  line-height:1;
  transform:translateZ(0);
  will-change:transform;
  transition:
    transform .25s cubic-bezier(.25,.8,.25,1),
    background-color .25s ease;
}

.landing-seo .c-feature:hover .c-feature__icon,
.landing-seo .c-feature:focus-within .c-feature__icon{
  background:rgba(255,79,0,.14);
  transform:translateY(-6px) rotate(-6deg) scale(1.12);
}

.landing-seo .c-feature__title{
  margin:0 0 4px;
  color:#222;
  font-size:clamp(16px, 2vw, 18px);
  line-height:1.25;
  text-align:left;
}

.landing-seo .c-feature__desc{
  margin:0;
  color:#4a4a4a;
  font-size:clamp(14px, 1.7vw, 16px);
  line-height:1.45;
  text-align:left;
}

/* ---------- Features Responsive ---------- */
@media (max-width:992px){
  .landing-seo .c-features__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:600px){
  .landing-seo .c-features__list{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   9) Carousel Gallery Spacing
========================================================= */
.landing-seo .carousel-gallery .carousel-snap{
  margin-top:34px;
}

/* =========================================================
   10) Menu Pricing
========================================================= */
.landing-seo .menu-pricing{
  padding:24px 2px 2px;
}

.landing-seo .menu-pricing__container{
  max-width:1080px;
  margin:0 auto;
  text-align:center;
}

.landing-seo .menu-pricing__title{
  margin:0 0 18px;
  padding:8px 16px;
}

.landing-seo .menu-pricing__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:20px;
  margin:8px 0 20px;
  text-align:left;
}

.landing-seo .menu-pricing__col{
  padding:24px 22px 20px;
  border-radius:18px;
  background:#fff;
  box-shadow:
    0 6px 14px rgba(0,0,0,.06),
    0 1px 2px rgba(0,0,0,.04);
}

.landing-seo .menu-pricing__subtitle{
  margin-bottom:10px;
  font-size:18px;
  font-weight:600;
}

.landing-seo .menu-pricing__list{
  margin:0 0 16px;
  padding-left:18px;
  color:#374151;
  font-size:14px;
}

.landing-seo .menu-pricing__list li + li{
  margin-top:6px;
}

/* ---------- Menu Pricing Responsive ---------- */
@media (max-width:640px){
  .landing-seo .menu-pricing__container{
    padding-right:12px;
    padding-left:12px;
  }

  .landing-seo .menu-pricing__grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   11) Service Areas
   保留州页 / 区域页 / 城市页兼容规则
========================================================= */
.landing-seo .service-areas__container{
  max-width:1200px;
  margin:0 auto;
  padding:0 12px;
}

.landing-seo .service-areas__title{
  margin:4px 0 16px;
  padding:2px 4px;
}

.landing-seo .service-areas__helper{
  color:#64748b;
  text-align:center;
  font-size:clamp(13px,1.5vw,14px);
  margin:10px auto 20px;
  line-height:1.6;
  max-width:800px;
}

.landing-seo .service-areas__local,
.landing-seo .service-areas__note,
.landing-seo .service-areas__group-note{
  text-align:center;
  color:#4a4a4a;
  font-size:15px;
  line-height:1.7;
  margin-bottom:12px;
}

.landing-seo .service-areas__intro{
  max-width:720px;
  margin:0 auto 10px;
  text-align:center;
  color:#4a4a4a;
  font-size:15px;
  line-height:1.7;
}

.landing-seo .service-areas__group-note{
  margin:0 0 30px;
}

.landing-seo .service-areas__group{
  max-width:720px;
  margin:0 auto;
  padding:0 0 6px;
}

.landing-seo .service-areas__subtitle{
  margin:0 0 14px;
  color:#222;
  font-size:18px;
}

.landing-seo .service-areas__region-link{
  color:inherit;
  text-decoration:none;
}

.landing-seo .service-areas__region-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.landing-seo .service-areas__grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 14px;
}

.landing-seo .service-areas__grid--single{
  grid-template-columns:1fr;
}

.landing-seo .service-areas__grid li{
  margin:0;
  padding:0;
  list-style:none;
}

.landing-seo .service-areas__grid li::before{
  content:none;
}

.landing-seo .service-areas__grid li::marker{
  content:none;
}

.landing-seo .service-areas__grid a,
.landing-seo .service-areas__grid span{
  display:block;
  width:100%;
  max-width:360px;
  margin:0 auto;
  padding:12px 16px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  color:inherit;
  text-decoration:none;
  transition:
    transform .15s ease,
    background .15s ease,
    border-color .15s ease;
}

.landing-seo .service-areas__grid a:visited{
  color:inherit;
}

.landing-seo .service-areas__grid a:hover,
.landing-seo .service-areas__grid span:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.14);
}

.landing-seo .service-areas__trust{
  color:#ff4f00;
  font-weight:500;
  text-align:center;
  font-size:clamp(15px, 2vw, 17px);
  margin:2px auto 6px;
  line-height:1.5;
}

.landing-seo .service-areas__foot-region-link{
  text-decoration:none;
}

.landing-seo .service-areas__foot-region-link,
.landing-seo .service-areas__foot{
  margin:6px auto 12px;
  font-size:clamp(13px, 2vw, 14px);
  line-height:1.6;
  color:#8b93a1;
  text-align:center;
}

.landing-seo .service-areas__region-note{
  margin:10px 0 0;
  font-size:13.5px;
  color:rgba(0,0,0,.62);
}

.landing-seo .service-areas__trust,
.landing-seo .service-areas__actions{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.landing-seo .service-areas__actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:40px auto 50px;
}

.landing-seo .service-areas__grid li.service-areas__city-secondary{
  padding-left:10px;
}

.landing-seo .service-areas__coverage{
  margin:0 auto 10px;
  max-width:840px;
  text-align:center;
  font-size:clamp(14px,2vw,15px);
  line-height:1.65;
  color:#4b5563;
}

.landing-seo .service-areas__snippet{
  margin:6px 0 2px;
  font-size:clamp(12.5px, 1.8vw, 13.5px);
  line-height:1.5;
  color:#8b93a1;
  padding-left:10px;
  padding-right:10px;
}

.landing-seo .service-areas__hub-links{
  margin-top:20px;
  font-size:15px;
  line-height:1.6;
}

.landing-seo .service-areas__hub-links a{
  color:#1e63d5;
  font-weight:500;
}

.landing-seo .city-service-areas__coverage{
  display:grid;
  grid-template-columns:repeat(2, max-content);
  justify-content:center;
  column-gap:66px;
  row-gap:8px;
  max-width:520px;
  margin:12px auto 16px;
  padding:0;
  list-style:none;
}

.landing-seo .city-service-areas__neighborhood{
  position:relative;
  padding-left:14px;
  font-size:clamp(14px, 2vw, 15px);
  line-height:1.6;
  color:#4b5563;
  white-space:nowrap;
  font-weight:700;
}

.landing-seo .city-service-areas__neighborhood::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:#000000;
  font-weight:700;
}

/* ---------- Service Areas Responsive ---------- */
@media (min-width:768px){
  .landing-seo .city-service-areas__coverage{
    justify-content:space-between;
    column-gap:0;
  }
}

@media (max-width:768px){
  .landing-seo .service-areas__grid li.service-areas__city-secondary{
    padding-left:14px;
  }
}

@media (max-width:640px){
  .landing-seo .service-areas__snippet{
    max-width:360px;
    margin-right:auto;
    margin-left:auto;
  }
}

@media (max-width:600px){
  .landing-seo .service-areas__grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .landing-seo .service-areas__actions{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
}

/* =========================================================
   12) Hub Guides
========================================================= */
.landing-seo .hub-guides{
  padding:56px 0;
}

.landing-seo .hub-guides__container{
  width:min(1200px, calc(100% - 32px));
  margin:0 auto;
}

.landing-seo .hub-guides__title{
  margin:0 0 14px;
}

.landing-seo .hub-guides__intro{
  max-width:860px;
  margin:0 auto 22px;
  color:#5f6673;
  font-size:16px;
  line-height:1.65;
  text-align:center;
}

.landing-seo .hub-guides__group{
  margin:0 0 32px;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
}

.landing-seo .hub-guides__group:last-child{
  margin-bottom:0;
}

.landing-seo .hub-guides__group-title{
  margin:0 0 18px;
  color:#334155;
  font-size:24px;
  line-height:1.25;
}

.landing-seo .hub-guides__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
}

.landing-seo .hub-guides__item{
  margin:0;
  padding:0;
}

.landing-seo .hub-guides__card{
  display:block;
  height:100%;
  padding:16px 22px 14px;
  border:1px solid #eee7e0;
  border-radius:20px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(31,43,61,.04);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.landing-seo .hub-guides__card:hover{
  border-color:rgba(255,90,31,.25);
  background:#fafafa;
  box-shadow:0 14px 28px rgba(31,43,61,.08);
  transform:translateY(-1px);
}

.landing-seo .hub-guides__card-title{
  margin:0 0 10px;
  color:#1f2937;
  font-size:18px;
  font-weight:700;
  line-height:1.3;
}

.landing-seo .hub-guides__card-text{
  margin:0;
  color:#6b7280;
  font-size:15px;
  line-height:1.6;
}

.landing-seo .hub-guides__card:focus-visible{
  outline:3px solid rgba(255,90,31,.28);
  outline-offset:2px;
}

/* ---------- Hub Guides Responsive ---------- */
@media (max-width:991.98px){
  .landing-seo .hub-guides{
    padding:60px 0;
  }

  .landing-seo .hub-guides__intro{
    margin-bottom:30px;
  }

  .landing-seo .hub-guides__group{
    margin-bottom:36px;
  }

  .landing-seo .hub-guides__group-title{
    margin-bottom:16px;
    font-size:22px;
  }

  .landing-seo .hub-guides__grid{
    gap:16px;
  }

  .landing-seo .hub-guides__card{
    padding:20px 18px 18px;
  }

  .landing-seo .hub-guides__card-title{
    font-size:18px;
  }

  .landing-seo .hub-guides__card-text{
    font-size:16px;
  }
}

@media (max-width:767.98px){
  .landing-seo .hub-guides__title{
    margin-bottom:12px;
  }

  .landing-seo .hub-guides__intro{
    margin-bottom:24px;
    font-size:15px;
    line-height:1.5;
  }

  .landing-seo .hub-guides__group{
    margin-bottom:30px;
  }

  .landing-seo .hub-guides__group-title{
    margin-bottom:14px;
    font-size:20px;
  }

  .landing-seo .hub-guides__grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .landing-seo .hub-guides__card-title{
    font-size:16px;
  }

  .landing-seo .hub-guides__card-text{
    font-size:14px;
    line-height:1.55;
  }
}

/* =========================================================
   13) FAQ
========================================================= */
.landing-seo .faq-section{
  max-width:1200px;
  margin:16px auto;
  padding:0 16px;
}

.landing-seo .faq-wrap{
  width:100%;
}

.landing-seo .faq-title{
  margin: 10px 0 34px;
  padding: 6px 12px;
}

.landing-seo .faq-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px 18px;
}

.landing-seo .faq-section .faq-item{
  overflow:hidden;
  border:1px solid transparent;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  transform:translateZ(0);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.landing-seo .faq-section .faq-item > summary::-webkit-details-marker{
  display:none;
}

.landing-seo .faq-section .faq-item > summary{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:56px;
  padding:14px 16px;
  background:#fff;
  color:#333;
  font-size:clamp(15px, 2.6vw, 17px);
  font-weight:600;
  line-height:1.25;
  list-style:none;
  cursor:pointer;
  user-select:none;
  transition:background .18s ease;
}

.landing-seo .faq-section .faq-item > summary:focus-visible{
  outline:2px solid #bdbdbd;
  outline-offset:1px;
}

.landing-seo .faq-section .faq-item > summary::after{
  content:"+";
  flex:0 0 auto;
  margin-left:auto;
  color:#ff6a00;
  font-size:20px;
  font-weight:800;
  line-height:1;
  pointer-events:none;
  transform:rotate(0deg);
  transition:transform .2s ease;
}

.landing-seo .faq-section .faq-item[open] > summary::after{
  transform:rotate(45deg);
}

.landing-seo .faq-section .faq-item[open] > summary{
  background:#faf2eb;
}

.landing-seo .faq-section .faq-item[open]{
  border-color:#eddbcb;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}

.landing-seo .faq-section .faq-body{
  max-height:0;
  overflow:hidden;
  padding:0 18px;
  opacity:0;
  transform:translateY(-6px);
  transition:
    max-height .32s ease,
    opacity .22s ease,
    transform .22s ease,
    padding .22s ease;
}

.landing-seo .faq-section .faq-item[open] .faq-body{
  position:relative;
  max-height:1200px;
  padding:12px 18px 16px;
  background:#fbfbfb;
  opacity:1;
  transform:translateY(0);
}

.landing-seo .faq-section .faq-item[open] .faq-body::before{
  content:"";
  display:block;
  height:1px;
  margin:0 -18px 12px;
  background:linear-gradient(
    to right,
    transparent,
    rgba(255,106,0,.18),
    transparent
  );
}

.landing-seo .faq-section .faq-text{
  margin:0;
  color:#4a4a4a;
  font-size:clamp(14px, 2.1vw, 16px);
  line-height:1.6;
}

.landing-seo .faq-section .faq-text p{
  margin:0;
}

.landing-seo .faq-section .faq-text p + p{
  margin-top:8px;
}

.landing-seo .faq-section .faq-text a,
.landing-seo .faq-section .faq-body a{
  color:#4169e1;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:1px;
}

.landing-seo .faq-section .faq-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:8px;
  margin:8px 0;
  line-height:1.6;
}

.landing-seo .faq-section .faq-key{
  color:#222;
  font-weight:700;
}

.landing-seo .faq-section .faq-val{
  color:#444;
}

/* ---------- FAQ Hover ---------- */
@media (hover:hover){
  .landing-seo .faq-section .faq-item:hover{
    border-color:#dfdfdf;
    box-shadow:0 14px 28px rgba(15,23,42,.10);
    transform:translateY(-1px);
  }

  .landing-seo .faq-section .faq-item > summary:hover{
    background:#fff7f1;
  }
}

/* ---------- FAQ Responsive ---------- */
@media (max-width:768px){
  .landing-seo .faq-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media (max-width:600px){
  .landing-seo .faq-section .faq-row{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   14) CTA Bottom
========================================================= */
.landing-seo .cta-bottom__container {
  padding: 50px 0;
}

.landing-seo .cta-bottom__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 36px 24px;
  text-align: center;
  border:1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background: linear-gradient(180deg, #fff9f4 0%, #ffffff 100%);
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
}

.landing-seo .cta-bottom__title {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.16;
  font-weight: 800;
  color: var(--ink);
}

.landing-seo .cta-bottom__desc {
  max-width: 720px;
  margin: 14px auto 12px;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.75;
  color: var(--text);
}

.landing-seo .cta-bottom__note {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand);
}

.landing-seo .cta-bottom__actions {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}

@media (max-width: 767.98px) {
  .landing-seo .cta-bottom__container {
    padding: 40px 0;
  }

  .landing-seo .cta-bottom__inner {
    margin: 0 14px;
    padding: 28px 16px;
    border-radius: 22px;
  }

  .landing-seo .cta-bottom__note {
    margin-bottom: 18px;
  }
}
/* =========================================================
   15) Shared Hover / Interaction
========================================================= */
@media (hover:hover){
  .landing-seo .icon-emoji{
    transition:
      transform .2s ease,
      filter .2s ease;
  }

  .landing-seo .icon-emoji:hover,
  .landing-seo .icon-emoji:focus-visible{
    filter:brightness(1.15);
    transform:scale(1.15);
  }

  .landing-seo .hw-btn:hover{
    transform:translateY(-1px);
  }
}

.landing-seo .hw-btn:active{
  transform:translateY(0);
}

/* ---------- Mobile Hover Reset ---------- */
@media (max-width:768px){
  .landing-seo .reviews-grid__item:hover,
  .landing-seo .c-feature:hover,
  .landing-seo .gallery__item:hover img,
  .landing-seo .carousel-gallery:hover img,
  .landing-seo .btn--invert:hover{
    box-shadow:none;
    transform:none;
    animation:none;
  }
}

/* =========================================================
   16) Mobile Scroll Offset
========================================================= */
@media (max-width:768px){
  .landing-seo :is(
    #booking,
    #pricing,
    #reviews,
    #service-areas,
    #faq
  ){
    scroll-margin-top:76px;
  }
}

/* =========================================================
   17) Reduced Motion
========================================================= */
@media (prefers-reduced-motion:reduce){

  .landing-seo .icon-emoji{
    filter:none;
    transform:none;
    transition:none;
  }

  .landing-seo .how-it-works *{
    transition:none;
    animation:none;
  }

  .landing-seo .reviews-grid__card{
    transition:none;
  }

  .landing-seo .c-feature,
  .landing-seo .c-feature__icon{
    transition:none;
  }

  .landing-seo .c-feature:hover .c-feature__icon,
  .landing-seo .c-feature:focus-within .c-feature__icon{
    transform:none;
  }

  .landing-seo .faq-section .faq-item,
  .landing-seo .faq-section .faq-item > summary,
  .landing-seo .faq-section .faq-item > summary::after,
  .landing-seo .faq-section .faq-body{
    transform:none;
    transition:none;
  }

  .landing-seo .hw-btn{
    transition:none;
  }
}

