/* Iceberg Therapy Services — static rebuild
   Colors, fonts, and button styles read from the live WordPress site's
   computed styles on 2026-09-09. See ../../archive/design-tokens.md. */

:root {
  --navy: #263F73;
  --navy-shadow: #192A4D;
  --blue: #1FA9FF;
  --coral: #E63946;
  --offwhite: #F4F9FC;
  --body-text: #333333;
  --body-bg: #FFFFFF;
  --alert-red: #FF0000;
  --max-width: 1140px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Roboto Condensed", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--body-text);
  background: var(--body-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Amatic SC", "Comic Sans MS", cursive, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 0.4em;
  line-height: 1.1;
}
h1 { font-size: 3.6rem; }
h2 { font-size: 3rem; color: var(--navy); }
h3 { font-size: 2.1rem; }
h4 { font-size: 1.9rem; }
h5 { font-size: 1.5rem; }
h6 { font-size: 1.3rem; }

p { margin: 0 0 1em; }

a { color: inherit; text-decoration: underline; }
a:hover { opacity: 0.85; }

img { max-width: 100%; height: auto; display: block; }

ul.plain, .content ul { margin: 0 0 1em; padding-left: 1.4em; }
.content li { margin-bottom: 0.5em; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- Header ---------- */
.site-header {
  background: var(--navy);
  text-align: center;
  padding: 28px 24px;
}
.site-header a { text-decoration: none; }
.site-header img {
  margin: 0 auto;
  width: 100%;
  max-width: 420px;
}

/* ---------- Nav ---------- */
.site-nav {
  background: var(--blue);
}
.site-nav .container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.site-nav > .container > ul { position: relative; }
.site-nav li { position: relative; }
.site-nav a {
  display: block;
  padding: 12px 16px;
  font-family: "Amatic SC", "Comic Sans MS", cursive, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--offwhite);
  text-decoration: none;
  white-space: nowrap;
}
.site-nav a:hover { text-decoration: underline; }

.site-nav .has-dropdown { position: relative; }
.site-nav .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--blue);
  box-shadow: 0 8px 16px rgba(0,0,0,.25);
  z-index: 20;
  padding: 4px 0;
}
.site-nav .has-dropdown:hover .dropdown,
.site-nav .has-dropdown:focus-within .dropdown {
  display: block;
}
.site-nav .dropdown a { padding: 10px 20px; font-size: 1.3rem; }

/* mobile nav toggle */
.nav-toggle { display: none; }
@media (max-width: 780px) {
  .nav-toggle {
    display: block;
    margin: 0 auto;
    background: none;
    border: 1px solid var(--offwhite);
    color: var(--offwhite);
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.95rem;
    padding: 8px 16px;
    border-radius: 4px;
  }
  .site-nav .container > ul { display: none; width: 100%; flex-direction: column; }
  .site-nav.open .container > ul { display: flex; }
  .site-nav .dropdown { position: static; display: block; box-shadow: none; }
  .site-nav .has-dropdown .dropdown { display: none; }
  .site-nav .has-dropdown.open .dropdown { display: block; }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  border-radius: 200px;
  padding: 12px 40px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
.btn-3d {
  background: var(--navy);
  color: var(--offwhite);
  box-shadow: 0 7px 0 0 var(--navy-shadow), 0 8px 10px rgba(0,0,0,.3);
}
.btn-3d.btn-blue {
  background: var(--blue);
  box-shadow: 0 7px 0 0 #0f6fa8, 0 8px 10px rgba(0,0,0,.3);
}
.btn-3d:hover { transform: translateY(2px); box-shadow: 0 5px 0 0 var(--navy-shadow), 0 6px 8px rgba(0,0,0,.3); text-decoration: none; }
.btn-cta {
  background: var(--coral);
  color: var(--offwhite);
  text-transform: uppercase;
  font-family: "Roboto Condensed", sans-serif;
  box-shadow: 0 0 16px rgba(230,57,70,.55);
}
.btn-cta:hover { box-shadow: 0 0 22px rgba(230,57,70,.8); text-decoration: none; }

/* ---------- Content boxes ---------- */
.box {
  background: var(--navy);
  color: var(--offwhite);
  border-radius: 32px 4px 32px 4px;
  padding: 1.5em 2em;
  margin: 10px 0;
}
.box h4 { color: var(--offwhite); }
.box-blue { background: var(--blue); }
.box .btn { display: block; text-align: center; margin: 0.6em auto 0; max-width: fit-content; }

.center { text-align: center; }
.alert { color: var(--alert-red); }

/* ---------- Page layout ---------- */
main { min-height: 40vh; }
.section {
  padding: 48px 0;
}
.section-navy { background: var(--navy); color: var(--offwhite); }
.section-navy h1, .section-navy h2, .section-navy h3, .section-navy h4 { color: var(--offwhite); }
.section-blue { background: var(--blue); color: var(--offwhite); }
.section-blue h1, .section-blue h2, .section-blue h3, .section-blue h4 { color: var(--offwhite); }

.grid {
  display: grid;
  gap: 24px;
}
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 860px) {
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
}

.topic-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 28px;
  padding: 32px 0;
}
.topic-grid h4 { margin: 0; }

.hero {
  background: var(--blue);
  color: var(--offwhite);
  text-align: center;
  padding: 40px 24px 56px;
}
.hero h1 { margin-bottom: 0.2em; }
.hero .alert-box {
  font-style: italic;
  text-decoration: underline;
  font-size: 1.05rem;
}

/* ---------- Contact form embed ---------- */
.hushform-wrap { margin: 1.5em 0; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--navy);
  color: var(--offwhite);
  padding: 40px 24px 24px;
  font-size: 0.95rem;
  text-align: center;
}
.social-icons {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 20px;
}
.social-icons a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.social-icons svg { width: 20px; height: 20px; fill: #fff; }

.footer-licensing { max-width: 640px; margin: 0 auto 16px; }
.footer-licensing a { color: var(--offwhite); }

.footer-badge { margin: 0 auto 16px; }
.footer-badge img { margin: 0 auto; max-width: 220px; }

.footer-copyright { margin-bottom: 20px; opacity: 0.9; }

.footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 22px;
  font-family: Archivo, Helvetica, Arial, sans-serif;
  font-size: 0.95rem;
}
.footer-nav a { color: var(--offwhite); text-decoration: none; }
.footer-nav a:hover { text-decoration: underline; }

/* ---------- Legal pages ---------- */
.legal .content h2 { margin-top: 1.4em; }
.legal .content h2:first-child { margin-top: 0; }
