/* ===================================================================
   Illinois Orthopedic Network
   Palette : ink #16233D  slate #4A5876  signal #E0451C  mist #F1F4F8
   Type    : Archivo (headings)  /  Source Sans 3 (body)
   =================================================================== */

:root{
  --ink:#16233d;
  --ink-2:#1e3053;
  --slate:#4a5876;
  --signal:#e0451c;
  --signal-dk:#b93614;
  --paper:#ffffff;
  --mist:#f1f4f8;
  --line:#dde3ec;
  --ok:#0f7a52;

  --wrap:1180px;
  --radius:4px;
  --radius-lg:10px;

  --fs-step--1:clamp(.875rem,.85rem + .1vw,.9375rem);
  --fs-body:clamp(1rem,.97rem + .15vw,1.0625rem);
  --fs-lede:clamp(1.125rem,1.05rem + .4vw,1.3125rem);
  --fs-h3:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
  --fs-h2:clamp(1.5rem,1.3rem + .9vw,2.125rem);
  --fs-h1:clamp(2rem,1.6rem + 1.9vw,3.25rem);
  --fs-hero:clamp(2.4rem,1.8rem + 3.1vw,4.25rem);

  --shadow:0 18px 45px -28px rgba(22,35,61,.55);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
}

h1,h2,h3,h4{font-family:Archivo,system-ui,sans-serif;line-height:1.12;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:var(--fs-h1);font-weight:700}
h2{font-size:var(--fs-h2);font-weight:600}
h3{font-size:var(--fs-h3);font-weight:600}
p{margin:0 0 1.1em;max-width:68ch}

a{color:var(--signal-dk);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--signal)}
img{max-width:100%;height:auto;display:block}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}

:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:2px}

.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.narrow{width:min(100% - 2.5rem,72ch);margin-inline:auto;padding-block:3rem}
.visually-hidden,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--ink);color:#fff;padding:.75rem 1.25rem}
.skip:focus{left:0}

/* ---------- Buttons ------------------------------------------------ */
.btn{
  display:inline-block;
  font-family:Archivo,sans-serif;font-weight:600;font-size:1rem;
  letter-spacing:.01em;
  background:var(--signal);color:#fff;
  padding:.85rem 1.6rem;border:2px solid var(--signal);border-radius:var(--radius);
  text-decoration:none;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn:hover{background:var(--signal-dk);border-color:var(--signal-dk);color:#fff}
.btn--sm{padding:.55rem 1.05rem;font-size:.9375rem}
.btn--light{background:#fff;border-color:#fff;color:var(--ink)}
.btn--light:hover{background:var(--mist);border-color:var(--mist);color:var(--ink)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.btn--ghost:hover{background:rgba(255,255,255,.12);color:inherit}
.hero__actions .btn--ghost,
.claimhero .btn--ghost{color:#fff}
.prose__cta .btn--ghost{color:var(--ink);border-color:var(--ink)}
.prose__cta .btn--ghost:hover{background:var(--ink);color:#fff}

.textlink{font-weight:600;color:var(--signal-dk)}
.textlink--light{color:#ffd9cd}
.textlink--light:hover{color:#fff}

/* ---------- Top bar ------------------------------------------------ */
.topbar{background:var(--ink);color:#c7d2e6;font-size:.875rem}
.topbar__inner{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;justify-content:space-between;padding:.55rem 0}
.topbar a{color:#e7edf7;text-decoration:none}
.topbar a:hover{color:#fff;text-decoration:underline}
.topbar__call{margin:0;font-weight:400}
.topbar__call a{font-family:Archivo,sans-serif;font-weight:700;color:#fff;margin-left:.5rem;font-size:1rem}
.topbar__links{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;margin:0;padding:0;list-style:none}
@media (max-width:760px){
  .topbar__links li:first-child{display:none}
}

/* ---------- Masthead + nav ----------------------------------------- */
.masthead{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.masthead__inner{display:flex;align-items:center;gap:1.5rem;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand__mark{
  font-family:Archivo,sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-.04em;
  color:#fff;background:var(--signal);padding:.15rem .5rem;border-radius:var(--radius);
}
.brand__name{font-family:Archivo,sans-serif;font-weight:600;font-size:.9rem;line-height:1.15;letter-spacing:0}

.nav__list{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.nav__item{position:relative}
.nav__item > a{
  display:block;padding:.6rem .7rem;border-radius:var(--radius);
  font-family:Archivo,sans-serif;font-weight:600;font-size:.9375rem;
  color:var(--ink);text-decoration:none;
}
.nav__item > a:hover{background:var(--mist);color:var(--ink)}
.nav__item.is-current > a{box-shadow:inset 0 -3px 0 var(--signal)}
.nav__item--cta a{color:#fff}
.nav__item--cta a:hover{color:#fff;background:var(--signal-dk)}

.subtoggle{display:none}
.subnav{
  position:absolute;top:100%;left:0;min-width:16rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);
  list-style:none;margin:0;padding:.4rem;
  opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .13s ease,transform .13s ease,visibility .13s;
}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:none}
.subnav a{display:block;padding:.5rem .7rem;border-radius:3px;font-size:.9375rem;color:var(--ink);text-decoration:none}
.subnav a:hover{background:var(--mist)}

.navtoggle{display:none}

@media (max-width:1040px){
  .navtoggle{
    display:inline-flex;align-items:center;gap:.5rem;
    background:var(--ink);color:#fff;border:0;border-radius:var(--radius);
    padding:.6rem .9rem;font-family:Archivo,sans-serif;font-weight:600;font-size:.9375rem;cursor:pointer;
  }
  .navtoggle__bars,.navtoggle__bars::before,.navtoggle__bars::after{
    content:"";display:block;width:18px;height:2px;background:#fff;position:relative;
  }
  .navtoggle__bars::before{position:absolute;top:-6px}
  .navtoggle__bars::after{position:absolute;top:6px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.is-open{display:block}
  .masthead__inner{position:relative;flex-wrap:wrap}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__item > a{padding:.85rem .25rem}
  .nav__item.is-current > a{box-shadow:none;color:var(--signal-dk)}
  .subtoggle{
    display:block;position:absolute;right:0;top:.35rem;
    background:none;border:1px solid var(--line);border-radius:var(--radius);
    padding:.55rem .8rem;color:var(--ink);cursor:pointer;
  }
  .subtoggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .subnav{
    position:static;opacity:1;visibility:visible;transform:none;
    border:0;box-shadow:none;padding:0 0 .6rem .9rem;display:none;min-width:0;
  }
  .subnav.is-open{display:block}
  .nav__item--cta{border:0;padding-top:1rem}
  .nav__item--cta .btn{display:block;text-align:center}
}

/* ---------- Hero ---------------------------------------------------- */
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center;padding:4.5rem 0 4rem}
.hero__kicker{
  font-family:Archivo,sans-serif;font-size:.8125rem;font-weight:600;
  letter-spacing:.09em;color:#ffb39c;margin:0 0 1rem;
}
.hero h1{font-size:var(--fs-hero);margin-bottom:.6rem}
.hero__lede{font-size:var(--fs-lede);color:#c9d5e8;max-width:46ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 .9rem}
.hero__note{font-size:.9375rem;color:#9fb0cc;margin:0}
.hero__media{position:relative}
.hero__media img{border-radius:var(--radius-lg);width:100%;object-fit:cover;aspect-ratio:9/7}
.hero__placeholder{
  display:grid;place-items:center;aspect-ratio:9/7;border-radius:var(--radius-lg);
  background:repeating-linear-gradient(135deg,#223557,#223557 12px,#1d2e4c 12px,#1d2e4c 24px);
  color:#7e93b7;font-size:.875rem;letter-spacing:.05em;
}
.hero__stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.18);border-radius:var(--radius);overflow:hidden;
  margin:1.25rem 0 0;
}
.hero__stats > div{background:var(--ink);padding:.9rem 1rem}
.hero__stats dt{font-size:.75rem;letter-spacing:.06em;color:#9fb0cc;margin-bottom:.15rem}
.hero__stats dd{margin:0;font-family:Archivo,sans-serif;font-weight:700;font-size:1.6rem;color:#fff}

@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;gap:2.25rem;padding:3rem 0}
  .hero__stats dd{font-size:1.35rem}
}

/* ---------- Section furniture --------------------------------------- */
.section-title{font-size:var(--fs-h2);text-align:center;margin:0 0 .4rem}
.section-title--left{text-align:left}
.section-head{text-align:center;margin-bottom:2.5rem}
.section-head p{margin-inline:auto;color:var(--slate)}

/* ---------- Pathways ------------------------------------------------ */
.paths{padding:3.5rem 0 1rem}
.paths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.path{
  display:block;text-decoration:none;color:var(--ink);
  border:1px solid var(--line);border-left:4px solid var(--signal);
  border-radius:var(--radius);padding:1.6rem 1.5rem;background:#fff;
  transition:border-color .15s ease,background .15s ease;
}
.path:hover{background:var(--mist);color:var(--ink)}
.path h3{margin-bottom:.4rem}
.path p{color:var(--slate);font-size:.9875rem;margin-bottom:.9rem}
.path__go{font-family:Archivo,sans-serif;font-weight:600;font-size:.9rem;color:var(--signal-dk)}
@media (max-width:860px){.paths__grid{grid-template-columns:1fr}}

/* ---------- Service grid -------------------------------------------- */
.services{padding:3.5rem 0}
.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;list-style:none;margin:0;padding:0}
.scard a{display:block;text-decoration:none;color:var(--ink);height:100%}
.scard__media{display:block;overflow:hidden;border-radius:var(--radius);background:var(--mist);aspect-ratio:4/3}
.scard__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.scard a:hover .scard__media img{transform:scale(1.04)}
.scard__placeholder{display:grid;place-items:center;height:100%;color:#9aa7bd;font-size:.8125rem}
.scard__body{display:block;padding:.95rem .1rem 0}
.scard__title{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:1.0625rem;margin-bottom:.25rem}
.scard a:hover .scard__title{color:var(--signal-dk)}
.scard__text{display:block;color:var(--slate);font-size:.9375rem;line-height:1.5}
@media (max-width:900px){.servicegrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:580px){.servicegrid{grid-template-columns:1fr}}

/* ---------- Service list (index page) -------------------------------- */
.servicelist{list-style:none;margin:0;padding:3rem 0;display:grid;gap:2rem}
.srow{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start;
  padding-bottom:2rem;border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
.srow__media img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%}
.srow__media .scard__placeholder{display:grid;place-items:center;aspect-ratio:4/3;background:var(--mist);border-radius:var(--radius)}
.srow h2{margin-bottom:.25rem}
.srow h2 a{color:var(--ink);text-decoration:none}
.srow h2 a:hover{color:var(--signal-dk)}
.srow__tag{font-size:.8125rem;letter-spacing:.05em;color:var(--signal-dk);font-weight:600;margin-bottom:.6rem}
@media (max-width:780px){.srow{grid-template-columns:1fr;gap:1rem}}

/* ---------- Why / accordions ---------------------------------------- */
.why{background:var(--mist);padding:3.75rem 0}
.why__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
.why__intro .section-title{text-align:left}
.why__intro p{color:var(--slate)}
.why__list details,.faqlist details{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.6rem;
}
.why__list summary,.faqlist summary{
  cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.25rem;position:relative;
  font-family:Archivo,sans-serif;font-weight:600;font-size:1.0625rem;
}
.why__list summary::-webkit-details-marker,.faqlist summary::-webkit-details-marker{display:none}
.why__list summary::after,.faqlist summary::after{
  content:"";position:absolute;right:1.25rem;top:50%;width:11px;height:11px;
  border-right:2px solid var(--signal);border-bottom:2px solid var(--signal);
  transform:translateY(-70%) rotate(45deg);transition:transform .15s ease;
}
.why__list details[open] summary::after,.faqlist details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.why__list details > div,.faqlist details > div{padding:0 1.25rem 1.1rem;color:var(--slate)}
.why__list details > div p:last-child,.faqlist details > div p:last-child{margin-bottom:0}
@media (max-width:860px){.why__inner{grid-template-columns:1fr;gap:1.75rem}}

/* ---------- Trust band ----------------------------------------------- */
.trust{padding:3.5rem 0}
.trust__inner{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:center;
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.25rem}
.trust__badge{
  margin:0;text-align:center;font-family:Archivo,sans-serif;font-size:.9rem;color:var(--slate);
  border-right:1px solid var(--line);padding-right:2rem;line-height:1.4;
}
.trust__badge strong{display:block;font-size:1.3rem;color:var(--ink);margin-top:.3rem}
.trust__copy h2{font-size:1.5rem}
.trust__copy p{color:var(--slate)}
@media (max-width:760px){
  .trust__inner{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}
  .trust__badge{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1.25rem;text-align:left}
}

/* ---------- Page head ------------------------------------------------ */
.pagehead{background:var(--ink);color:#fff;padding:2.75rem 0 3rem}
.pagehead--center{text-align:center}
.pagehead h1{margin-bottom:.5rem}
.pagehead__lede{font-size:var(--fs-lede);color:#c9d5e8;max-width:62ch}
.pagehead--center .pagehead__lede{margin-inline:auto}
.pagehead__lede a{color:#ffd9cd}
.pagehead__tag{font-size:.8125rem;letter-spacing:.05em;color:#ffb39c;margin:0}
.crumbs{font-size:.8125rem;color:#9fb0cc;margin-bottom:1rem}
.crumbs a{color:#c9d5e8;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span{margin:0 .35rem}

/* ---------- Layouts --------------------------------------------------- */
.layout{display:grid;gap:3rem;padding:3rem 0}
.layout--sidebar{grid-template-columns:minmax(0,1fr) 320px}
.layout--form{grid-template-columns:minmax(0,1fr) 380px}
@media (max-width:900px){
  .layout--sidebar,.layout--form{grid-template-columns:1fr;gap:2.25rem}
}

/* ---------- Prose ------------------------------------------------------ */
.prose h2{margin-top:2.2rem;font-size:1.5rem}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.6rem}
.prose__lead-img{border-radius:var(--radius-lg);margin-bottom:2rem;width:100%;aspect-ratio:4/3;object-fit:cover}
.prose__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.prose__note{font-size:.9375rem;color:var(--slate)}
.callout{border-left:4px solid var(--signal);background:#fdf1ed;padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0}

.ticks{list-style:none;margin:0 0 1.4em;padding:0}
.ticks li{position:relative;padding-left:1.75rem;margin-bottom:.5rem;max-width:66ch}
.ticks li::before{
  content:"";position:absolute;left:.15rem;top:.55em;width:9px;height:5px;
  border-left:2px solid var(--signal);border-bottom:2px solid var(--signal);transform:rotate(-45deg);
}

.deflist{margin:0 0 1.4em}
.deflist dt{font-family:Archivo,sans-serif;font-weight:600;font-size:1.0625rem;margin-top:1.1rem}
.deflist dd{margin:.2rem 0 0;color:var(--slate);max-width:66ch}

.industries{
  list-style:none;margin:0 0 1.4em;padding:0;
  columns:3;column-gap:2rem;font-size:.9375rem;color:var(--slate);
}
.industries li{break-inside:avoid;padding:.18rem 0}
@media (max-width:860px){.industries{columns:2}}
@media (max-width:520px){.industries{columns:1}}

/* ---------- Sidebar boxes ---------------------------------------------- */
.side{display:grid;gap:1.25rem;align-content:start}
.side__box{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem}
.side__box h2{font-size:1.0625rem;margin-bottom:.75rem}
.side__box p:last-child{margin-bottom:0}
.side__box--dark{background:var(--ink);border-color:var(--ink);color:#c9d5e8}
.side__box--dark h2{color:#fff}
.side__box--alert{background:#fdf1ed;border-color:#f5cfc3}
.side__box--alert h2{color:var(--signal-dk)}
.side__phone{font-family:Archivo,sans-serif;font-weight:700;font-size:1.5rem;color:#fff;text-decoration:none}
.side__phone:hover{color:#ffd9cd}
.side__list{list-style:none;margin:0;padding:0}
.side__list li{border-top:1px solid var(--line)}
.side__list li:first-child{border-top:0}
.side__list a{display:block;padding:.6rem 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9375rem}
.side__list a:hover{color:var(--signal-dk)}
.side__list--plain li{border:0;padding:.22rem 0;font-size:.9375rem;color:var(--slate)}

/* ---------- Forms -------------------------------------------------------- */
.formpane{border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem}
.formpane--compact{padding:1.5rem}
.formpane h2{font-size:1.4rem}
.formpane__sub{color:var(--slate);font-size:.9375rem}
.field{display:block;margin-bottom:1.1rem}
.field > label{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
.field__hint{display:block;font-family:"Source Sans 3",sans-serif;font-weight:400;font-size:.8125rem;color:var(--slate)}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);
  padding:.7rem .85rem;background:#fff;
  border:1px solid #c3cde0;border-radius:var(--radius);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--signal);outline:2px solid rgba(224,69,28,.25);outline-offset:0}
.field textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.field-row{grid-template-columns:1fr;gap:0}}
.has-error input,.has-error select,.has-error textarea{border-color:var(--signal);background:#fffaf8}
.field__err{color:var(--signal-dk);font-size:.875rem;margin:.3rem 0 0}
.form__alert{background:#fdf1ed;border-left:4px solid var(--signal);padding:.8rem 1rem;margin-bottom:1.25rem}
.form__small{font-size:.8125rem;color:var(--slate);margin:1rem 0 0;max-width:none}

/* ---------- Contact cards -------------------------------------------------- */
.contactcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:2.5rem 0 0}
.ccard{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.ccard h2{font-size:.8125rem;letter-spacing:.07em;color:var(--slate);margin-bottom:.6rem}
.ccard__big{font-family:Archivo,sans-serif;font-weight:700;font-size:1.6rem;color:var(--ink);text-decoration:none}
.ccard__big--sm{font-size:1.1rem;word-break:break-word}
.ccard__big:hover{color:var(--signal-dk)}
.ccard p{font-size:.9375rem;color:var(--slate);margin-bottom:.35rem}
.ccard__address{font-style:normal;font-size:.9375rem;color:var(--slate);margin-bottom:.6rem}
@media (max-width:820px){.contactcards{grid-template-columns:1fr}}
.map iframe{width:100%;border-radius:var(--radius);display:block}

/* ---------- Team ------------------------------------------------------------ */
.teamgroup{padding:2.75rem 0 .5rem}
.teamgroup .section-title{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.teamgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}
.person__photo{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--mist);display:grid;place-items:center;margin-bottom:.75rem}
.person__photo img{width:100%;height:100%;object-fit:cover}
.person__initials{font-family:Archivo,sans-serif;font-weight:700;font-size:2rem;color:#9aa7bd;letter-spacing:.02em}
.person__name{font-family:Archivo,sans-serif;font-weight:600;margin:0}
.person__role{font-size:.875rem;color:var(--slate);margin:0}
.afternote{padding:2rem 0 3rem}
@media (max-width:900px){.teamgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.teamgrid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}

/* ---------- Locations -------------------------------------------------------- */
.locfilter{padding:2.5rem 0 1.5rem;display:grid;gap:1rem}
.field--search{max-width:28rem;margin:0}
.field--search span{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
.locfilter__types{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{
  font:inherit;font-size:.875rem;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4rem .95rem;color:var(--slate);
}
.chip:hover{border-color:var(--slate)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.locgrid{list-style:none;margin:0;padding:0 0 1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.loc{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.loc--primary{border-color:var(--ink);border-top:4px solid var(--signal)}
.loc__flag{font-size:.75rem;letter-spacing:.07em;color:var(--signal-dk);font-weight:600;margin:0 0 .4rem}
.loc h2{font-size:1.0625rem}
.loc address{font-style:normal;color:var(--slate);font-size:.9375rem;margin-bottom:.5rem}
.loc__meta{font-size:.875rem;color:var(--slate)}
.taglist{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.taglist li{font-size:.75rem;background:var(--mist);border-radius:3px;padding:.2rem .5rem;color:var(--slate)}
.loc__links{display:flex;gap:1rem;margin:0;font-weight:600;font-size:.9375rem}
.locgrid__empty{padding:1.5rem 0 2rem}
.locask{border-top:1px solid var(--line);margin-top:1.5rem;padding:2.5rem 0 3.5rem}
@media (max-width:900px){.locgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.locgrid{grid-template-columns:1fr}}

/* ---------- Claims page -------------------------------------------------------- */
.claimhero{background:var(--ink-2);color:#fff}
.claimhero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding:3.5rem 0}
.claimhero h1{font-size:clamp(2rem,1.5rem + 2.4vw,3.5rem)}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:.75rem}
.steps li{display:grid;grid-template-columns:38px 1fr;gap:1rem;align-items:start;
  background:rgba(255,255,255,.07);border-radius:var(--radius);padding:.9rem 1.1rem}
.steps span{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--signal);color:#fff;font-family:Archivo,sans-serif;font-weight:700;font-size:.9rem;
}
.steps p{margin:0;color:#c9d5e8;font-size:.9375rem}
.steps strong{color:#fff}
@media (max-width:900px){.claimhero__inner{grid-template-columns:1fr;gap:2rem;padding:2.5rem 0}}

/* ---------- Careers ---------------------------------------------------------- */
.careers{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;padding:3rem 0}
.careers__embed iframe{width:100%;border:1px solid var(--line);border-radius:var(--radius);display:block}
.careers__fallback{font-size:.875rem;color:var(--slate);margin-top:.75rem}
.careers__aside{display:grid;gap:1.25rem;align-content:start}
@media (max-width:900px){.careers{grid-template-columns:1fr}}

/* ---------- End CTA + footer -------------------------------------------------- */
.endcta{background:var(--signal);color:#fff}
.endcta__inner{display:flex;flex-wrap:wrap;gap:1.75rem;align-items:center;justify-content:space-between;padding:2.5rem 0}
.endcta h2{margin-bottom:.3rem;font-size:1.75rem}
.endcta p{margin:0;max-width:52ch}
.endcta__actions{display:flex;flex-wrap:wrap;gap:.75rem}

.sitefoot{background:var(--ink);color:#aab9d3;padding:3.25rem 0 0;font-size:.9375rem}
.sitefoot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem}
.sitefoot h2{font-size:.8125rem;letter-spacing:.08em;color:#fff;margin-bottom:.9rem}
.sitefoot ul{list-style:none;margin:0;padding:0}
.sitefoot li{margin-bottom:.45rem}
.sitefoot a{color:#c9d5e8;text-decoration:none}
.sitefoot a:hover{color:#fff;text-decoration:underline}
.sitefoot__logo{font-family:Archivo,sans-serif;font-weight:600;color:#fff;margin-bottom:.6rem}
.sitefoot__logo span{background:var(--signal);padding:.1rem .4rem;border-radius:3px;margin-right:.4rem;font-weight:700}
.sitefoot__blurb{font-size:.875rem;max-width:34ch}
.social{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:.35rem .8rem;font-size:.8125rem}
.sitefoot address{font-style:normal;display:grid;gap:.4rem}
.sitefoot__phone{font-family:Archivo,sans-serif;font-weight:700;font-size:1.4rem;color:#fff!important}
.sitefoot__hours{font-size:.875rem}
.sitefoot__records{font-size:.875rem;margin-top:1rem}
.sitefoot__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.14);padding:1.1rem 0;font-size:.8125rem}
.sitefoot__legal p{margin:0}
.sitefoot__legal ul{display:flex;gap:1.25rem}
.sitefoot__legal li{margin:0}
.emergency{background:#0f1a2e;color:#8ea0bd;text-align:center;font-size:.8125rem;margin:0;padding:.85rem 1.25rem;max-width:none}
@media (max-width:980px){.sitefoot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sitefoot__grid{grid-template-columns:1fr;gap:1.75rem}}

@media print{
  .topbar,.masthead,.endcta,.sitefoot,.side,.skip{display:none}
  body{color:#000}
}

/* ---------------------------------------------------------------- hero video
   Sits in the same slot the hero image used, so the layout is unchanged. */

.hero__video{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--mist)}
.hero__video video{display:block;width:100%;height:auto;aspect-ratio:9/7;object-fit:cover}

.hero__videobtn{position:absolute;right:12px;bottom:12px;width:34px;height:34px;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);
  border-radius:50%;background:rgba(22,35,61,.62);color:#fff;cursor:pointer;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  transition:background .15s ease,transform .15s ease}
.hero__videobtn:hover{background:rgba(22,35,61,.85)}
.hero__videobtn:focus-visible{outline:3px solid var(--signal);outline-offset:2px}

/* Swap the glyph from the single source of truth: the paused state. */
.hero__videobtn .icon-play{display:none}
.hero__videobtn[aria-pressed="true"] .icon-pause{display:none}
.hero__videobtn[aria-pressed="true"] .icon-play{display:block}

/* A moving background is a problem for vestibular disorders — hold the
   poster frame instead and let the visitor opt in. */
@media (prefers-reduced-motion:reduce){
  .hero__video video{animation:none}
}

/* ------------------------------------------------------------ lang switcher */
.topbar__lang a{display:inline-flex;align-items:center;gap:.4em}
.topbar__lang svg{opacity:.75;flex:none}

/* ------------------------------------------------------------------- admin
   Deliberately plain. Light background, hairline borders, no decoration. */

.adminwrap{max-width:560px;padding-top:48px;padding-bottom:80px}
.adminwrap--wide{max-width:900px}

.adminbox{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:#fff}
.adminbox h1{margin:0 0 4px;font-size:1.4rem}
.adminbox__sub{margin:0 0 24px;color:var(--slate);font-size:.95rem}
.adminbox__err{margin:0 0 20px;padding:12px 14px;border:1px solid #e8b4a6;
  border-left:3px solid var(--signal);border-radius:4px;background:#fdf5f2;font-size:.92rem}
.adminbox__foot{margin-top:24px;font-size:.9rem}

.adminhead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.adminhead h1{margin:0 0 4px;font-size:1.5rem}
.adminhead__sub{margin:0;color:var(--slate);font-size:.9rem}

.adminalert{padding:14px 16px;margin-bottom:24px;border:1px solid #e8b4a6;
  border-left:3px solid var(--signal);border-radius:4px;background:#fdf5f2;font-size:.95rem}
.adminnote{color:var(--slate);font-size:.9rem;margin-bottom:20px}

.adminempty{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:var(--mist)}
.adminempty h2{margin:0 0 10px;font-size:1.1rem}
.adminempty p{margin:0 0 10px;color:var(--slate);font-size:.95rem}

.adminlist{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.adminentry{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.adminentry.is-failed{border-color:#e8b4a6}
.adminentry__head{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 16px;background:var(--mist);border-bottom:1px solid var(--line);
  font-size:.82rem;color:var(--slate)}
.adminentry.is-failed .adminentry__head{background:#fdf5f2;border-bottom-color:#e8b4a6}
.adminentry__status{font-weight:600;letter-spacing:.03em}
.adminentry.is-failed .adminentry__status{color:var(--signal)}
.adminentry__err{margin:0;padding:10px 16px;font-size:.85rem;color:var(--signal);
  border-bottom:1px solid var(--line);font-family:ui-monospace,Menlo,Consolas,monospace}
.adminentry__body{margin:0;padding:16px;font-size:.85rem;line-height:1.55;white-space:pre-wrap;
  word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;overflow-x:auto}

.adminclear{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.adminclear span{color:var(--slate);font-size:.88rem}
.btn--danger{background:var(--signal);border-color:var(--signal);color:#fff}
.btn--danger:hover{background:#c33a16;border-color:#c33a16}

@media (max-width:620px){
  .adminhead{flex-direction:column}
  .adminwrap{padding-top:28px}
  .adminbox{padding:22px}
}
.adminbox__ok{margin:0 0 16px;padding:12px 14px;border:1px solid #bcd9c2;
  border-left:3px solid #2f7d4a;border-radius:4px;background:#f4faf5;font-size:.92rem}
.adminhash{margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:4px;
  background:var(--mist);font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.82rem;white-space:pre-wrap;word-break:break-all;user-select:all}
.field__hint{display:block;margin-top:6px;color:var(--slate);font-size:.84rem}
