.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.global-header { position: relative; z-index: 20; display: flex; align-items: center; gap: 1.25rem; min-height: 5rem; padding: .7rem clamp(1rem,3vw,3rem); border-bottom: 1px solid var(--line); }
.global-header .wordmark { margin-right: auto; }
.nav-shell { display: flex; align-items: center; gap: 1.25rem; }
.primary-nav,.utility-nav { display: flex; align-items: center; gap: clamp(.75rem,1.4vw,1.35rem); }
.global-header nav a { font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.global-header nav a:hover,.global-header nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: .4rem; }
.utility-nav { padding-left: 1rem; border-left: 1px solid var(--line); }
.utility-nav a:not(.nav-action) { color: var(--muted); }
.nav-action,.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .7rem 1rem; border: 1px solid var(--text); background: var(--text); color: var(--bg); text-decoration: none; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.button-secondary { background: transparent; color: var(--text); }
.menu-toggle { display: none; width: 2.75rem; height: 2.75rem; border: 1px solid var(--line); background: transparent; color: var(--text); }
.menu-toggle span:not(.sr-only) { display:block; width:1.1rem; height:1px; margin:.3rem auto; background:currentColor; }
.page-main { display: block; width: 100%; max-width: none; margin: 0; overflow: visible; padding: 0; }
.page-hero { width: 100%; max-width: none; min-height: min(36rem,64vh); display: grid; align-items: end; position: relative; margin: 0; padding: clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem) clamp(2.5rem,5vw,4rem); border-bottom: 1px solid var(--line); overflow: hidden; }
.page-hero.has-image { color: #fff; background: #10151b; }
.page-hero.has-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.14)); }
.page-hero.has-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.hero-content { position:relative; z-index:1; width:min(100%,74rem); margin-inline:auto; }
.page-hero h1 { max-width: 12ch; font-size: clamp(3rem,8vw,7rem); }
.page-hero p:not(.eyebrow) { max-width: 42rem; margin: 1.25rem 0 0; font-size: clamp(1rem,1.6vw,1.25rem); line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; }
.content-section { width:min(100% - 2.5rem,74rem); margin-inline:auto; padding:clamp(2.75rem,5vw,4.5rem) 0; border-bottom:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:minmax(11rem,.45fr) 1fr; gap:clamp(1.5rem,4vw,4rem); margin-bottom:2rem; }
.section-heading h2 { margin:0; max-width:18ch; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,5vw,4.5rem); font-weight:400; line-height:1; }
.section-heading p { max-width:42rem; margin:0; color:var(--muted); line-height:1.75; }
.card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.card { min-height:14rem; padding:clamp(1.25rem,2.2vw,1.8rem); background:var(--bg); }
.card h3 { margin:0 0 1rem; font-size:1.1rem; }
.card p { margin:0; color:var(--muted); line-height:1.7; }
.card a { display:inline-block; margin-top:1rem; text-underline-offset:.3rem; }
.feature-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.feature-split img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.feature-copy h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,5vw,4.5rem); font-weight:400; line-height:1; }
.feature-copy p,.prose p,.prose li { color:var(--muted); line-height:1.8; }
.feature-copy .button { margin-top:1rem; }
.numbered-grid { counter-reset:steps; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.numbered-grid article { counter-increment:steps; padding:1.5rem; border-right:1px solid var(--line); }
.numbered-grid article::before { content:"0" counter(steps); display:block; margin-bottom:1.75rem; color:var(--muted); font-size:.72rem; letter-spacing:.14em; }
.status-banner { padding:.65rem clamp(1.25rem,4vw,4rem); background:#8f6a00; color:#fff; text-align:center; font-size:.78rem; letter-spacing:.08em; }
.global-footer { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:clamp(1.5rem,3vw,3rem); padding:clamp(2.5rem,4vw,4rem) clamp(1.25rem,4vw,4rem) 1.5rem; border-top:1px solid var(--line); color:var(--muted); }
.global-footer h2 { margin:0 0 1rem; color:var(--text); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.global-footer nav { display:grid; gap:.7rem; }
.global-footer nav a { font-size:.82rem; text-underline-offset:.25rem; }
.footer-branding p { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-disclosure { grid-column:1/-1; max-width:68rem; padding-top:1.25rem; border-top:1px solid var(--line); line-height:1.65; }
.footer-status { grid-column:1/-1; margin:0; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.footer-status span { color:#b18720; }
.prose { max-width:48rem; }
.prose h2 { margin-top:2rem; font-family:Georgia,"Times New Roman",serif; font-size:2.2rem; font-weight:400; }
.prose h3 { margin-top:2rem; }
.legal-note { padding:1.25rem; border:1px solid var(--line); background:var(--panel); }
.article-layout { display:grid; grid-template-columns:minmax(12rem,.3fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,5rem); }
.article-aside { position:sticky; top:2rem; align-self:start; }
.article-aside nav { display:grid; gap:.8rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.field { display:grid; gap:.45rem; }
.field-full { grid-column:1/-1; }
.field label,.fieldset-label { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; min-height:3.25rem; border:1px solid var(--line); border-radius:0; padding:.8rem; background:var(--bg); color:var(--text); font:inherit; }
.field textarea { min-height:8rem; resize:vertical; }
.field-error { min-height:1.1rem; margin:0; color:#b42318; font-size:.78rem; }
.trip-types { display:flex; flex-wrap:wrap; gap:1rem; padding:0; border:0; }
.sector { margin:1.5rem 0; padding:1.5rem; border:1px solid var(--line); }
.sector-header { display:flex; justify-content:space-between; align-items:center; }
.text-button { border:0; padding:.4rem; background:transparent; color:var(--text); text-decoration:underline; cursor:pointer; }
.form-message { margin-top:1rem; padding:1rem; border:1px solid var(--line); }
@media (max-width:1500px) {
  .global-header { flex-wrap:wrap; }
  .menu-toggle { display:block; }
  .nav-shell { display:none; width:100%; align-items:stretch; flex-direction:column; gap:1.25rem; padding:1.25rem 0; }
  .nav-shell.is-open { display:flex; }
  .primary-nav,.utility-nav { align-items:flex-start; flex-direction:column; }
  .utility-nav { padding:1.25rem 0 0; border-left:0; border-top:1px solid var(--line); }
}
@media (max-width:760px) {
  .card-grid,.numbered-grid { grid-template-columns:1fr; }
  .card { min-height: 0; }
  .numbered-grid article { border-right:0; border-bottom:1px solid var(--line); }
  .section-heading,.feature-split,.article-layout,.form-grid { grid-template-columns:1fr; }
  .feature-split img { order:-1; }
  .article-aside { position:static; }
  .global-footer { grid-template-columns:1fr 1fr; }
  .footer-branding,.footer-disclosure,.footer-status { grid-column:1/-1; }
}
