:root {
  --ink: #2454a6;
  --deep: #173b78;
  --cream: #f4f7fb;
  --paper: #ffffff;
  --coral: #c99a32;
  --coral-dark: #916d18;
  --mint: #dceafa;
  --line: #cbd5e3;
  --muted: #5b6675;
  --shadow: 0 18px 45px rgba(36, 84, 166, .13);
}

body { background: var(--cream); }
body { overflow-x: hidden; }
.site-header { background: var(--cream); }
.site-nav > a:not(.nav-cta) { color: #52627a; }
.hero { background: var(--ink); }
.nav-cta, .button-dark { background: var(--deep); }
.nav-cta { border-radius: 999px; }
.services { background: var(--mint); }
.resources { background: #e5edf7; }
.resources-art { background: #b9d1ec; }
.safety { background: #eef1f4; }
.safety-inner { color: #4e5967; }
.site-footer { background: #142f60; }
.brand-logo { display: block; width: 190px; height: auto; max-height: 54px; object-fit: contain; }
.brand-footer .brand-logo { width: 220px; filter: brightness(0) invert(1); }
.resources-art .art-circle { left: auto; right: 8%; top: 30px; display: grid; place-items: center; }
.resources-art .art-circle img { display: block; width: 78%; height: auto; }
.resources-art .art-word { z-index: 1; }
.hero-orbit { animation: orbit-drift 18s ease-in-out infinite alternate; }
.orbit-two { animation-delay: -7s; animation-duration: 23s; }
.hero-copy { animation: hero-enter .8s ease both; }
.hero-visual { animation: hero-enter 1s .12s ease both; }
.service-card { animation: card-rise .7s ease both; }
.service-card:nth-child(2) { animation-delay: .08s; }
.service-card:nth-child(3) { animation-delay: .16s; }
.service-card:nth-child(4) { animation-delay: .24s; }
.contact-page-hero-inner { animation: hero-enter .8s ease both; }

@keyframes hero-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes card-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes orbit-drift {
  from { transform: translate3d(0, 0, 0) rotate(0deg); }
  to { transform: translate3d(16px, 10px, 0) rotate(8deg); }
}

.contact-page-hero {
  background: var(--ink);
  color: #fff;
  padding: 92px 0 105px;
}

.contact-page-hero-inner { max-width: 760px; }
.contact-page-hero h1 { font: 600 clamp(45px, 6vw, 72px)/1.05 var(--serif); letter-spacing: -1px; margin: 0 0 23px; }
.contact-page-hero h1 em { color: var(--coral); font-style: normal; }
.contact-page-hero p:last-child { max-width: 500px; color: #dce8f8; font-size: 17px; }
.contact-page-content { background: var(--paper); }
.contact-page-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.contact-page-grid > * { min-width: 0; }
.contact-page-details h2 { font: 600 clamp(40px, 4vw, 58px)/1.06 var(--serif); margin: 0 0 23px; }
.contact-page-details h2 em { color: var(--coral); font-style: normal; }
.contact-page-lead { max-width: 470px; color: var(--muted); line-height: 1.75; }
.contact-detail-list { display: grid; gap: 20px; margin-top: 36px; }
.contact-detail-list a, .contact-detail-list div { display: grid; gap: 2px; }
.contact-detail-list small { color: var(--coral-dark); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-detail-list strong { font-size: 15px; font-weight: 600; }
.contact-detail-list a:hover strong { color: var(--coral-dark); }
.contact-page-form-wrap { background: var(--mint); padding: 13px; min-width: 0; }
.contact-page-form-wrap .contact-form { box-shadow: none; }
.form-intro { color: var(--muted); font-size: 12px; margin: -17px 0 20px; }
.form-intro span { color: var(--coral-dark); }
select { display: block; width: 100%; border: 1px solid #d5ddd5; background: #fbfcf9; padding: 11px; border-radius: 2px; color: var(--ink); }
.contact-page-map { background: #e5edf7; padding: 58px 0; }
.contact-page-map-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.contact-page-map h2 { font: 600 34px/1.1 var(--serif); margin: 0 0 10px; }
.contact-page-map p:last-child { color: #5e6077; font-size: 14px; margin: 0; }

@media (max-width: 700px) {
  .container { width: min(100% - 32px, 520px); }
  .site-header { position: sticky; top: 0; }
  .site-nav a, .nav-cta, .button { min-height: 44px; display: inline-flex; align-items: center; }
  .site-nav a { width: 100%; }
  .contact-page-hero { padding: 70px 0 75px; }
  .contact-page-hero h1 { font-size: 48px; }
  .contact-page-hero p:last-child { font-size: 15px; }
  .contact-page-grid { grid-template-columns: 1fr; gap: 45px; }
  .contact-page-map-inner { display: block; }
  .contact-page-map .button { margin-top: 25px; }
  .resources-art .art-circle { width: 230px; height: 230px; right: 5%; top: 28px; }
  .resources-art .art-circle img { width: 80%; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 18px; }
  .hero-actions .button { width: 100%; justify-content: center; }
  .hero-actions .text-link { align-self: flex-start; }
  .service-card { animation-delay: 0s; }
  .contact-details strong, .contact-detail-list strong { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-orbit, .hero-copy, .hero-visual, .service-card, .contact-page-hero-inner { animation: none; }
}
