/* ══════════════════════════════════════
   NEW HOME PAGE COMPONENTS
══════════════════════════════════════ */

/* ── Hero location badge ── */
.hero-location-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-pill);padding:.375rem 1rem;margin-bottom:1.25rem}
.hero-location-badge svg{color:var(--purple-lt);flex-shrink:0}

/* ── Hero visual card stack ── */
.hero-visual{display:flex;align-items:center;justify-content:center}
.hero-card-stack{display:flex;flex-direction:column;gap:.875rem;width:100%;max-width:360px}
.hc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:1rem 1.25rem;backdrop-filter:blur(8px)}
.hc--main{display:flex;align-items:center;gap:.875rem}
.hc-icon{width:44px;height:44px;background:var(--purple);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.hc-body{flex:1}
.hc-label{display:block;font-size:.8125rem;font-weight:600;color:#fff}
.hc-val{display:block;font-size:.75rem;color:rgba(255,255,255,.5);margin-top:.125rem}
.hc-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:var(--r-pill)}
.hc-badge--ok{background:rgba(34,197,94,.2);color:#4ade80;border:1px solid rgba(74,222,128,.3)}
.hc--stat{text-align:center;padding:1.25rem}
.hc-big{display:block;font-family:var(--serif);font-size:2.25rem;font-weight:700;color:#fff;line-height:1}
.hc-sub{display:block;font-size:.8125rem;color:rgba(255,255,255,.5);margin-top:.25rem}
.hc--local{display:flex;align-items:center;gap:.625rem;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.7)}
.hc--local svg{color:var(--purple-lt);flex-shrink:0}
.hc--tools{padding:.875rem 1.25rem}
.hc-tools-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.35);margin-bottom:.625rem}
.hc-tool-list{display:flex;flex-wrap:wrap;gap:.375rem}
.hc-tool-list span{font-size:.75rem;font-weight:500;padding:.2rem .625rem;border-radius:var(--r-pill);background:rgba(138,43,226,.25);color:var(--purple-lt);border:1px solid rgba(138,43,226,.3)}

/* ── Local bar ── */
.local-bar{background:#fff;border-bottom:2px solid var(--border);padding-block:.875rem;position:relative;overflow:hidden}
.local-bar::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--purple) 0%,var(--brown) 100%)}
.local-bar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;max-width:var(--wrap);margin-inline:auto;padding-inline:1.5rem}
.local-bar-left{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}
.local-bar-left svg{color:var(--purple);flex-shrink:0}
.local-bar-left strong{color:var(--text)}
.local-bar-sep{color:var(--border)}
.local-bar-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.local-chip{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:var(--r-pill);background:var(--purple-tint);color:var(--purple-dk);border:1px solid var(--purple-mid)}

/* ── Clients bar ── */
.clients-bar{background:var(--off-white);border-bottom:1px solid var(--border);padding-block:2rem}
.clients-label{text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1.25rem}
.clients-logos{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;max-width:var(--wrap);margin-inline:auto;padding-inline:1.5rem}
.client-logo-card{display:flex;align-items:center;gap:.875rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:.875rem 1.25rem;min-width:220px;transition:transform .2s,box-shadow .2s}
.client-logo-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(138,43,226,.1)}
.client-logo-card--cta{border-style:dashed;border-color:var(--purple-mid)}
.client-logo-icon{width:52px;height:52px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.client-logo-info strong{display:block;font-size:.9375rem;font-weight:600;color:var(--text)}
.client-logo-info span{display:block;font-size:.8125rem;color:var(--muted);margin-top:.125rem}

/* ── Local split section ── */
.local-split{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:start}
.local-split-text h2{margin-bottom:1rem}
.local-split-text>p{margin-bottom:1rem}
.local-facts{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.75rem}
.local-fact{display:flex;gap:1rem;align-items:flex-start}
.local-fact-icon{font-size:1.5rem;flex-shrink:0;width:36px;text-align:center;margin-top:.1rem}
.local-fact strong{display:block;font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:.25rem}
.local-fact p{font-size:.875rem;margin:0}

/* ── Local map card ── */
.local-map-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;box-shadow:0 4px 24px rgba(30,27,24,.06)}
.lmc-header{display:flex;align-items:center;gap:.625rem;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.lmc-header svg{color:var(--purple)}
.lmc-locations{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem}
.lmc-loc{display:flex;align-items:flex-start;gap:.875rem}
.lmc-dot{width:12px;height:12px;border-radius:50%;background:var(--purple);flex-shrink:0;margin-top:.3rem}
.lmc-dot--au{background:#22C55E}
.lmc-dot--dim{background:var(--border)}
.lmc-loc strong{display:block;font-size:.9375rem;font-weight:600;color:var(--text)}
.lmc-loc span{display:block;font-size:.8125rem;color:var(--muted);margin-top:.125rem}
.lmc-loc--primary .lmc-dot{box-shadow:0 0 0 3px rgba(138,43,226,.2)}
.lmc-tools{border-top:1px solid var(--border);padding-top:1.25rem}
.lmc-tools-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.75rem}
.lmc-tool-grid{display:flex;flex-wrap:wrap;gap:.375rem}
.lmc-tool-grid span{font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:var(--r-pill);background:var(--purple-tint);color:var(--purple-dk);border:1px solid var(--purple-mid)}

/* ── Service cards (new style) ── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:2rem;text-decoration:none;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--purple) 0%,var(--purple-lt) 100%);opacity:0;transition:opacity .2s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(138,43,226,.16);border-color:var(--purple-mid)}
.service-card:hover::before{opacity:1}
.service-card-icon{width:52px;height:52px;background:var(--purple-tint);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--purple)}
.service-card-icon svg{width:24px;height:24px}
.service-card h3{font-size:1.1rem;font-family:var(--sans);font-weight:700;color:var(--charcoal);margin:0}
.service-card p{font-size:.9375rem;color:var(--muted);flex:1;margin:0}
.service-tags{display:flex;flex-wrap:wrap;gap:.375rem}
.service-tags span{font-size:.75rem;font-weight:500;padding:.2rem .625rem;border-radius:var(--r-pill);background:var(--off-white);border:1px solid var(--border);color:var(--muted)}
.service-link{font-size:.875rem;font-weight:600;color:var(--purple);margin-top:.25rem}

/* ── Responsive: new components ── */
@media(max-width:1024px){
  .local-split{grid-template-columns:1fr;gap:2.5rem}
  .services-grid{grid-template-columns:1fr}
  .hero-card-stack{max-width:100%}
}
@media(max-width:768px){
  .local-bar-inner{flex-direction:column;align-items:flex-start;gap:.625rem}
  .local-bar-right{gap:.375rem}
  .clients-logos{flex-direction:column;align-items:stretch}
  .client-logo-card{min-width:0;width:100%}
  .hero-visual{display:none}
  .services-grid{grid-template-columns:1fr}
}
