/* /contact-us — AISHTMLNEWDESIGN-585
   Page-owned styles. EVERY selector is scoped to #page-contact-us or a
   cu- prefixed class: this sheet must never style body, a bare
   element, #ais-header or #ais-footer. The document reset
   (html,body{margin:0}) is owned by the shared layout sheet.
   Font is Inter; no body/UI text below 16px. */

/* ============================================================
   SWITCHBOARD — /contact-us
   Ink operator's board, brass line indicators, cool paper.
   Every selector scoped to #page-contact-us or .cu-*.
   ============================================================ */

#page-contact-us{
  --cu-ink:#10192b;
  --cu-deep:#1b2b47;
  --cu-deep-2:#0a1120;
  --cu-paper:#f3f5f8;
  --cu-card:#ffffff;
  --cu-signal:#9c560a;
  --cu-signal-lite:#e0a054;
  --cu-line:#d3d9e2;
  --cu-text:#141b27;
  --cu-text-2:#374151;
  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--cu-text);
  background:var(--cu-paper);
}

/* Page content is content-box by default, so side padding on a width:100%
   band is ADDED to the width and the band overflows. Both the layout sheet
   and this sheet are namespaced and decline to own the document, so the
   page owns this reset for its own subtree. */
#page-contact-us,
#page-contact-us *,
#page-contact-us *::before,
#page-contact-us *::after{box-sizing:border-box;}

#page-contact-us .cu-wrap{max-width:1140px;margin-inline:auto;padding-inline:24px;}
#page-contact-us :is(ul,ol){list-style:none;margin:0;padding:0;}
#page-contact-us p{margin:0;}
#page-contact-us :is(a,button):focus-visible{
  outline:3px solid var(--cu-signal);outline-offset:3px;border-radius:4px;
}

/* ---------- HERO ---------- */
#page-contact-us .cu-hero{
  width:100%;
  padding:clamp(64px,8vw,116px) 24px;
  background:linear-gradient(155deg,var(--cu-deep) 0%,var(--cu-ink) 60%,var(--cu-deep-2) 100%);
}
#page-contact-us .cu-hero__inner{max-width:900px;margin-inline:auto;text-align:center;}
#page-contact-us p.cu-hero__eyebrow{
  margin:0 0 20px;font-size:16px;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--cu-signal-lite);
}
#page-contact-us .cu-hero__h1{
  margin:0;font-size:clamp(44px,5.6vw,72px);line-height:1.04;
  letter-spacing:-.02em;font-weight:800;color:#ffffff;
}
#page-contact-us p.cu-hero__para{
  margin:24px auto 0;max-width:720px;
  font-size:18px;line-height:1.7;color:#c6d1e0;
}

/* ---------- BREADCRUMB ---------- */
#page-contact-us .cu-crumb{background:var(--cu-card);border-bottom:1px solid var(--cu-line);}
#page-contact-us .cu-crumb__nav{
  display:flex;align-items:center;gap:8px;
  padding-block:6px;font-size:16px;color:var(--cu-text-2);
}
#page-contact-us .cu-crumb__nav img{display:block;flex:none;}
#page-contact-us .cu-crumb__nav a{
  display:inline-flex;align-items:center;min-height:44px;color:var(--cu-text-2);
}
#page-contact-us .cu-crumb__nav a:hover{color:var(--cu-signal);}
/* NOT --cu-line: that is a BORDER token and renders ~1.4:1 as text. */
#page-contact-us .cu-crumb__slash{color:#5c6675;}
#page-contact-us .cu-crumb__nav [aria-current]{color:var(--cu-text);font-weight:600;}

/* ---------- THE BOARD ---------- */
#page-contact-us .cu-board{
  background:var(--cu-card);
  padding:clamp(48px,6vw,92px) 0;
}
#page-contact-us .cu-board__grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}

#page-contact-us .cu-panel{
  border:1px solid var(--cu-line);
  border-top:3px solid var(--cu-signal);
  border-radius:4px;
  background:var(--cu-paper);
  overflow:hidden;
}
#page-contact-us .cu-panel__head{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;
  border-bottom:1px solid var(--cu-line);
  background:var(--cu-card);
}
#page-contact-us .cu-panel__lamp{
  width:10px;height:10px;border-radius:50%;flex:none;
  background:var(--cu-signal);
}
#page-contact-us p.cu-panel__label{
  font-size:16px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cu-text-2);
}
/* The survey is two slides of differing height and never posts its own
   height. This min-height covers the taller slide until form_embed.js
   loads on first interaction and takes over sizing. */
#page-contact-us .cu-panel__frame{
  display:block;width:100%;border:0;
  min-height:860px;background:var(--cu-paper);
}

/* the three lines */
#page-contact-us .cu-lines__h2{
  margin:0 0 8px;
  font-size:clamp(28px,3.2vw,38px);line-height:1.18;
  letter-spacing:-.015em;font-weight:800;color:var(--cu-ink);
}
#page-contact-us .cu-line{
  padding-block:22px;
  border-bottom:1px solid var(--cu-line);
}
#page-contact-us .cu-line:last-child{border-bottom:0;}
#page-contact-us .cu-line__h4{
  margin:0 0 8px;
  font-size:17px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cu-text-2);
}
#page-contact-us p.cu-line__addr{margin:0;}
#page-contact-us .cu-line__addr a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:19px;font-weight:700;color:var(--cu-ink);
  border-bottom:2px solid rgba(180,103,15,.35);
}
#page-contact-us .cu-line__addr a:hover{color:var(--cu-signal);border-bottom-color:var(--cu-signal);}
#page-contact-us p.cu-line__note{
  margin:8px 0 0;font-size:16px;color:var(--cu-text-2);
}

/* ---------- 16 YEAR'S OF EXPERIENCE ---------- */
#page-contact-us .cu-exp{
  background:var(--cu-paper);
  padding:clamp(52px,7vw,100px) 0;
  border-top:1px solid var(--cu-line);
}
#page-contact-us .cu-exp__grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
}
#page-contact-us .cu-exp__h2{
  margin:0;
  font-size:clamp(32px,4vw,48px);line-height:1.12;
  letter-spacing:-.02em;font-weight:800;color:var(--cu-ink);
}
#page-contact-us p.cu-exp__para{
  margin:18px 0 0;max-width:680px;
  font-size:17px;line-height:1.7;color:var(--cu-text-2);
}
#page-contact-us .cu-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;
  margin-top:32px;
}
#page-contact-us .cu-stat{
  background:var(--cu-card);
  border:1px solid var(--cu-line);
  border-left:3px solid var(--cu-signal);
  border-radius:3px;
  padding:18px 18px 20px;
}
#page-contact-us p.cu-stat__fig{
  font-size:clamp(20px,2.1vw,24px);font-weight:800;
  letter-spacing:-.01em;color:var(--cu-ink);line-height:1.2;
}
#page-contact-us p.cu-stat__cap{
  margin-top:6px;font-size:16px;color:var(--cu-text-2);
}
#page-contact-us .cu-cta{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:32px;min-height:52px;padding:0 32px;
  border-radius:3px;background:var(--cu-signal);color:#ffffff;
  font-size:17px;font-weight:700;
  transition:background .18s ease,transform .18s ease;
}
#page-contact-us .cu-cta:hover{background:#7d4408;transform:translateY(-2px);}
#page-contact-us .cu-cta:active{transform:translateY(0);}
#page-contact-us .cu-exp__figure img{
  display:block;width:100%;max-width:380px;height:auto;margin-inline:auto;
}

/* ---------- AREA WE SERVE ---------- */
#page-contact-us .cu-area{
  background:var(--cu-ink);
  padding:clamp(52px,7vw,96px) 0;
}
#page-contact-us .cu-area__h2{
  margin:0 0 36px;
  font-size:clamp(30px,3.6vw,44px);line-height:1.14;
  letter-spacing:-.02em;font-weight:800;color:#ffffff;
}
#page-contact-us .cu-area__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:clamp(18px,2.6vw,26px);
}
#page-contact-us .cu-place{
  background:#18243b;
  border:1px solid #27364f;
  border-top:3px solid var(--cu-signal);
  border-radius:3px;
  padding:24px 22px 26px;
}
#page-contact-us .cu-place__h3{
  margin:0 0 14px;
  font-size:16px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cu-signal-lite);
}
#page-contact-us p.cu-place__tel{margin:0 0 10px;}
#page-contact-us .cu-place__tel a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:18px;font-weight:700;color:#ffffff;
}
#page-contact-us .cu-place__tel a:hover{color:var(--cu-signal-lite);}
#page-contact-us p.cu-place__addr{
  font-size:16px;line-height:1.65;color:#b9c4d4;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  #page-contact-us .cu-board__grid,
  #page-contact-us .cu-exp__grid{grid-template-columns:1fr;}
  #page-contact-us .cu-exp__figure{order:-1;}
}
@media (max-width:560px){
  #page-contact-us .cu-cta{width:100%;}
  #page-contact-us .cu-panel__frame{min-height:900px;}
}

@media (prefers-reduced-motion:reduce){
  #page-contact-us *,
  #page-contact-us *::before,
  #page-contact-us *::after{
    animation:none !important;transition-duration:.01ms !important;
  }
}
