/* Base styles shared by every page (component styles live in the per-page sheets). */
html{scroll-behavior:smooth;}
body{
  margin:0;background:#FFFFFF;color:#0B2A55;
  font-family:"Poppins","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
[id]{scroll-margin-top:96px;}

.ig-skip{
  position:absolute;left:-9999px;top:0;z-index:100000;
  background:#F47421;color:#FFFFFF;padding:12px 18px;font-weight:700;text-decoration:none;border-radius:6px;
}
.ig-skip:focus{left:12px;top:12px;}

/* form spam trap: invisible to people, still submitted by bots */
.ig-hp{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;}

/* No map embeds (the site never links to other websites).
   Selectors are doubled to outrank the generated home.css / location.css rules. */

/* office finder without its map column: offices in two columns, one on phones */
.ig-loc .ig-loc__body--nomap{display:block;}
.ig-loc .ig-loc__body--nomap .ig-loc__list{
  display:grid;grid-template-columns:repeat(2,1fr);column-gap:clamp(24px,4vw,64px);
  max-height:none;overflow:visible;padding-right:0;
}
.ig-loc .ig-loc__body--nomap .ig-office{padding-top:clamp(18px,1.9vw,30px);border-bottom:1px solid #E3E9F1;}
.ig-loc .ig-loc__body--nomap .ig-office:nth-child(-n+2){padding-top:0;}
.ig-loc .ig-loc__body--nomap .ig-office:nth-last-child(-n+2):nth-child(odd),
.ig-loc .ig-loc__body--nomap .ig-office:last-child{border-bottom:0;}
@media (max-width:720px){
  .ig-loc .ig-loc__body--nomap .ig-loc__list{grid-template-columns:1fr;}
  .ig-loc .ig-loc__body--nomap .ig-office:nth-child(2){padding-top:clamp(18px,1.9vw,30px);}
  .ig-loc .ig-loc__body--nomap .ig-office:nth-last-child(-n+2):nth-child(odd){border-bottom:1px solid #E3E9F1;}
}

/* office page hero without the trust card: the photo band closes below the buttons,
   and the next section no longer reserves room for the card's overhang */
.ig-locpage .ig-lhero__inner{padding-bottom:clamp(56px,8vw,148px);}
.ig-locpage .ig-sec--after-hero{padding-top:var(--ig-pad);}

/* Office page contact block: details in a card, photo where the map embed used to be.
   The photo needs its own height — it is a portrait image, so at full column width it
   would run past 1000px tall and leave the details column stranded in white space. */
.ig-locpage .ig-mapwrap{align-items:center;}
.ig-locpage .ig-mapbox{min-height:0;height:clamp(340px,40vw,520px);}
.ig-locpage .ig-mapbox img{
  width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center 25%;display:block;
}
.ig-locpage .ig-contact__card{
  margin-top:clamp(18px,2vw,26px);padding:clamp(22px,2.4vw,32px);
  border:1px solid var(--ig-line);border-radius:18px;background:#FFFFFF;
  box-shadow:0 18px 40px rgba(11,42,85,.07);
}
.ig-locpage .ig-contact__card .ig-info{margin-top:0;}
.ig-locpage .ig-contact__hours{margin-top:18px;padding-top:18px;border-top:1px solid var(--ig-line);}
.ig-locpage .ig-contact__hours b{display:block;margin-bottom:9px;color:#0B2A55;font-size:14px;}
.ig-locpage .ig-contact__hours ul{display:grid;gap:7px;}
.ig-locpage .ig-contact__hours li{color:#5B6B82;font-size:clamp(14px,1.05vw,15.5px);line-height:1.5;}
.ig-locpage .ig-contact__note{
  margin-top:18px;padding-top:18px;border-top:1px solid var(--ig-line);
  color:#5B6B82;font-size:clamp(14px,1.05vw,15.5px);line-height:1.7;
}
.ig-locpage .ig-contact__card .ig-btns{margin-top:clamp(20px,2.2vw,26px);}
.ig-locpage .ig-contact__card .ig-btn{height:clamp(46px,3.4vw,52px);padding:0 clamp(20px,2vw,26px);font-size:15px;}
@media (max-width:520px){
  .ig-locpage .ig-contact__card .ig-btn{width:100%;}
}
