/* ============================================================
   The Law Offices of Anthony W. Surber, P.A.
   Visual design matches the original Hello Elementor build.
   Tokens lifted directly from /wp-content/uploads/elementor/css/post-19.css
   (the Elementor kit stylesheet).
   ============================================================ */

:root {
  /* Brand colors — from the Elementor kit */
  --c-primary:   #051D4B;  /* deep navy — headings, primary surfaces */
  --c-secondary: #93A4B9;  /* muted blue-gray */
  --c-accent:    #D09C01;  /* gold — buttons, accents, links */
  --c-accent-hover: #FFBC7D;  /* warm tan — hover state */
  --c-text:      #051D4B;
  --c-text-muted:#5a6a82;
  --c-bg:        #FFFFFF;
  --c-bg-soft:   #F7F7F7;
  --c-bg-tint:   #DBE1E9;
  --c-border:    #e3e7ec;
  --c-overlay:   rgba(5, 29, 75, .55);  /* navy at 55% for image overlays */
  --c-overlay-strong: rgba(5, 29, 75, .72);

  /* Typography — Google Fonts: PT Serif + Montserrat */
  --ff-display: "PT Serif", Georgia, "Times New Roman", serif;
  --ff-body:    "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Spacing */
  --pad-x:      6%;
  --pad-x-min:  20px;
  --pad-x-max:  120px;
  --gap:        clamp(24px, 4vw, 48px);

  /* Layout */
  --wrap: 1280px;
  --hero-min-h: 60vh;
  --topbar-h: 40px;
  --header-h: 84px;

  /* Effects */
  --shadow-sm: 0 2px 8px rgba(5, 29, 75, .06);
  --shadow-md: 0 8px 24px rgba(5, 29, 75, .10);
  --shadow-lg: 0 24px 60px rgba(5, 29, 75, .18);
  --radius: 4px;
  --t-fast: 180ms cubic-bezier(.4, 0, .2, 1);
  --t-base: 280ms cubic-bezier(.4, 0, .2, 1);
  --t-slow: 480ms cubic-bezier(.4, 0, .2, 1);
}

/* ----- Reset ----- */
*, *::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: .001s !important; animation-iteration-count: 1 !important; transition-duration: .001s !important; }
}
body {
  margin: 0;
  font-family: var(--ff-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--c-accent); text-decoration: none; transition: color var(--t-fast); }
a:hover, a:focus-visible { color: var(--c-accent-hover); }
button { font: inherit; cursor: pointer; }

/* Skip-link for accessibility */
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--c-primary); color: #fff; padding: 12px 18px;
  text-decoration: none; font-weight: 600;
}
.skip-link:focus { left: 0; }

/* Focus */
:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* ----- Typography ----- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ff-display);
  font-weight: 400;
  color: var(--c-primary);
  line-height: 1.2;
  margin: 0 0 .6em;
  text-transform: capitalize;
  letter-spacing: 0;
}
h1 { font-size: clamp(2.4rem, 5.2vw, 4rem); }
h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
h4 { font-size: clamp(1.1rem, 1.6vw, 1.35rem); }
h5 { font-size: 1.1rem; }
.eyebrow {
  font-family: var(--ff-body);
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: .8rem;
  color: var(--c-accent);
  margin: 0 0 1rem;
  display: inline-block;
}
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 32px; height: 1px; background: var(--c-accent);
  vertical-align: middle; margin-right: 14px;
}
p { margin: 0 0 1em; }

/* ----- Layout containers ----- */
.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding-left: clamp(var(--pad-x-min), var(--pad-x), var(--pad-x-max));
  padding-right: clamp(var(--pad-x-min), var(--pad-x), var(--pad-x-max));
}
.section {
  padding: clamp(60px, 8vw, 110px) 0;
  position: relative;
}
.section--tight { padding: clamp(40px, 5vw, 80px) 0; }
.section--soft { background: var(--c-bg-soft); }
.section--navy { background: var(--c-primary); color: #fff; }
.section--navy h1, .section--navy h2, .section--navy h3, .section--navy h4 { color: #fff; }

/* ----- Top contact bar ----- */
.topbar {
  background: var(--c-primary);
  color: #fff;
  font-size: .82rem;
  letter-spacing: .04em;
  padding: 9px 0;
  position: relative;
  z-index: 5;
}
.topbar__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 3vw, 36px);
  flex-wrap: wrap;
}
.topbar a {
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color var(--t-fast);
}
.topbar a:hover, .topbar a:focus-visible { color: var(--c-accent-hover); }
.topbar svg { width: 14px; height: 14px; fill: var(--c-accent); flex: 0 0 14px; }
.topbar__sep { opacity: .35; user-select: none; }

/* ----- Header ----- */
.site-header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid transparent;
  transition: box-shadow var(--t-base), border-color var(--t-base);
}
.site-header.is-scrolled {
  box-shadow: var(--shadow-sm);
  border-bottom-color: var(--c-border);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--c-primary);
}
.brand img { width: 56px; height: 56px; object-fit: contain; }
.brand__text { display: none; }
@media (min-width: 720px) {
  .brand__text { display: block; font-family: var(--ff-display); font-size: 1.05rem; line-height: 1.1; max-width: 230px; }
}

.nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  background: transparent;
  border: 0;
  color: var(--c-primary);
  padding: 0;
}
.nav-toggle__bars { position: relative; width: 24px; height: 18px; }
.nav-toggle__bars span {
  position: absolute; left: 0; width: 100%; height: 2px;
  background: currentColor;
  transition: transform var(--t-base), top var(--t-base), opacity var(--t-fast);
}
.nav-toggle__bars span:nth-child(1) { top: 0; }
.nav-toggle__bars span:nth-child(2) { top: 8px; }
.nav-toggle__bars span:nth-child(3) { top: 16px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1) { top: 8px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3) { top: 8px; transform: rotate(-45deg); }

.primary-nav { display: none; }
.primary-nav ul {
  list-style: none;
  display: flex;
  gap: clamp(14px, 2vw, 32px);
  margin: 0;
  padding: 0;
  align-items: center;
}
.primary-nav a {
  font-family: var(--ff-body);
  font-weight: 500;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-primary);
  padding: 10px 4px;
  position: relative;
  transition: color var(--t-fast);
}
.primary-nav a::after {
  content: "";
  position: absolute; left: 4px; right: 4px; bottom: 4px;
  height: 1.5px; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--t-base);
}
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--c-accent); }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after,
.primary-nav a[aria-current="page"]::after { transform: scaleX(1); }
.primary-nav a[aria-current="page"] { color: var(--c-accent); }
.primary-nav .btn { padding: 10px 22px; margin-left: 8px; }
.primary-nav .btn::after { display: none; }

@media (min-width: 960px) {
  .primary-nav { display: block; }
  .nav-toggle { display: none; }
}

/* Mobile drawer */
@media (max-width: 959px) {
  .primary-nav {
    position: fixed; inset: var(--header-h) 0 0 0;
    background: #fff;
    padding: 32px clamp(var(--pad-x-min), var(--pad-x), var(--pad-x-max));
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--t-base), opacity var(--t-base);
    overflow-y: auto;
    border-top: 1px solid var(--c-border);
  }
  .primary-nav[aria-hidden="false"] {
    display: block;
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .primary-nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .primary-nav li { width: 100%; }
  .primary-nav a {
    display: block;
    padding: 18px 0;
    font-size: 1.1rem;
    border-bottom: 1px solid var(--c-border);
  }
  .primary-nav a::after { display: none; }
  .primary-nav .btn {
    margin-top: 16px;
    width: 100%;
    text-align: center;
  }
}

/* ----- Buttons ----- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 32px;
  font-family: var(--ff-body);
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--c-accent);
  color: #fff;
  border: 2px solid var(--c-accent);
  border-radius: var(--radius);
  cursor: pointer;
  transition: background var(--t-base), border-color var(--t-base), color var(--t-base), transform var(--t-base);
  text-decoration: none;
}
.btn:hover, .btn:focus-visible {
  background: var(--c-accent-hover);
  border-color: var(--c-accent-hover);
  color: #fff;
  transform: translateY(-2px);
}
.btn--ghost {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.btn--ghost:hover, .btn--ghost:focus-visible {
  background: #fff;
  color: var(--c-primary);
  border-color: #fff;
}
.btn--primary-on-light {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.btn--primary-on-light:hover, .btn--primary-on-light:focus-visible {
  background: var(--c-accent);
  border-color: var(--c-accent);
}

/* ----- Hero ----- */
.hero {
  position: relative;
  min-height: var(--hero-min-h);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}
.hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--c-primary);
}
.hero__media img,
.hero__media video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-overlay);
  z-index: 1;
}
.hero__media--strong::after { background: var(--c-overlay-strong); }
.hero__media video {
  z-index: 0;
  opacity: 0;
  transition: opacity .8s ease;
}
.hero__media video.is-ready { opacity: 1; }
.hero__inner {
  padding: clamp(80px, 10vw, 140px) 0;
  text-align: center;
}
.hero h1, .hero h2 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
}
.hero .eyebrow { color: var(--c-accent-hover); }
.hero .eyebrow::before { background: var(--c-accent-hover); }
.hero p {
  max-width: 60ch;
  margin: 0 auto 1.5em;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  color: rgba(255, 255, 255, .9);
}
.hero__cta { display: inline-flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

/* ----- Section heading kit ----- */
.section-head { text-align: center; margin: 0 auto 56px; max-width: 720px; }
.section-head--left { text-align: left; margin-left: 0; }
.section-head p { color: var(--c-text-muted); font-size: 1.05rem; max-width: 60ch; margin-left: auto; margin-right: auto; }
.section-head--left p { margin-left: 0; margin-right: 0; }

/* ----- Two-column with image ----- */
.two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}
@media (min-width: 880px) {
  .two-col { grid-template-columns: 1fr 1fr; }
  .two-col--media-left { direction: rtl; }
  .two-col--media-left > * { direction: ltr; }
}
.two-col__media {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.two-col__media::after {
  content: "";
  position: absolute; left: -16px; bottom: -16px;
  width: 60%; height: 60%; border: 2px solid var(--c-accent);
  z-index: -1; border-radius: var(--radius);
  pointer-events: none;
}
.two-col__media img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/5; }
.two-col__body h2 { margin-bottom: .4em; }

/* ----- Specializations / services grid ----- */
.services {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
@media (min-width: 600px) { .services { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .services { grid-template-columns: repeat(3, 1fr); } }

.service {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: 36px 30px 30px;
  position: relative;
  transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.service::before {
  content: "";
  position: absolute;
  left: 30px; top: 0;
  width: 48px; height: 3px;
  background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--t-base);
}
.service:hover, .service:focus-within {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: var(--c-accent);
}
.service:hover::before, .service:focus-within::before { transform: scaleX(1); }
.service__icon {
  width: 48px; height: 48px;
  margin-bottom: 20px;
  color: var(--c-accent);
}
.service__icon svg { width: 100%; height: 100%; }
.service h3 { font-size: 1.35rem; margin-bottom: .5em; }
.service p { color: var(--c-text-muted); flex-grow: 1; margin-bottom: 1em; }
.service__link {
  font-family: var(--ff-body);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.service__link svg { width: 14px; height: 14px; transition: transform var(--t-base); }
.service:hover .service__link svg { transform: translateX(4px); }

/* ----- Full-bleed CTA section (with bg image) ----- */
.cta-bleed {
  position: relative;
  padding: clamp(80px, 12vw, 180px) 0;
  color: #fff;
  background: var(--c-primary);
  text-align: center;
  isolation: isolate;
  overflow: hidden;
}
.cta-bleed::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--bg-image);
  background-size: cover;
  background-position: center;
  z-index: -2;
}
.cta-bleed::after {
  content: "";
  position: absolute; inset: 0;
  background: var(--c-overlay-strong);
  z-index: -1;
}
.cta-bleed h2 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.4rem);
  max-width: 22ch;
  margin: 0 auto .5em;
}
.cta-bleed p { color: rgba(255, 255, 255, .9); max-width: 56ch; margin: 0 auto 2em; }

/* ----- Memberships list (About page) ----- */
.memberships {
  list-style: none;
  padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px 32px;
}
@media (min-width: 600px) { .memberships { grid-template-columns: repeat(2, 1fr); } }
.memberships li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-border);
  font-weight: 500;
}
.memberships li::before {
  content: "";
  width: 8px; height: 8px;
  background: var(--c-accent);
  border-radius: 50%;
  flex: 0 0 8px;
}

/* ----- Why Choose Us values ----- */
.values {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  text-align: center;
}
@media (min-width: 720px) { .values { grid-template-columns: repeat(3, 1fr); } }
.value__icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  display: inline-grid;
  place-items: center;
  background: var(--c-bg-soft);
  border-radius: 50%;
  color: var(--c-accent);
  transition: transform var(--t-base), background var(--t-base);
}
.value__icon svg { width: 28px; height: 28px; }
.value:hover .value__icon { transform: scale(1.06); background: var(--c-accent); color: #fff; }
.value h4 { margin-bottom: .5em; }
.value p { color: var(--c-text-muted); max-width: 32ch; margin: 0 auto; }

/* ----- Practice areas detailed list ----- */
.practice-list { display: grid; gap: 48px; grid-template-columns: 1fr; }
@media (min-width: 880px) { .practice-list { grid-template-columns: repeat(2, 1fr); } }
.practice-item {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.practice-item__icon {
  flex: 0 0 56px;
  width: 56px; height: 56px;
  display: grid;
  place-items: center;
  background: var(--c-primary);
  color: #fff;
  border-radius: var(--radius);
}
.practice-item__icon svg { width: 26px; height: 26px; }
.practice-item h3 { margin-bottom: .4em; }
.practice-item p { color: var(--c-text-muted); margin: 0; }

/* ----- Contact form ----- */
.contact-block {
  display: grid;
  gap: clamp(40px, 5vw, 64px);
  grid-template-columns: 1fr;
}
@media (min-width: 880px) { .contact-block { grid-template-columns: 5fr 7fr; } }
.contact-info h5 { color: var(--c-accent); text-transform: uppercase; font-family: var(--ff-body); font-weight: 600; font-size: .75rem; letter-spacing: .2em; margin: 0 0 .4em; }
.contact-info__item { padding: 24px 0; border-bottom: 1px solid var(--c-border); }
.contact-info__item:first-child { padding-top: 0; }
.contact-info__item p, .contact-info__item a { color: var(--c-text); margin: 0; }
.contact-info__item a:hover, .contact-info__item a:focus-visible { color: var(--c-accent); }

.contact-form { display: grid; gap: 18px; }
.field { display: grid; gap: 6px; }
.field label {
  font-family: var(--ff-body);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-primary);
}
.field input, .field textarea, .field select {
  font: inherit;
  font-size: 1rem;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  color: var(--c-text);
  width: 100%;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.field input:focus, .field textarea:focus, .field select:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(208, 156, 1, .18);
}
.field textarea { min-height: 140px; resize: vertical; }
.field--row { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .field--row { grid-template-columns: 1fr 1fr; } }
.hp { position: absolute; left: -9999px; }
.form-status { font-size: .92rem; min-height: 1.4em; }
.form-status.is-ok { color: #1b6e2a; }
.form-status.is-err { color: #a02020; }

/* ----- Testimonials ----- */
.testimonials {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
@media (min-width: 720px) { .testimonials { grid-template-columns: repeat(3, 1fr); } }
.testimonial {
  background: #fff;
  padding: 36px 32px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  position: relative;
}
.testimonial__quote-mark {
  position: absolute;
  top: 20px; right: 24px;
  font-family: var(--ff-display);
  font-size: 5rem;
  line-height: 1;
  color: var(--c-bg-tint);
  user-select: none;
}
.testimonial__stars { color: var(--c-accent); margin-bottom: 14px; display: flex; gap: 2px; }
.testimonial__stars svg { width: 18px; height: 18px; }
.testimonial blockquote {
  margin: 0 0 20px;
  font-style: italic;
  font-size: 1.02rem;
  color: var(--c-text);
}
.testimonial cite {
  font-style: normal;
  font-weight: 600;
  font-family: var(--ff-display);
  color: var(--c-primary);
  font-size: 1.05rem;
}

/* ----- Footer ----- */
.site-footer {
  background: var(--c-primary);
  color: rgba(255, 255, 255, .8);
  padding: clamp(60px, 7vw, 90px) 0 0;
  font-size: .92rem;
}
.site-footer h2, .site-footer h3, .site-footer h5 { color: #fff; }
.site-footer__grid {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.site-footer h5 {
  font-family: var(--ff-body);
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.site-footer a { color: rgba(255, 255, 255, .8); }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--c-accent-hover); }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer ul li { margin-bottom: 10px; }
.site-footer__brand img { width: 64px; height: 64px; margin-bottom: 18px; }
.site-footer__brand h3 { font-size: 1.15rem; line-height: 1.3; margin-bottom: .8em; }
.site-footer__disclaimer {
  margin-top: 60px;
  padding: 28px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: .82rem;
  text-align: center;
  color: rgba(255, 255, 255, .55);
}
.site-footer__bottom {
  background: rgba(0, 0, 0, .25);
  padding: 16px 0;
  text-align: center;
  font-size: .8rem;
  color: rgba(255, 255, 255, .55);
}

/* ----- Map embed wrapper ----- */
.map-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background: var(--c-bg-soft);
}
.map-embed iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}

/* ----- Reveal utility -----
   No-op by design. Earlier versions used IntersectionObserver to fade
   elements in on scroll, which caused below-the-fold content to remain
   invisible if the user's viewport was small, JS was slow, or the
   observer didn't fire in time. The class name is left in markup to
   keep HTML stable but has no visual effect — content is always
   visible the moment the page paints. */
.reveal { /* intentionally empty */ }

/* ----- Page head (for non-home pages) ----- */
.page-head {
  position: relative;
  min-height: 48vh;
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
  isolation: isolate;
  padding: clamp(60px, 9vw, 120px) 0;
  overflow: hidden;
}
.page-head__media,
.page-head::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--bg-image);
  background-size: cover;
  background-position: center;
  z-index: -2;
}
.page-head::after {
  content: "";
  position: absolute; inset: 0;
  background: var(--c-overlay-strong);
  z-index: -1;
}
.page-head h1 { color: #fff; font-size: clamp(2.6rem, 6vw, 4.6rem); }
.page-head .eyebrow { color: var(--c-accent-hover); }
.page-head .eyebrow::before { background: var(--c-accent-hover); }

/* ----- Utility ----- */
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.lead { font-size: 1.1rem; color: var(--c-text-muted); }

/* ----- Print ----- */
@media print {
  .topbar, .nav-toggle, .primary-nav, .hero__media video, .site-footer__bottom, .reveal { all: revert; }
  .site-header { box-shadow: none; }
  body { background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
  .hero, .page-head, .cta-bleed { background: #fff !important; color: #000 !important; min-height: auto; padding: 32px 0; }
  .hero h1, .hero h2, .page-head h1, .cta-bleed h2 { color: #000 !important; }
  .hero__media, .page-head::before, .cta-bleed::before, .cta-bleed::after, .page-head::after { display: none; }
}
