/* Congress palette: turquoise, blue and navy. */
:root{--ink:#102e59;--muted:#526b85;--paper:#f8fcff;--sage:#e6f5fc;--line:#d4e6f1;--accent:#087da2;--ocean:linear-gradient(115deg,#102e59 0%,#1261a4 58%,#087f90 100%);--sea:linear-gradient(135deg,#087a94 0%,#196db7 55%,#183c78 100%)}
body{background:var(--paper)}
em,.hero h1 em{color:#087e9c}
.hero h1 em,.section-heading h2 em,.about-grid h2 em,.page-hero h1 em{background:linear-gradient(100deg,#087f94 5%,#126cb5 63%,#173c78);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero .ordinal{color:#087f9c}
.topline{background:var(--ocean);color:#edfaff}.topline i{color:#71e2e0}
.site-header{background:rgba(248,252,255,.96)}.brand>span{border-color:#d0e3f0}
.button{background:var(--sea);border-color:transparent;box-shadow:0 6px 16px #12599d14}.button:hover{background:linear-gradient(115deg,#075f79,#135a9a 55%,#112e61);box-shadow:0 10px 24px #12599d26}
.button.secondary{background:#eef8ff;color:var(--ink);border-color:#b6d8ed;box-shadow:none}.button.secondary:hover{background:#dff2fd}
.button.light,.registration-actions .button{background:#fff;color:#123c6e;border-color:#fff;box-shadow:0 6px 18px #071d4320}.button.light:hover,.registration-actions .button:hover{background:#e4f7ff}
.dot{background:#0996ae}.hero{background:radial-gradient(ellipse at 83% 25%,#8fe4e450 0,transparent 42%),radial-gradient(ellipse at 67% 87%,#9fc7fc55 0,transparent 50%),linear-gradient(125deg,#f8fcff 20%,#eff9ff 68%,#e5f4fc)}
.hero-place span{color:#91b4cc}.countdown{border-color:#cadfeb}.countdown p{border-color:#bad5e7}.countdown strong{color:#125489}
.film-frame{background:linear-gradient(155deg,#9ee9eb,#539bd0 60%,#173d73);box-shadow:0 25px 65px #12569928,0 0 0 1px #a7d7e366}.film-frame:has(video),.film-frame video{background:#0b2446}
.orbit-label{color:#447b99}.floating-tag{border-color:#cde5ef;box-shadow:0 15px 40px #17416b14}.floating-tag>span{color:#068d9e}
.event-poster{background:linear-gradient(155deg,#c7f5f2 5%,#83d9e3 47%,#2f80b9)}.poster-top{color:#165775}.poster-number{color:#143f711c}.poster-wave{background:linear-gradient(150deg,#10a6b0,#155dab 65%,#112f61);border-color:#e5ffff70;box-shadow:0 -25px 0 #6fe0eb4d,0 -50px 0 #b9f2f148}.poster-bottom{color:#f3ffff}
.quick-links{background:linear-gradient(110deg,#f8fcff,#eaf8fc 60%,#eaf1fc)}.quick-links>a:hover{background:#dff3fb}.link-number{color:#487e9f}.quick-links>a>span:last-child{color:#0786a5}
.news-section{background:linear-gradient(125deg,#e6f8fa 0%,#eaf4ff 62%,#e3edfc 100%)}
.news-card{background:linear-gradient(145deg,#fff,#f6fbff);border-color:#cfdfed}.news-card:hover{box-shadow:0 15px 35px #135a9b15}.round-arrow{border-color:#b8d9e9;color:#08799e}
.newsletter-card{background:linear-gradient(125deg,#d5f5f3,#c6e6fa 60%,#c9dcf8);border-color:#bfdfe9}.newsletter-card:after{color:#76b5d849}
.archive-image>span{text-shadow:0 1px 8px #102e59}.archive-image:before{background:linear-gradient(transparent,#102e5988)}
.closing,.contact-card.teal,.registration-contact{background:var(--ocean);border-color:transparent;color:white}.closing .eyebrow,.registration-contact .eyebrow{color:#a8eef0}.registration-contact p{color:#e0f0fa}
footer{background:linear-gradient(120deg,#edf8fc,#edf3fc 68%,#e7f5fa)}
.page-hero{background:radial-gradient(ellipse at 90% 15%,#70dfe84d,transparent 58%),linear-gradient(120deg,#effaff,#e7f2ff 70%,#d8effb)}
.side-card,.calendar-card{background:linear-gradient(140deg,#dcf6f5,#dcecfb 65%,#d7e4f8)}.side-number{color:#4c89b5}.side-card nav{border-color:#bdd9eb}
.notice{background:#e0f4fa;border-color:#1387a6}.notice.error{background:#f8e8e4;border-color:#ba3d37}
.edition-photo:after{background:linear-gradient(transparent,#0c2b5799)}
.contact-card{background:linear-gradient(135deg,#e4f8f7,#e5effd);border-color:#cbdfee}.contact-icon{color:#1393ae}.contact-card p{color:#4c6d88}.contact-card.teal p{color:#deeff9}.contact-card.teal .contact-icon{color:#90e8ec}.contact-card.teal a:hover{color:#b0f4f5}
.venue-band{background:linear-gradient(115deg,#fff,#ecfaff 60%,#e5eefc)}
input,select,textarea{border-color:#bcd6e8}.editor aside{background:linear-gradient(135deg,#e5f7fa,#e6effc)}
.registration-content div:has(>h2){background:linear-gradient(145deg,#fff,#f3faff);border-color:#cddfec}.registration-content div:has(>h2):nth-of-type(2){background:linear-gradient(140deg,#dbf7f3,#ddecfd)}
.registration-content div:has(>h2):nth-of-type(3){background:linear-gradient(140deg,#eefaff,#e8f0fd)}.registration-content div:has(>h2):nth-of-type(4){background:linear-gradient(140deg,#f4faff,#e3f5fa)}
.registration-content th,.registration-content td{border-color:#c9deec}.registration-content th{background:#e6f2fa}.registration-content td:last-child strong{color:#126399}
:focus-visible{outline-color:#087da2}
@media(forced-colors:active){.hero h1 em,.section-heading h2 em,.about-grid h2 em,.page-hero h1 em{background:none;color:CanvasText}}

/* Andada family, consistent sizing and compact spacing beside the video. */
.hero h1{font-family:'Andada Pro',Georgia,serif;font-size:clamp(44px,4.25vw,61px);font-weight:600;line-height:1.17;letter-spacing:-.045em}
.hero h1 .ordinal{font-weight:500}
.hero h1 em{font-family:inherit;font-size:1em;font-weight:600;line-height:inherit;letter-spacing:inherit;display:inline;padding:0;margin:0;animation:none;clip-path:none}
.hero h1 em:after{content:none}
.hero-copy .eyebrow{margin-bottom:22px}
.hero-lead{margin-top:24px}.hero-place{margin-top:11px}.hero .actions{margin-top:25px}.hero .countdown{margin-top:32px;padding-top:22px}
@media(min-width:1500px){.hero h1{font-size:64px}}
@media(max-width:1100px){.hero h1{font-size:46px}}
@media(max-width:860px){.hero h1{font-size:37px}}
@media(max-width:620px){.hero h1{font-size:clamp(31px,8.6vw,45px);line-height:1.2;letter-spacing:-.04em}.hero-copy .eyebrow{margin-bottom:19px}.hero-lead{margin-top:22px}.hero .countdown{margin-top:27px}}
.film-frame video[hidden]{display:none!important}
.film-navigation{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:18px}
.film-navigation>button{width:44px;height:44px;border-radius:50%;border:1px solid #b8d9e9;background:#f8fcff;color:var(--ink);font-size:22px;transition:background .2s,transform .2s}
.film-navigation>button:hover{background:#dff3fb;transform:translateY(-2px)}
.film-dots{display:flex;gap:8px}.film-dots button{width:36px;height:36px;border-radius:50%;border:1px solid #bad9eb;background:#eef8ff;color:var(--ink);font-size:12px}
.film-dots button[aria-current]{background:var(--sea);color:white;border-color:transparent}
.film-navigation+.visual-caption{margin-top:9px}

.hero h1 .ordinal-image{display:inline-block;width:1.18em;height:1.34em;object-fit:contain;vertical-align:-.18em;margin-right:.04em;filter:drop-shadow(0 2px 2px #102e5915)}
.hero-copy{padding:34px 30px;border-radius:24px;background:radial-gradient(ellipse at 0 0,#177d9b60,transparent 60%),linear-gradient(135deg,#102e59,#164775 70%,#155b7b);box-shadow:0 20px 50px #123d6818;color:#f3faff}
.hero-copy h1{color:#fff;font-size:clamp(40px,3.7vw,53px)}
.hero-copy h1 em{background:none;color:#86e5ee}.hero-copy .eyebrow{color:#b7edf2}.hero-copy .dot{background:#78e7e9}
.hero-copy .hero-place,.hero-copy .countdown span{color:#c5dfef}.hero-copy .hero-place span{color:#83b9d0}.hero-copy .countdown{border-color:#ffffff30}.hero-copy .countdown p{border-color:#ffffff30}.hero-copy .countdown strong{color:#fff}.hero-copy .button{background:linear-gradient(115deg,#defbff,#bce9fa);color:#133e69}.hero-copy .text-link:hover{color:#8fecf3}
.hero h1 .ordinal-image{filter:drop-shadow(0 3px 5px #03152a66)}
.typewriter-heading .typewriter-char{visibility:hidden}.typewriter-heading .typewriter-char.typed{visibility:visible}
.typewriter-heading .typewriter-char.typing-cursor{position:relative}.typewriter-heading .typewriter-char.typing-cursor:after{content:'';position:absolute;left:100%;top:.12em;width:2px;height:.9em;background:#8ceaf0;animation:typing-caret .65s steps(1) infinite}
@keyframes typing-caret{50%{opacity:0}}
@media(max-width:1100px){.hero-copy{padding:28px 24px}.hero-copy h1{font-size:40px}}
@media(max-width:860px){.hero-grid{grid-template-columns:1.3fr 1fr;gap:20px}.hero-copy{padding:25px 20px}.hero-copy h1{font-size:32px}}
@media(max-width:620px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding:28px 20px;border-radius:20px}.hero-copy h1{font-size:clamp(27px,7.5vw,38px)}.hero-copy .actions{gap:12px}.hero-copy .countdown{gap:20px}.hero-copy .countdown p{padding-left:12px}.hero-copy .hero-place{font-size:10px}}
@media(prefers-reduced-motion:reduce){.typewriter-heading .typewriter-char{visibility:visible}.typewriter-heading .typing-cursor:after{display:none}}
/* Both hero groups share the same grid-row height; the film keeps its 9:16 ratio. */
@media(min-width:621px){
 .hero-grid{align-items:stretch}
 .hero-copy{display:flex;flex-direction:column;justify-content:center}
 .hero-visual{justify-content:flex-start}
 .hero-visual .film-frame{flex-shrink:0}
 .hero-visual .film-navigation{margin-top:auto;padding-top:18px}
 .hero-visual .visual-caption{margin-bottom:0}
}

/* Keep the inactive portrait visible as a quiet, blurred card behind the film. */
.film-frame:has(video){overflow:visible;background:transparent;box-shadow:none;isolation:isolate}
.film-frame video{position:absolute;inset:0;border-radius:24px;box-shadow:0 20px 48px #102e5926;transition:transform .6s ease,filter .6s ease,opacity .6s ease;transform-origin:center}
.film-frame video.is-active{z-index:2;transform:translateX(-12px);filter:none;opacity:1}
.film-frame video.is-passive{z-index:1;transform:translateX(65px) scale(.9) rotate(4deg);filter:blur(2px) saturate(.85);opacity:.7;pointer-events:none}
.film-frame:has(video:only-child) video.is-active{transform:none}
@media(max-width:1100px){.film-frame video.is-passive{transform:translateX(46px) scale(.9) rotate(4deg)}}
@media(max-width:620px){.film-frame video.is-active{transform:translateX(-10px)}.film-frame video.is-passive{transform:translateX(40px) scale(.9) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.film-frame video{transition:none}}

.film-frame.is-swipeable{touch-action:pan-y pinch-zoom;cursor:grab}
.film-frame.is-swipeable video{touch-action:pan-y pinch-zoom}
.film-frame.is-dragging,.film-frame.is-dragging video{cursor:grabbing;user-select:none}
.film-frame video.is-active{z-index:3}
.film-frame video.is-passive:not(.is-back){z-index:2}
.film-frame video.is-back{z-index:1;transform:translateX(88px) scale(.8) rotate(7deg);filter:blur(3px) saturate(.8);opacity:.5}
@media(max-width:1100px){.film-frame video.is-back{transform:translateX(62px) scale(.8) rotate(7deg)}}
@media(max-width:620px){.film-frame video.is-back{transform:translateX(52px) scale(.8) rotate(7deg)}}

.film-touch-surface{display:none}
@media(any-pointer:coarse){
 .film-frame.is-swipeable .film-touch-surface{display:block;position:absolute;z-index:4;inset:0 0 72px;transform:translateX(-12px);border-radius:24px 24px 0 0;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}
}
@media(max-width:620px){.film-frame.is-swipeable .film-touch-surface{transform:translateX(-10px)}}
