
:root{
  --bg:#060b12;
  --bg-2:#0a1220;
  --panel:#0f1826;
  --panel-2:#101b2b;
  --text:#eef3fb;
  --muted:#a8b6cb;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.06);
  --green:#73c600;
  --green-2:#91e100;
  --blue:#5e95f4;
  --blue-2:#85b2ff;
  --red:#ff4d57;
  --shadow:0 18px 40px rgba(0,0,0,.28);
  --radius:16px;
  --radius-lg:20px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(94,149,244,.12), transparent 60%),
    radial-gradient(700px 420px at 0% 20%, rgba(115,198,0,.08), transparent 55%),
    linear-gradient(180deg, #050b12, #050a10 45%, #050a10);
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
ul{list-style:none; margin:0; padding:0}
p,h1,h2,h3,h4{margin:0 0 .65rem}
p{line-height:1.55}
.container{width:min(calc(100% - 2rem), var(--max)); margin-inline:auto}

/* Header */
.site-header{
  position:sticky; top:0; z-index:20;
  background:rgba(6,11,18,.72);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:70px;
}
.brand{display:flex; align-items:center; gap:.7rem; font-weight:700}
.brand img{width:34px; height:34px}
.brand span{font-size:.95rem; letter-spacing:.01em}
.site-nav{display:flex; align-items:center; gap:.3rem}
.site-nav a{
  padding:.55rem .75rem;
  border-radius:10px;
  color:#dbe6f5;
  font-weight:600;
  font-size:.92rem;
  border:1px solid transparent;
}
.site-nav a:hover,.site-nav a.active{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.08);
}
.site-nav .nav-cta{
  margin-left:.35rem;
  background:linear-gradient(135deg, var(--green), #89db00);
  color:#081006;
  font-weight:800;
  border-color:transparent;
  box-shadow:0 8px 20px rgba(115,198,0,.25);
}
.site-nav .nav-cta:hover{filter:brightness(1.06)}
.menu-toggle{
  display:none;
  width:42px; height:42px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font-size:1.05rem;
}

/* General */
.section{padding:4rem 0}
.section-alt{background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.02))}
.eyebrow{
  color:var(--blue-2);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  margin-bottom:.4rem;
}
.section-head{max-width:760px; margin:0 auto 1.35rem; text-align:center}
.section-head h2{font-size:clamp(1.35rem, 1.15rem + 1vw, 2.1rem); line-height:1.15}
.section-head p{color:var(--muted)}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  border-radius:12px;
  padding:.8rem 1rem;
  font-weight:700;
  border:1px solid var(--line);
  transition:.18s ease;
  cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--green), #8be100);
  color:#071004;
  border-color:transparent;
  box-shadow:0 10px 20px rgba(115,198,0,.24);
}
.btn-secondary{
  background:rgba(255,255,255,.03);
  color:var(--text);
}
.btn-secondary:hover{background:rgba(255,255,255,.06)}
.btn-ghost{
  background:transparent;
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,.03)}
.pill{
  display:inline-flex; align-items:center;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid rgba(94,149,244,.25);
  background:rgba(94,149,244,.08);
  color:#dde9ff;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.card{
  background:linear-gradient(180deg, rgba(16,24,38,.78), rgba(10,16,24,.95));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card-soft{
  background:linear-gradient(180deg, rgba(16,24,38,.65), rgba(10,16,24,.88));
  border:1px solid var(--line);
  border-radius:14px;
}
.grid{display:grid; gap:1rem}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4, minmax(0,1fr))}

/* Home hero */
.hero{
  padding:2.2rem 0 2.8rem;
}
.hero-wrap{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  align-items:stretch;
}
.hero-panel{
  padding:1.1rem;
}
.hero-copy{
  padding:1rem;
}
.hero-logo{
  width:min(460px,100%);
  margin:0 auto .8rem;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.hero-copy h1{
  font-size:clamp(1.55rem, 1.2rem + 1.5vw, 2.35rem);
  line-height:1.08;
}
.hero-copy .lede{color:var(--muted); margin-bottom:.95rem}
.hero-cta{display:flex; gap:.65rem; flex-wrap:wrap; margin-bottom:.9rem}
.hero-points{display:grid; gap:.45rem}
.hero-points li{
  color:#d9e4f6;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line-2);
  border-radius:10px;
  padding:.55rem .65rem;
}
.hero-points li strong{color:#fff}
.hero-visual{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  min-height:420px;
}
.hero-visual img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(1.05) contrast(1.04);
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(2,4,7,.18), rgba(2,4,7,.54)),
    radial-gradient(450px 200px at 75% 0%, rgba(94,149,244,.16), transparent 70%);
}
.hero-chip{
  position:absolute;
  background:rgba(7,12,18,.82);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:.65rem .7rem;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.hero-chip h3{font-size:.95rem; margin-bottom:.2rem}
.hero-chip p{font-size:.85rem; color:var(--muted); margin:0}
.hero-chip.one{top:14px; left:14px; max-width:230px}
.hero-chip.two{bottom:14px; right:14px; max-width:235px}
.hero-chip .chip-row{display:flex; align-items:center; gap:.45rem; margin-top:.35rem}
.dot{
  width:.55rem; height:.55rem; border-radius:999px;
  background:var(--green);
  box-shadow:0 0 0 4px rgba(115,198,0,.16);
}

.stats-row{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
}
.stat{
  padding:.85rem .9rem;
  border:1px solid var(--line-2);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.stat strong{display:block; font-size:1.05rem}
.stat span{font-size:.85rem; color:var(--muted)}

/* Page hero */
.page-hero{
  padding:2.2rem 0 1.8rem;
}
.page-hero-wrap{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  align-items:stretch;
}
.page-hero-copy{padding:1.15rem}
.page-hero-copy h1{
  font-size:clamp(1.55rem, 1.1rem + 1.35vw, 2.3rem);
  line-height:1.08;
  margin-bottom:.45rem;
}
.page-hero-copy p{color:var(--muted)}
.page-hero-actions{margin-top:.9rem; display:flex; gap:.65rem; flex-wrap:wrap}
.page-hero-media{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
}
.page-hero-media img{
  width:100%; height:100%;
  min-height:260px;
  object-fit:cover;
}

/* Feature cards / content cards */
.info-card{
  padding:1rem;
}
.info-card h3{font-size:1rem; margin-bottom:.25rem}
.info-card p{color:var(--muted); margin:0}
.icon-pill{
  width:40px; height:40px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  display:grid; place-items:center;
  margin-bottom:.65rem;
  font-size:1rem;
}
.check-list{
  display:grid; gap:.42rem;
}
.check-list li{
  position:relative;
  padding-left:1rem;
  color:#d7e3f5;
}
.check-list li::before{
  content:"";
  position:absolute;
  left:0; top:.58rem;
  width:.38rem; height:.38rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--green-2), var(--blue));
}

/* Packages */
.packages-grid{align-items:stretch}
.package-card{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(17,25,38,.8), rgba(10,15,23,.96));
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.package-card.featured{
  border-color:rgba(115,198,0,.35);
  box-shadow:0 16px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(115,198,0,.1) inset;
}
.package-top{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}
.package-badge{
  display:inline-flex; align-items:center;
  padding:.22rem .5rem;
  border-radius:999px;
  border:1px solid rgba(94,149,244,.25);
  background:rgba(94,149,244,.08);
  color:#dfe9ff;
  font-size:.72rem; font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.package-card.featured .package-badge{
  border-color:rgba(115,198,0,.28);
  background:rgba(115,198,0,.12);
}
.package-note{
  color:var(--muted); margin:0; min-height:2.8rem;
}
.package-meta{
  border:1px solid var(--line-2);
  border-radius:12px;
  padding:.65rem;
  background:rgba(255,255,255,.02);
}
.package-meta small{display:block; color:var(--muted); margin-bottom:.25rem}
.package-meta strong{display:block}
.package-card .btn{margin-top:auto; width:100%}
.price-placeholder{
  color:#dff3c0;
  font-weight:800;
  letter-spacing:.01em;
}

/* Testimonials */
.testi-grid{align-items:stretch}
.testi-card{
  padding:1rem;
  position:relative;
}
.testi-card .quote-mark{
  position:absolute; top:.6rem; right:.8rem;
  font-size:1.4rem; color:rgba(94,149,244,.35); font-weight:900;
}
.testi-card h3{font-size:.96rem}
.testi-card p{color:var(--muted); margin:0}
.testi-meta{
  margin-top:.75rem;
  padding-top:.65rem;
  border-top:1px solid var(--line-2);
  display:flex; align-items:center; justify-content:space-between; gap:.4rem;
}
.testi-meta span{font-size:.85rem; color:#dce7f7}
.stars{letter-spacing:.08em; color:#ffd95a}

/* Service area */
.area-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:1rem;
}
.area-panel{padding:1rem}
.area-list{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem;
  margin-top:.75rem;
  padding:0;
  list-style:none;
}
.area-list li{
  border:1px solid var(--line-2);
  border-radius:10px;
  padding:.55rem .6rem;
  background:rgba(255,255,255,.02);
  color:#e0ebfb;
}
.travel-note{
  margin-top:.7rem;
  border-left:3px solid var(--green);
  background:rgba(115,198,0,.06);
  border-radius:8px;
  padding:.55rem .7rem;
  color:#e9f8d2;
}
.map-box{
  padding:.55rem;
  overflow:hidden;
}
.map-box iframe{
  width:100%; min-height:290px; border:0; border-radius:12px;
  display:block;
}
.gbp-panel{
  padding:1rem;
}
.gbp-panel .actions{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.85rem}
.gbp-panel p{color:var(--muted)}
.gbp-badges{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.6rem}
.gbp-badges span{
  border:1px solid var(--line-2);
  border-radius:999px;
  padding:.25rem .55rem;
  font-size:.78rem;
  color:#d9e6fa;
  background:rgba(255,255,255,.02);
}
.city-cards{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem}
.city-card{padding:1rem}
.city-card h3{margin-bottom:.25rem}
.city-card p{color:var(--muted)}
.city-card ul{margin-top:.55rem; display:grid; gap:.35rem}
.city-card li{color:#deebfb; font-size:.9rem}

/* Gallery */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:.8rem;
}
.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--line);
  background:#091019;
  min-height:180px;
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .28s ease;
}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:.55rem .65rem;
  font-size:.82rem;
  color:#eef4fc;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.72));
}
.span-8{grid-column:span 8}
.span-4{grid-column:span 4}
.span-6{grid-column:span 6}

/* Contact & Quote */
.contact-layout{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start;
}
.contact-card{
  padding:1rem;
}
.card-eyebrow{
  color:var(--blue-2);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.35rem;
}
.contact-card h3{font-size:1.08rem; margin-bottom:.2rem}
.contact-card .tagline{color:#dce8fb; font-weight:700; margin-bottom:.35rem}
.legal-line{color:var(--muted); font-size:.88rem; margin-bottom:.75rem}
.contact-list{
  display:grid; gap:.5rem;
  margin-bottom:.75rem;
}
.contact-list li{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:.65rem .7rem;
  border:1px solid var(--line-2);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.contact-list span{color:var(--muted); font-size:.88rem}
.contact-list strong,
.contact-list a{color:#eef4fd; font-weight:700; text-align:right}
.note{color:var(--muted); font-size:.88rem; margin-top:.65rem}

.panel-stack{display:grid; gap:1rem}
.panel{padding:1rem}
.panel h3{font-size:1rem; margin-bottom:.25rem}
.panel p{color:var(--muted)}
.panel-list{
  display:grid; gap:.45rem;
  margin-top:.55rem;
}
.panel-list li{
  padding:.55rem .6rem;
  border-radius:10px;
  border:1px solid var(--line-2);
  background:rgba(255,255,255,.02);
  color:#deebfb;
}
.social-links{
  display:flex; gap:.5rem; flex-wrap:wrap;
}
.social-link{
  flex:1 1 0;
  min-width:0;
  display:flex; align-items:center; justify-content:center; gap:.45rem;
  border:1px solid var(--line-2);
  border-radius:10px;
  padding:.65rem .7rem;
  background:rgba(255,255,255,.02);
  font-weight:700;
  color:#dfe9f8;
  transition:.18s ease;
}
.social-link:hover{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.04);
}
.social-link .social-icon,
.footer-social .social-icon{
  width:1rem;
  height:1rem;
  fill:currentColor;
  color:var(--icon-color, currentColor);
  transition:transform .18s ease, filter .18s ease;
}
.footer-social .social-icon{width:.95rem; height:.95rem}

/* Brand-colored social icons */
.social-link[data-social="facebook"],
.footer-social[data-social="facebook"]{--icon-color:#1877f2}
.social-link[data-social="instagram"],
.footer-social[data-social="instagram"]{--icon-color:#e4405f}
.social-link[data-social="tiktok"],
.footer-social[data-social="tiktok"]{--icon-color:#25f4ee}
.social-link[data-social="tiktok"] .social-icon,
.footer-social[data-social="tiktok"] .social-icon{
  filter:drop-shadow(1px 0 0 #fe2c55);
}
.social-link:hover .social-icon,
.footer-social:hover .social-icon{
  transform:translateY(-1px) scale(1.03);
}

.quote-shell{
  max-width:980px;
  margin:0 auto;
}
.quote-layout{
  display:grid;
  grid-template-columns:1fr .65fr;
  gap:1rem;
  align-items:start;
}
.quote-form{
  padding:1rem;
}
.form-head{
  padding:.85rem .9rem;
  border:1px solid var(--line-2);
  border-radius:12px;
  background:rgba(255,255,255,.02);
  margin-bottom:.9rem;
}
.form-head h3{font-size:1.02rem; margin-bottom:.2rem}
.form-head p{color:var(--muted); margin:0}
.field-grid{
  display:grid; gap:.75rem;
}
.field-grid.two{grid-template-columns:repeat(2,1fr)}
.field{
  display:flex; flex-direction:column; gap:.35rem;
}
.field label{
  font-size:.88rem; font-weight:700;
}
.field label .req{color:#ff8c94}
input,select,textarea{
  width:100%;
  border-radius:10px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  color:var(--text);
  padding:.72rem .75rem;
  font:inherit;
}
input::placeholder, textarea::placeholder{color:#8fa0b8}
select option{background:#101927; color:#eaf1fb}
textarea{min-height:130px; resize:vertical}
.check-panel{
  margin-top:.75rem;
  padding:.75rem .8rem;
  border:1px solid var(--line-2);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.check-panel h4{
  font-size:.88rem;
  margin-bottom:.55rem;
}
.check-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.45rem .75rem;
}
.check{
  display:flex; align-items:flex-start; gap:.45rem;
  font-size:.88rem;
  color:#dce7f7;
}
.check input{margin-top:.15rem; width:15px; height:15px}
.form-actions{
  margin-top:.85rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:.6rem;
}
.form-actions .btn{min-width:220px}
.form-note{
  color:var(--muted);
  font-size:.84rem;
}
.form-status{
  width:100%;
  margin-top:.15rem;
  padding:.65rem .7rem;
  border-radius:10px;
  border:1px solid var(--line-2);
  background:rgba(255,255,255,.02);
  color:#dce8fa;
  display:none;
}
.form-status.show{display:block}
.form-status.success{
  border-color:rgba(115,198,0,.35);
  background:rgba(115,198,0,.08);
  color:#ebffd0;
}
.form-status.error{
  border-color:rgba(255,87,99,.35);
  background:rgba(255,87,99,.08);
  color:#ffd8dc;
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.quote-side{
  position:sticky; top:84px;
}
.quote-side .panel{
  margin-bottom:1rem;
}
.quote-side .badge-col{
  display:grid; gap:.45rem;
}
.quote-side .badge-col span{
  display:inline-flex; align-items:center;
  width:max-content;
  border:1px solid var(--line-2);
  border-radius:999px;
  padding:.25rem .55rem;
  font-size:.78rem;
  color:#d8e5f8;
  background:rgba(255,255,255,.02);
}

/* FAQ */
.faq-grid{max-width:860px; margin:0 auto; display:grid; gap:.65rem}
.faq-item{
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(16,24,38,.7), rgba(10,16,24,.92));
}
.faq-question{
  width:100%;
  padding:.85rem .95rem;
  background:transparent;
  border:0;
  color:var(--text);
  text-align:left;
  font:inherit;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  cursor:pointer;
}
.faq-question span:last-child{
  color:var(--muted);
  transition:transform .16s ease;
}
.faq-question[aria-expanded="true"] span:last-child{transform:rotate(45deg)}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .22s ease;
}
.faq-answer p{
  color:var(--muted);
  margin:0;
  padding:0 .95rem .85rem;
}

/* CTA banner */
.cta-banner{
  padding:1rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
}
.cta-banner p{color:var(--muted); margin:0}
.cta-banner .actions{display:flex; gap:.6rem; flex-wrap:wrap}

/* Footer */
.site-footer{
  margin-top:2rem;
  border-top:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.02));
}
.footer-grid{
  padding:1.4rem 0 1rem;
  display:grid;
  grid-template-columns:minmax(250px,1fr) repeat(3,max-content);
  justify-content:space-between;
  align-items:start;
  gap:1rem 1.25rem;
}
.footer-brand-block{min-width:0}
.footer-brand-row{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.footer-logo{
  width:30px;
  height:30px;
  flex:0 0 30px;
}
.footer-brand-copy{min-width:0}
.footer-brand{font-weight:800; margin:0 0 .05rem}
.footer-tagline{color:#dce8fa; margin:0}
.footer-legal{color:#93a5bf; font-size:.84rem; margin:.35rem 0 0}
.footer-list{display:grid; gap:.3rem}
.footer-list li, .footer-list a{color:#cfdbee}
.footer-list a:hover{text-decoration:underline; text-underline-offset:3px}
.footer-social-list{gap:.2rem}
.footer-social{
  display:inline-flex; align-items:center; gap:.45rem;
  color:#d7e3f5;
}
.site-footer h4{
  margin:.15rem 0 .45rem;
  font-size:.92rem;
}
.footer-bottom{
  padding:.8rem 0 1.2rem;
  border-top:1px solid rgba(255,255,255,.05);
  color:#aab9ce;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.6rem;
  font-size:.84rem;
}

/* Responsive */
@media (max-width: 980px){
  .hero-wrap, .page-hero-wrap, .contact-layout, .area-grid, .quote-layout{
    grid-template-columns:1fr;
  }
  .quote-side{position:relative; top:auto}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .stats-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr; justify-content:stretch}
  .city-cards{grid-template-columns:1fr}
  .hero-visual{min-height:320px}
}
@media (max-width: 760px){
  .menu-toggle{display:grid; place-items:center}
  .site-nav{
    position:absolute;
    right:1rem; top:64px;
    width:min(92vw, 320px);
    padding:.6rem;
    border-radius:14px;
    border:1px solid var(--line);
    background:rgba(7,12,18,.96);
    box-shadow:var(--shadow);
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:.75rem .8rem}
  .site-nav .nav-cta{margin:.2rem 0 0}
  .brand span{display:none}
  .grid-3, .grid-4{grid-template-columns:1fr}
  .field-grid.two, .check-grid, .area-list{grid-template-columns:1fr}
  .social-link{justify-content:flex-start}
  .gallery-grid{grid-template-columns:repeat(6,1fr)}
  .span-8, .span-6, .span-4{grid-column:span 6}
  .footer-grid{grid-template-columns:1fr; justify-content:stretch}
  .cta-banner{grid-template-columns:1fr}
  .page-hero-actions .btn, .hero-cta .btn{flex:1 1 auto}
}

/* ===== Final polish / v6 ===== */
.site-nav a.active{
  color:#ffffff;
  background:rgba(255,255,255,.06);
  border-color:var(--line-2);
}
body.page-service .page-hero-media img{
  object-position:center 58%;
}

/* Review / trust section */
.reviews-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:1rem;
}
.review-card{
  padding:1rem;
}
.review-card h3{margin:.15rem 0 .35rem}
.review-card .panel-list li a{color:#eaf2ff}
.review-card .panel-list li a:hover{color:var(--brand)}
.review-card .badge-col{margin-top:.35rem}
.review-card-feature{
  background:linear-gradient(180deg, rgba(93,140,214,.08), rgba(0,0,0,0)) , rgba(255,255,255,.02);
}

/* City pages */
.breadcrumbs{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:.35rem;
}
.breadcrumbs a{color:#dfeafd}
.breadcrumbs .sep{opacity:.55}
.city-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1rem;
  align-items:start;
}
.city-card h3{margin-bottom:.35rem}
.city-card ul{
  margin:.35rem 0 .55rem 1rem;
  color:#dfe9f8;
}
.city-card li{margin:.22rem 0}
.text-link{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
}
.text-link:hover{color:var(--brand-2)}
.city-checklist li a{
  color:#dfe9f8;
  text-decoration:none;
}
.city-checklist li a:hover{color:var(--brand)}
.city-faq .faq-grid{margin-top:.75rem}
.service-links-inline{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.65rem;
}
.service-links-inline a{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line-2);
  padding:.45rem .65rem;
  border-radius:999px;
  color:#dfe9f8;
  text-decoration:none;
  background:rgba(255,255,255,.02);
}
.service-links-inline a:hover{border-color:rgba(255,255,255,.2); color:#fff}
.area-list li a{
  color:#deebfb;
  text-decoration:none;
}
.area-list li a:hover{color:var(--brand)}

@media (max-width: 980px){
  .reviews-grid,
  .city-layout{
    grid-template-columns:1fr;
  }
}

.field[hidden]{display:none !important}
.gbp-panel .actions .btn{min-width:160px; justify-content:center}
