/* Shared interactions: touch, keyboard and mouse. */
.footer-ip{border-top:1px solid #ffffff30;padding:28px 0 32px;word-break:normal;overflow-wrap:break-word}.footer-ip h2{font-size:17px;letter-spacing:0;margin:0 0 22px;line-height:1.5}.footer-ip-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px 64px}.footer-ip h3{font-size:13px;margin:0 0 8px;color:#fff}.footer-ip p{font-size:12px;line-height:1.8;color:#c6d7ce;margin:0;max-width:580px}@media(max-width:760px){.footer-ip-grid{grid-template-columns:1fr;gap:22px}}
img,video{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;border-bottom:0!important;transition:color .25s ease,background-color .25s ease,transform .2s ease}
.nav a::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav a[aria-current="page"]::after,.nav a:focus-visible::after{transform:scaleX(1)}
.nav a:active{color:var(--lime);transform:translateY(2px)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;transition:color .25s,background-color .25s,transform .2s}
.footer-bottom a:active{transform:scale(.97)}
@media(hover:hover){.nav a:hover{color:var(--lime)}.nav a:hover::after{transform:scaleX(1)}.footer-bottom a:hover{color:var(--lime)}}
.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1)}
.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:760px){.reveal-ready{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none}.nav a,.nav a::after,.footer-bottom a,.reveal-ready{transition:none}.nav a:active,.footer-bottom a:active{transform:none}}

.activity-media{height:auto}

.header{position:relative;z-index:20}
.nav.dropdown-nav{overflow:visible;gap:24px}
.nav-group{position:relative}
.nav-group summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;transition:color .3s ease}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group .nav-main-link{padding:0;border:0;min-height:44px;color:inherit}
.nav-group .nav-main-link::after{display:none}
.nav-expand{display:none}
@media(hover:none){.nav-expand{display:flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;font-size:16px;opacity:.65}}

.nav-group[open] summary,.nav-group[data-current] summary{color:var(--lime)}

.nav-group summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.nav-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:225px;padding:12px;background:#f7f8f4;color:var(--deep);border:1px solid #d8dfd866;box-shadow:0 18px 48px #09272224,0 3px 10px #0927220d;border-radius:20px;transform-origin:top center}.nav-panel::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.nav-group[open] .nav-panel{animation:menu-arrive .32s cubic-bezier(.2,.75,.25,1) both}@keyframes menu-arrive{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.nav-panel a{display:flex;padding:10px 14px!important;white-space:nowrap;font-size:14px!important;border-radius:12px;transition:background-color .25s ease,color .25s ease,transform .25s ease}
.nav-panel a::after{display:none}
.nav-panel a:hover,.nav-panel a:focus-visible{background:#e8eedf;color:var(--deep);transform:translateX(2px)}
@media(max-width:760px){.nav.dropdown-nav{position:relative;width:100%;flex-wrap:wrap;gap:4px 16px}.nav-group{position:static}.nav-group summary{font-size:11px;gap:5px}.nav-panel{top:calc(100% + 8px);left:0;right:0;min-width:0}.nav-panel a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.nav-group summary,.nav-group summary span{transition:none}}

@media(max-width:760px){.nav{flex-wrap:nowrap;gap:12px;max-width:100%;overflow-x:auto}.nav a{flex-shrink:0;font-size:11px}}

@media(prefers-reduced-motion:reduce){.nav-group[open] .nav-panel{animation:none}.nav-panel a{transition:none}.nav-panel a:hover,.nav-panel a:focus-visible{transform:none}}

.footer-ip-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}.footer-ip-heading h2{margin:0}.footer-top-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#c6d7ce;white-space:nowrap;transition:color .25s}.footer-top-link:hover{color:var(--lime)}@media(max-width:760px){.footer-ip-heading{flex-wrap:wrap;gap:4px 20px}}@media(prefers-reduced-motion:reduce){.footer-top-link{transition:none}}

.footer-ip-grid{grid-template-columns:1fr 1.5fr auto;align-items:start}.footer-ip-grid .footer-top-link{align-self:start;margin-top:21px;min-height:22px;line-height:1.8}.ip-open{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ip-open:hover{text-decoration:underline;text-underline-offset:5px}.ip-open:focus-visible,.ip-close:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.ip-dialog{position:fixed;width:min(800px,90vw);max-height:85vh;border:0;border-radius:20px;background:var(--paper);padding:70px 36px 48px;color:var(--deep)}.ip-dialog::backdrop{background:#082a27b3}.ip-dialog img{display:block;width:100%;height:auto}.ip-close{position:absolute;right:14px;top:10px;width:44px;height:44px;border:0;background:transparent;color:var(--deep);font-size:28px;cursor:pointer}@media(max-width:760px){.footer-ip-grid{grid-template-columns:1fr auto}.footer-ip-grid>div{grid-column:1/-1}.footer-ip-grid .footer-top-link{grid-column:2;margin-top:0;min-height:44px}.ip-dialog{padding:64px 20px 36px}}

@media(max-width:760px){.nav.dropdown-nav{display:flex;flex-wrap:nowrap;justify-content:space-between;width:100%;gap:4px;overflow:visible}.nav-group{flex:0 0 auto}.nav-group summary{gap:0;white-space:nowrap}.nav-group .nav-main-link{font-size:clamp(10px,2.8vw,12px);letter-spacing:-.02em;white-space:nowrap;min-height:44px}.nav-expand{display:none}}



/* All footer typography shares one scale: brand 108, heading 17, label 13, body 12. */
.footer{--footer-unit:calc(clamp(38px,7.8vw,108px) / 108);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.footer .footer-brand{font-size:calc(var(--footer-unit) * 108);font-family:inherit;font-weight:800;letter-spacing:-.06em;line-height:1;white-space:nowrap}
.footer .footer-note{font-size:calc(var(--footer-unit) * 14)}
.footer .footer-ip h2{font-size:calc(var(--footer-unit) * 17)}
.footer .footer-ip h3{font-size:calc(var(--footer-unit) * 13)}
.footer .footer-ip p,.footer .footer-top-link{font-size:calc(var(--footer-unit) * 12)}
@media(max-width:760px){.footer{--footer-unit:calc(min(14vw,100px) / 108)}.footer-main{display:block;padding-bottom:28px}.footer .footer-brand{display:block;width:100%}.footer .footer-note{margin-top:20px}.footer-ip{padding:22px 0 12px}.footer-ip-heading{margin-bottom:16px}.footer-ip-grid{gap:16px}.footer .ip-open{display:inline-flex;align-items:center;min-height:44px}}

/* Mobile readability adjustment; desktop scale remains unchanged. */
@media(max-width:760px){
.footer .footer-brand{font-size:calc(var(--footer-unit) * 108 + 5px)}
.footer .footer-note{font-size:calc(var(--footer-unit) * 14 + 5px)}
.footer .footer-ip h2{font-size:calc(var(--footer-unit) * 17 + 5px)}
.footer .footer-ip h3{font-size:calc(var(--footer-unit) * 13 + 5px)}
.footer .footer-ip p,.footer .footer-top-link{font-size:calc(var(--footer-unit) * 12 + 5px)}
}
