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

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


.ig-kicker{
  display:block;font-size:clamp(13px,1.08vw,18px);font-weight:600;
  letter-spacing:.04em;color:var(--ig-orange);margin-bottom:clamp(9px,1.1vw,18px);
}

/* ---------- buttons ---------- */
.ig-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:56px;padding:0 32px;border-radius:999px;
  font-size:16px;font-weight:700;letter-spacing:.2px;white-space:nowrap;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.ig-btn--primary{background:var(--ig-orange);color:#fff;box-shadow:0 10px 26px rgba(244,116,33,.32);}
.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-btns{display:flex;flex-wrap:wrap;gap:14px;}

/* ============================================================
   1. HERO SLIDER
   ============================================================ */
.ig-hero{position:relative;background:var(--ig-navy);overflow:hidden;}
.ig-hero__track{position:relative;}
.ig-hero__slide{
  position:absolute;inset:0;
  opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;
  /* per-slide accent — the badge border, band and highlight words read from these */
  --acc:var(--ig-orange);
  --acc-ink:var(--ig-navy);
  --acc-2:#FFC08A;
}
.ig-hero__slide.is-active{opacity:1;visibility:visible;position:relative;z-index:2;}
.ig-hero__slide--aligners{--acc:#FFFFFF;--acc-ink:var(--ig-orange);--acc-2:#FFC08A;}

.ig-hero__inner{
  position:relative;z-index:2;
  min-height:clamp(520px,53vw,740px);
  display:flex;align-items:center;
  padding:clamp(52px,6vw,84px) 0 clamp(56px,6vw,92px);
}
.ig-hero__copy{max-width:640px;color:#fff;}

/* --- price badge --- */
.ig-hero__badge{
  display:inline-flex;flex-direction:column;text-align:center;
  border:3px solid var(--acc);border-radius:14px;overflow:hidden;
  min-width:clamp(266px,26vw,360px);margin-bottom:clamp(22px,2.6vw,34px);
}
.ig-hero__badge span{display:block;line-height:1.12;}
.ig-hero__badge-top,.ig-hero__badge-bot{
  padding:11px 30px;color:#fff;
  font-size:clamp(16px,1.6vw,25px);font-weight:700;
  letter-spacing:2.4px;text-transform:uppercase;
}
.ig-hero__badge-mid{
  background:var(--acc);color:var(--acc-ink);
  padding:8px 30px;font-weight:800;letter-spacing:.5px;
  font-size:clamp(34px,4.4vw,58px);
}
.ig-hero__badge-mid sup{font-size:.62em;vertical-align:super;line-height:0;}

/* --- headline --- */
.ig-hero__head{
  font-size:clamp(32px,4.6vw,62px);line-height:1.06;font-weight:800;
  letter-spacing:-.5px;text-transform:uppercase;margin:0 0 14px;color:#fff;
}
.ig-hero__head em{font-style:normal;color:var(--acc-2);}
.ig-hero__head b{font-weight:800;color:var(--ig-orange);}
.ig-hero__slide--aligners .ig-hero__head b{color:var(--ig-orange);}
.ig-hero__terms{
  font-size:clamp(12.5px,1vw,15px);font-style:italic;font-weight:600;
  color:rgba(255,255,255,.82);margin:0 0 clamp(22px,2.4vw,32px);
}

/* --- hero buttons: squared off, like the reference --- */
.ig-hero .ig-btn{height:clamp(48px,4.4vw,60px);border-radius:7px;padding:0 clamp(24px,2.6vw,38px);box-shadow:none;}
.ig-hero .ig-btn--primary{background:var(--ig-orange);color:#fff;}
.ig-hero .ig-btn--primary:hover{background:var(--ig-orange-600);transform:translateY(-2px);}
.ig-hero .ig-btn--white{background:#fff;color:var(--ig-navy);}
.ig-hero .ig-btn--white:hover{background:var(--ig-orange);color:#fff;transform:translateY(-2px);}

/* --- full-bleed photo behind the copy ---
   The hero images are 16:9 photographs with their own backgrounds (not cut-outs),
   so they sit as a background layer under a gradient that keeps the left column
   dark enough for white text while the subject stays visible on the right. --- */
.ig-hero__media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.ig-hero__media img{width:100%;height:100%;object-fit:cover;}
.ig-hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgba(5,26,57,.95) 0%,
    rgba(5,26,57,.88) 34%,
    rgba(5,26,57,.60) 58%,
    rgba(5,26,57,.28) 100%);
}
.ig-hero__slide--braces   .ig-hero__media img{object-position:72% 28%;}
.ig-hero__slide--aligners .ig-hero__media img{object-position:64% 24%;}

/* slider chrome */
.ig-hero__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.16);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;
}
.ig-hero__nav:hover{background:var(--ig-orange);}
.ig-hero__nav--prev{left:20px;}
.ig-hero__nav--next{right:20px;}
.ig-hero__dots{
  position:absolute;left:0;right:0;bottom:clamp(20px,2.4vw,32px);z-index:5;
  display:flex;justify-content:center;gap:10px;
}
.ig-hero__dots button{
  width:34px;height:5px;border-radius:3px;background:rgba(255,255,255,.34);
  transition:background .25s ease,width .25s ease;
}
.ig-hero__dots button.is-active{background:var(--ig-orange);width:58px;}

/* ============================================================
   2. TREATMENTS
   ============================================================ */
.ig-treat{overflow:hidden;}
.ig-treat__head{max-width:1000px;margin:0 auto clamp(40px,5vw,72px);text-align:center;}
.ig-treat__head h1{
  font-size:clamp(28px,3.9vw,52px);line-height:1.22;font-weight:700;
  letter-spacing:-.4px;margin:0;color:var(--ig-navy);
}
.ig-treat__head h1 em{font-style:normal;color:var(--ig-orange);}
.ig-treat__lead{
  margin:clamp(14px,1.6vw,24px) auto 0;max-width:900px;
  font-size:clamp(14.5px,1.12vw,17px);line-height:1.78;color:var(--ig-muted);
}

/* staggered card row — even cards drop, exactly like the reference */
.ig-treat__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,1.9vw,30px);align-items:start;
  --ig-stagger:clamp(28px,4.4vw,72px);
  padding-bottom:var(--ig-stagger);
}
.ig-card-t{
  position:relative;display:block;border-radius:18px;overflow:hidden;
  aspect-ratio:288/467;background:var(--ig-navy);
  box-shadow:0 16px 40px rgba(11,42,85,.17);
  transition:transform .3s ease,box-shadow .3s ease;
}
.ig-card-t:nth-child(even){transform:translateY(var(--ig-stagger));}
.ig-card-t:hover{transform:translateY(-9px);box-shadow:0 26px 54px rgba(11,42,85,.26);}
.ig-card-t:nth-child(even):hover{transform:translateY(calc(var(--ig-stagger) - 9px));}

.ig-card-t img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.ig-card-t:hover img{transform:scale(1.06);}
/* navy scrim so the label stays readable over any photo */
.ig-card-t::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,
    rgba(11,42,85,.97) 0%,
    rgba(11,42,85,.92) 30%,
    rgba(11,42,85,.55) 58%,
    rgba(11,42,85,0) 84%);
}
.ig-card-t__body{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:0 clamp(14px,1.5vw,22px) clamp(18px,2vw,28px);text-align:center;color:#fff;
}
.ig-card-t__title{
  margin:0;color:#fff;
  font-size:clamp(16px,1.45vw,21px);font-weight:700;line-height:1.3;
}
.ig-card-t__desc{
  margin:clamp(7px,.8vw,12px) 0 clamp(10px,1.1vw,16px);
  font-size:clamp(12.5px,.95vw,14.5px);line-height:1.5;color:rgba(255,255,255,.88);
}
.ig-card-t__more{
  display:inline-flex;align-items:center;gap:6px;
  font-size:clamp(12.5px,.95vw,14.5px);font-weight:700;color:var(--ig-orange);
}
.ig-card-t__more svg{width:14px;height:14px;transition:transform .2s ease;}
.ig-card-t:hover .ig-card-t__more svg{transform:translateX(4px);}
.ig-treat__cta{margin-top:clamp(38px,4.6vw,66px);display:flex;justify-content:center;}
.ig-treat__cta .ig-btn{border-radius:7px;height:clamp(50px,4.2vw,58px);padding:0 clamp(32px,3.4vw,48px);}

/* ============================================================
   3. CONSULTATION FORM
   ============================================================ */
.ig-form-sec{background:var(--ig-navy);color:#fff;position:relative;overflow:hidden;padding:0;}
.ig-form-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}

/* left: photo panel, bled to the section edges and faded into the navy */
.ig-form__media{position:relative;min-height:clamp(340px,42vw,680px);}
.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;pointer-events:none;
  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%);
}

/* right: the form itself */
.ig-form__panel{
  padding:clamp(48px,5.4vw,92px) clamp(20px,3.6vw,60px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
}
/* no card — the fields are bare outlines sitting straight on the navy */
.ig-form__inner{width:100%;max-width:720px;margin:0 auto;}
.ig-form__panel h2{
  font-size:clamp(29px,3.7vw,54px);line-height:1.18;font-weight:800;
  color:var(--ig-orange);text-align:center;margin:0 0 clamp(26px,3vw,42px);
}
.ig-form__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.4vw,20px);margin-bottom:clamp(14px,1.4vw,20px);}
.ig-form input:not([type="checkbox"]),.ig-form textarea{
  width:100%;font:inherit;font-weight:400;
  font-size:clamp(16px,1.3vw,19px);
  color:#fff;background:transparent;
  border:2px solid rgba(244,116,33,.60);border-radius:14px;
  padding:0 clamp(18px,1.8vw,26px);
  height:clamp(60px,5.2vw,78px);
  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(118px,10vw,152px);resize:vertical;
  padding:clamp(18px,1.7vw,24px) clamp(18px,1.8vw,26px);line-height:1.55;
  margin-bottom:clamp(18px,1.8vw,24px);
}
/* kill the browser's yellow autofill wash on a dark field */
.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:13px;font-weight:600;line-height:1.5;color:#fff;
  margin-bottom:clamp(20px,2.2vw,28px);
}
/* square checkbox with a real tick — the tick is a background SVG rather than a
   pseudo-element, which renders reliably on a styled <input> in every browser */
.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);text-decoration:none;}
.ig-consent a:hover{text-decoration:underline;}
.ig-form__submit{
  border-radius:10px;height:clamp(54px,4.6vw,64px);
  padding:0 clamp(36px,3.4vw,52px);align-self:flex-start;
  font-size:clamp(15.5px,1.2vw,17px);box-shadow:none;
}
.ig-form__note{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:14px;}

/* ============================================================
   4. PROMISE
   ============================================================ */
.ig-promise__head{max-width:1040px;margin:0 auto clamp(36px,4.2vw,60px);text-align:center;}
.ig-promise__head h2{
  font-size:clamp(30px,4.3vw,58px);line-height:1.16;font-weight:800;
  letter-spacing:-.5px;color:var(--ig-navy);margin:0 0 clamp(18px,1.8vw,26px);
}
.ig-promise__head h2 em{font-style:normal;color:var(--ig-orange);}
.ig-promise__head p{
  font-size:clamp(14.5px,1.15vw,17px);line-height:1.78;color:var(--ig-muted);
  max-width:980px;margin:0 auto;
}

.ig-promise__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,32px);}
.ig-card-p{
  position:relative;background:#E9EDF6;border-radius:0;
  padding:clamp(28px,2.7vw,44px);
  display:flex;flex-direction:column;
  min-height:clamp(320px,25vw,400px);
  transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
/* icon sits top-right; margin-bottom:auto pushes the copy to the card floor */
.ig-card-p__icon{align-self:flex-end;margin-bottom:auto;color:var(--ig-orange);line-height:0;}
.ig-card-p__icon svg{
  width:clamp(66px,6.2vw,104px);height:auto;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.ig-card-p h4{
  font-size:clamp(20px,1.95vw,30px);line-height:1.22;font-weight:700;
  margin:clamp(20px,2vw,30px) 0 clamp(10px,1vw,15px);color:var(--ig-navy);
  transition:color .3s ease;
}
.ig-card-p p{
  font-size:clamp(14.5px,1.08vw,16.5px);line-height:1.62;
  color:var(--ig-navy);transition:color .3s ease;
}
/* hover: the whole card flips to navy and lifts above its neighbours */
.ig-card-p:hover{
  background:var(--ig-navy);z-index:2;
  transform:scale(1.055);
  box-shadow:0 26px 58px rgba(11,42,85,.30);
}
.ig-card-p:hover h4{color:var(--ig-orange);}
.ig-card-p:hover p{color:rgba(255,255,255,.88);}

/* ============================================================
   5. INSURANCES
   ============================================================ */
.ig-ins__head{text-align:center;margin-bottom:clamp(28px,3.4vw,52px);}
.ig-ins__head h2{
  font-size:clamp(25px,3.1vw,44px);line-height:1.2;font-weight:700;
  color:var(--ig-navy);margin:0 0 clamp(14px,1.6vw,24px);
}
.ig-ins__head h2 em{font-style:normal;color:var(--ig-orange);}
.ig-ins__head p{
  max-width:900px;margin-inline:auto;
  font-size:clamp(14.5px,1.12vw,17px);line-height:1.78;color:var(--ig-muted);
}
.ig-ins__cta{margin:clamp(22px,2.6vw,38px) 0 clamp(26px,3vw,44px);}
.ig-ins__label{
  font-size:clamp(13px,1.05vw,16px);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ig-navy);
}
.ig-ins__note{
  max-width:760px;margin-inline:auto;
  font-size:clamp(12px,.92vw,13.5px);line-height:1.6;color:var(--ig-muted);
}
.ig-marquee{
  position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.ig-marquee__track{
  display:flex;align-items:center;width:max-content;
  gap:clamp(18px,2.8vw,52px);
  animation:ig-scroll 36s linear infinite;
}
.ig-marquee:hover .ig-marquee__track{animation-play-state:paused;}
@keyframes ig-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* each tile is a 200x220 artwork holding TWO stacked carrier logos —
   that pairing is what gives the strip its two rows */
.ig-ins__logo{flex:none;width:clamp(146px,14.5vw,208px);}
.ig-ins__logo img{
  width:100%;height:auto;
  transition:opacity .25s ease;
}
.ig-marquee:hover .ig-ins__logo{opacity:.55;transition:opacity .25s ease;}
.ig-marquee .ig-ins__logo:hover{opacity:1;}
.ig-ins__foot{text-align:center;margin-top:clamp(30px,3.4vw,50px);}
.ig-ins__foot .ig-btn{border-radius:7px;height:clamp(50px,4.2vw,58px);padding:0 clamp(32px,3.4vw,46px);}

/* ============================================================
   6. WE ARE A COMMUNITY
   ============================================================ */
/* the community panel and the reviews collage share one full-width band */
.ig-band{display:grid;grid-template-columns:38.5% 61.5%;align-items:stretch;}

.ig-comm{position:relative;overflow:hidden;background:var(--ig-navy);isolation:isolate;}
.ig-comm__media{position:absolute;inset:0;z-index:0;}
.ig-comm__media img{
  width:100%;height:100%;object-fit:cover;
  /* keeps the faces in frame when the narrow panel crops the landscape shot */
  object-position:center 22%;
}
/* two layers: a navy duotone over the whole photo, then a bottom-weighted
   scrim so the headline sits on solid colour instead of on the faces */
.ig-comm__media::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:rgba(11,42,85,.52);
  mix-blend-mode:multiply;
}
.ig-comm__media::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,
    rgba(5,26,57,.95) 0%,
    rgba(5,26,57,.78) 32%,
    rgba(5,26,57,.34) 62%,
    rgba(5,26,57,.10) 100%);
}
.ig-comm__inner{
  position:relative;z-index:3;
  padding:clamp(52px,5.4vw,90px) clamp(26px,3.4vw,62px);
  min-height:clamp(430px,44vw,620px);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.ig-comm__mark{display:block;width:clamp(120px,11vw,170px);margin-bottom:clamp(20px,2.4vw,34px);}
.ig-comm__mark img{width:100%;height:auto;}
.ig-comm h2{
  font-size:clamp(34px,4.4vw,64px);line-height:1.08;font-weight:800;
  letter-spacing:-1px;margin:0 0 clamp(24px,2.6vw,38px);color:#fff;
}
.ig-comm h2 em{font-style:normal;display:block;color:var(--ig-orange);}
.ig-comm .ig-btn{border-radius:7px;height:auto;min-height:clamp(48px,4vw,58px);padding:12px clamp(22px,2.4vw,34px);align-self:flex-start;white-space:normal;text-align:center;line-height:1.35;}

/* ============================================================
   7. TESTIMONIALS
   ============================================================ */
.ig-test{
  background:#F7F8FA;
  padding:clamp(48px,5vw,84px) clamp(24px,3.4vw,62px);
  display:flex;flex-direction:column;justify-content:center;
}
.ig-test__head{text-align:center;margin-bottom:clamp(20px,2.4vw,34px);}
.ig-test__head h2{
  font-size:clamp(27px,3.5vw,50px);line-height:1.18;font-weight:800;
  letter-spacing:-.6px;color:var(--ig-navy);margin:0;
}
.ig-test__head h2 em{font-style:normal;color:var(--ig-orange);}

/* four reviews: a staggered 2x2 keeps the scattered look of the 3-up collage
   without absolute positioning, which could overlap once quotes vary in length */
.ig-test__collage{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(12px,1.5vw,22px);
  --ig-rev-stagger:clamp(14px,2.2vw,38px);
  padding-bottom:var(--ig-rev-stagger);
}
.ig-card-q{
  border-radius:16px;padding:clamp(16px,1.6vw,24px);
  box-shadow:0 16px 38px rgba(11,42,85,.20);
  transition:transform .28s ease,box-shadow .28s ease;
}
.ig-card-q:nth-child(even){transform:translateY(var(--ig-rev-stagger));}
.ig-card-q:hover{transform:translateY(-7px);box-shadow:0 26px 56px rgba(11,42,85,.30);}
.ig-card-q:nth-child(even):hover{transform:translateY(calc(var(--ig-rev-stagger) - 7px));}
.ig-card-q--a{background:var(--ig-orange);color:#fff;}
.ig-card-q--b{background:var(--ig-navy);color:#fff;}
.ig-card-q--c{background:#fff;color:var(--ig-navy);}
.ig-card-q--d{background:var(--ig-navy-800);color:#fff;}

.ig-card-q__stars{display:flex;gap:2px;margin-bottom:clamp(9px,1vw,14px);color:#FFC08A;}
.ig-card-q--c .ig-card-q__stars{color:var(--ig-orange);}
.ig-card-q__stars svg{width:clamp(13px,1.05vw,16px);height:clamp(13px,1.05vw,16px);}
.ig-card-q__who{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
.ig-card-q__av{
  width:clamp(34px,2.7vw,42px);height:clamp(34px,2.7vw,42px);border-radius:50%;flex:none;
  border:2px solid currentColor;display:flex;align-items:center;justify-content:center;
}
.ig-card-q__av svg{width:60%;height:60%;fill:currentColor;}
.ig-card-q__who h4{margin:0;font-size:clamp(14.5px,1.2vw,18px);font-weight:700;line-height:1.25;}
.ig-card-q__text{
  font-size:clamp(12px,.95vw,14.5px);line-height:1.6;font-weight:500;margin:0;
}
.ig-card-q--a .ig-card-q__av{color:#fff;}
.ig-card-q--b .ig-card-q__av,.ig-card-q--d .ig-card-q__av{color:var(--ig-orange);}
.ig-card-q--c .ig-card-q__av{color:var(--ig-navy);}
.ig-card-q--c .ig-card-q__text{color:var(--ig-muted);}
.ig-test__foot{display:flex;justify-content:center;margin-top:clamp(26px,3vw,44px);}
.ig-test__foot .ig-btn{border-radius:7px;height:clamp(48px,4vw,58px);padding:0 clamp(30px,3vw,44px);}

/* ============================================================
   8. LOCATIONS
   ============================================================ */
.ig-loc__head{text-align:center;max-width:1120px;margin:0 auto clamp(26px,3vw,42px);}
.ig-loc__head h2{
  font-size:clamp(29px,4.2vw,58px);line-height:1.16;font-weight:800;
  letter-spacing:-.6px;color:var(--ig-navy);margin:0 0 clamp(16px,1.8vw,26px);
}
.ig-loc__head h2 em{font-style:normal;color:var(--ig-orange);}
.ig-loc__head p{font-size:clamp(14.5px,1.15vw,17px);line-height:1.78;color:var(--ig-muted);margin:0;}

/* state tallies */
.ig-loc__states{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(20px,5vw,92px);margin-bottom:clamp(24px,2.8vw,40px);
}
.ig-state{
  display:inline-flex;align-items:center;gap:10px;
  font-size:clamp(16px,1.5vw,22px);font-weight:600;color:var(--ig-navy);
  transition:color .18s ease;
}
.ig-state:hover{color:var(--ig-orange);}
.ig-state svg{width:clamp(15px,1.3vw,19px);height:auto;color:var(--ig-navy);}
.ig-state b{font-weight:600;color:var(--ig-orange);}

/* search bar */
.ig-loc__search{display:flex;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(26px,3vw,44px);}
.ig-loc__search input{
  flex:1 1 auto;min-width:0;font:inherit;
  height:clamp(52px,4.6vw,64px);border-radius:7px;padding:0 clamp(16px,1.4vw,22px);
  font-size:clamp(15px,1.15vw,17px);color:var(--ig-navy);
  background:#fff;border:1.5px solid rgba(244,116,33,.55);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.ig-loc__search input::placeholder{color:#8A99AE;}
.ig-loc__search input:focus{outline:none;border-color:var(--ig-orange);box-shadow:0 0 0 3px rgba(244,116,33,.16);}
.ig-loc__search .ig-btn{
  flex:none;width:clamp(160px,20vw,300px);
  height:clamp(52px,4.6vw,64px);border-radius:7px;padding:0 20px;
}
.ig-loc__msg{font-size:13.5px;color:var(--ig-muted);margin:-24px 0 24px;min-height:1.2em;}

/* list + map */
.ig-loc__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,42px);align-items:start;}
.ig-loc__list{
  max-height:clamp(430px,44vw,580px);overflow-y:auto;overscroll-behavior:contain;
  padding-right:clamp(12px,1.4vw,22px);
}
.ig-loc__list::-webkit-scrollbar{width:6px;}
.ig-loc__list::-webkit-scrollbar-track{background:var(--ig-line);border-radius:3px;}
.ig-loc__list::-webkit-scrollbar-thumb{background:var(--ig-orange);border-radius:3px;}
.ig-office{padding:clamp(18px,1.9vw,30px) 0;border-bottom:1px solid var(--ig-line);}
.ig-office:first-child{padding-top:0;}
.ig-office:last-child{border-bottom:0;}
.ig-office h3{
  font-size:clamp(17px,1.75vw,26px);line-height:1.25;font-weight:700;
  color:var(--ig-navy);margin:0 0 clamp(8px,.9vw,13px);
}
.ig-office__addr{font-size:clamp(13.5px,1.05vw,15.5px);line-height:1.55;color:var(--ig-muted);margin:0 0 clamp(10px,1.1vw,16px);}
.ig-office__row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.ig-office__contact a{
  display:flex;align-items:center;gap:11px;
  font-size:clamp(13.5px,1.05vw,15.5px);color:var(--ig-orange);
  margin-bottom:8px;transition:color .18s ease;
}
.ig-office__contact a:last-child{margin-bottom:0;}
.ig-office__contact a:hover{color:var(--ig-orange-600);}
.ig-office__contact svg{width:17px;height:17px;color:var(--ig-navy);flex:none;}
.ig-office__links{display:flex;gap:10px;flex-wrap:wrap;}
.ig-office .ig-btn{
  height:clamp(40px,3.4vw,48px);padding:0 clamp(14px,1.5vw,22px);border-radius:8px;
  font-size:clamp(12.5px,1vw,14.5px);
  background:transparent;color:var(--ig-navy);box-shadow:inset 0 0 0 2px var(--ig-navy);
}
.ig-office .ig-btn:hover{background:var(--ig-navy);color:#fff;}
.ig-loc__map{
  border-radius:6px;overflow:hidden;background:var(--ig-line);
  height:clamp(430px,44vw,580px);
}
.ig-loc__map iframe{width:100%;height:100%;border:0;display:block;}

/* ============================================================
   9. FINAL CTA
   ============================================================ */
.ig-final{background:var(--ig-navy);color:#fff;text-align:center;}
.ig-final h2{
  font-size:clamp(26px,3.6vw,50px);line-height:1.18;font-weight:800;
  letter-spacing:-.02em;color:#fff;margin:0 0 clamp(22px,2.6vw,38px);
}
.ig-final h2 em{font-style:normal;color:var(--ig-orange);}
.ig-final .ig-kicker{color:var(--ig-orange);}
.ig-final .ig-btn{border-radius:7px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .ig-treat__grid{grid-template-columns:repeat(2,1fr);}
  .ig-card-p{min-height:clamp(300px,34vw,360px);}
  /* band: stop overlapping and stack the reviews normally */
  .ig-band{grid-template-columns:1fr;}
  .ig-comm__inner{min-height:clamp(340px,46vw,460px);}
  .ig-test__collage{grid-template-columns:1fr;--ig-rev-stagger:0px;padding-bottom:0;gap:14px;}
  .ig-card-q:nth-child(even){transform:none;}
  .ig-card-q:hover,.ig-card-q:nth-child(even):hover{transform:translateY(-5px);}
  .ig-form-grid{grid-template-columns:1fr;}
  .ig-loc__body{grid-template-columns:1fr;}
  .ig-loc__list{max-height:none;overflow:visible;padding-right:0;}
  .ig-loc__map{height:clamp(320px,52vw,440px);}
  .ig-form__media{min-height:0;height:clamp(280px,44vw,420px);}
  .ig-form__media::after{background:linear-gradient(180deg,rgba(11,42,85,.25) 0%,rgba(11,42,85,.05) 40%,var(--ig-navy) 100%);}
}
/* hero on small screens: the scrim turns vertical so the copy stays readable
   over the middle of the photo rather than only its left edge */
@media (max-width:900px){
  .ig-hero__inner{min-height:clamp(430px,66vw,600px);padding:clamp(44px,7vw,64px) 0 clamp(56px,8vw,80px);}
  .ig-hero__copy{max-width:none;}
  .ig-hero__media::after{
    background:linear-gradient(180deg,
      rgba(5,26,57,.70) 0%,rgba(5,26,57,.82) 52%,rgba(5,26,57,.94) 100%);
  }
  .ig-hero__slide--braces .ig-hero__media img,
  .ig-hero__slide--aligners .ig-hero__media img{object-position:center 22%;}
  .ig-hero__nav{display:none;}
}
@media (max-width:860px){
  .ig-promise__grid{grid-template-columns:1fr;}
  .ig-card-p{min-height:0;}
  .ig-card-p:hover{transform:none;}
  .ig-card-p__icon svg{width:64px;}
}
@media (max-width:720px){
  .ig-wrap{padding:0 18px;}
  .ig-hero__badge{min-width:0;width:100%;max-width:320px;}
  .ig-hero .ig-btns{width:100%;gap:10px;}
  .ig-hero .ig-btns .ig-btn{flex:1 1 0;padding:0 12px;font-size:15px;}
  .ig-treat__cta .ig-btn,.ig-test__foot .ig-btn{width:100%;}
  .ig-treat__grid{--ig-stagger:clamp(18px,4vw,30px);}
  .ig-form__row{grid-template-columns:1fr;}
  .ig-form__submit{align-self:stretch;width:100%;}
  .ig-loc__search{flex-direction:column;}
  .ig-loc__search .ig-btn{width:100%;}
  .ig-office__row{align-items:stretch;flex-direction:column;}
  .ig-office__links{width:100%;}
  .ig-office__links .ig-btn{flex:1 1 0;}
}
/* single column: the tall 288x467 crop becomes a letterbox so cards don't tower */
@media (max-width:540px){
  .ig-treat__grid{grid-template-columns:1fr;--ig-stagger:0px;padding-bottom:0;gap:18px;}
  .ig-card-t,.ig-card-t:nth-child(even){transform:none;aspect-ratio:3/2.1;}
  .ig-card-t:hover,.ig-card-t:nth-child(even):hover{transform:translateY(-6px);}
  .ig-card-t img{object-position:center 28%;}
  .ig-card-t__title br{display:none;}
  .ig-card-t__title{padding-bottom:20px;}
}

/* ============================================================
   THEME OVERRIDE GUARD — keep last (same reasoning as the header
   widget: WordPress/Elementor repaint links, headings and inputs).
   ============================================================ */
.ig-home h1,.ig-home h2,.ig-home h3,.ig-home h4{font-family:var(--ig-font) !important;margin-top:0;}
.ig-home .ig-hero__copy,.ig-home .ig-hero__copy *{color:#FFFFFF;}
.ig-home .ig-hero__head,.ig-home .ig-hero__badge-top,.ig-home .ig-hero__badge-bot{color:#FFFFFF !important;}
.ig-home .ig-hero__head b{color:var(--ig-orange) !important;}
.ig-home .ig-hero__head em{color:var(--acc-2,#FFC08A) !important;}
.ig-home .ig-hero__badge-mid{background:var(--acc) !important;color:var(--acc-ink) !important;}
.ig-home .ig-hero__terms{color:rgba(255,255,255,.82) !important;}
.ig-home .ig-hero .ig-btn--white,.ig-home .ig-hero .ig-btn--white:visited{background:#FFFFFF !important;color:var(--ig-navy) !important;}
.ig-home .ig-hero .ig-btn--white:hover{background:var(--ig-orange) !important;color:#FFFFFF !important;}
.ig-home a{text-decoration:none !important;}
.ig-home .ig-btn--primary,.ig-home .ig-btn--primary:visited{background:var(--ig-orange) !important;color:#FFFFFF !important;}
.ig-home .ig-btn--primary:hover{background:var(--ig-orange-600) !important;color:#FFFFFF !important;}
.ig-home .ig-btn--navy,.ig-home .ig-btn--navy:visited{background:var(--ig-navy) !important;color:#FFFFFF !important;}
.ig-home input,.ig-home textarea{font-family:var(--ig-font) !important;}
.ig-home .ig-treat__head h1{color:var(--ig-navy) !important;}
.ig-home .ig-treat__head h1 em{color:var(--ig-orange) !important;}
.ig-home .ig-card-t__title{color:#FFFFFF !important;}
.ig-home .ig-form__panel h2{color:var(--ig-orange) !important;}
/* promise cards — the icons are STROKE art, so the global svg{fill:currentColor} must be undone */
.ig-home .ig-card-p__icon svg{fill:none !important;stroke:currentColor !important;}
.ig-home .ig-card-p__icon{color:var(--ig-orange) !important;}
.ig-home .ig-promise__head h2{color:var(--ig-navy) !important;}
.ig-home .ig-promise__head h2 em{color:var(--ig-orange) !important;}
.ig-home .ig-card-p h4,.ig-home .ig-card-p p{color:var(--ig-navy) !important;}
.ig-home .ig-card-p:hover h4{color:var(--ig-orange) !important;}
.ig-home .ig-card-p:hover p{color:rgba(255,255,255,.88) !important;}
/* :not([type=checkbox]) matters — `background:transparent` is a SHORTHAND, so
   without it this rule wipes the checkbox's fill and tick image */
.ig-home .ig-form input:not([type="checkbox"]),
.ig-home .ig-form textarea{color:#FFFFFF !important;background:transparent !important;}
.ig-home .ig-consent input[type="checkbox"]{
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:14px 14px !important;
}
.ig-home .ig-consent input[type="checkbox"]:checked{
  background-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;
  border-color:var(--ig-orange) !important;
}
.ig-home .ig-consent,.ig-home .ig-consent strong{color:#FFFFFF !important;}
.ig-home .ig-consent a{color:var(--ig-orange) !important;text-decoration:underline !important;}
.ig-home svg{fill:currentColor;}
.ig-home .ig-ins__head h2{color:var(--ig-navy) !important;}
.ig-home .ig-comm h2{color:#FFFFFF !important;}
.ig-home .ig-comm h2 em{color:var(--ig-orange) !important;}
.ig-home .ig-test__head h2{color:var(--ig-navy) !important;}
.ig-home .ig-test__head h2 em{color:var(--ig-orange) !important;}
.ig-home .ig-kicker{color:var(--ig-orange) !important;}
.ig-home .ig-treat__head h1 em,.ig-home .ig-ins__head h2 em,
.ig-home .ig-test__head h2 em,.ig-home .ig-final h2 em{color:var(--ig-orange) !important;}
.ig-home .ig-final h2{color:#FFFFFF !important;}
.ig-home .ig-card-t__title,.ig-home .ig-card-t__desc{color:#FFFFFF !important;}
.ig-home .ig-card-t__more{color:var(--ig-orange) !important;}
.ig-home .ig-card-q--d,.ig-home .ig-card-q--d h4{color:#FFFFFF !important;}
.ig-home .ig-ins__label{color:var(--ig-navy) !important;}
.ig-home .ig-loc__head h2{color:var(--ig-navy) !important;}
.ig-home .ig-loc__head h2 em{color:var(--ig-orange) !important;}
.ig-home .ig-state{color:var(--ig-navy) !important;}
.ig-home .ig-state b{color:var(--ig-orange) !important;}
.ig-home .ig-office h3{color:var(--ig-navy) !important;}
.ig-home .ig-office__contact a{color:var(--ig-orange) !important;}
.ig-home .ig-office .ig-btn{background:transparent !important;color:var(--ig-navy) !important;}
.ig-home .ig-office .ig-btn:hover{background:var(--ig-navy) !important;color:#FFFFFF !important;}
.ig-home .ig-loc__search input{background:#FFFFFF !important;color:var(--ig-navy) !important;}
.ig-home .ig-card-q--a,.ig-home .ig-card-q--a h4{color:#FFFFFF !important;}
.ig-home .ig-card-q--b,.ig-home .ig-card-q--b h4{color:#FFFFFF !important;}
.ig-home .ig-card-q--c h4{color:var(--ig-navy) !important;}
.ig-home .ig-card-q__av svg{fill:currentColor !important;stroke:none !important;}
@media (prefers-reduced-motion:reduce){
  .ig-home *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
  /* the blanket rule above would spin the marquee — stop it and let it scroll by hand instead */
  .ig-home .ig-marquee__track{animation:none !important;transform:none !important;}
  .ig-home .ig-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
}
