/* Shared page chrome: header, industries dropdown, small-screen menu, closing band, footer. */

/* Header stays put and lets the page show through, so Book a call is always one tap away */
.site-header { position: sticky; top: 0; z-index: 10; background: rgb(23 33 44 / 0.82); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); border-bottom: 1px solid transparent; transition: border-color .3s var(--ease-soft); }
.header-row { display: flex; align-items: center; gap: var(--space-32); height: var(--header-height); }
.site-logo img { width: 148px; }

.site-nav { display: flex; align-items: center; gap: var(--space-32); margin-left: auto; font-size: var(--text-14); }
.site-nav > a, .nav-dropdown summary { color: var(--color-stone); text-decoration: none; cursor: pointer; }
.site-nav > a:hover, .nav-dropdown summary:hover { color: var(--text-secondary); }
.site-nav [aria-current="page"] { color: var(--color-water-lit); }

.nav-dropdown { position: relative; }
.nav-dropdown summary { list-style: none; display: flex; align-items: center; gap: var(--space-8); }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .3s var(--ease-soft); }
.nav-dropdown[open] summary::after { transform: translateY(1px) rotate(225deg); }
.nav-panel { position: absolute; top: calc(100% + 22px); left: 50%; translate: -50% 0; width: 22rem; margin: 0; padding: var(--space-8); list-style: none; border-radius: var(--radius-card); background: var(--color-ink-raised); box-shadow: inset 0 0 0 1px var(--rule-on-ink); }
.nav-panel a { display: block; padding: var(--space-12) var(--space-16); border-radius: var(--radius-panel); color: var(--color-stone); text-decoration: none; }
.nav-panel a:hover { background: var(--color-ink); }
.nav-panel span { display: block; margin-top: 2px; font-size: var(--text-12); color: var(--text-muted); }
.nav-panel [aria-current="page"] { color: var(--color-water-lit); }

.header-actions { display: flex; align-items: center; gap: var(--space-24); font-size: var(--text-14); }
.header-actions .button { min-height: 42px; padding: 0 var(--space-16); font-size: var(--text-14); }

.menu { display: none; }
.menu summary { cursor: pointer; list-style: none; display: flex; align-items: center; min-height: 42px; padding: 0 var(--space-16); border-radius: var(--radius-control); box-shadow: inset 0 0 0 1px var(--text-muted); font-size: var(--text-14); }
.menu summary::-webkit-details-marker { display: none; }
.menu nav { position: absolute; top: var(--header-height); left: 0; right: 0; display: flex; flex-direction: column; padding: var(--space-8) var(--gutter) var(--space-24); background: var(--color-ink-raised); }
.menu nav a { padding: var(--space-16) 0; border-bottom: 1px solid var(--rule-on-ink); color: var(--color-stone); text-decoration: none; }
.menu nav [aria-current="page"] { color: var(--color-water-lit); }

/* Closing band: the one call to action, given a full screen's weight */
.closing { position: relative; overflow: hidden; background: var(--color-ink-raised); text-align: center; }
.closing-inner { padding-block: 9rem 8rem; }
.closing h2 { max-width: 18ch; margin-inline: auto; font-size: clamp(var(--text-36), 5vw, 4rem); }
.closing p { max-width: 36rem; margin: var(--space-24) auto var(--space-48); font-size: var(--text-18); line-height: 1.6; color: var(--text-secondary); }
.closing .action-row { justify-content: center; }
.closing .closing-email { margin: var(--space-24) auto 0; font-size: var(--text-16); }
.closing-mark { width: 88px; margin: 0 auto var(--space-32); opacity: .9; }

/* Footer */
.footer-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-48); padding-block: var(--space-96) var(--space-48); font-size: var(--text-14); color: var(--text-secondary); }
.footer-grid p { margin: 0; }
.footer-brand { display: flex; flex-direction: column; gap: var(--space-24); max-width: 24rem; }
.footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-32); }
.footer-nav div { display: flex; flex-direction: column; gap: var(--space-12); }
.footer-nav .footer-heading { margin-bottom: var(--space-4); color: var(--text-muted); }
.footer-nav a { color: var(--color-stone); text-decoration: none; }
.footer-nav a:hover { color: var(--color-water-lit); }
.footer-nav [aria-current="page"] { color: var(--color-water-lit); }
.footer-legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-16); padding-top: var(--space-32); border-top: 1px solid var(--rule-on-ink); font-size: var(--text-12); color: var(--text-muted); }

@media (max-width: 1100px) {
  .site-nav, .header-actions .phone { display: none; }
  .header-actions { margin-left: auto; }
  .menu { display: block; }
}

@media (max-width: 760px) {
  .site-logo img { width: 120px; }
  .header-row { gap: var(--space-12); }
  .closing-inner { padding-block: 6rem 5rem; }
  .footer-grid { grid-template-columns: 1fr; padding-top: var(--space-64); }
  .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
