/* ==== SHARED: footer SEO block + areas section (also inlined in index/amanda/privacy) ==== */
.footer-brand-col{ flex:1 1 320px; }
.footer-brand-col .footer-blurb{ max-width:360px; margin-bottom:12px; }
.footer-blurb strong{ color:var(--text); }
.footer-contact{ font-size:13.5px; line-height:1.7; color:var(--text-dim); margin-top:6px; }
.footer-contact a{ display:inline; font-weight:700; color:var(--purple-deep); font-size:13.5px; margin:0; }
.footer-contact span{ font-weight:600; }
.footer-col:not(.footer-brand-col){ flex:0 0 160px; }

.areas-section .section-head p{ max-width:620px; }
.county-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:860px){ .county-grid{ grid-template-columns:1fr; } }
.county-card{ background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; }
.county-card h2, .county-card h3{ font-family:var(--display); font-size:19px; margin-bottom:16px; }
.county-card h3 a:hover{ color:var(--purple-deep); }
.city-links{ display:flex; flex-wrap:wrap; gap:8px; }
.city-links a{ display:inline-block; font-size:13.5px; font-weight:700; padding:9px 15px; border-radius:999px; border:1.5px solid var(--line); background:var(--bg-soft); transition:border-color .18s ease, color .18s ease, background .18s ease; }
.city-links a:hover{ border-color:var(--purple); color:var(--purple-deep); background:#fff; }
.county-card:nth-child(2) .city-links a:hover{ border-color:var(--pink); color:var(--pink-deep); }
.county-card:nth-child(3) .city-links a:hover{ border-color:var(--green-deep); color:var(--green-deep); }
.combo-block{ margin-top:36px; }
.combo-title{ font-weight:800; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-dim); margin-bottom:14px; }
.combo-links, .city-chip-links{ display:flex; flex-wrap:wrap; gap:10px 22px; }
.combo-links a, .city-chip-links a{ font-size:14px; font-weight:600; color:var(--text-dim); border-bottom:1.5px solid var(--line); padding-bottom:2px; transition:color .18s ease, border-color .18s ease; }
.combo-links a:hover, .city-chip-links a:hover{ color:var(--purple-deep); border-color:var(--purple); }
.areas-cta{ margin-top:30px; }

/* ==== City / service landing pages ==== */
.text-link{ color:var(--purple-deep); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.breadcrumb{ padding-top:22px; }
.breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; font-size:13px; font-weight:600; color:var(--text-dim); }
.breadcrumb li + li::before{ content:"/"; margin-right:6px; opacity:.5; }
.breadcrumb a:hover{ color:var(--purple-deep); }

.lp-hero{ padding:44px 0 84px; position:relative; }
.lp-hero::before{ content:""; position:absolute; top:-140px; right:-160px; width:520px; height:520px; background:radial-gradient(circle, rgba(139,92,246,.18), transparent 70%); z-index:-1; }
.lp-hero h1{ margin-top:20px; font-size:clamp(30px,4vw,50px); }
.lp-hero .lede{ margin-top:20px; font-size:17px; color:var(--text); max-width:540px; }
.lp-hero .lede-sub{ margin-top:14px; font-size:15.5px; color:var(--text-dim); max-width:540px; }
.lp-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
@media (max-width:900px){ .lp-hero-grid{ grid-template-columns:1fr; gap:36px; } }
.lp-hero-photo img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:28px; box-shadow:0 30px 60px -20px rgba(90,50,150,.45); transform:rotate(2deg); }
@media (max-width:900px){ .lp-hero-photo{ max-width:440px; } .lp-hero-photo img{ transform:none; } }

.lp-two-col{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
@media (max-width:900px){ .lp-two-col{ grid-template-columns:1fr; gap:36px; } }
.lp-local{ align-items:center; }
.lp-copy{ color:var(--text-dim); font-size:15.5px; margin-top:16px; max-width:560px; }
.lp-list-title{ font-size:17px; margin-bottom:16px; }
.check-list{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px){ .check-list{ grid-template-columns:1fr; } }
.check-list li{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px 16px; font-size:14px; font-weight:600; line-height:1.4; }
.check-list li::before{ content:""; flex:0 0 20px; width:20px; height:20px; border-radius:50%; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat, linear-gradient(135deg,var(--purple),var(--pink-deep)); }

.chip-row.small .chip{ font-size:13px; padding:9px 16px; }

.map-wrap{ border-radius:24px; overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 50px -28px rgba(90,50,150,.4); aspect-ratio:4/3; background:var(--bg-soft); }
.map-wrap.wide{ aspect-ratio:21/9; }
@media (max-width:640px){ .map-wrap.wide{ aspect-ratio:4/3; } }
.map-embed{ width:100%; height:100%; border:0; display:block; }

.lp-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.lp-gallery img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:20px; }
@media (max-width:640px){
  .lp-gallery{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .lp-gallery img{ flex:0 0 72%; scroll-snap-align:start; }
}

.link-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.link-card{ position:relative; display:flex; flex-direction:column; gap:6px; padding:22px 52px 22px 22px; border-radius:20px; border:1px solid var(--line); background:#fff; transition:border-color .18s ease, transform .18s ease; }
.link-card:hover{ border-color:var(--purple); transform:translateY(-3px); }
.link-card .lc-title{ font-family:var(--display); font-size:15.5px; line-height:1.25; }
.link-card .lc-sub{ font-size:13.5px; color:var(--text-dim); }
.link-card svg{ position:absolute; right:20px; top:24px; width:18px; height:18px; color:var(--purple-deep); }

.service-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:1100px){ .service-cards{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){ .service-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .service-cards{ grid-template-columns:1fr; } }
.service-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:24px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.service-card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px -26px rgba(90,50,150,.45); }
.service-card img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.sc-body{ display:flex; flex-direction:column; gap:6px; padding:20px 22px 22px; }
.sc-title{ font-family:var(--display); font-size:16px; line-height:1.25; }
.sc-sub{ font-size:13.5px; color:var(--text-dim); }
.sc-more{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-size:13.5px; font-weight:700; color:var(--purple-deep); }
.sc-more svg{ width:15px; height:15px; }

.faq-wrap{ max-width:860px; }
.faq{ border-top:1px solid var(--line); }
.faq:last-child{ border-bottom:1px solid var(--line); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 40px 20px 0; font-family:var(--display); font-size:16px; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:4px; top:16px; font-size:22px; color:var(--purple-deep); transition:transform .2s ease; }
.faq[open] summary::after{ transform:rotate(45deg); }
.faq p{ padding:0 0 22px; color:var(--text-dim); font-size:15px; max-width:720px; }

@media (max-width:640px){
  .lp-hero{ padding:28px 0 64px; }
  section{ padding:72px 0; }
}

/* ==== Contact page ==== */
.contact-intro{ padding:40px 0 36px; }
.contact-intro h1{ margin-top:18px; font-size:clamp(30px,4vw,48px); max-width:720px; }
.contact-intro .lede{ margin-top:16px; font-size:16.5px; color:var(--text-dim); max-width:600px; }
.contact-main{ padding:0 0 96px; }
.contact-layout{ display:grid; grid-template-columns:minmax(300px,.8fr) 1.2fr; gap:28px; align-items:stretch; }
@media (max-width:900px){ .contact-layout{ grid-template-columns:1fr; } }

.contact-panel{
  position:relative; overflow:hidden;
  background:#1F1730; color:#fff;
  border-radius:28px; padding:40px 36px;
}
.contact-panel::before{ content:""; position:absolute; top:-120px; right:-120px; width:320px; height:320px; background:radial-gradient(circle, rgba(139,92,246,.45), transparent 70%); pointer-events:none; }
.contact-panel::after{ content:""; position:absolute; bottom:-140px; left:-100px; width:300px; height:300px; background:radial-gradient(circle, rgba(232,71,142,.28), transparent 70%); pointer-events:none; }
.contact-panel > *{ position:relative; z-index:1; }
.cp-title{ font-size:22px; margin-bottom:26px; color:#fff; }
.cp-list{ display:flex; flex-direction:column; gap:22px; }
.cp-list li{ display:flex; align-items:center; gap:16px; }
.cp-icon{ width:46px; height:46px; flex-shrink:0; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; }
.cp-icon svg{ width:20px; height:20px; }
.cp-label{ display:block; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.6); }
.cp-value{ display:block; margin-top:3px; font-size:16px; font-weight:700; color:#fff; word-break:break-word; }
a.cp-value:hover{ color:#D9C6FF; }
.cp-divider{ height:1px; background:rgba(255,255,255,.12); margin:32px 0 26px; }
.cp-subtitle{ font-family:var(--body); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.6); margin-bottom:14px; }
.cp-social{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:420px){ .cp-social{ grid-template-columns:1fr; } }
.cp-social a{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); transition:background .18s ease, border-color .18s ease, transform .18s ease; min-width:0; }
.cp-social a:hover{ background:rgba(139,92,246,.28); border-color:rgba(139,92,246,.6); transform:translateY(-2px); }
.cp-social-icon{ width:34px; height:34px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; color:#1F1730; }
.cp-social-icon svg{ width:17px; height:17px; }
.cp-social-name{ display:block; font-size:13.5px; font-weight:700; color:#fff; }
.cp-social-handle{ display:block; font-size:12px; color:rgba(255,255,255,.6); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cp-social a > span:last-child{ min-width:0; }

.contact-form-card{ background:#fff; border:1px solid var(--line); border-radius:28px; padding:40px; box-shadow:0 30px 70px -36px rgba(90,50,150,.35); }
.contact-form-card h2{ font-size:24px; }
.cf-sub{ margin:8px 0 26px; font-size:14px; color:var(--text-dim); }
.contact-form .inquiry-grid{ gap:18px; }
@media (max-width:640px){
  .contact-panel, .contact-form-card{ padding:28px 22px; border-radius:24px; }
  .contact-main{ padding-bottom:72px; }
}

/* ==== Video reels grid ==== */
.reel-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:900px){ .reel-grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; } .reel-grid::-webkit-scrollbar{ display:none; } }
.reel-tile{ position:relative; display:block; width:100%; aspect-ratio:9/16; border:0; padding:0; border-radius:22px; overflow:hidden; cursor:pointer; text-align:left;
  background:linear-gradient(160deg,#2A1B47,#5B2A6E 60%,#8B3A6B); box-shadow:0 24px 50px -28px rgba(90,50,150,.55); }
@media (max-width:900px){ .reel-tile{ flex:0 0 58%; scroll-snap-align:start; } }
@media (max-width:480px){ .reel-tile{ flex-basis:68%; } }
.reel-tile video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.reel-tile:hover video{ transform:scale(1.05); }
.reel-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,10,35,0) 50%, rgba(20,10,35,.8) 100%); pointer-events:none; }
.reel-play{ position:absolute; top:16px; right:16px; z-index:2; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.94); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -6px rgba(0,0,0,.5); transition:transform .2s ease; }
.reel-tile:hover .reel-play{ transform:scale(1.1); }
.reel-play svg{ width:15px; height:15px; margin-left:2px; }
.reel-label{ position:absolute; left:16px; right:16px; bottom:14px; z-index:2; color:#fff; }
.reel-cat{ display:block; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; opacity:.85; }
.reel-title{ display:block; font-family:var(--display); font-size:15px; line-height:1.2; margin-top:3px; }

.reel-modal{ position:fixed; inset:0; z-index:300; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(15,8,25,.88); backdrop-filter:blur(6px); }
.reel-modal.open{ display:flex; }
.reel-modal video{ max-width:min(92vw,520px); max-height:86vh; width:auto; height:auto; border-radius:18px; background:#000; }
.reel-modal-close{ position:absolute; top:18px; right:18px; width:42px; height:42px; border-radius:50%; border:0; background:#fff; font-size:22px; font-weight:700; cursor:pointer; color:var(--text); }

/* ==== UGC example cards ==== */
.example-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:900px){ .example-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .example-cards{ grid-template-columns:1fr; } }
.example-card{ background:#fff; border:1px solid var(--line); border-radius:22px; padding:24px; }
.example-card .ex-num{ font-family:var(--logo); font-weight:700; font-size:14px; color:var(--pink-deep); }
.example-card h3{ font-size:17px; margin:8px 0 6px; }
.example-card p{ font-size:14px; color:var(--text-dim); }
.lp-gallery.four{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .lp-gallery.four{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .lp-gallery.four{ display:flex; } }

/* ==== About page ==== */
.about-hero-photos{ position:relative; height:560px; }
.about-hero-photos img{ position:absolute; object-fit:cover; object-position:center top; border-radius:26px; box-shadow:0 30px 60px -20px rgba(90,50,150,.45); }
.about-hero-photos .ahp-main{ width:72%; height:86%; top:0; right:0; }
.about-hero-photos .ahp-sub{ width:46%; height:52%; bottom:0; left:0; border:6px solid #fff; transform:rotate(-3deg); }
@media (max-width:900px){ .about-hero-photos{ height:460px; max-width:460px; } }
@media (max-width:480px){ .about-hero-photos{ height:400px; } }
.about-stats-wrap{ padding:0 0 80px; }
.about-story-photo img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:26px; }
.about-reel{ border-radius:26px; overflow:hidden; background:#000; box-shadow:0 30px 70px -30px rgba(60,30,110,.5); }
.about-reel video{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.about-mini-photos{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; max-width:520px; }
.about-mini-photos img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:20px; }
.about-founder{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
@media (max-width:900px){ .about-founder{ grid-template-columns:1fr; gap:36px; } }
.about-founder-photos{ display:grid; grid-template-columns:1.2fr .8fr; gap:14px; align-items:end; }
.about-founder-photos img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:22px; }
.about-founder-photos img:last-child{ transform:translateY(-30px); }
.role-line{ font-weight:700; color:var(--pink-deep); font-size:14px; margin-top:8px; }
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:900px){ .values-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .values-grid{ grid-template-columns:1fr; } }
.value{ background:#fff; border:1px solid var(--line); border-radius:22px; padding:24px; border-top:4px solid var(--purple); }
.value:nth-child(2){ border-top-color:var(--pink-deep); } .value:nth-child(3){ border-top-color:var(--green-deep); }
.value h3{ font-size:17px; margin-bottom:8px; }
.value p{ font-size:14px; color:var(--text-dim); }
.about-page .steps .step .num{ font-size:13px; }
