/* The first view follows the original lecture → application sequence. */
.hero-inner{min-height:0;padding:40px 0 59px}
.hero-copy{width:min(780px,100%)}
.hero-portrait{width:64%;right:-18%;opacity:.16}
.hero-brand{font-size:clamp(32px,4.7vw,47px);margin-bottom:21px}
.hero-brand i{margin-top:10px}
.hero .pill{margin-bottom:15px}
.hero h1{margin-bottom:14px}
.hero h1 small{font-size:clamp(16px,2vw,22px);margin-bottom:4px}
.hero h1 span{font-size:clamp(36px,4.9vw,58px);line-height:1.28;text-shadow:0 5px 32px rgba(130,91,211,.28)}
.hero h1 em{display:block;margin-top:8px;color:#efe5ff;font-size:clamp(18px,2.7vw,29px);font-weight:600;font-style:normal;letter-spacing:.04em}
.hero-lead{max-width:620px;margin-bottom:20px;font-size:14px;line-height:1.85}
.hero-video{position:relative;scroll-margin-top:80px}
.hero-video .eyebrow{margin:0 0 3px;color:#cbbaf0;font-size:10px;letter-spacing:.25em}
.hero-video h2{margin:0 0 13px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(17px,2.6vw,26px);line-height:1.45;color:#f1eafa}
.hero-video .video-shell{box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 4px rgba(170,129,247,.06)}
.hero-video .video-caption{margin-top:8px;color:#d0c5df}
.hero-video .text-link{margin-top:4px}
.hero-copy>.form-cta{margin-top:19px}
.form-cta{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(620px,100%);min-height:74px;margin-left:auto;margin-right:auto;padding:11px 17px 11px 23px;overflow:hidden;border:1px solid #d8c6ff;background:linear-gradient(105deg,#a98bdc 0%,#e4d7ff 55%,#bba2ed 100%);color:#17111f;text-decoration:none;text-align:left;box-shadow:0 13px 29px rgba(107,72,178,.25);transition:transform .2s,box-shadow .2s}
.form-cta:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(127,84,206,.38)}
.form-cta::before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.47),transparent);animation:shine 6s ease-in-out infinite}
.form-cta span{position:relative;display:flex;flex-direction:column;line-height:1.45}
.form-cta small{color:#4b356c;font-size:10px;font-weight:800;letter-spacing:.065em}
.form-cta strong{font-size:clamp(17px,2.5vw,22px);font-weight:800}
.form-cta i{position:relative;flex:0 0 auto;display:grid;place-items:center;width:43px;height:43px;margin-left:10px;border-radius:50%;background:#1b1428;color:#ebdeff;font-size:21px;font-style:normal}
.deadline-section{padding:65px 0 70px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(115,79,192,.2),transparent 63%),#08070d;border-top:1px solid rgba(174,147,236,.22);border-bottom:1px solid rgba(174,147,236,.22);scroll-margin-top:65px}
.deadline-eyebrow{margin:0 0 13px;color:#c7b5e8;font-size:11px;font-weight:800;letter-spacing:.22em}
.deadline-section h2{margin:0 0 12px;color:#ece2f6;font-family:"Noto Serif JP",serif;font-size:clamp(23px,3.2vw,36px);font-weight:700;line-height:1.5}
.deadline-section h2 span{position:relative;display:inline-block;margin:0 .08em;color:#f25d71;font-family:"Noto Sans JP",sans-serif;font-size:1.42em;font-weight:900;line-height:1.12;text-shadow:0 0 17px rgba(247,74,98,.38);animation:deadlinePulse 2.1s ease-in-out infinite}
.deadline-section h2 span::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:2px;background:#e34765;box-shadow:0 0 9px #e34765}
.deadline-intro{display:flex;align-items:center;gap:15px;justify-content:center;margin:0 0 16px;color:#e5d9f0;font-weight:800;font-size:13px;letter-spacing:.12em}
.deadline-intro::before,.deadline-intro::after{content:"";height:1px;width:65px;background:linear-gradient(90deg,transparent,#9f87d2)}
.deadline-intro::after{transform:rotate(180deg)}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;width:min(620px,100%);margin:0 auto 12px}
.countdown>div{position:relative;padding:17px 5px 13px;background:linear-gradient(180deg,#1a1622,#100e16);border-top:1px solid rgba(201,179,247,.29);border-bottom:1px solid rgba(201,179,247,.29)}
.countdown>div::after{content:"";position:absolute;left:20%;right:20%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#b497ed,transparent)}
.countdown strong{display:block;color:#f2eaff;font-size:clamp(31px,5vw,52px);line-height:1.1;font-variant-numeric:tabular-nums;font-weight:800}
.countdown small{color:#b8a9cb;font-size:11px;font-weight:700}
.deadline-note{margin:13px 0 0;color:#a99db7;font-size:11px}
.for-you{background:radial-gradient(ellipse at 50% 0%,rgba(116,82,184,.13),transparent 55%),#0c0a12}
.for-you .eyebrow,.for-you h2{text-align:center}
.for-you h2{margin-bottom:29px}
.for-you-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.for-you-list p{min-height:120px;margin:0;padding:20px 21px;border:1px solid rgba(191,161,245,.25);background:linear-gradient(140deg,#191522,#121019);color:#d7cbdf;font-size:14px;line-height:1.8}
.for-you-list p span{display:inline-block;margin-right:10px;color:#c2a7fa;font-size:19px;font-weight:800;line-height:1.35}
.for-you-list strong{color:#f1e8fc;font-weight:800}
.for-you-anti{margin-top:25px;padding:24px 29px;border:1px solid rgba(164,146,194,.2);background:#100e16}
.for-you-anti h3{margin:0 0 14px;color:#e5d8f4;font-family:"Noto Serif JP",serif;font-size:18px}
.for-you-anti p{margin:9px 0;color:#bdb2c7;font-size:13px}
.for-you-anti p span{display:inline-block;margin-right:10px;color:#a98ea7;font-size:20px;line-height:1}
.for-you-closing{margin:31px 0 0;text-align:center;color:#dacde7;font-family:"Noto Serif JP",serif;font-size:15px;line-height:2}
.flow-action .form-cta{margin-top:17px}
.last-cta-lead{margin:-10px 0 24px;color:#c5b8d3;font-family:"Noto Serif JP",serif;font-size:14px}
.last-cta .form-cta{margin-top:0}
.last-cta .form-cta b{font-variant-numeric:tabular-nums}
.expired-screen[hidden]{display:none!important}
.expired-screen{display:grid;place-items:center;min-height:calc(100svh - 150px);padding:70px 0;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(119,78,202,.18),transparent 60%),#0a0910}
.expired-screen h2{font-family:"Noto Serif JP",serif;color:#e8dcf8;font-size:clamp(29px,4vw,46px);line-height:1.6}
.expired-screen p:last-child{color:#b4a5c5}
body.is-expired main{display:none}
body.is-expired .header-cta{visibility:hidden}
@keyframes deadlinePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(max-width:760px){.hero-inner{padding:25px 0 38px}.hero-brand{font-size:30px;margin-bottom:17px}.hero-brand i{margin-top:8px;margin-bottom:5px}.hero .pill{font-size:9px;margin-bottom:11px}.hero h1{margin-bottom:9px}.hero h1 small{font-size:14px}.hero h1 span{font-size:clamp(30px,8.2vw,41px);line-height:1.32}.hero h1 em{font-size:18px;margin-top:3px}.hero-lead{font-size:12px;line-height:1.7;margin-bottom:15px}.hero-video{scroll-margin-top:67px}.hero-video h2{font-size:17px;margin-bottom:10px}.hero-video .eyebrow{font-size:9px}.hero-video .video-caption{font-size:10px}.hero-video .text-link{font-size:11px}.hero-copy>.form-cta{margin-top:13px}.form-cta{min-height:65px;padding:9px 11px 9px 15px}.form-cta strong{font-size:16px}.form-cta small{font-size:9px}.form-cta i{width:36px;height:36px;font-size:18px}.deadline-section{padding:49px 0 54px;scroll-margin-top:58px}.deadline-eyebrow{font-size:9px}.deadline-section h2{font-size:20px}.deadline-intro{font-size:11px;gap:8px}.deadline-intro::before,.deadline-intro::after{width:32px}.countdown{gap:5px;margin-bottom:10px}.countdown>div{padding:13px 3px 10px}.countdown strong{font-size:27px}.countdown small{font-size:9px}.flow-action .form-cta strong{font-size:15px}.last-cta-lead{font-size:12px}.for-you-list{grid-template-columns:1fr;gap:8px}.for-you-list p{min-height:0;padding:17px 18px;font-size:13px}.for-you-anti{padding:20px 19px}.for-you-anti h3{font-size:16px}.for-you-anti p{font-size:12px}.for-you-closing{font-size:13px;line-height:1.9}}
@media(prefers-reduced-motion:reduce){.deadline-section h2 span,.form-cta::before{animation:none}}
