/* The existing masthead stays readable if CSS/JS fail. Entrance motion is
   only applied once per session and does not change its layout. */
.jnn-brand--reveal .brand__mark{animation:jnn-crown-arrive 1.05s cubic-bezier(.2,.75,.25,1.2) both}
.jnn-brand--reveal .brand-title{animation:jnn-letters-arrive .8s .22s ease-out both}
.jnn-brand--reveal .brand-subtitle{animation:jnn-type-arrive .85s .48s ease-out both}
@keyframes jnn-crown-arrive{from{opacity:0;transform:translateY(-15px) rotate(-22deg) scale(.74)}65%{opacity:1;transform:translateY(4px) rotate(2deg) scale(1.05)}to{opacity:1;transform:rotate(-6deg) scale(1)}}
@keyframes jnn-letters-arrive{from{opacity:0;filter:blur(6px);transform:translateY(13px) scale(.95)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes jnn-type-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ed-hero__intro-link{align-self:center;display:inline-flex;align-items:center;gap:10px;margin-top:15px;padding:7px 2px 6px;border-bottom:1px solid #b99052;color:#e9c990;font:800 .63rem/1.35 system-ui,sans-serif;letter-spacing:.13em;text-decoration:none;cursor:pointer;position:relative;z-index:3}
.ed-hero__intro-link:hover,.ed-hero__intro-link:focus-visible{color:#fff4d4;outline:2px solid #e2b96e;outline-offset:4px}
.ed-hero__intro-link>span{font-size:1rem}
.jnn-intro-dialog{position:fixed;inset:0;margin:auto;width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #b99153;padding:0;background:#0b121e;color:#f4e6cc;box-shadow:0 30px 90px #000d}
.jnn-intro-dialog::backdrop{background:#02040ddc;backdrop-filter:blur(6px)}
.jnn-intro-dialog__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px clamp(13px,3vw,24px);border-bottom:1px solid #a9844a;background:#0c1726}
.jnn-intro-dialog__head>div{min-width:0}
.jnn-intro-dialog__eyebrow{display:block;font:800 .58rem/1.4 system-ui,sans-serif;letter-spacing:.17em;color:#c9aa70}
.jnn-intro-dialog__head h2{margin:3px 0 0;color:#f3e5c8;font:700 clamp(1.1rem,2.7vw,1.6rem)/1.2 Georgia,serif}
.jnn-intro-dialog button{appearance:none;border:1px solid #b68d54;background:#1d2634;color:#f7dbab;cursor:pointer;padding:11px 14px;min-height:44px;font:800 .68rem/1.3 system-ui,sans-serif;letter-spacing:.08em}
.jnn-intro-dialog button:hover,.jnn-intro-dialog button:focus-visible{background:#d4ac68;color:#10151f;outline:2px solid #f5dca9;outline-offset:2px}
.jnn-intro-dialog__video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#060a10;object-fit:contain}
.jnn-intro-dialog__controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px clamp(13px,3vw,24px)}
.jnn-intro-dialog__hint{margin:0;padding:0 clamp(13px,3vw,24px) 16px;color:#c0ad90;font:.75rem/1.5 system-ui,sans-serif}
@media(max-width:540px){.ed-hero__intro-link{font-size:.57rem;letter-spacing:.1em}.jnn-intro-dialog__head{align-items:flex-start}.jnn-intro-dialog__head button{font-size:.62rem;padding:9px 11px}.jnn-intro-dialog__controls button{flex:1 1 auto;font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.jnn-brand--reveal .brand__mark,.jnn-brand--reveal .brand-title,.jnn-brand--reveal .brand-subtitle{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}.jnn-intro-dialog *{animation:none!important;transition:none!important}}