
: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;
  --brand:var(--green);
  --brand-2:var(--blue);
  --red:#ff4d57;
  --shadow:0 18px 40px rgba(0,0,0,.28);
  --radius:16px;
  --radius-lg:20px;
  --max:1920px;
  --tier-par-logo:url("/assets/logos/tier-par.svg");
  --tier-birdie-logo:url("/assets/logos/tier-birdie.svg");
  --tier-eagle-logo:url("/assets/logos/tier-eagle.svg");
}
*{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% - clamp(.75rem, 1.8vw, 2rem)), var(--max)); margin-inline:auto}

@media (min-width: 1900px){
  :root{
    --max:2060px;
  }
}

/* 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)}
:focus-visible{
  outline:2px solid rgba(94,149,244,.65);
  outline-offset:2px;
}
.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%);
  height:auto;
  object-fit:contain;
  display:block;
  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;
  position:relative;
  overflow:hidden;
  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 > *{
  position:relative;
  z-index:1;
}
.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-card::before{
  content:"";
  position:absolute;
  top:-8px;
  right:-6px;
  width:96px;
  height:96px;
  opacity:.28;
  pointer-events:none;
  background-image:var(--tier-card-logo);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));
}
.package-card[data-card-link="/packages/par/"]{
  --tier-card-logo:var(--tier-par-logo);
}
.package-card[data-card-link="/packages/birdie/"]{
  --tier-card-logo:var(--tier-birdie-logo);
}
.package-card[data-card-link="/packages/eagle/"]{
  --tier-card-logo:var(--tier-eagle-logo);
}
.package-card.featured::before{
  opacity:.34;
}
.package-top{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}
.package-badge{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.26rem .58rem;
  border-radius:999px;
  border:1px solid rgba(94,149,244,.25);
  background:rgba(94,149,244,.08);
  color:#dfe9ff;
  font-size:.74rem; 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.2rem; line-height:1.45;
}
.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%}
.compare-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
  font-size:.92rem;
  color:#e5efff;
}
.compare-scroll{
  width:100%;
  overflow-x:auto;
}
.compare-table th,
.compare-table td{
  border:1px solid var(--line-2);
  padding:.7rem .75rem;
  text-align:left;
  vertical-align:top;
}
.compare-table thead th{
  background:rgba(255,255,255,.06);
  color:#f4f8ff;
  font-weight:800;
}
.compare-table tbody th{
  background:rgba(255,255,255,.03);
  width:22%;
}
.price-placeholder{
  color:#dff3c0;
  font-weight:800;
  letter-spacing:.01em;
}

/* Tier logos */
.nav-flyout .panel-list a[href="/packages/par/"],
.nav-flyout .panel-list a[href="/packages/birdie/"],
.nav-flyout .panel-list a[href="/packages/eagle/"]{
  justify-content:flex-start;
  gap:.5rem;
}

.package-card[data-card-link="/packages/par/"] .package-badge::before,
.package-card[data-card-link="/packages/birdie/"] .package-badge::before,
.package-card[data-card-link="/packages/eagle/"] .package-badge::before,
.nav-flyout .panel-list a[href="/packages/par/"]::before,
.nav-flyout .panel-list a[href="/packages/birdie/"]::before,
.nav-flyout .panel-list a[href="/packages/eagle/"]::before,
.card-interactive--tier[data-card-link="/packages/par/"] > .eyebrow::before,
.card-interactive--tier[data-card-link="/packages/birdie/"] > .eyebrow::before,
.card-interactive--tier[data-card-link="/packages/eagle/"] > .eyebrow::before,
body.page-tier.tier-par .page-hero-copy > .eyebrow::before,
body.page-tier.tier-birdie .page-hero-copy > .eyebrow::before,
body.page-tier.tier-eagle .page-hero-copy > .eyebrow::before{
  content:"";
  width:1.08rem;
  height:1.08rem;
  flex:0 0 1.08rem;
  border-radius:999px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.package-card[data-card-link="/packages/par/"] .package-badge::before,
.package-card[data-card-link="/packages/birdie/"] .package-badge::before,
.package-card[data-card-link="/packages/eagle/"] .package-badge::before{
  width:1.34rem;
  height:1.34rem;
  flex-basis:1.34rem;
}

.card-interactive--tier[data-card-link="/packages/par/"] > .eyebrow,
.card-interactive--tier[data-card-link="/packages/birdie/"] > .eyebrow,
.card-interactive--tier[data-card-link="/packages/eagle/"] > .eyebrow,
body.page-tier.tier-par .page-hero-copy > .eyebrow,
body.page-tier.tier-birdie .page-hero-copy > .eyebrow,
body.page-tier.tier-eagle .page-hero-copy > .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}

/* Match tier logos in compare cards to the stronger package-card treatment */
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/par/"] > .eyebrow,
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/birdie/"] > .eyebrow,
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/eagle/"] > .eyebrow{
  gap:.62rem;
}
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/par/"] > .eyebrow::before,
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/birdie/"] > .eyebrow::before,
body.page-packages .info-card.card-interactive--tier[data-card-link="/packages/eagle/"] > .eyebrow::before{
  width:1.5rem;
  height:1.5rem;
  flex-basis:1.5rem;
  border:1px solid rgba(255,255,255,.2);
  background-color:rgba(10,17,28,.75);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  padding:.08rem;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.28));
}

.package-card[data-card-link="/packages/par/"] .package-badge::before,
.nav-flyout .panel-list a[href="/packages/par/"]::before,
.card-interactive--tier[data-card-link="/packages/par/"] > .eyebrow::before,
body.page-tier.tier-par .page-hero-copy > .eyebrow::before{
  background-image:var(--tier-par-logo);
}
.package-card[data-card-link="/packages/birdie/"] .package-badge::before,
.nav-flyout .panel-list a[href="/packages/birdie/"]::before,
.card-interactive--tier[data-card-link="/packages/birdie/"] > .eyebrow::before,
body.page-tier.tier-birdie .page-hero-copy > .eyebrow::before{
  background-image:var(--tier-birdie-logo);
}
.package-card[data-card-link="/packages/eagle/"] .package-badge::before,
.nav-flyout .panel-list a[href="/packages/eagle/"]::before,
.card-interactive--tier[data-card-link="/packages/eagle/"] > .eyebrow::before,
body.page-tier.tier-eagle .page-hero-copy > .eyebrow::before{
  background-image:var(--tier-eagle-logo);
}

/* 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;
  grid-column:span 4;
  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}
.span-wide{grid-column:span 8}
.span-tall{grid-column:span 4; grid-row:span 2}

/* 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:flex-start; 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; padding-top:.08rem}
.contact-list strong,
.contact-list a{color:#eef4fd; font-weight:700; text-align:right; line-height:1.35; max-width:70%; overflow-wrap:anywhere; word-break:break-word}
.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-hint{
  display:block;
  margin:0 0 .38rem;
  color:#9bb0ca;
  font-size:.73rem;
  line-height:1.25;
}
.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}

/* Date/time picker visibility on dark theme */
input[type="date"],
input[type="time"]{
  color-scheme: light;
  min-height:44px;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(1.35);
  opacity:.95;
  cursor:pointer;
}
input[type="date"]::-webkit-datetime-edit,
input[type="time"]::-webkit-datetime-edit{
  color:var(--text);
}
input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value{
  text-align:left;
}
input[type="date"]::-moz-focus-inner,
input[type="time"]::-moz-focus-inner{
  border:0;
}
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.35rem 0 1rem;
  display:grid;
  grid-template-columns:minmax(225px,1fr) minmax(440px,1.95fr) minmax(118px,.58fr) minmax(140px,.66fr);
  align-items:start;
  gap:.95rem .95rem;
}
.footer-grid > div{min-width:0}
.footer-brand-block{
  min-width:0;
  display:grid;
  align-content:start;
  gap:.2rem;
}
.footer-brand-row{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
}
.footer-logo{
  width:28px;
  height:28px;
  object-fit:contain;
  flex:0 0 28px;
  margin-top:.08rem;
}
.footer-brand-copy{
  min-width:0;
  display:grid;
  gap:.08rem;
}
.footer-brand{font-weight:800; margin:0; line-height:1.15}
.footer-tagline{color:#dce8fa; margin:0; line-height:1.2}
.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; overflow-wrap:anywhere; word-break:break-word}
.footer-contact-list li,
.footer-contact-list a{overflow-wrap:normal; word-break:normal}
.footer-contact-list li{white-space:nowrap}
.footer-contact-list a[href^="mailto:"]{white-space:nowrap; font-size:clamp(.78rem,1.05vw,.92rem); letter-spacing:-.01em; display:inline-block; max-width:100%}
.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;
}
.footer-bottom p{margin:0}

/* Utility / small layout helpers */
.row-wrap{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}
.row-wrap-sm{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
}
.mt-65{margin-top:.65rem}
.mt-70{margin-top:.7rem}
.mt-75{margin-top:.75rem}
.mb-20{margin-bottom:.2rem}
.mb-35{margin-bottom:.35rem}
.mb-55{margin-bottom:.55rem}
.mb-80{margin-bottom:.8rem}
.mb-90{margin-bottom:.9rem}
.mt-10{margin-top:.1rem}
.mt-45{margin-top:.45rem}
.mt-60{margin-top:.6rem}
.text-muted{color:var(--muted)}
.h3-tight{margin-bottom:.15rem; font-size:1.1rem}
.h3-tight-sm{margin-bottom:.15rem; font-size:1.05rem}
.fw-700{font-weight:700}

/* Thank-you page */
.thanks-section{padding-top:3rem}
.thanks-container{max-width:760px}
.thanks-card{padding:1.25rem}
.thanks-title{font-size:1.7rem; margin-bottom:.35rem}
.thanks-lead{color:var(--muted); margin-bottom:.8rem}
.thanks-grid{margin-bottom:.9rem}
.thanks-actions{display:flex; gap:.6rem; flex-wrap:wrap}
.card-soft.pad-sm{padding:.85rem}
.card-soft h3.soft-title{font-size:.95rem; margin-bottom:.25rem}
.card-soft p.soft-copy{color:var(--muted); margin:0}

/* 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; gap:.9rem .9rem}
  .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, .span-wide, .span-tall{grid-column:span 6}
  .footer-grid{grid-template-columns:1fr; justify-content:stretch}
  .footer-contact-list a[href^="mailto:"]{white-space:normal; overflow-wrap:anywhere; word-break:break-word; font-size:1rem}
  .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 70%;
}

/* 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}


/* Form controls polish */
input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:rgba(94,149,244,.42);
  box-shadow:0 0 0 3px rgba(94,149,244,.15);
}
input[type="date"],
input[type="time"]{
  color:var(--text);
  color-scheme:dark;
}
input[type="date"]:invalid,
input[type="time"]:invalid{
  color:var(--muted);
}
input[type="date"]:focus,
input[type="time"]:focus{
  color:var(--text);
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.95;
  filter:invert(100%) brightness(1.12);
}
input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-date-and-time-value,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field,
input[type="time"]::-webkit-datetime-edit,
input[type="time"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-datetime-edit-fields-wrapper,
input[type="time"]::-webkit-datetime-edit-text,
input[type="time"]::-webkit-datetime-edit-hour-field,
input[type="time"]::-webkit-datetime-edit-minute-field,
input[type="time"]::-webkit-datetime-edit-ampm-field{
  color:inherit;
}
input[readonly]{
  cursor:default;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  color:#dfeaff;
  font-weight:600;
}

.btn[disabled]{
  opacity:.7;
  cursor:not-allowed;
  transform:none;
}
.btn[disabled]:hover{
  transform:none;
  filter:none;
}

/* Service-area coverage list hard reset */
.area-list{
  list-style:none !important;
  padding-left:0 !important;
  margin-left:0 !important;
}
.area-list li{
  list-style:none !important;
  position:relative;
  display:block;
}
.area-list li::marker{content:none;}
.area-list li::before{content:none !important;}

/* Button spacing in review / GBP cards */
.review-card .actions,
.gbp-panel .actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.review-card .actions .btn,
.gbp-panel .actions .btn{
  min-width:160px;
  justify-content:center;
}


@media (max-width: 560px){
  .hero-card{padding:1rem}
  .grid-4, .grid-3, .grid-2{grid-template-columns:1fr}
  .cta-banner .actions, .service-hero-actions{width:100%; display:grid}
  .cta-banner .actions .btn, .service-hero-actions .btn{width:100%}
  .contact-card, .quote-form{padding:.95rem}
  .quote-side .panel{padding:.9rem}
  .form-actions .btn{width:100%}
}


/* v6.9 mobile polish */
@media (max-width: 760px){
  .nav-cta{padding:.5rem .75rem; font-size:.86rem}
  .hero h1{font-size:clamp(1.65rem, 7vw, 2.2rem)}
  .hero-cta{width:100%; justify-content:stretch}
  .hero-cta .btn{flex:1 1 100%; justify-content:center}
  .section{padding:1.15rem 0}
  .card, .panel{padding:.9rem}
  .page-hero{padding:.9rem 0 1rem}
  .page-hero-copy h1{font-size:clamp(1.35rem, 6vw, 1.9rem)}
  .page-hero-actions{display:grid; grid-template-columns:1fr; width:100%}
  .page-hero-actions .btn{width:100%; justify-content:center}
  .quote-layout{gap:.8rem}
  .check-grid{grid-template-columns:1fr}
  .form-actions{display:grid; grid-template-columns:1fr; align-items:start}
  .form-actions .btn{width:100%; min-width:0}
  .footer-grid{grid-template-columns:1fr; gap:.85rem}
  .footer-brand-row{align-items:center}
  .footer-logo{width:22px; height:22px; flex-basis:22px}
  .footer-brand{font-size:1rem}
  .footer-tagline{font-size:.95rem}
}
@media (max-width: 560px){
  .container{width:min(100% - 1rem, 1120px)}
  .topbar{padding:.55rem 0}
  .brand-lockup img{height:28px}
  .hero{padding:.75rem 0 1rem}
  .hero-card{padding:.9rem}
  .contact-layout, .service-area-grid, .grid.grid-3, .grid.grid-2{grid-template-columns:1fr}
  .field-grid{grid-template-columns:1fr}
  .cta-banner{grid-template-columns:1fr}
  .cta-banner .actions{display:grid; grid-template-columns:1fr}
  .cta-banner .actions .btn{width:100%; justify-content:center}
  .gallery-grid{grid-template-columns:1fr}
  .area-cards{grid-template-columns:1fr}
  .city-checklist{grid-template-columns:1fr}
  .coverage-note{padding:.75rem .8rem}
  .footer-contact-list a[href^="mailto:"]{font-size:clamp(.74rem, 3.4vw, .88rem)}
}
@media (max-width: 400px){
  .container{width:min(100% - .75rem, 1120px)}
  .nav-panel{padding:.7rem}
  .btn{padding:.6rem .8rem}
  .field input, .field select, .field textarea{padding:.62rem .7rem}
  .footer-contact-list a[href^="mailto:"]{font-size:.73rem}
}

/* ===== Premium navigation + UX rebuild ===== */
.site-nav .nav-dd-trigger{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.55rem .75rem;
  border-radius:10px;
  color:#dbe6f5;
  font-weight:600;
  font-size:.92rem;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.site-nav .nav-dd-trigger::after{
  content:"\25BE";
  font-size:.74rem;
  opacity:.82;
  transition:transform .18s ease;
}
.site-nav .nav-dd-trigger:hover,
.site-nav .nav-dd-trigger.active,
.site-nav .nav-dropdown.is-open > .nav-dd-trigger{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.08);
  color:#fff;
}
.site-nav .nav-dropdown.is-open > .nav-dd-trigger::after{transform:rotate(180deg)}
.nav-dropdown{position:relative}
.nav-flyout{
  position:absolute;
  top:calc(100% + .55rem);
  left:0;
  width:min(360px, 94vw);
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, width .2s ease;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(9,14,22,.98), rgba(7,12,18,.98));
  box-shadow:0 24px 55px rgba(0,0,0,.35);
  padding:.75rem;
  z-index:28;
}
.nav-dropdown.is-open .nav-flyout{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.nav-panel-label{
  color:#b2c5df;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 .35rem;
}
.nav-packages-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:.6rem;
}
.nav-events-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:.6rem;
}
.nav-flyout .panel-list{
  margin:0;
  display:grid;
  gap:.28rem;
}
.nav-flyout .panel-list a,
.nav-context-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  border:1px solid transparent;
  border-radius:10px;
  padding:.52rem .6rem;
  color:#d7e3f6;
  background:rgba(255,255,255,.01);
  text-align:left;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.nav-flyout .panel-list a:hover,
.nav-flyout .panel-list a:focus-visible,
.nav-context-btn:hover,
.nav-context-btn:focus-visible,
.nav-context-btn.is-active{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
}
.nav-context-btn .context-arrow{
  opacity:.66;
  margin-left:.6rem;
}
.nav-context-panels{
  display:none;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:.6rem;
}
.nav-context-panel{display:none}
.nav-context-panel.is-active{display:block}
.nav-dropdown.has-context .nav-flyout{width:min(720px, 94vw)}
.nav-dropdown.has-context .nav-packages-grid{
  grid-template-columns:minmax(210px, 1fr) minmax(220px, 1fr);
}
.nav-dropdown.has-context .nav-events-grid{
  grid-template-columns:minmax(210px, 1fr) minmax(240px, 1.05fr);
}
.nav-dropdown.has-context .nav-context-panels{display:block}

/* Clickable card polish */
.card-interactive{
  position:relative;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.card-interactive::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:0 0 0 0 rgba(133,178,255,.22);
  transition:box-shadow .2s ease;
}
.card-interactive:hover,
.card-interactive:focus-within{
  transform:translateY(-3px) scale(1.01);
  border-color:rgba(133,178,255,.34);
  box-shadow:0 20px 44px rgba(0,0,0,.38);
}
.card-interactive:hover::after,
.card-interactive:focus-within::after{
  box-shadow:0 0 0 1px rgba(133,178,255,.24), 0 0 26px rgba(94,149,244,.16) inset;
}
.card-interactive .text-link,
.card-interactive .btn{
  transition:color .18s ease, transform .18s ease;
}
.card-interactive:hover .text-link,
.card-interactive:focus-within .text-link{color:#9cc0ff}
.card-interactive:hover .btn,
.card-interactive:focus-within .btn{transform:translateY(-1px)}
.card-interactive--tier:hover,
.card-interactive--tier:focus-within{border-color:rgba(115,198,0,.34)}
.card-interactive--event:hover,
.card-interactive--event:focus-within{border-color:rgba(94,149,244,.34)}
.card-interactive--area:hover,
.card-interactive--area:focus-within{border-color:rgba(133,178,255,.32)}

/* Refined FAQ accordion */
.faq-accordion{max-width:900px; margin:0 auto; border-top:1px solid rgba(255,255,255,.1)}
.faq-row{
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.005));
}
.faq-row .faq-question{
  padding:1rem 0;
  border:0;
  border-radius:0;
}
.faq-row .faq-question span:first-child{padding-right:.85rem}
.faq-row .faq-question span:last-child{
  width:1.6rem;
  height:1.6rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#d9e7fa;
}
.faq-row .faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .22s ease;
}
.faq-row .faq-answer p{
  margin:0;
  padding:0 0 1rem;
}
.faq-row.faq-row--open .faq-question span:last-child{transform:rotate(45deg)}
.faq-vertical-stack{
  display:grid;
  gap:1rem;
}
.faq-category{
  position:relative;
  display:grid;
  gap:.7rem;
  padding:1rem 1rem 1.15rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:
    radial-gradient(220px 120px at 100% 0%, rgba(94,149,244,.12), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.faq-category::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(90deg, rgba(94,149,244,.82), rgba(94,149,244,.14));
}
body.page-faq #faq-pricing::before{
  background:linear-gradient(90deg, rgba(94,149,244,.82), rgba(94,149,244,.14));
}
body.page-faq #faq-setup::before{
  background:linear-gradient(90deg, rgba(115,198,0,.82), rgba(115,198,0,.14));
}
body.page-faq #faq-events::before{
  background:linear-gradient(90deg, rgba(255,217,90,.82), rgba(255,217,90,.14));
}
body.page-faq #faq-service::before{
  background:linear-gradient(90deg, rgba(133,178,255,.82), rgba(133,178,255,.14));
}
.faq-category h2{
  margin:0;
  font-size:clamp(1.05rem, .94rem + .55vw, 1.35rem);
}
.faq-category p{
  margin:0;
  color:var(--muted);
}
.faq-category .faq-accordion{
  max-width:none;
  margin:0;
}
.faq-jump-links{
  display:flex;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
  margin:0 auto;
}
.faq-jump-links a{
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  min-height:2.2rem;
  padding:.52rem 1.02rem;
  font-size:.96rem;
  font-weight:700;
  color:#f5f9ff;
  background:linear-gradient(180deg, rgba(18,33,56,.9), rgba(12,22,37,.92));
  box-shadow:0 6px 14px rgba(0,0,0,.24);
  transition:border-color .18s ease, transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.faq-jump-links a:hover{
  border-color:rgba(255,255,255,.34);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(0,0,0,.32);
}
body.page-faq .faq-jump-links a[href="#faq-pricing"]{
  background:linear-gradient(180deg, rgba(94,149,244,.32), rgba(94,149,244,.18));
  border-color:rgba(94,149,244,.5);
}
body.page-faq .faq-jump-links a[href="#faq-setup"]{
  background:linear-gradient(180deg, rgba(115,198,0,.32), rgba(115,198,0,.16));
  border-color:rgba(115,198,0,.5);
}
body.page-faq .faq-jump-links a[href="#faq-events"]{
  background:linear-gradient(180deg, rgba(255,217,90,.35), rgba(255,217,90,.18));
  border-color:rgba(255,217,90,.52);
}
body.page-faq .faq-jump-links a[href="#faq-service"]{
  background:linear-gradient(180deg, rgba(133,178,255,.33), rgba(133,178,255,.17));
  border-color:rgba(133,178,255,.5);
}
.faq-related-links{
  margin-top:.15rem;
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.faq-related-links a{
  color:#b8cef0;
  font-size:.85rem;
}
.faq-related-links a:hover{color:#fff}

/* Page family shells */
body.page-tier .page-hero-copy{
  background:linear-gradient(180deg, rgba(16,25,38,.9), rgba(9,14,22,.96));
}
body.page-tier.tier-par .page-hero-copy{
  border-top:3px solid rgba(94,149,244,.5);
}
body.page-tier.tier-birdie .page-hero-copy{
  border-top:3px solid rgba(115,198,0,.55);
}
body.page-tier.tier-eagle .page-hero-copy{
  border-top:3px solid rgba(255,217,90,.62);
  box-shadow:0 20px 46px rgba(0,0,0,.42), 0 0 0 1px rgba(255,217,90,.08) inset;
}
body.page-event .page-hero-copy{
  background:
    radial-gradient(300px 150px at 88% -6%, rgba(94,149,244,.15), transparent 70%),
    linear-gradient(180deg, rgba(14,22,34,.88), rgba(9,14,22,.96));
}
body.page-event{
  --event-accent: rgba(94,149,244,.42);
  --event-glow: rgba(94,149,244,.16);
}
body.page-event .page-hero-copy{
  border-top:3px solid var(--event-accent);
}
body.page-event .page-hero-copy h1{
  max-width:18ch;
}
body.page-event .page-hero-media{
  border-color:var(--event-accent);
  box-shadow:0 20px 40px rgba(0,0,0,.33), 0 0 0 1px var(--event-glow) inset;
}
body.event-business-events{
  --event-accent: rgba(94,149,244,.52);
  --event-glow: rgba(94,149,244,.22);
}
body.event-fundraisers{
  --event-accent: rgba(115,198,0,.52);
  --event-glow: rgba(115,198,0,.2);
}
body.event-birthday-parties{
  --event-accent: rgba(255,217,90,.55);
  --event-glow: rgba(255,217,90,.22);
}
body.event-bachelor-bachelorette{
  --event-accent: rgba(255,133,70,.55);
  --event-glow: rgba(255,133,70,.22);
}
body.event-weddings{
  --event-accent: rgba(188,201,255,.55);
  --event-glow: rgba(188,201,255,.2);
}
body.event-community-other-events{
  --event-accent: rgba(133,178,255,.5);
  --event-glow: rgba(133,178,255,.2);
}
body.page-area .page-hero-copy{
  background:
    radial-gradient(300px 170px at 8% -8%, rgba(115,198,0,.14), transparent 72%),
    linear-gradient(180deg, rgba(14,22,34,.88), rgba(9,14,22,.96));
}

/* About page polish */
body.page-about .page-hero-copy{
  background:
    radial-gradient(340px 170px at 88% -12%, rgba(115,198,0,.18), transparent 72%),
    radial-gradient(300px 150px at -2% 100%, rgba(94,149,244,.14), transparent 68%),
    linear-gradient(180deg, rgba(15,24,37,.92), rgba(9,14,22,.96));
  border-top:3px solid rgba(115,198,0,.45);
}
body.page-about .page-hero-wrap{
  grid-template-columns:minmax(420px, 1.02fr) minmax(0, 1fr);
  align-items:stretch;
  gap:1.35rem;
}
.about-pyramid{
  display:grid;
  grid-template-rows:auto auto;
  gap:1rem;
  align-content:start;
}
.about-pyramid-top{
  position:relative;
  z-index:2;
  width:min(92%, 700px);
  margin:0 auto;
}
.about-pyramid-base{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  align-items:start;
}
body.page-about .section-head{
  text-align:left;
  margin:0 0 1rem;
  max-width:none;
}
.about-hero-highlights{
  margin-top:.85rem;
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}
.about-hero-highlights span{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:.24rem .62rem;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#e4eefc;
  background:rgba(255,255,255,.03);
}
.about-hero-media{
  position:relative;
  margin-left:-.35rem;
  border-radius:22px;
  overflow:hidden;
  border-color:rgba(115,198,0,.25);
  box-shadow:0 30px 56px rgba(0,0,0,.38), 0 0 0 1px rgba(115,198,0,.09) inset;
}
.about-hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(280px 220px at 10% 8%, rgba(115,198,0,.14), transparent 72%),
    radial-gradient(380px 250px at 90% 0%, rgba(94,149,244,.18), transparent 75%);
  pointer-events:none;
  z-index:1;
}
.about-hero-media img{
  width:100%;
  min-height:760px;
  object-fit:cover;
  object-position:center 38%;
  filter:saturate(1.03) contrast(1.06);
}
.about-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(3,7,12,.08) 22%, rgba(3,7,12,.62) 100%);
  pointer-events:none;
  z-index:2;
}
.about-photo-badge{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:3;
  border:1px solid rgba(255,255,255,.17);
  border-radius:12px;
  padding:.6rem .7rem;
  background:linear-gradient(180deg, rgba(8,14,23,.55), rgba(8,14,23,.8));
  backdrop-filter:blur(2px);
}
.about-photo-badge strong{
  display:block;
  color:#fff;
  font-size:.92rem;
}
.about-photo-badge small{
  color:#d4e2f6;
  font-size:.78rem;
}
.about-story-grid .panel,
.about-values-section .panel,
.about-pyramid-base .panel{
  border-color:rgba(255,255,255,.12);
  background:
    radial-gradient(240px 120px at 100% -8%, rgba(94,149,244,.08), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.about-story-grid{
  align-items:start;
}
.about-story-grid article:first-child{
  transform:translateY(-.2rem);
}
.about-story-grid article:last-child{
  transform:translateY(.85rem);
}
.about-value{
  position:relative;
}
.about-value::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  border-radius:14px 14px 0 0;
}
.about-values-section .about-value:nth-child(1)::before{
  background:linear-gradient(90deg, rgba(94,149,244,.86), rgba(94,149,244,.16));
}
.about-values-section .about-value:nth-child(2)::before{
  background:linear-gradient(90deg, rgba(115,198,0,.86), rgba(115,198,0,.16));
}
.about-values-section .about-value:nth-child(3)::before{
  background:linear-gradient(90deg, rgba(255,217,90,.86), rgba(255,217,90,.16));
}
.about-principle{
  border-left:3px solid rgba(133,178,255,.45);
}
.about-principle--mission{
  transform:translateX(-.45rem);
}
.about-principle--vision{
  transform:translateX(.45rem);
}

@media (max-width: 1080px){
  body.page-about .page-hero-wrap{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .about-pyramid-top{
    width:100%;
    margin:0;
  }
  .about-pyramid-base{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .about-principle--mission,
  .about-principle--vision{
    transform:none;
  }
  .about-hero-media{
    margin-left:0;
  }
  .about-hero-media img{
    min-height:520px;
  }
}

/* Branded service map treatment */
.map-visual{
  position:relative;
  padding:1rem;
  overflow:hidden;
}
.map-visual .map-surface{
  position:relative;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  min-height:290px;
  background:
    repeating-linear-gradient(55deg, rgba(255,255,255,.02), rgba(255,255,255,.02) 18px, rgba(255,255,255,.01) 18px, rgba(255,255,255,.01) 36px),
    radial-gradient(220px 130px at 80% 20%, rgba(94,149,244,.26), transparent 72%),
    radial-gradient(300px 180px at 18% 76%, rgba(115,198,0,.18), transparent 68%),
    linear-gradient(180deg, rgba(9,15,24,.95), rgba(8,13,20,.95));
}
.map-visual .map-surface::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:12px;
}
.map-pin{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--green-2);
  box-shadow:0 0 0 6px rgba(145,225,0,.14);
}
.map-pin.bolivar{top:48%; left:43%}
.map-pin.springfield{top:63%; left:50%}
.map-pin.swmo{top:70%; left:35%}
.map-legend{
  margin-top:.72rem;
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.map-legend span{
  border:1px solid var(--line-2);
  border-radius:999px;
  padding:.25rem .55rem;
  font-size:.78rem;
  color:#dce8fa;
  background:rgba(255,255,255,.02);
}

@media (max-width: 760px){
  .nav-dropdown{width:100%}
  .site-nav .nav-dd-trigger{
    width:100%;
    justify-content:space-between;
    padding:.75rem .8rem;
  }
  .nav-flyout{
    position:static;
    width:100%;
    margin-top:.35rem;
    opacity:1;
    transform:none;
    pointer-events:auto;
    display:none;
    box-shadow:none;
    border-color:rgba(255,255,255,.1);
    background:rgba(255,255,255,.02);
  }
  .nav-dropdown.is-open .nav-flyout{display:block}
  .nav-packages-grid,
  .nav-events-grid{grid-template-columns:1fr}
  .nav-dropdown.has-context .nav-flyout{width:100%}
  .nav-dropdown.has-context .nav-context-panels{
    display:block;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:.4rem;
    padding:.6rem 0 0;
  }
  .about-photo-badge{
    left:.6rem;
    right:.6rem;
    bottom:.6rem;
    padding:.45rem .55rem;
  }
  .about-hero-media{
    margin-left:0;
  }
  .about-hero-media img{
    min-height:420px;
    object-position:center 30%;
  }
  .about-story-grid article:first-child,
  .about-story-grid article:last-child{
    transform:none;
  }
  .about-pyramid-top{
    width:100%;
    margin:0;
  }
  .about-pyramid-base{
    grid-template-columns:1fr;
    gap:.8rem;
  }
  .about-principle--mission,
  .about-principle--vision{
    transform:none;
  }
  .about-hero-highlights span{
    font-size:.68rem;
    padding:.21rem .48rem;
  }
}

/* Home hero cleanup on small screens */
@media (max-width: 760px){
  body.page-home .hero{
    padding:.7rem 0 1.05rem;
  }
  body.page-home .hero-panel{
    padding:.8rem;
  }
  body.page-home .hero-copy{
    padding:.55rem;
  }
  body.page-home .hero-copy .pill{
    display:none;
  }
  body.page-home .hero-logo{
    width:min(280px,74%);
    margin:0 0 .52rem;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.28));
  }
  body.page-home .hero-copy h1{
    font-size:clamp(1.78rem, 6.3vw, 2.18rem);
    line-height:1.06;
    margin-bottom:.52rem;
    max-width:18ch;
    text-wrap:balance;
  }
  body.page-home .hero-copy .lede{
    font-size:.96rem;
    line-height:1.46;
    margin-bottom:.78rem;
    max-width:42ch;
  }
  body.page-home .hero-cta{
    display:grid;
    grid-template-columns:1fr;
    gap:.48rem;
    margin-bottom:.72rem;
  }
  body.page-home .hero-cta .btn{
    width:100%;
    min-width:0;
    padding:.74rem .8rem;
    font-size:.92rem;
    justify-content:center;
  }
  body.page-home .hero-cta .btn-ghost{
    border:0;
    background:transparent;
    color:#b8cef0;
    justify-content:flex-start;
    padding:.18rem 0 0;
  }
  body.page-home .hero-cta .btn-ghost:hover{
    background:transparent;
    color:#dbe9ff;
  }
  body.page-home .hero-points{
    gap:0;
    border-top:1px solid rgba(255,255,255,.1);
  }
  body.page-home .hero-points li{
    background:transparent;
    border:0;
    border-radius:0;
    border-bottom:1px solid rgba(255,255,255,.1);
    padding:.48rem 0;
    font-size:.9rem;
    line-height:1.4;
  }
}

@media (max-width: 460px){
  body.page-home .hero-logo{
    width:min(270px,74%);
  }
  body.page-home .hero-copy h1{
    font-size:clamp(1.6rem, 8vw, 1.95rem);
    max-width:none;
  }
  body.page-home .hero-points li:last-child{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

