/* generated from location-preview.html */
/* ============================================================
   BRAND TOKENS  (identical to the header + home widgets)
   ============================================================ */
.ig-locpage{
  --ig-navy:#0B2A55;
  --ig-navy-900:#051A39;
  --ig-navy-800:#082041;
  --ig-orange:#F47421;
  --ig-orange-600:#DA6210;
  --ig-orange-100:#FDEEE3;
  --ig-ink:#0B2A55;
  --ig-muted:#5B6B82;
  --ig-line:#E3E9F1;
  --ig-tint:#F4F7FB;
  --ig-soft:#E9EDF6;
  --ig-font:"Poppins","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ig-pad:clamp(52px,6.4vw,98px);
  font-family:var(--ig-font);color:var(--ig-ink);overflow-x:hidden;
}
.ig-locpage,.ig-locpage *{box-sizing:border-box;}
:where(.ig-locpage) ul{list-style:none;margin:0;padding:0;}
:where(.ig-locpage) a{text-decoration:none;color:inherit;}
:where(.ig-locpage) img{max-width:100%;display:block;}
:where(.ig-locpage) button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;}
:where(.ig-locpage) svg{display:block;flex:none;}
:where(.ig-locpage) p{margin:0;}

/* ---------- shared ---------- */
.ig-wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
.ig-sec{padding:var(--ig-pad) 0;position:relative;}
.ig-sec--tint{background:var(--ig-tint);}

.ig-kicker{
  display:block;font-size:clamp(13px,1.08vw,20px);font-weight:600;
  letter-spacing:.04em;color:var(--ig-orange);margin-bottom:clamp(10px,1.2vw,22px);
}
.ig-h2{
  font-size:clamp(24px,2.8vw,52px);line-height:1.2;font-weight:800;
  letter-spacing:-.025em;color:var(--ig-navy);margin:0 0 16px;
}
.ig-h2 em{font-style:normal;color:var(--ig-orange);}
.ig-lead{font-size:clamp(14.5px,1.12vw,16.5px);line-height:1.78;color:var(--ig-muted);}
.ig-head{text-align:center;max-width:940px;margin:0 auto clamp(32px,3.8vw,56px);}
.ig-head .ig-lead{margin-inline:auto;}

.ig-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:clamp(48px,4vw,56px);padding:0 clamp(26px,2.8vw,38px);border-radius:7px;
  font-size:clamp(14.5px,1.1vw,16px);font-weight:700;white-space:nowrap;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.ig-btn--primary{background:var(--ig-orange);color:#fff;}
.ig-btn--primary:hover{background:var(--ig-orange-600);color:#fff;transform:translateY(-2px);}
.ig-btn--navy{background:var(--ig-navy);color:#fff;}
.ig-btn--navy:hover{background:var(--ig-navy-800);color:#fff;transform:translateY(-2px);}
.ig-btn--white{background:#fff;color:var(--ig-navy);}
.ig-btn--white:hover{background:var(--ig-orange);color:#fff;transform:translateY(-2px);}
.ig-btn--out{background:transparent;color:var(--ig-navy);box-shadow:inset 0 0 0 2px var(--ig-navy);}
.ig-btn--out:hover{background:var(--ig-navy);color:#fff;}
.ig-btns{display:flex;flex-wrap:wrap;gap:12px;}
.ig-btns--c{justify-content:center;}

/* ============================================================
   1. HERO
   ============================================================ */
/* Every dimension below is a ratio measured off the reference render,expressed
   in vw so the block keeps the same proportions at any width. The clamps only
   guard the extremes (phone / very large monitor). */
.ig-lhero{
  /* NO overflow:hidden here — the trust card deliberately hangs below this
     box via a negative margin, and clipping it cuts the logo row off. The
     photo is clipped by .ig-lhero__media instead. */
  position:relative;background:var(--ig-navy);color:#fff;
  padding:0;
  --ig-tc-over:clamp(34px,7.5vw,138px);   /* card overhang below the photo */
}
.ig-lhero__media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.ig-lhero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.ig-lhero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,42,85,.74) 0%,rgba(11,42,85,.66) 48%,rgba(5,26,57,.78) 100%);
}
.ig-lhero__inner{
  position:relative;z-index:2;text-align:center;
  padding-top:clamp(46px,8vw,148px);
}
.ig-lhero__copy{max-width:none;margin:0 auto;}

/* pill — 2.35vw tall,1.9vw clear of the headline */
.ig-lhero__pill{
  display:inline-block;border:2px solid rgba(255,255,255,.62);border-radius:999px;
  padding:clamp(7px,.62vw,12px) clamp(16px,1.75vw,32px);
  font-size:clamp(12px,1.15vw,21px);font-weight:700;line-height:1.3;
  letter-spacing:-.1px;color:#fff;white-space:nowrap;
  margin-bottom:clamp(11px,1.9vw,35px);
}
/* headline — 3.93vw,single line at desktop widths */
.ig-lhero h1{
  font-size:clamp(24px,3.29vw,60px);line-height:1.08;font-weight:800;
  letter-spacing:-.025em;margin:0 0 clamp(14px,2.5vw,46px);color:#fff;
}
.ig-lhero h1 em{font-style:normal;color:var(--ig-orange);}
.ig-lhero__addr{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;flex-wrap:wrap;
  font-size:clamp(13px,1.32vw,24px);line-height:1.4;color:rgba(255,255,255,.96);
  margin:0 0 clamp(12px,2vw,37px);
}
.ig-lhero__addr svg{width:1em;height:1em;color:var(--ig-orange);}
/* buttons — 3.25vw tall,11.75vw wide,.75vw apart,near-square corners */
.ig-lhero .ig-btns{gap:clamp(8px,.75vw,14px);}
.ig-lhero .ig-btn{
  height:clamp(42px,3.25vw,66px);border-radius:4px;
  min-width:clamp(132px,11.75vw,216px);padding:0 clamp(14px,1.2vw,22px);
  font-size:clamp(12.5px,.98vw,18px);font-weight:700;
}

/* ---- trust card: 83vw wide,straddling the bottom edge of the photo ---- */
.ig-trustwrap{width:min(83vw,1560px);margin:0 auto;position:relative;z-index:3;}
.ig-trustcard{
  background:#EAF6FB;border-radius:clamp(12px,1.2vw,24px);
  margin-top:clamp(40px,8.65vw,160px);
  margin-bottom:calc(-1 * var(--ig-tc-over));
  overflow:hidden;text-align:center;
  box-shadow:0 14px 40px rgba(5,26,57,.16);
}
/* banner is 66.3% of the card and flush with its top edge */
.ig-trustcard__banner{
  width:66.3%;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  min-height:clamp(44px,4.85vw,90px);
  background:var(--ig-orange);color:var(--ig-navy);
  border-radius:0 0 clamp(7px,.6vw,12px) clamp(7px,.6vw,12px);
  padding:.25em clamp(12px,1.2vw,22px);
  font-size:clamp(19px,3.08vw,57px);font-weight:800;line-height:1.1;letter-spacing:-.03em;
}
.ig-trustcard__logos{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
  gap:clamp(18px,4.4vw,82px);
  padding:clamp(14px,2.15vw,40px) clamp(14px,2vw,36px) clamp(20px,3vw,56px);
}
.ig-plat{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.25vw,23px);}
.ig-plat__logo{display:flex;align-items:center;gap:.22em;height:clamp(22px,2.5vw,46px);}
.ig-plat__logo svg{height:100%;width:auto;}
/* Google wordmark — per-letter brand colours */
.ig-plat__g{font-size:clamp(21px,2.4vw,44px);font-weight:500;letter-spacing:-.055em;line-height:1;}
.ig-plat__g i{font-style:normal;}
.ig-plat__g .b{color:#4285F4;} .ig-plat__g .r{color:#EA4335;}
.ig-plat__g .y{color:#FBBC05;} .ig-plat__g .g{color:#34A853;}
.ig-plat__word{font-size:clamp(20px,2.3vw,42px);font-weight:600;letter-spacing:-.04em;line-height:1;}
.ig-plat__word--bing{color:#737373;font-weight:500;}
.ig-plat__word--hg{color:#12263F;font-weight:500;}
.ig-plat__word--yelp{color:#111;font-weight:700;}
.ig-plat__rate{display:flex;align-items:center;gap:.45em;font-size:clamp(9.5px,.8vw,15px);font-weight:800;color:#111;}
.ig-plat__stars{display:flex;gap:.08em;color:#F5A623;}
.ig-plat__stars svg{width:1em;height:1em;}
/* the section that follows must clear the overhang */
/* same fill as .ig-trustcard,so the card dissolves into this section at the seam */
.ig-sec--after-hero{background:#EAF6FB;padding-top:calc(var(--ig-pad) + clamp(34px,7.5vw,138px));padding-bottom:clamp(60px,10.75vw,200px);}

/* ============================================================
   2. HOW WE STAND OUT  /  generic 4-up pillar grid
   ============================================================ */
.ig-standout__lead{max-width:min(47.85vw,900px);margin:0 auto;}
.ig-standout__lead a{color:var(--ig-orange);}
.ig-standout__lead a:hover{text-decoration:underline;}

/* white band; the cards are pulled up so they straddle the pale/white seam */
/* display:flow-root is load-bearing. Without a BFC the grid's negative
   top margin collapses out through .ig-wrap and this section,dragging the
   white background up with the cards — so they never straddle the seam. */
.ig-standout{background:#fff;padding-top:0;display:flow-root;}
.ig-standout__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  /* The seam must cross the cards 31% down, whatever their size. Card height
     is derived from the column width (percentages in calc resolve against the
     container width), so the pull-up tracks it automatically. */
  --ig-so-gap:clamp(10px,1.6vw,30px);
  --ig-so-cardw:calc((100% - 3 * var(--ig-so-gap)) / 4);
  --ig-so-cardh:calc(var(--ig-so-cardw) * 495 / 348);
  gap:var(--ig-so-gap);
  margin-top:calc(-0.31 * var(--ig-so-cardh));
}
.ig-so{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:348/495;
  border-radius:clamp(10px,.8vw,17px);
  background:var(--ig-navy);
  box-shadow:0 14px 34px rgba(11,42,85,.16);
  transition:transform .32s ease,box-shadow .32s ease;
}
.ig-so:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(11,42,85,.26);}
.ig-so img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.ig-so:hover img{transform:scale(1.05);}
/* resting scrim so the label stays legible */
.ig-so::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,
    rgba(11,42,85,.92) 0%,rgba(11,42,85,.58) 26%,rgba(11,42,85,0) 56%);
}
/* full veil,faded in on hover — a gradient can't be transitioned,so this is
   a separate layer whose opacity animates instead */
.ig-so::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:rgba(9,34,70,.91);opacity:0;transition:opacity .34s ease;
}
.ig-so:hover::before{opacity:1;}

/* anchored to the bottom: as the copy expands the title is pushed upward */
.ig-so__inner{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:clamp(14px,1.5vw,28px) clamp(12px,1.4vw,26px);
  text-align:center;
}
.ig-so__title{
  margin:0;color:#fff;text-transform:uppercase;
  font-size:clamp(12px,1vw,19px);font-weight:800;line-height:1.28;
  letter-spacing:.01em;transition:color .3s ease;
}
.ig-so:hover .ig-so__title{color:var(--ig-orange);}
.ig-so__text{
  max-height:0;opacity:0;overflow:hidden;margin-top:0;
  color:#fff;font-size:clamp(11.5px,.92vw,17px);line-height:1.55;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin-top .45s ease;
}
.ig-so:hover .ig-so__text{max-height:24em;opacity:1;margin-top:.75em;}

/* ============================================================
   3. DISCOUNTS & OFFERS
   ============================================================ */
.ig-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.3vw,44px);}
.ig-offer{
  position:relative;overflow:hidden;isolation:isolate;
  background:#fff;border:1px solid #A8D8F0;
  border-radius:clamp(10px,.9vw,18px);
  aspect-ratio:440/314;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(14px,1.7vw,32px);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.ig-offer:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(11,42,85,.26);border-color:transparent;}
/* full-bleed photo + navy veil,faded in on hover */
.ig-offer__bg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .35s ease;}
.ig-offer__bg img{width:100%;height:100%;object-fit:cover;}
.ig-offer__bg::after{content:"";position:absolute;inset:0;background:rgba(11,42,85,.86);}
.ig-offer:hover .ig-offer__bg{opacity:1;}
/* the avatar collapses on hover so the title rises into its place */
.ig-offer__av{
  position:relative;z-index:1;flex:none;
  width:clamp(64px,6.5vw,128px);height:clamp(64px,6.5vw,128px);max-height:clamp(64px,6.5vw,128px);
  border-radius:50%;overflow:hidden;margin-bottom:clamp(10px,1.3vw,24px);
  transition:max-height .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),
             opacity .26s ease,margin-bottom .4s ease;
}
.ig-offer__av img{width:100%;height:100%;object-fit:cover;}
.ig-offer:hover .ig-offer__av{max-height:0;height:0;opacity:0;margin-bottom:0;}
.ig-offer__title{
  position:relative;z-index:1;margin:0;
  font-size:clamp(15px,1.3vw,25px);font-weight:700;line-height:1.32;
  color:var(--ig-navy);transition:color .3s ease;
}
.ig-offer:hover .ig-offer__title{color:var(--ig-orange);}
.ig-offer__terms{
  position:relative;z-index:1;overflow:hidden;
  margin-top:clamp(8px,1vw,18px);max-height:3em;
  font-size:clamp(10px,.65vw,13px);font-weight:700;color:#9AA6B4;
  transition:opacity .24s ease,max-height .32s ease,margin-top .32s ease;
}
.ig-offer:hover .ig-offer__terms{opacity:0;max-height:0;margin-top:0;}
.ig-offer__desc{
  position:relative;z-index:1;overflow:hidden;
  max-height:0;opacity:0;margin-top:0;color:#fff;
  font-size:clamp(11px,.85vw,16px);line-height:1.55;
  transition:max-height .44s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin-top .44s ease;
}
.ig-offer:hover .ig-offer__desc{max-height:12em;opacity:1;margin-top:.7em;}

/* ============================================================
   4. TREATMENT OPTIONS
   ============================================================ */
.ig-treats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px);}
.ig-treat{
  border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid var(--ig-line);
  transition:transform .28s ease,box-shadow .28s ease;
}
.ig-treat:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(11,42,85,.18);}
.ig-treat__img{aspect-ratio:4/3;background:var(--ig-navy);overflow:hidden;}
.ig-treat__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ig-treat:hover .ig-treat__img img{transform:scale(1.06);}
.ig-treat__body{padding:clamp(18px,1.8vw,26px);}
.ig-treat__body h3{font-size:clamp(16px,1.35vw,19.5px);font-weight:700;margin:0 0 9px;color:var(--ig-navy);}
.ig-treat__body p{font-size:clamp(13.5px,1.02vw,14.8px);line-height:1.62;color:var(--ig-muted);}

/* ============================================================
   5. MEET YOUR ORTHODONTIST
   ============================================================ */
.ig-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px);}
.ig-doc{
  background:#fff;border:1px solid var(--ig-line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .28s ease,box-shadow .28s ease;
}
.ig-doc:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(11,42,85,.16);}
.ig-doc__img{aspect-ratio:1/1;background:var(--ig-soft);overflow:hidden;}
.ig-doc__img img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.ig-doc__body{padding:clamp(20px,2vw,30px);flex:1 1 auto;display:flex;flex-direction:column;}
.ig-doc__body h3{font-size:clamp(18px,1.55vw,23px);font-weight:700;margin:0 0 4px;color:var(--ig-navy);}
.ig-doc__cred{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ig-orange);margin:0 0 14px;}
.ig-doc__quote{
  font-size:clamp(13.5px,1.05vw,15px);line-height:1.7;color:var(--ig-muted);
  font-style:italic;border-left:3px solid var(--ig-orange);padding-left:14px;margin:0 0 16px;
}
.ig-doc__more{margin-top:auto;font-size:14px;font-weight:700;color:var(--ig-orange);display:inline-flex;align-items:center;gap:7px;}
.ig-doc__more svg{width:15px;height:15px;transition:transform .2s ease;}
.ig-doc:hover .ig-doc__more svg{transform:translateX(4px);}

/* ============================================================
   6. FAMILY-FRIENDLY CARE
   ============================================================ */
.ig-ages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px);}
.ig-age{
  position:relative;border-radius:16px;overflow:hidden;
  aspect-ratio:4/3.4;display:flex;align-items:flex-end;
  transition:transform .28s ease,box-shadow .28s ease;
}
.ig-age:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(11,42,85,.24);}
.ig-age img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ig-age:hover img{transform:scale(1.06);}
.ig-age::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,42,85,.96) 0%,rgba(11,42,85,.72) 34%,rgba(11,42,85,.10) 72%);
}
.ig-age__body{position:relative;z-index:2;padding:clamp(20px,2vw,30px);color:#fff;}
.ig-age__body h3{font-size:clamp(19px,1.8vw,26px);font-weight:800;margin:0 0 8px;color:#fff;}
.ig-age__body p{font-size:clamp(13.5px,1.02vw,15px);line-height:1.6;color:rgba(255,255,255,.9);margin-bottom:16px;}
.ig-age__body .ig-btn{height:44px;padding:0 22px;font-size:14px;}

/* ============================================================
   7 / 16. CTA BANDS
   ============================================================ */
.ig-cta{background:var(--ig-navy);color:#fff;text-align:center;}
.ig-cta h2{font-size:clamp(24px,3.2vw,44px);line-height:1.2;font-weight:800;margin:0 0 14px;color:#fff;}
.ig-cta h2 em{font-style:normal;color:var(--ig-orange);}
.ig-cta p{font-size:clamp(14.5px,1.12vw,17px);line-height:1.75;color:rgba(255,255,255,.82);max-width:760px;margin:0 auto 26px;}
.ig-cta--split{text-align:left;}
.ig-cta--split .ig-cta__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,64px);align-items:center;}
.ig-cta--split .ig-cta__img{border-radius:16px;overflow:hidden;aspect-ratio:4/3;}
.ig-cta--split .ig-cta__img img{width:100%;height:100%;object-fit:cover;}
.ig-cta--split p{margin-left:0;margin-right:0;}

/* ============================================================
   8. CONSULTATION FORM  (same treatment as the home page)
   ============================================================ */
.ig-form-sec{background:var(--ig-navy);color:#fff;overflow:hidden;padding:0;}
.ig-form-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.ig-form__media{position:relative;min-height:clamp(320px,38vw,620px);}
.ig-form__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;}
.ig-form__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(11,42,85,.30) 0%,rgba(11,42,85,.05) 28%,rgba(11,42,85,.55) 76%,var(--ig-navy) 100%);
}
.ig-form__panel{padding:clamp(44px,5vw,86px) clamp(20px,3.4vw,58px);display:flex;flex-direction:column;justify-content:center;align-items:center;}
.ig-form__inner{width:100%;max-width:680px;}
.ig-form__panel h2{font-size:clamp(26px,3.4vw,48px);line-height:1.18;font-weight:800;color:var(--ig-orange);text-align:center;margin:0 0 clamp(24px,2.8vw,38px);}
.ig-form__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(13px,1.3vw,18px);margin-bottom:clamp(13px,1.3vw,18px);}
.ig-form input:not([type="checkbox"]),.ig-form textarea{
  width:100%;font:inherit;font-weight:400;font-size:clamp(15px,1.2vw,18px);
  color:#fff;background:transparent;border:2px solid rgba(244,116,33,.60);border-radius:13px;
  padding:0 clamp(16px,1.6vw,24px);height:clamp(56px,4.8vw,72px);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.ig-form input:hover,.ig-form textarea:hover{border-color:rgba(244,116,33,.85);}
.ig-form input::placeholder,.ig-form textarea::placeholder{color:rgba(255,255,255,.92);opacity:1;}
.ig-form input:focus,.ig-form textarea:focus{outline:none;border-color:var(--ig-orange);box-shadow:0 0 0 4px rgba(244,116,33,.18);}
.ig-form textarea{display:block;height:auto;min-height:clamp(110px,9vw,140px);resize:vertical;padding:clamp(16px,1.5vw,22px) clamp(16px,1.6vw,24px);line-height:1.55;margin-bottom:clamp(16px,1.6vw,22px);}
.ig-form input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 60px var(--ig-navy) inset;caret-color:#fff;}
.ig-consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:12.5px;font-weight:600;line-height:1.5;color:#fff;margin-bottom:clamp(18px,2vw,26px);}
.ig-consent input{
  appearance:none;-webkit-appearance:none;flex:none;
  width:21px;height:21px;border-radius:5px;margin-top:1px;cursor:pointer;
  border:2px solid #fff;background-color:transparent;
  background-repeat:no-repeat;background-position:center;background-size:14px 14px;
  transition:background-color .18s ease,border-color .18s ease,transform .12s ease;
}
.ig-consent input:hover{border-color:var(--ig-orange);}
.ig-consent input:checked{
  background-color:var(--ig-orange);border-color:var(--ig-orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  transform:scale(1.06);
}
.ig-consent input:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(244,116,33,.38);}
.ig-consent strong{font-weight:800;color:#fff;}
.ig-consent a{color:var(--ig-orange);}
.ig-consent a:hover{text-decoration:underline;}
.ig-form__submit{align-self:flex-start;border-radius:10px;}
.ig-form__note{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:13px;}

/* ============================================================
   9. CONTACT, HOURS & MAP
   ============================================================ */
.ig-info{display:grid;gap:14px;margin-top:22px;}
.ig-info li{display:flex;gap:13px;align-items:flex-start;font-size:clamp(14px,1.08vw,16px);line-height:1.6;color:var(--ig-muted);}
.ig-info li svg{width:19px;height:19px;color:var(--ig-orange);margin-top:2px;}
.ig-info li a{color:var(--ig-orange);font-weight:600;}
.ig-info li a:hover{color:var(--ig-orange-600);}
.ig-info li b{color:var(--ig-navy);}

.ig-hours{width:100%;border-collapse:collapse;margin-top:6px;}
.ig-hours th,.ig-hours td{
  text-align:left;padding:11px 0;font-size:clamp(13.5px,1.05vw,15.5px);
  border-bottom:1px solid var(--ig-line);
}
.ig-hours th{font-weight:600;color:var(--ig-navy);}
.ig-hours td{text-align:right;color:var(--ig-muted);font-weight:600;}
.ig-hours tr:last-child th,.ig-hours tr:last-child td{border-bottom:0;}
.ig-hours .is-closed td{color:var(--ig-orange);}

.ig-mapwrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,44px);align-items:stretch;}
.ig-mapbox{border-radius:16px;overflow:hidden;background:var(--ig-line);min-height:clamp(320px,34vw,460px);}
.ig-mapbox iframe{width:100%;height:100%;min-height:clamp(320px,34vw,460px);border:0;display:block;}

/* ============================================================
   10. REVIEWS
   ============================================================ */
.ig-revs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px);}
.ig-rev{
  background:#fff;border:1px solid var(--ig-line);border-radius:14px;
  padding:clamp(20px,2vw,30px);display:flex;flex-direction:column;
  transition:transform .28s ease,box-shadow .28s ease;
}
.ig-rev:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(11,42,85,.14);}
.ig-rev__stars{display:flex;gap:3px;color:var(--ig-orange);margin-bottom:14px;}
.ig-rev__stars svg{width:16px;height:16px;}
.ig-rev p{font-size:clamp(13.5px,1.02vw,14.8px);line-height:1.7;color:var(--ig-muted);margin:0 0 18px;}
.ig-rev__who{margin-top:auto;display:flex;align-items:center;gap:11px;border-top:1px solid var(--ig-line);padding-top:15px;}
.ig-rev__av{
  width:38px;height:38px;border-radius:50%;flex:none;background:var(--ig-navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
}
.ig-rev__who b{display:block;font-size:14.5px;font-weight:700;color:var(--ig-navy);line-height:1.3;}
.ig-rev__who span{font-size:12.5px;color:var(--ig-muted);}

/* ============================================================
   15. CONDITIONS
   ============================================================ */
.ig-conds{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.5vw,22px);}
.ig-cond{
  background:#fff;border:1px solid var(--ig-line);border-radius:14px;
  padding:clamp(20px,2vw,28px);text-align:center;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.ig-cond:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(11,42,85,.16);background:var(--ig-navy);}
.ig-cond__icon{
  width:56px;height:56px;border-radius:50%;margin:0 auto 16px;
  background:var(--ig-orange-100);color:var(--ig-orange);
  display:flex;align-items:center;justify-content:center;
  transition:background .28s ease,color .28s ease;
}
.ig-cond:hover .ig-cond__icon{background:var(--ig-orange);color:#fff;}
.ig-cond__icon svg{width:27px;height:27px;}
.ig-cond h3{font-size:clamp(15px,1.25vw,18px);font-weight:700;margin:0 0 8px;color:var(--ig-navy);transition:color .28s ease;}
.ig-cond p{font-size:clamp(13px,1vw,14.2px);line-height:1.6;color:var(--ig-muted);transition:color .28s ease;}
.ig-cond:hover h3{color:var(--ig-orange);}
.ig-cond:hover p{color:rgba(255,255,255,.86);}

/* ============================================================
   18. FAQ
   ============================================================ */
.ig-faq{max-width:960px;margin:0 auto;}
.ig-faq__tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:clamp(24px,3vw,40px);}
.ig-faq__tab{
  padding:11px 22px;border-radius:999px;font-size:14px;font-weight:700;
  background:#fff;border:1px solid var(--ig-line);color:var(--ig-navy);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.ig-faq__tab:hover{border-color:var(--ig-orange);color:var(--ig-orange);}
.ig-faq__tab.is-active{background:var(--ig-navy);border-color:var(--ig-navy);color:#fff;}
.ig-q{background:#fff;border:1px solid var(--ig-line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.ig-q__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:clamp(16px,1.6vw,22px) clamp(18px,1.8vw,26px);text-align:left;
  font-size:clamp(14.5px,1.15vw,17px);font-weight:700;line-height:1.45;color:var(--ig-navy);
  transition:color .2s ease;
}
.ig-q__btn:hover{color:var(--ig-orange);}
.ig-q__btn svg{width:20px;height:20px;color:var(--ig-orange);transition:transform .3s ease;flex:none;}
.ig-q.is-open .ig-q__btn{color:var(--ig-orange);}
.ig-q.is-open .ig-q__btn svg{transform:rotate(180deg);}
.ig-q__a{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);}
.ig-q__a p{
  padding:0 clamp(18px,1.8vw,26px) clamp(18px,1.8vw,24px);
  font-size:clamp(13.5px,1.05vw,15.5px);line-height:1.75;color:var(--ig-muted);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .ig-standout__grid,.ig-treats,.ig-revs{grid-template-columns:repeat(2,1fr);}
  .ig-standout__grid{--ig-so-cardw:calc((100% - var(--ig-so-gap)) / 2);}
  .ig-conds{grid-template-columns:repeat(3,1fr);}
  .ig-docs,.ig-ages{grid-template-columns:1fr;}
  .ig-offers{grid-template-columns:repeat(3,1fr);gap:14px;}
  .ig-form-grid,.ig-mapwrap,.ig-cta--split .ig-cta__grid{grid-template-columns:1fr;}
  .ig-standout__lead{max-width:none;}
  .ig-form__media{min-height:0;height:clamp(260px,42vw,400px);}
  .ig-form__media::after{background:linear-gradient(180deg,rgba(11,42,85,.25) 0%,rgba(11,42,85,.05) 40%,var(--ig-navy) 100%);}
  .ig-doc__img{aspect-ratio:16/10;}
  .ig-age{aspect-ratio:16/9;}
}
@media (max-width:720px){
  .ig-wrap{padding:0 18px;}
  .ig-treats,.ig-revs,.ig-conds{grid-template-columns:1fr;}
  /* cards: release the fixed aspect so the copy (permanently shown on touch)
     can't overflow the box and get clipped by overflow:hidden */
  .ig-standout__grid{grid-template-columns:1fr;margin-top:0;}
  .ig-so{aspect-ratio:auto;}
  .ig-so img{position:absolute;inset:0;z-index:0;}
  .ig-so__inner{position:relative;left:auto;right:auto;bottom:auto;padding-top:clamp(150px,44vw,260px);}
  /* hero address: keep the pin on the same line as the first words */
  .ig-lhero__addr{display:block;}
  .ig-lhero__addr svg{display:inline-block;vertical-align:-.12em;margin-right:.35em;}
  .ig-offers{grid-template-columns:1fr;}
  .ig-offer{aspect-ratio:auto;min-height:0;}
  .ig-offer__av{max-height:0;height:0;opacity:0;margin-bottom:0;}
  .ig-offer__bg{opacity:1;}
  .ig-offer__title{color:var(--ig-orange);}
  .ig-offer__desc{max-height:none;opacity:1;margin-top:.7em;}
  .ig-offer__terms{opacity:0;max-height:0;margin-top:0;}
  .ig-so__text{max-height:none;opacity:1;margin-top:.75em;}
  .ig-so::before{opacity:1;}
  .ig-form__row{grid-template-columns:1fr;}
  .ig-form__submit{align-self:stretch;width:100%;}
  .ig-btns .ig-btn{flex:1 1 100%;}
  .ig-lhero__pill{white-space:normal;}
  .ig-trustwrap{width:min(92vw,1560px);}
  .ig-trustcard__banner{width:100%;border-radius:0;}
  .ig-trustcard__logos{gap:20px 26px;}
  .ig-lhero .ig-btn{flex:1 1 100%;}
}

@media (max-width:480px){
  .ig-lhero__inner{padding-top:clamp(34px,11vw,52px);}
  .ig-lhero__pill{font-size:12px;padding:8px 16px;}
  .ig-lhero h1{font-size:clamp(23px,7.4vw,30px);}
  .ig-lhero__addr{font-size:14px;}
  .ig-trustcard__banner{font-size:clamp(17px,5.4vw,23px);min-height:52px;}
  .ig-trustcard__logos{gap:18px 20px;padding:20px 14px 24px;}
  .ig-plat__logo{height:24px;}
  .ig-plat__g{font-size:23px;}
  .ig-plat__word{font-size:22px;}
  .ig-plat__rate{font-size:10.5px;}
  .ig-faq__tabs{gap:8px;}
  .ig-faq__tab{padding:9px 16px;font-size:13px;}
  .ig-q__btn{font-size:14.5px;}
  .ig-hours th,.ig-hours td{font-size:13px;padding:10px 0;}
  .ig-cond,.ig-rev,.ig-treat__body,.ig-doc__body{padding:20px;}
}

/* ============================================================
   THEME OVERRIDE GUARD — keep last
   ============================================================ */
.ig-locpage h1,.ig-locpage h2,.ig-locpage h3,.ig-locpage h4{font-family:var(--ig-font) !important;margin-top:0;}
.ig-locpage a{text-decoration:none !important;}
.ig-locpage .ig-h2,.ig-locpage .ig-treat__body h3,.ig-locpage .ig-doc__body h3,.ig-locpage .ig-cond h3,.ig-locpage .ig-offer__title{color:var(--ig-navy) !important;}
.ig-locpage .ig-cta h2,.ig-locpage .ig-lhero h1,.ig-locpage .ig-age__body h3{color:#FFFFFF !important;}
.ig-locpage .ig-offer:hover .ig-offer__title{color:var(--ig-orange) !important;}
.ig-locpage .ig-offer__desc{color:#FFFFFF !important;}
.ig-locpage .ig-h2 em,.ig-locpage .ig-cta h2 em,.ig-locpage .ig-lhero h1 em,.ig-locpage .ig-kicker,.ig-locpage .ig-doc__cred,.ig-locpage .ig-doc__more,.ig-locpage .ig-info li a,.ig-locpage .ig-consent a{color:var(--ig-orange) !important;}
.ig-locpage .ig-form__panel h2{color:var(--ig-orange) !important;}
.ig-locpage .ig-btn--primary,.ig-locpage .ig-btn--primary:visited{background:var(--ig-orange) !important;color:#FFFFFF !important;}
.ig-locpage .ig-btn--primary:hover{background:var(--ig-orange-600) !important;color:#FFFFFF !important;}
.ig-locpage .ig-btn--navy,.ig-locpage .ig-btn--navy:visited{background:var(--ig-navy) !important;color:#FFFFFF !important;}
.ig-locpage .ig-btn--white,.ig-locpage .ig-btn--white:visited{background:#FFFFFF !important;color:var(--ig-navy) !important;}
.ig-locpage .ig-btn--white:hover{background:var(--ig-orange) !important;color:#FFFFFF !important;}
.ig-locpage .ig-btn--out,.ig-locpage .ig-btn--out:visited{background:transparent !important;color:var(--ig-navy) !important;}
.ig-locpage .ig-btn--out:hover{background:var(--ig-navy) !important;color:#FFFFFF !important;}
.ig-locpage .ig-so__title{color:#FFFFFF !important;}
.ig-locpage .ig-so:hover .ig-so__title{color:var(--ig-orange) !important;}
.ig-locpage .ig-so__text{color:#FFFFFF !important;}
.ig-locpage .ig-standout__lead a{color:var(--ig-orange) !important;}
.ig-locpage .ig-cond:hover h3{color:var(--ig-orange) !important;}
.ig-locpage .ig-cond:hover p{color:rgba(255,255,255,.86) !important;}
.ig-locpage .ig-lhero__pill{color:#FFFFFF !important;}
.ig-locpage .ig-trustcard__banner{background:var(--ig-orange) !important;color:var(--ig-navy) !important;}
.ig-locpage input,.ig-locpage textarea{font-family:var(--ig-font) !important;}
/* :not([type=checkbox]) matters — `background:transparent` is a SHORTHAND and
   would otherwise wipe the checkbox's fill and tick image */
.ig-locpage .ig-form input:not([type="checkbox"]),.ig-locpage .ig-form textarea{color:#FFFFFF !important;background:transparent !important;}
.ig-locpage .ig-consent input[type="checkbox"]{
  background-color:transparent !important;background-repeat:no-repeat !important;
  background-position:center !important;background-size:14px 14px !important;
}
.ig-locpage .ig-consent input[type="checkbox"]:checked{
  background-color:var(--ig-orange) !important;border-color:var(--ig-orange) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") !important;
}
.ig-locpage .ig-consent,.ig-locpage .ig-consent strong{color:#FFFFFF !important;}
.ig-locpage svg{fill:currentColor;}
/* Review-platform marks keep their own brand colours. The global
   svg{fill:currentColor} above outranks a fill= attribute,so each
   brand fill is pinned here instead of relying on the markup. */
.ig-locpage .ig-plat--bing .ig-plat__logo svg path{fill:url(#igBing) !important;}
.ig-locpage .ig-plat--hg .ig-plat__logo svg path:first-of-type{fill:#0B4DA2 !important;}
.ig-locpage .ig-plat--hg .ig-plat__logo svg path:last-of-type{fill:#FFFFFF !important;}
.ig-locpage .ig-plat--yelp .ig-plat__logo svg path{fill:#FF1A1A !important;}
.ig-locpage .ig-plat__word--bing{color:#737373 !important;}
.ig-locpage .ig-plat__word--hg{color:#12263F !important;}
.ig-locpage .ig-plat__word--yelp{color:#111111 !important;}
.ig-locpage .ig-plat__g .b{color:#4285F4 !important;}
.ig-locpage .ig-plat__g .r{color:#EA4335 !important;}
.ig-locpage .ig-plat__g .y{color:#FBBC05 !important;}
.ig-locpage .ig-plat__g .g{color:#34A853 !important;}
.ig-locpage .ig-plat__rate{color:#111 !important;}
.ig-locpage .ig-plat__stars{color:#F5A623 !important;}
.ig-locpage .ig-cond__icon svg{fill:none !important;stroke:currentColor !important;}
/* touch: the offer cards sit permanently in their "hovered" state, so the
   title must be orange — the navy guard rule above would make it unreadable */
@media (max-width:720px){
  .ig-locpage .ig-offer__title{color:var(--ig-orange) !important;}
}
@media (prefers-reduced-motion:reduce){
  .ig-locpage *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}
