/* ETS public architecture: scoped navigation and state-complete theme components. */
:root{--ets-surface:#fff;--ets-hover:#eef5f4;--ets-text:#142235;--ets-muted:#45586c;--ets-border:#cddbdc;--ets-accent:#087b73;--ets-header-offset:140px}
html.theme-dark{--ets-surface:#0d1725;--ets-hover:#172b39;--ets-text:#e7edf5;--ets-muted:#b3c2d4;--ets-border:#304257;--ets-accent:#5de0d0}
.ets-nav{display:flex!important;align-items:center;gap:1rem;width:100%;position:relative;color:var(--ets-text);padding:.35rem 0}
.ets-menu-items{display:flex;gap:.2rem;align-items:center}.ets-nav-trigger,.ets-menu-toggle{font:600 .86rem/1.25 Inter,Arial,sans-serif;border:0;background:transparent;color:inherit;cursor:pointer;padding:.75rem .6rem;border-radius:6px;display:flex;gap:.45rem;align-items:center}
.ets-nav-trigger:hover,.ets-nav-trigger[aria-expanded=true]{background:var(--ets-hover);color:var(--ets-accent)}.ets-nav :focus-visible{outline:3px solid var(--ets-accent);outline-offset:3px}
.ets-utilities{display:flex;gap:1rem;margin-left:auto;align-items:center;white-space:nowrap}.ets-utilities a{color:var(--ets-text);font-size:.8rem;text-decoration:none}.ets-utilities a:last-child{background:var(--ets-accent);color:var(--ets-surface);padding:.55rem .9rem;border-radius:6px}
.ets-mega{position:absolute;left:0;right:0;top:100%;z-index:1100;background:var(--ets-surface);color:var(--ets-text);border:1px solid var(--ets-border);box-shadow:0 20px 50px #0004;border-radius:0 0 12px 12px;padding:1.5rem 2rem;max-height:75vh;overflow:auto}.ets-mega[hidden]{display:none!important}.ets-mega-overview{display:block!important;color:var(--ets-accent)!important;font-weight:700;margin-bottom:1rem;text-decoration:none!important}.ets-mega-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.ets-mega h2{font:700 .72rem/1.3 Inter,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.12em;color:var(--ets-muted)!important;margin:0 0 .65rem!important}.ets-mega ul{display:block!important;list-style:none!important;margin:0!important;padding:0!important}.ets-mega li{margin:0!important;padding:0!important}.ets-mega li a{display:block!important;color:var(--ets-text)!important;font:400 .87rem/1.4 Inter,Arial,sans-serif!important;padding:.4rem .5rem;text-decoration:none!important;border-radius:5px}.ets-mega li a:hover{background:var(--ets-hover);color:var(--ets-accent)!important}.ets-menu-toggle{display:none}
main section[id],main h2[id]{scroll-margin-top:calc(var(--ets-header-offset) + 24px)}
.ets-share{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1.25rem 0}.ets-share button,.ets-share a{border:1px solid var(--ets-border);background:var(--ets-surface);color:var(--ets-text);border-radius:6px;padding:.55rem .8rem;cursor:pointer;text-decoration:none;font:500 .82rem/1.3 Inter,Arial,sans-serif}.ets-share button:hover{background:var(--ets-hover)}.ets-share output{font-size:.8rem;color:var(--ets-muted)}
/* XP has dark sections in both themes. Its own tokens are the correct basis. */
.xp{--ets-card-bg:#0a111c;--ets-card-hover:#142635;--ets-card-text:var(--xp-ink);--ets-card-muted:var(--xp-mute)}
.xp .xp-sec--paper{--ets-card-bg:#fbfaf7;--ets-card-hover:#e8f2ee;--ets-card-text:#0b1220;--ets-card-muted:#4a566b}
.theme-dark .xp .xp-sec--paper{--ets-card-bg:#0a111c;--ets-card-hover:#142635;--ets-card-text:#e7edf5;--ets-card-muted:#b3c2d4}
.xp .ets-offer-card{background:var(--ets-card-bg)!important;color:var(--ets-card-text)!important}.xp .ets-offer-card:hover{background:var(--ets-card-hover)!important}.xp .ets-offer-card p{color:var(--ets-card-muted)!important}
.theme-dark .xp .xp-sec--paper a.xp-card:hover,.theme-dark .xp .xp-sec--paper a.xp-card:focus-visible{background:var(--ets-card-hover)!important;color:var(--ets-card-text)!important}
.theme-dark .xp .xp-sec--paper .xp-bento>*{background:var(--ets-card-bg)!important;border-color:var(--ets-border)!important}.theme-dark .xp .xp-sec--paper .xp-bento h3{color:var(--ets-card-text)!important}.theme-dark .xp .xp-sec--paper .xp-bento p{color:var(--ets-card-muted)!important}
.theme-dark .travel-callout,.theme-dark .rx-attendee{background:var(--ets-surface)!important;color:var(--ets-text)!important;border-color:var(--ets-border)!important}.theme-dark .travel-callout p,.theme-dark .rx-attendee label{color:var(--ets-text)!important}
.ets-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem}.ets-result{border:1px solid var(--ets-border);border-radius:10px;padding:1.25rem;background:var(--ets-surface);color:var(--ets-text)}.ets-result h2,.ets-result h3,.ets-result a{color:var(--ets-text)}.ets-result p{color:var(--ets-muted)}.ets-result small{color:var(--ets-accent);text-transform:uppercase;letter-spacing:.08em}.ets-search-form{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.ets-search-form input,.ets-search-form select{background:var(--ets-surface);color:var(--ets-text);border:1px solid var(--ets-border);padding:.8rem;border-radius:6px;max-width:100%}.ets-search-form input{flex:1;min-width:200px}.ets-search-form button{padding:.8rem 1.3rem;background:var(--ets-accent);color:var(--ets-surface);border:0;border-radius:6px}.ets-pagination{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.ets-pagination a{padding:.5rem .8rem;border:1px solid var(--ets-border);border-radius:5px}
@media(max-width:1050px){.ets-nav{flex-wrap:wrap}.ets-menu-toggle{display:flex}.ets-menu-items{display:none;width:100%;order:3}.ets-menu-items.is-open{display:block}.ets-nav-trigger{width:100%;justify-content:space-between}.ets-mega{position:static;max-height:none;padding:1rem;border-radius:8px}.ets-mega-columns{grid-template-columns:1fr;gap:1.2rem}.ets-utilities{gap:.75rem}.ets-section-nav{top:var(--ets-header-offset)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.ets-nav *{transition:none!important}}

/* Oct 02: opaque, compact shared chrome; no content bleed or auto heading toolbar. */
header.site-header, .theme-dark header.site-header, header.site-header.scrolled{background:var(--ets-surface)!important;backdrop-filter:none!important;opacity:1!important;isolation:isolate;z-index:1000!important;border-bottom:1px solid var(--ets-border);box-shadow:0 2px 12px #0000000a}
.ets-nav{padding:.25rem 0 .55rem;gap:1.5rem}.ets-nav-trigger{font-size:.86rem;padding:.65rem .75rem;border-radius:8px;letter-spacing:-.01em}.ets-nav-trigger span{font-size:.7rem;opacity:.55}.ets-nav-trigger[aria-expanded=true] span{transform:rotate(180deg)}
.ets-mega{left:auto;right:0;width:min(980px,calc(100vw - 48px));top:calc(100% + 1px);padding:1.5rem;border-radius:0 0 16px 16px;box-shadow:0 24px 55px #00000030;max-height:calc(100dvh - 160px)}
.ets-mega-overview{padding:0 .5rem .85rem;margin:0 0 1.15rem;border-bottom:1px solid var(--ets-border);font-size:.95rem}.ets-mega-columns{grid-template-columns:1.15fr 1fr .8fr;gap:1.6rem}.ets-mega-columns section{min-width:0}.ets-mega h2{padding-left:.5rem;font-size:.66rem!important;letter-spacing:.1em}.ets-mega li a{font-size:.83rem!important;padding:.4rem .5rem;line-height:1.35!important}.ets-mega-columns section:first-child ul{columns:1}.ets-nav-group:nth-child(4) .ets-mega{width:min(1050px,calc(100vw - 48px))}.ets-nav-group:nth-child(4) .ets-mega-columns{grid-template-columns:1.55fr 1fr .7fr}.ets-nav-group:nth-child(4) .ets-mega-columns section:first-child ul{columns:2;column-gap:.7rem}.ets-mega li{break-inside:avoid}
.ets-utilities a{font-weight:500}.ets-utilities a:last-child{border-radius:999px;padding:.6rem 1rem}.ets-mega-overview:hover{text-decoration:underline!important}
.xp .ets-share{--ets-surface:var(--ets-card-bg);--ets-text:var(--ets-card-text);--ets-muted:var(--ets-card-muted)}.ets-share button{font-size:.73rem;padding:.4rem .65rem;background:transparent;border-color:var(--ets-border);box-shadow:none}.ets-share{margin-top:1rem}
.catalog-intro-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem;align-items:start}.catalog-intro-layout>article{padding:1.6rem;border:1px solid var(--hub-line);border-radius:16px;background:var(--hub-surface)}.catalog-intro-layout h2{font:500 1.65rem/1.15 var(--xp-serif);margin-bottom:.75rem}.catalog-intro-layout p{color:var(--hub-mute);line-height:1.6}.catalog-intro-layout table{width:100%;border-collapse:collapse}.catalog-intro-layout td,.catalog-intro-layout th{padding:.65rem .3rem;border-bottom:1px solid var(--hub-line);text-align:left}.catalog-intro-layout th{font-size:.72rem}.catalog-intro-layout td:not(:first-child){font-family:var(--xp-mono);white-space:nowrap}
@media(max-width:1050px){.ets-mega,.ets-nav-group:nth-child(4) .ets-mega{width:100%;position:static;max-height:none;border:0;border-radius:10px;padding:1rem;background:var(--ets-hover);box-shadow:none}.ets-mega-columns,.ets-nav-group:nth-child(4) .ets-mega-columns{grid-template-columns:1fr;gap:1rem}.ets-nav-group:nth-child(4) .ets-mega-columns section:first-child ul{columns:1}.ets-menu-items.is-open{max-height:calc(100dvh - 170px);overflow-y:auto}.ets-nav-trigger{padding:.85rem}.catalog-intro-layout{grid-template-columns:1fr}}

/* Oct 02 contrast corrections (WCAG AA, measured against composited backgrounds) */
.xp-sec--paper .hb-k--amber{color:#8a5300}.theme-dark .xp-sec--paper .hb-k--amber{color:#f5a524}
.xp-sec--paper .xp-fine,.xp-sec--paper .xp-fine a{color:#44516a}.xp-sec--paper .xp-fine a{text-decoration:underline}
.theme-dark .xp-sec--paper .xp-fine,.theme-dark .xp-sec--paper .xp-fine a{color:#b3c2d4}
.catalog-body .cat-note,.catalog-body .cat-note em{color:var(--xp-mute,#a9b7c8)!important}
.theme-dark .search-result-meta,.theme-dark .search-result-meta strong,.theme-dark main p[role=status],.theme-dark main p[role=status] strong{color:#cbd5e1!important}
.theme-dark .rx-steps li,.theme-dark .rx-steps li p,.theme-dark .rx-steps li span,.theme-dark .rx-steps li small{color:#cbd5e1!important}
.theme-dark .rx-steps strong,.theme-dark .rx-steps li b{color:#fff!important}
.theme-dark .rx-steps li::before{background:#14b8a6!important;color:#04201d!important}

/* Single mobile control: the header hamburger. */
.ets-menu-toggle{display:none!important}
@media(max-width:1050px){
 .mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .ets-nav{display:block!important;padding:0}
 .ets-menu-items{display:none!important;position:absolute;left:0;right:0;top:100%;z-index:999;height:calc(100dvh - var(--ets-header-offset) + 2px);background:var(--ets-surface);padding:.5rem 1rem 6rem;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--ets-border);box-shadow:0 20px 40px #0003}
 .ets-nav{position:static!important}
 header.site-header{position:sticky}
 .ets-menu-items.is-open{display:block!important}
 .ets-nav-group{border-bottom:1px solid var(--ets-border)}
 .ets-nav-trigger{width:100%;justify-content:space-between;font-size:1rem;padding:1rem .25rem}
 .ets-utilities{display:flex;gap:.75rem;padding:1rem 0;margin:0;flex-wrap:wrap}
 html.ets-menu-open{overflow:hidden}
}

/* Registration (dark): legacy light-theme text on dark surfaces. Money page: keep every field/contract untouched, fix color only. */
.theme-dark .rx-promise,.theme-dark .rx-promise strong,.theme-dark .rx-promise p{color:#e2e8f0!important}
.theme-dark .rx-promise{background:#12302f!important;border-color:#2dd4bf55!important;border-left-color:#2dd4bf!important}
.theme-dark .rx-attendee,.theme-dark .rx-attendee__head,.theme-dark .rx-attendee__body{background:#0d1725!important;color:#e7edf5!important;border-color:var(--ets-border)!important}
.theme-dark .rx-attendee__title,.theme-dark .rx-attendee label,.theme-dark .rx-attendee__remove{color:#f1f5f9!important}
.theme-dark main .card .form-text,.theme-dark main .card small,.theme-dark main .card .field-hint,.theme-dark main form p,.theme-dark main form .help,.theme-dark main form legend{color:#cbd5e1!important}
.theme-dark main form h2,.theme-dark main form h3,.theme-dark main form label{color:#f1f5f9!important}
.theme-dark .rx-total,.theme-dark .rx-total *{color:#f1f5f9!important}
