
/* =====================================================
   LOCAL PROPERTY OFFER — Refined Conversion Design
   ===================================================== */
:root{
  --navy-950:#081420;
  --navy-900:#0F2233;
  --navy-800:#153149;
  --navy-700:#1C3E5B;
  --gold-500:#D8A84A;
  --gold-600:#BF8C2F;
  --green-500:#138A4A;
  --green-600:#0F6F3C;
  --paper:#F4F6F7;
  --paper-2:#E9EEF1;
  --white:#FFFFFF;
  --ink:#18222B;
  --muted:#62707D;
  --line:#D8E0E6;

  --font-display:'Bebas Neue', Impact, sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --wrap:1140px;
  --radius:18px;
  --radius-sm:12px;
  --shadow-sm:0 8px 24px rgba(10,24,36,.08);
  --shadow-md:0 18px 40px rgba(10,24,36,.18);
  --shadow-lg:0 30px 60px rgba(10,24,36,.24);
}

*,
*::before,
*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,textarea,select{ font:inherit; }
h1,h2,h3,h4{
  margin:0 0 .5em;
  line-height:1.02;
  letter-spacing:.01em;
  color:var(--ink);
}
h1,h2,h3{ font-family:var(--font-display); }
p{ margin:0 0 1rem; color:var(--muted); }
ul{ margin:0; padding:0; list-style:none; }
strong{ color:var(--ink); }

.wrap{
  width:min(var(--wrap), calc(100% - 32px));
  margin-inline:auto;
}
:focus-visible{
  outline:3px solid var(--gold-500);
  outline-offset:2px;
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.accent{ color:var(--gold-500); }

.icon{
  width:20px; height:20px;
  fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
svg{ flex-shrink:0; }

/* =====================================================
   Buttons
   ===================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:0; border-radius:999px;
  padding:14px 24px;
  font-weight:800;
  font-size:.96rem;
  letter-spacing:.01em;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn--accent{ background:var(--green-500); color:var(--white); }
.btn--accent:hover{ background:var(--green-600); }
.btn--dark{ background:var(--navy-900); color:var(--white); }
.btn--dark:hover{ background:var(--navy-800); }

/* =====================================================
   Header / Navigation
   ===================================================== */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid rgba(216,224,230,.85);
}
.header-inner{
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.brand-mark{
  width:28px; height:28px;
  stroke:var(--navy-900);
  stroke-width:2;
}
.brand-logo{
  display:block;
  width:min(300px, 68vw);
  height:auto;
  max-width:100%;
  object-fit:contain;
}

.brand-text{
  font-family:var(--font-display);
  font-size:1.45rem;
  letter-spacing:.03em;
  color:var(--navy-900);
  white-space:nowrap;
}
.nav-desktop{
  display:none;
  align-items:center;
  gap:28px;
}
.nav-desktop a{
  position:relative;
  font-weight:700;
  font-size:.95rem;
  color:var(--navy-900);
  opacity:.9;
}
.nav-desktop a.active,
.nav-desktop a:hover{ color:var(--green-500); }
.nav-desktop a.active::after,
.nav-desktop a:hover::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-8px;
  height:2px;
  background:var(--green-500);
  border-radius:999px;
}
.header-right{ display:flex; align-items:center; gap:14px; }
.header-phone{
  display:none;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:var(--navy-900);
}
.header-phone .icon{ color:var(--gold-500); }
.menu-btn{
  border:0;
  background:none;
  color:var(--navy-900);
  padding:8px;
  display:flex;
}
.menu-btn .icon{ width:26px; height:26px; }

/* Mobile nav */
.mobile-nav{
  position:fixed;
  inset:0;
  z-index:100;
  visibility:hidden;
}
.mobile-nav.open{ visibility:visible; }
.mobile-nav-overlay{
  position:absolute; inset:0;
  background:rgba(6,13,21,.62);
  opacity:0;
  transition:opacity .24s ease;
}
.mobile-nav.open .mobile-nav-overlay{ opacity:1; }
.mobile-nav-panel{
  position:absolute;
  top:0; right:0;
  width:min(82vw, 340px);
  height:100%;
  background:var(--white);
  border-left:1px solid var(--line);
  box-shadow:var(--shadow-lg);
  padding:20px 20px 24px;
  transform:translateX(100%);
  transition:transform .28s ease;
  display:flex;
  flex-direction:column;
}
.mobile-nav.open .mobile-nav-panel{ transform:translateX(0); }
.mobile-nav-panel nav{
  margin-top:28px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.mobile-nav-panel nav a{
  font-size:1.08rem;
  font-weight:800;
  color:var(--navy-900);
}
.mobile-nav-panel nav a.active,
.mobile-nav-panel nav a:hover{ color:var(--green-500); }
.mobile-nav-phone{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:var(--navy-900);
}
.close-btn{ align-self:flex-end; }

/* =====================================================
   Common section styles
   ===================================================== */
.section{ padding:72px 0; }
.section--tint{ background:var(--paper); }
.section-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.section-head h2{
  font-size:clamp(2rem, 5vw, 3rem);
  color:var(--navy-900);
}
.section-sub{
  font-size:1.04rem;
  max-width:62ch;
  margin-inline:auto;
}
.eyebrow{
  margin:0 0 14px;
  color:var(--green-500);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}
.eyebrow--light{ color:var(--gold-500); }
.center-cta{
  margin-top:30px;
  display:flex;
  justify-content:center;
}

/* =====================================================
   Hero
   ===================================================== */
.hero{
  position:relative;
  overflow:hidden;
  color:var(--white);
  background:
    linear-gradient(90deg, rgba(5,13,21,.88) 0%, rgba(9,20,32,.88) 42%, rgba(10,22,35,.74) 100%),
    url('../images/hero-house.svg') center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 18%, rgba(216,168,74,.18), transparent 24%),
    radial-gradient(circle at 16% 16%, rgba(255,255,255,.06), transparent 18%);
  pointer-events:none;
}
.hero--home{
  min-height:calc(100vh - 76px);
  display:flex;
  align-items:center;
}
.hero--home .hero-inner,
.hero--offer .hero-inner{
  position:relative;
  z-index:2;
}
.hero-inner{
  padding:42px 0 52px;
}
.hero-grid{
  display:grid;
  gap:26px;
  align-items:center;
}
.hero-copy{
  max-width:640px;
}
.hero-copy h1,
.hero-copy h2{
  color:var(--white);
  font-size:clamp(2.5rem, 8vw, 5rem);
  letter-spacing:.02em;
}
.hero-copy .accent{ color:var(--gold-500); }
.hero-copy .hero-sub,
.hero-copy p{
  color:rgba(255,255,255,.82);
}
.hero-sub{
  font-size:1.05rem;
  max-width:58ch;
  margin-bottom:18px;
}

.hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0 0;
}
.hero-points li{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-weight:700;
  font-size:.9rem;
}
.hero-points .icon{ color:var(--gold-500); width:18px; height:18px; }

.hero-panel{
  max-width:520px;
  justify-self:stretch;
}
.hero-card,
.lead-form{
  background:rgba(255,255,255,.98);
  color:var(--ink);
  border-radius:24px;
  box-shadow:var(--shadow-lg);
}
.hero-card{
  padding:22px;
}
.hero-card__title{
  color:var(--navy-900);
  font-family:var(--font-body);
  font-size:1.02rem;
  font-weight:900;
  margin-bottom:10px;
}
.hero-card__sub{
  color:var(--muted);
  font-size:.95rem;
  margin-bottom:16px;
}
.hero-address-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hero-address-form input{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  padding:15px 16px;
  font-size:1rem;
  color:var(--ink);
}
.hero-address-form input::placeholder{ color:#8b96a1; }
.hero-address-form input:focus{
  outline:2px solid rgba(19,138,74,.2);
  border-color:var(--green-500);
}
.hero-address-form .btn{
  padding-block:15px;
  border-radius:16px;
}

.trust-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.trust-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  padding:8px 12px;
  font-size:.88rem;
  font-weight:700;
}
.trust-pill .icon{ color:var(--gold-500); width:18px; height:18px; }

/* Offer hero right-side panel */
.hero--offer{
  padding:34px 0 48px;
  background:
    linear-gradient(90deg, rgba(5,13,21,.9) 0%, rgba(10,22,35,.86) 48%, rgba(11,25,39,.72) 100%),
    url('../images/hero-house.svg') center/cover no-repeat;
}
.offer-hero-copy{
  max-width:650px;
}
.offer-hero-copy h1{
  color:var(--white);
  font-size:clamp(2.4rem, 7vw, 4.5rem);
}
.offer-hero-copy .hero-sub{
  max-width:60ch;
}
.offer-hero-copy .hero-points li{
  background:rgba(255,255,255,.07);
}
.offer-hero-layout{
  display:grid;
  gap:24px;
}
.lead-form{
  padding:24px;
}
.form-title{
  font-family:var(--font-display);
  font-size:2rem;
  letter-spacing:.02em;
  color:var(--navy-900);
  margin:0 0 10px;
}
.form-intro{
  margin-bottom:18px;
  color:var(--muted);
  font-size:.95rem;
}
.form-grid{
  display:grid;
  gap:14px;
}
.field label{
  display:block;
  margin:0 0 7px;
  color:var(--navy-900);
  font-size:.86rem;
  font-weight:800;
}
.optional-tag{
  color:var(--muted);
  font-weight:600;
  font-size:.82rem;
}
.field input,
.field textarea{
  width:100%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:14px;
  padding:14px 15px;
  font-size:1rem;
}
.field input:focus,
.field textarea:focus{
  outline:2px solid rgba(19,138,74,.2);
  border-color:var(--green-500);
}
.field textarea{ min-height:120px; resize:vertical; }
.form-error{
  background:#FDEBEC;
  color:#9A2630;
  border:1px solid #F0C2C7;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:16px;
  font-size:.92rem;
}
.form-success{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 20px;
  border-radius:18px;
  background:#EAF8F0;
  color:var(--navy-900);
  box-shadow:var(--shadow-sm);
  margin-top:14px;
}
.form-success .icon{
  color:var(--green-500);
  width:24px;
  height:24px;
  margin-top:2px;
}
.form-success strong{ display:block; margin-bottom:4px; color:var(--navy-900); }
.form-success p{ margin:0; color:var(--muted); }
.form-note{
  margin-top:14px;
  font-size:.85rem;
  color:rgba(255,255,255,.72);
}

/* Lead form on hero cards */
.offer-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}
.offer-form input{
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:16px;
  padding:14px 16px;
  font-size:1rem;
  color:var(--ink);
}
.offer-form input:focus{
  outline:2px solid rgba(19,138,74,.2);
  border-color:var(--green-500);
}
.offer-form .btn{ border-radius:16px; }

/* =====================================================
   Content blocks
   ===================================================== */
.two-col{
  display:grid;
  gap:30px;
  align-items:center;
}
.two-col-text h2{
  font-size:clamp(1.95rem, 4.5vw, 2.8rem);
  color:var(--navy-900);
}
.two-col-text p{ font-size:1rem; }
.two-col-visual{
  display:flex;
  justify-content:center;
}
.visual-card{
  width:min(100%, 360px);
  border-radius:24px;
  padding:34px 28px;
  background:linear-gradient(180deg, var(--navy-900), var(--navy-800));
  color:#fff;
  box-shadow:var(--shadow-md);
  text-align:center;
}
.visual-icon{
  width:64px;
  height:64px;
  stroke:var(--gold-500);
  stroke-width:1.5;
  margin:0 auto 16px;
  fill:none;
}
.visual-caption{
  color:rgba(255,255,255,.85);
  font-weight:700;
  margin:0;
}

.steps{
  display:grid;
  gap:20px;
}
.step-card{
  background:var(--white);
  border:1px solid rgba(216,224,230,.95);
  border-top:4px solid var(--green-500);
  border-radius:22px;
  padding:28px 24px;
  box-shadow:var(--shadow-sm);
}
.step-icon{
  width:34px;
  height:34px;
  color:var(--navy-900);
  margin-bottom:14px;
}
.step-card h3{
  font-family:var(--font-body);
  font-size:1.08rem;
  color:var(--navy-900);
  margin-bottom:8px;
}
.step-card p{ margin:0; font-size:.96rem; }

.reasons-grid{
  display:grid;
  gap:18px;
}
.reason-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px 20px;
  box-shadow:var(--shadow-sm);
}
.reason-icon{
  width:34px;
  height:34px;
  stroke:var(--green-500);
  margin-bottom:12px;
}
.reason-card h3{
  font-family:var(--font-body);
  font-size:1.05rem;
  color:var(--navy-900);
  margin-bottom:6px;
}
.reason-card p{ margin:0; font-size:.94rem; }

.before-after{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:center;
}
.ba-card{
  width:148px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  padding:28px 18px;
  text-align:center;
  box-shadow:var(--shadow-sm);
}
.ba-card--accent{
  background:var(--navy-900);
  border-color:var(--navy-900);
}
.ba-card .visual-icon{
  width:46px;
  height:46px;
  margin-bottom:12px;
}
.ba-tag{
  display:inline-block;
  font-weight:900;
  font-size:.84rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--navy-900);
}
.ba-tag--dark{ color:var(--white); }
.ba-arrow{
  width:24px; height:24px;
  stroke:var(--muted); fill:none; stroke-width:1.9;
}

.banner{
  background:linear-gradient(90deg, var(--navy-900), var(--navy-800));
  color:#fff;
  padding:36px 0;
}
.banner-inner{
  display:flex;
  flex-direction:column;
  gap:20px;
  align-items:center;
  text-align:center;
}
.banner-logo{
  font-family:var(--font-display);
  font-size:1.55rem;
  line-height:1;
  letter-spacing:.03em;
}
.banner-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.banner-list li{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  color:rgba(255,255,255,.9);
}
.banner-list .icon{ color:var(--gold-500); }

.testimonials{
  display:grid;
  gap:18px;
}
.testimonial-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px 22px;
  box-shadow:var(--shadow-sm);
}
.quote-icon{
  width:28px;
  height:28px;
  color:var(--gold-500);
  margin-bottom:10px;
}
.stars{
  color:var(--gold-500);
  letter-spacing:2px;
  margin-bottom:10px;
}
.testimonial-card p{
  color:var(--ink);
  margin-bottom:12px;
  font-size:.97rem;
}
.testimonial-name{
  font-weight:800;
  color:var(--navy-900);
  font-size:.9rem;
}

.faq{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.faq-item{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.faq-question{
  width:100%;
  border:0;
  background:none;
  padding:18px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  text-align:left;
  font-weight:800;
  color:var(--navy-900);
}
.faq-chevron{
  color:var(--muted);
  transition:transform .25s ease, color .25s ease;
}
.faq-item.open .faq-chevron{
  transform:rotate(180deg);
  color:var(--green-500);
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease, padding .28s ease;
  padding:0 18px;
}
.faq-item.open .faq-answer{
  padding:0 18px 18px;
}
.faq-answer p{ margin:0; font-size:.95rem; }

.about-layout{
  display:grid;
  gap:28px;
  padding:64px 0;
}
.about-content h2{
  font-family:var(--font-body);
  font-size:1.45rem;
  font-weight:900;
  color:var(--navy-900);
  margin-top:1.35em;
}
.about-content h2:first-child{ margin-top:0; }
.about-content p{ font-size:1rem; }
.offer-widget{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow-sm);
}
.offer-widget h3{
  font-family:var(--font-body);
  font-size:1.1rem;
  font-weight:900;
  color:var(--navy-900);
  margin-bottom:10px;
}
.offer-widget .lead-form{
  box-shadow:none;
  padding:0;
  background:none;
  border-radius:0;
}

.page-header{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:48px 0;
  background:
    linear-gradient(90deg, rgba(5,13,21,.9), rgba(10,22,35,.83)),
    url('../images/hero-house.svg') center/cover no-repeat;
}
.page-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 20%, rgba(216,168,74,.16), transparent 22%);
}
.page-header h1{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:clamp(2.2rem, 6vw, 3.3rem);
}

.site-footer{
  background:var(--navy-900);
  color:rgba(255,255,255,.84);
  padding:54px 0 0;
}
.footer-inner{
  display:grid;
  gap:30px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.brand-mark--footer{ stroke:#fff; }
.footer-brand .brand-text{ color:#fff; }
.footer-col{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-col h4{
  font-family:var(--font-body);
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--gold-500);
  margin:0 0 6px;
}
.footer-col a{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.84);
  font-size:.95rem;
}
.footer-col a:hover{ color:var(--gold-500); }
.footer-bottom{
  padding:18px 0 22px;
  text-align:center;
}
.footer-bottom p{
  margin:0;
  font-size:.82rem;
  color:rgba(255,255,255,.56);
}

/* =====================================================
   Responsive
   ===================================================== */
@media (min-width:680px){
  .reasons-grid{ grid-template-columns:repeat(2,1fr); }
  .testimonials{ grid-template-columns:repeat(3,1fr); }
  .footer-inner{ grid-template-columns:1.4fr 1fr 1fr; align-items:start; }
  .banner-inner{ flex-direction:row; justify-content:space-between; text-align:left; }
  .banner-list li{ justify-content:flex-start; }
}

@media (min-width:860px){
  .nav-desktop{ display:flex; }
  .header-phone{ display:flex; }
  .menu-btn{ display:none; }

  .hero-grid,
  .offer-hero-layout{
    grid-template-columns:minmax(0,1.1fr) minmax(340px, .9fr);
    gap:34px;
  }

  .hero--home{
    min-height:calc(100vh - 76px);
  }
  .hero-inner{ padding:58px 0 70px; }

  .hero-address-form{
    flex-direction:row;
  }
  .hero-address-form input{ flex:1; }

  .offer-form{
    gap:14px;
  }

  .steps{ grid-template-columns:repeat(3,1fr); }
  .about-layout{ grid-template-columns:minmax(0,1fr) 320px; gap:36px; }
  .offer-widget{ position:sticky; top:98px; align-self:start; }
  .two-col{ grid-template-columns:repeat(2,1fr); gap:40px; }
  .two-col--img-left .two-col-visual{ order:1; }
  .two-col--img-left .two-col-text{ order:2; }
  .hero-panel{ justify-self:end; }
  .hero--offer{ padding:44px 0 60px; }
}

@media (min-width:1024px){
  .hero-copy h1,
  .hero-copy h2{ font-size:clamp(3.5rem, 5.4vw, 5.4rem); }
  .offer-hero-copy h1{ font-size:clamp(3.2rem, 4.8vw, 5rem); }
}

/* Local Property Offer — refreshed stacked brand */
.lpo-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  line-height: .88;
}
.lpo-brand .lpo-house {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #10283a;
  box-shadow: 0 5px 16px rgba(16,40,58,.18);
  font-size: 23px;
}
.lpo-brand .lpo-words {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  letter-spacing: .055em;
  font-weight: 900;
}
.lpo-brand .lpo-local {
  color: #d7a944;
  font-size: .78em;
}
.lpo-brand .lpo-property {
  color: #10283a;
  font-size: 1em;
  letter-spacing: .025em;
}
@media (max-width: 600px) {
  .lpo-brand .lpo-house { width: 38px; height: 38px; font-size: 20px; border-radius: 10px; }
  .lpo-brand .lpo-local { font-size: .72em; }
  .lpo-brand .lpo-property { font-size: .9em; }
}


@media (max-width: 600px){
  .brand-logo{ width:min(260px, 70vw); }
  .hero-inner{ padding-top:34px; }
  .hero-copy h1{ line-height: .95; }
}

/* Google Places autocomplete */
.pac-container {
  z-index: 99999;
  font-family: inherit;
  border-radius: 0 0 12px 12px;
}


/* Hidden state safety */
[hidden]{
  display:none !important;
}
