:root {
  --ice-bg: #F6FBFF;
  --ice-blue: #0076C8;
  --ice-gold: #F8C32D;
  --ice-text: #182233;
  --ice-line: #DCEBFA;
  --ice-footer: #102A43;
}

html { font-family: Inter, Arial, sans-serif; color: var(--ice-text); background: var(--ice-bg); }
body { background: var(--ice-bg); display: flex; min-height: 100vh; flex-direction: column; }
main { flex: 1 0 auto; }
h1, h2, h3, h4, h5, h6, .brand-logo { font-family: Montserrat, Arial, sans-serif; font-weight: 800; color: var(--ice-text); letter-spacing: 0; }
p { line-height: 1.65; }
a { color: var(--ice-blue); }

.site-nav { background: rgba(255,255,255,.96); box-shadow: 0 1px 0 var(--ice-line); }
.site-nav a, .site-nav .brand-logo { color: var(--ice-blue); }
.site-nav .brand-logo { font-size: 1.35rem; }
.dropdown-content li > a { color: var(--ice-blue); }
.mobile-child { padding-left: 48px !important; color: #44657f !important; }

.home-hero {
  background: #dff3ff;
  padding: 72px 0 58px;
  border-bottom: 1px solid var(--ice-line);
}
.home-hero h1 { font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1.04; margin: .1em 0 .25em; }
.home-hero .flow-text { color: #31536f; max-width: 640px; }
.eyebrow { text-transform: uppercase; font-weight: 800; color: var(--ice-blue); letter-spacing: .08em; }
.hero-pack { max-height: 390px; filter: drop-shadow(0 22px 36px rgba(0, 118, 200, .18)); }
.hero-secondary { color: var(--ice-blue); margin-left: 12px; }

.btn, .btn-large, .footer-action { background: var(--ice-blue); border-radius: 8px; text-transform: none; font-weight: 700; }
.btn:hover, .btn-large:hover, .footer-action:hover { background: #005a99; }
.content-panel {
  background: #fff;
  border: 1px solid var(--ice-line);
  border-radius: 8px;
  padding: clamp(24px, 4vw, 48px);
  box-shadow: 0 14px 34px rgba(16, 42, 67, .07);
}
.article-shell h1, .listing-shell h1 { margin-top: 0; }
.lead { font-size: 1.25rem; color: #44657f; }
.content-figure { margin: 28px 0; }
.content-figure img, .gallery-grid img { border-radius: 8px; background: #fff; border: 1px solid var(--ice-line); }
.table-image { max-width: 140px; border-radius: 8px; }
figcaption, .caption { color: #607d96; font-size: .92rem; text-align: center; }
.article-main-image { max-width: 34%; margin: 0 0 18px 28px; border-radius: 8px; }

.list-item-card.card {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--ice-line);
  box-shadow: 0 8px 24px rgba(16, 42, 67, .08);
  transition: transform .18s ease, box-shadow .18s ease;
}
.list-item-card.card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(16, 42, 67, .14); }
.card .card-title { font-family: Montserrat, Arial, sans-serif; font-weight: 700; line-height: 1.25; }
table.highlight > tbody > tr:hover { background-color: #eef8ff; }
blockquote { border-left-color: var(--ice-gold); color: #31536f; }
.breadcrumb-wrap { background: transparent; box-shadow: none; }
.breadcrumb-wrap .breadcrumb, .breadcrumb-wrap .breadcrumb:before { color: #58758d; }

.site-footer { background: var(--ice-footer); margin-top: 56px; }
.site-footer h5, .site-footer h6 { color: #fff; }
.site-footer p, .site-footer li, .site-footer a { color: #dbeafe; }
.footer-copyright { background: rgba(0,0,0,.18) !important; }

@media (max-width: 600px) {
  .home-hero { padding: 42px 0; }
  .home-hero .row.valign-wrapper { display: block; }
  .hero-secondary { margin-left: 0; margin-top: 10px; display: inline-block; }
  .article-main-image { float: none !important; max-width: 100%; margin: 0 0 18px; }
}

@media print {
  nav, footer, .btn, .sidenav { display: none !important; }
  body, .content-panel { background: #fff; box-shadow: none; border: 0; }
}
