:root{
  --navy:#071a35;
  --navy2:#0c2b53;
  --red:#d71920;
  --gold:#d9ad3f;
  --cream:#f7f1e6;
  --ink:#111827;
  --muted:#667085;
  --line:#e4e7ec;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#e9edf2}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#e9edf2;line-height:1.8}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font:inherit}
.page-shell{width:min(100%,480px);margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 40px rgba(4,18,38,.12);overflow:hidden}
.hero{background:#06162f;color:#fff}
.hero-image{width:100%;background:#06162f}
.hero-cta-wrap{padding:28px 20px 34px;text-align:center;background:linear-gradient(180deg,#071a35 0%,#0b2446 100%)}
.hero-kicker,.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#b78a24;margin:0 0 10px}
.hero h1{font-size:27px;line-height:1.45;margin:0 0 8px;font-weight:900}
.hero-lead{margin:0 0 20px;color:#d6deea;font-size:14px}
.section{padding:54px 22px}
.section h2{font-size:28px;line-height:1.42;margin:0 0 22px;font-weight:900;letter-spacing:.01em}
.section p{font-size:15px;margin:0 0 16px}
.photo{width:100%;margin:22px 0}
.rounded{border-radius:14px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}
.stat-row div{padding:14px 6px;border:1px solid #dfe5ee;border-radius:10px;text-align:center;background:#fafbfc}
.stat-row strong{display:block;font-size:16px;color:var(--navy)}
.stat-row span{display:block;font-size:10px;color:var(--muted)}
.cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;padding:14px 18px;border-radius:999px;font-weight:900;font-size:17px;line-height:1.35;text-align:center;border:none;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.cta span{font-size:22px;line-height:1}
.cta-primary,.cta-red{color:#fff;background:linear-gradient(180deg,#e6242b,#bd0710)}
.cta-navy{color:#fff;background:linear-gradient(180deg,#153c70,#071a35)}
.cta-outline{color:var(--navy);background:#fff;border:2px solid var(--navy);box-shadow:none;margin-top:12px}
.cta-line{color:#fff;background:#06c755;border:0}
.cta-white{background:#fff;color:var(--navy);box-shadow:none}
.micro{font-size:11px!important;color:#7d8795;text-align:center;margin-top:8px!important}
.present{background:#f5f6f8}
.section-head{text-align:center;margin:-54px -22px 30px;padding:42px 22px 28px}
.dark-head{background:linear-gradient(145deg,#06162f,#0d315d);color:#fff}
.red-head{background:linear-gradient(145deg,#9f0710,#dc1d25);color:#fff}
.light{color:#f1ca6b!important}
.section-head h2{margin-bottom:8px}
.section-head p:last-child{margin:0;color:#d9e0ea}
.gift-card{background:#fff;border-radius:16px;padding:24px 20px;margin:0 0 14px;border:1px solid #e4e7ec;box-shadow:0 8px 24px rgba(15,23,42,.06);text-align:center}
.gift-no{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--red)}
.gift-icon{width:58px;height:58px;border-radius:50%;margin:14px auto 12px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:900;font-size:14px}
.gift-card h3{font-size:19px;line-height:1.45;margin:0 0 10px}
.gift-card p{font-size:13px;color:#475467;margin:0}
.present .cta{margin-top:24px}
.quote-band{background:linear-gradient(160deg,#071a35,#102e51);padding:58px 24px;color:#fff;text-align:center}
.quote-band p{font-family:serif;font-size:30px;line-height:1.5;font-weight:800;margin:0}
em{font-style:normal;color:#f04438}
.profile{background:#fff}
.profile-box{padding:22px 18px;border-left:4px solid var(--gold);background:#faf8f2;margin:22px 0}
.profile-box h3{font-size:24px;margin:0}
.profile-role{font-size:12px!important;color:#667085;margin-bottom:16px!important}
.check-list{list-style:none;padding:0;margin:22px 0}
.check-list li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid #e5e7eb;font-weight:700;font-size:14px}
.check-list li:before{content:"✓";position:absolute;left:4px;top:11px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}
.check-list.compact li{font-size:12px;padding-top:8px;padding-bottom:8px}
.check-list.compact li:before{top:7px}
blockquote{margin:28px 0 0;padding:24px 16px;text-align:center;background:#071a35;color:#fff;font-family:serif;font-size:20px;line-height:1.7}
.words{background:var(--cream)}
.word-card{background:#fff;padding:24px 18px;margin:12px 0;border-radius:12px;box-shadow:0 8px 22px rgba(34,30,20,.07)}
.word-card span{font-size:11px;color:#b58518;font-weight:900;letter-spacing:.1em}
.word-card p{margin:4px 0 0!important;font-family:serif;font-size:18px!important;font-weight:800;line-height:1.65}
.not-talent{margin:26px 0;padding:24px 16px;background:#fff3f2;border:1px solid #ffd2ce;text-align:center;border-radius:10px}
.not-talent h3{margin:4px 0;font-size:21px;color:#b42318}
.not-talent p{margin:0!important;font-size:13px!important}
.center{text-align:center}.strong{font-weight:900}
.lion-method{background:#071a35;color:#fff}
.lion-method .eyebrow{color:#f1ca6b}
.flow{max-width:300px;margin:26px auto}
.flow div{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.05)}
.flow div.active{border:2px solid #f1ca6b;background:#102f55}
.flow b{font-size:14px;letter-spacing:.06em}.flow span{font-size:13px}.flow i{display:block;text-align:center;font-style:normal;color:#f1ca6b;font-weight:900}
.map-copy{text-align:center;padding:18px 0}
.map-copy p{margin:0!important;font-size:13px!important}.map-copy h3{font-size:34px;margin:0;color:#f1ca6b}
.results{padding-left:0;padding-right:0}.results>.eyebrow,.results>h2,.results>.caption{margin-left:22px;margin-right:22px}.results .photo{margin-bottom:12px}.caption{font-size:10px!important;color:#7d8795}
.reboot{background:#f7f7f8;padding-top:54px}.logo-type{text-align:center;font-size:14px!important;letter-spacing:.06em;color:#324968}.logo-type strong{font-size:29px;color:#071a35}
.event-card{margin:22px 0;padding:20px;border:2px solid #071a35;text-align:center;background:#fff}.event-date small{display:block;font-size:11px}.event-date strong{font-size:28px;color:#071a35}.event-date em{font-size:10px;color:#667085;margin:0 4px}.event-card p{margin:4px 0 0!important;font-size:13px!important}
.big-copy{text-align:center;font-size:24px;line-height:1.5;margin:28px 0}.day-card{background:#fff;border-radius:12px;padding:18px;margin:12px 0;border:1px solid #e4e7ec}.day-card>span{display:inline-block;background:#071a35;color:#fff;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900}.day-card ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;padding-left:25px;margin:16px 0 0}.day-card li{font-size:14px;font-weight:700}
.message-box{margin-top:26px;padding:26px 18px;background:#071a35;color:#fff;text-align:center;border-radius:12px}.message-box p{margin:0!important;font-size:13px!important}.message-box h3{margin:8px 0 0;font-size:20px;line-height:1.6;color:#fff}
.target-final{margin-top:26px!important;text-align:center;font-size:17px!important;line-height:1.8}.target-final strong{color:#b42318}
.price{background:#fff8f1;text-align:center}.price h2{margin-bottom:4px}.price-number{font-size:42px!important;line-height:1.2;font-weight:900;color:#a40f14}.price-number span{font-size:22px}.price-number small{display:block;font-size:12px;color:#667085;margin-top:8px}.price-note{text-align:left;margin-top:28px;padding:24px 18px;background:#fff;border-radius:12px;border:1px solid #eadfd2}.price-note h3{margin:0 0 12px;font-size:18px}.price-note p{font-size:13px!important}
.support-flow{margin:24px 0}.support-flow div{border:1px solid #d6dce5;padding:15px 16px;border-radius:10px;text-align:center;background:#fff}.support-flow span{display:block;font-size:10px;color:#b58518;font-weight:900;letter-spacing:.1em}.support-flow b{font-size:15px}.support-flow i{display:block;text-align:center;font-style:normal;color:#b58518;font-weight:900}.bonus-grid{display:grid;gap:10px}.bonus-grid div{padding:18px;background:#071a35;color:#fff;border-radius:10px}.bonus-grid span{display:block;font-size:10px;color:#f1ca6b;font-weight:900}.bonus-grid b{font-size:14px}
.action{text-align:center;background:#f4f6f9}.action p{font-size:13px;color:#667085}
.parents{background:#fff}.share{background:#eef8f1}.share-message{margin:20px 0;padding:16px;background:#fff;border-left:4px solid #06c755;font-size:13px;line-height:1.7}.share .cta{margin-top:18px}
.entry{background:#f7f2e9}.entry-card{background:#fff;border-radius:14px;padding:24px 18px;text-align:center;border:1px solid #e7decd}.entry-card>p:first-child{font-size:11px!important;letter-spacing:.12em;color:#b58518;font-weight:900}.entry-card h3{font-size:20px;margin:8px 0}.entry-card h3 strong{font-size:31px;color:#071a35}.entry-card .cta{margin-top:18px}
.final-cta{background:linear-gradient(150deg,#071a35,#143e70);color:#fff;text-align:center;padding-bottom:90px}.final-cta h2{font-family:serif;font-size:32px}.final-cta p{color:#dbe3ef}
footer{padding:26px 22px 100px;text-align:center;background:#030b17;color:#93a1b5}.footer-logo{font-size:12px;color:#fff}.footer-logo strong{font-size:22px;margin-left:6px}.footer-logo+p{font-size:9px;margin:8px 0 0}
.sticky-cta{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,480px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e5e7eb;z-index:50;backdrop-filter:blur(8px)}
.sticky-cta a{display:block;background:linear-gradient(180deg,#e6242b,#bd0710);color:#fff;border-radius:999px;padding:10px 14px;text-align:center;line-height:1.25;box-shadow:0 5px 14px rgba(167,0,10,.25)}
.sticky-cta span{display:block;font-size:9px;letter-spacing:.08em}.sticky-cta b{font-size:14px}
@media(min-width:700px){body{padding:24px 0}.page-shell{border-radius:18px}.sticky-cta{bottom:14px;border-radius:18px;border:1px solid #e5e7eb}.hero-image{border-radius:18px 18px 0 0}}

/* Official LION profile / authority section */
.authority-profile{background:linear-gradient(180deg,#fff 0%,#f7f4ed 100%)}
.authority-photo{margin-top:8px;box-shadow:0 16px 38px rgba(7,26,53,.16)}
.authority-badges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 22px}
.authority-badges div{min-height:76px;padding:12px 8px;border:1px solid #e3d6b8;background:#fff;border-radius:10px;text-align:center;display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 15px rgba(34,30,20,.04)}
.authority-badges div:last-child{grid-column:1/-1}
.authority-badges strong{font-size:10px;color:#7b6742;line-height:1.35}
.authority-badges b{font-size:18px;color:#071a35;line-height:1.35;margin-top:3px}
.authority-box{border-left-color:#b88a24;background:#fff;box-shadow:0 12px 30px rgba(7,26,53,.08)}
.authority-box .profile-role{margin:0!important;color:#a67b1b!important;font-weight:800}
.authority-box h3{margin:2px 0 14px;font-size:28px;color:#071a35}
.authority-lead{font-size:15px!important;font-family:serif;font-weight:800;line-height:1.7;border-top:1px solid #ece5d8;border-bottom:1px solid #ece5d8;padding:14px 0;margin-bottom:10px!important}
.book-photo{background:#fff;padding:10px;box-shadow:0 12px 26px rgba(7,26,53,.08)}
.authority-reason{margin:24px 0 0;padding:24px 18px;background:#071a35;color:#fff;border-radius:12px}
.authority-reason h3{margin:0 0 10px;color:#f1ca6b;font-size:19px;line-height:1.5}
.authority-reason p{margin:0!important;font-size:13px!important;color:#e7edf5}
.authority-message{margin-top:14px;padding:28px 18px;text-align:center;background:#fff;border:1px solid #d9c59b;border-radius:12px}
.authority-message>p:first-child{font-size:15px!important;font-weight:900;margin-bottom:0!important;color:#071a35}
.authority-message h3{font-size:26px;line-height:1.35;margin:4px 0 18px;color:#b42318}
.authority-years{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}
.authority-years span{padding:8px 5px;background:#f7f2e8;font-size:12px;font-weight:800;color:#5e4a25;border-radius:6px}
.authority-message p{font-size:13px!important}

/* Embedded UTAGE lesson video */
.gift-video{padding-left:16px;padding-right:16px}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;margin:20px auto 0;background:#050b14;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(7,26,53,.16)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-fallback{margin-top:10px!important;font-size:11px!important;color:#667085!important}
.video-fallback a{color:#0b4f8a;font-weight:800;text-decoration:underline}

/* Visual upgrades inspired by PROJECT REBOOT JAPAN */
.gift-visual-card{padding-left:12px;padding-right:12px;overflow:hidden}
.gift-visual{width:100%;margin:18px 0 0;border-radius:12px;box-shadow:0 12px 28px rgba(7,26,53,.16)}
.words-visual{background:linear-gradient(180deg,#f7f1e6 0%,#fff 100%)}
.talk-words-image{width:calc(100% + 44px);max-width:none;margin:0 -22px 24px;box-shadow:0 16px 32px rgba(7,26,53,.16)}
.reboot{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.reboot-title-card{padding:22px 18px;background:#071a35;color:#fff;border-radius:14px;text-align:center;box-shadow:0 16px 34px rgba(7,26,53,.18)}
.reboot-kicker{font-size:12px!important;color:#f1ca6b;font-weight:900;letter-spacing:.08em;margin:0 0 6px!important}
.reboot-title-card h3{margin:0;font-size:18px;line-height:1.55}
.premium-event{border:0;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:0 12px 28px rgba(7,26,53,.12)}
.reboot-problem,.before-after,.program-wrap{margin-top:30px}
.reboot-problem h3,.before-after h3,.program-wrap h3,.why-2days h3{font-size:23px;line-height:1.45;margin:0 0 14px}
.why-2days{margin:30px -22px 0;padding:34px 22px;background:linear-gradient(145deg,#071a35,#154a7f);color:#fff}
.why-2days p{color:#dbe7f3}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.why-grid div{padding:14px 5px;text-align:center;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.07)}
.why-grid b{display:block;font-size:23px;color:#f1ca6b}.why-grid span{font-size:11px;font-weight:800;line-height:1.5}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ba{padding:16px 12px;border-radius:12px}.ba strong{display:block;text-align:center;margin-bottom:8px;font-size:12px;letter-spacing:.08em}.ba ul{margin:0;padding-left:18px}.ba li{font-size:11px;line-height:1.55;margin:5px 0}.before{background:#f3f4f6;border:1px solid #d9dde4}.after{background:#edf6ff;border:1px solid #a8cff5}.after strong{color:#0b5aaa}.day-card h4{font-size:18px;margin:12px 0 0;color:#071a35}.reboot-support{background:linear-gradient(180deg,#fff 0%,#f4f8fc 100%)}
.support-lead{text-align:center;color:#667085;margin-top:-8px!important}.icon-flow{display:grid;gap:9px}.icon-flow>div{padding:18px 14px;box-shadow:0 8px 22px rgba(7,26,53,.07)}.support-icon{display:block;font-size:28px;line-height:1;margin-bottom:8px}.icon-flow small{display:block;font-size:9px;color:#b58518;font-weight:900;letter-spacing:.12em}.icon-flow b{display:block;font-size:17px;margin-top:2px}.icon-flow p{font-size:11px!important;color:#667085;margin:4px 0 0!important}.icon-flow i{font-size:18px}

/* --- Oct update: PASSLABO special collaboration enhancements --- */
.hero-collab{position:relative;overflow:hidden;background:linear-gradient(180deg,#071a35 0%,#0b264b 100%)}
.collab-ribbon{position:absolute;top:14px;left:14px;right:14px;z-index:2;padding:10px 14px;border-radius:999px;background:linear-gradient(90deg,#b70716,#df3d20);color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;text-align:center;box-shadow:0 10px 24px rgba(117,3,11,.28)}
.hero-special-card{margin-top:-20px;position:relative;z-index:2;background:linear-gradient(180deg,#fff 0%,#f7f3ea 100%);border:1px solid #e4d8c8;box-shadow:0 16px 34px rgba(7,26,53,.18)}
.hero-special-card h1{font-size:31px}
.hero-mini-points{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 6px}
.hero-mini-points span{padding:8px 12px;border-radius:999px;background:#edf4ff;border:1px solid #c9daf5;color:#0f3864;font-size:11px;font-weight:800}
.collab-intro{margin-top:-6px;background:linear-gradient(180deg,#08172f 0%,#102f57 100%);color:#fff}
.collab-intro h2,.collab-intro p,.collab-intro .eyebrow{color:#fff}
.mini-collab-head{padding:0 0 4px;background:none}
.collab-photo-card{margin-top:18px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.18)}
.collab-photo-card .photo{margin:0;border-radius:0}
.collab-caption{padding:16px 16px 18px;color:#071a35}
.collab-caption strong{display:block;font-size:16px;line-height:1.5}
.collab-caption span{display:block;margin-top:8px;font-size:13px;line-height:1.75;color:#475467}
.collab-lead-box{margin:18px 0 0;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08)}
.collab-lead-box p{margin:0 0 10px!important;color:#e8eef7!important}.collab-lead-box p:last-child{margin-bottom:0!important}
.collab-intro .stat-row{margin-top:20px}
.collab-intro .stat-row div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.collab-intro .stat-row strong{color:#fff}
.collab-intro .stat-row span{color:#cbd7e8}
.present-head-upgraded{padding-bottom:26px}
.present-special-note{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.present-special-note span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:800;color:#fff}
.present .gift-card{border:1px solid #e4e9f1;box-shadow:0 14px 30px rgba(7,26,53,.08)}
.authority-photo{object-position:center top}
.words-visual .quote-highlight{padding:24px 18px;margin:0 0 18px;border-radius:16px;background:linear-gradient(145deg,#071a35,#143e70);color:#fff;text-align:center;font-family:serif;font-size:28px;line-height:1.55;box-shadow:0 14px 34px rgba(7,26,53,.16)}
.words-visual .quote-highlight strong{color:#f1ca6b;font-size:34px}
.words-visual .word-card{background:#fff;border:1px solid #e7decd;box-shadow:0 10px 26px rgba(7,26,53,.06)}
.words-visual .word-card span{background:#b58518;color:#fff}
.bonus-photo-grid{gap:14px}
.bonus-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #dfe6ef;box-shadow:0 12px 28px rgba(7,26,53,.08)}
.bonus-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#f4f6f9}
.bonus-copy{padding:16px 16px 18px;background:#071a35;color:#fff}
.bonus-copy span{display:block;font-size:10px;color:#f1ca6b;font-weight:900;letter-spacing:.12em}
.bonus-copy b{display:block;font-size:17px;line-height:1.5;margin-top:6px}
.bonus-copy p{margin:8px 0 0!important;color:#dbe3ef!important;font-size:12px!important;line-height:1.7}
.reboot-support .icon-flow>div{background:#fff}
.reboot-support .icon-flow i{display:block;text-align:center;color:#b58518;font-style:normal;font-weight:900}

/* --- refinement per latest feedback --- */
.hero-collab{padding-bottom:10px}
.hero-collab .hero-image{display:block}
.hero-special-card{margin:0 18px 0;transform:translateY(0)}
.hero-special-card,.hero-special-card *{color:#071a35}
.hero-special-card .hero-kicker{color:#b42318}
.hero-special-card .hero-lead{color:#475467}
.hero-special-card .micro{color:#667085}
.hero-special-card .cta{color:#fff}
.collab-intro{padding-top:24px}
.welcome-box{margin-top:18px!important;padding:18px 16px;background:#fff;border:1px solid #d9e2f0;border-radius:14px;box-shadow:0 10px 26px rgba(7,26,53,.08)}
.welcome-box p{color:#071a35!important;margin:0 0 8px!important}
.welcome-box p:last-child{margin-bottom:0!important}
.gift-video .gift-no{margin-bottom:10px}
.gift-video h3{margin-top:0}
.words-visual .talk-dialogue-image{width:calc(100% + 44px);max-width:none;margin:8px -22px 18px;display:block;box-shadow:0 18px 38px rgba(7,26,53,.18)}
.reboot-hero-banner{width:calc(100% + 44px);max-width:none;margin:0 -22px 22px;display:block;box-shadow:0 18px 38px rgba(7,26,53,.18)}
.authority-reason h3{font-size:18px}
.authority-message h3{line-height:1.45}


/* Latest bonus card image fixes */
.bonus-card img, .bonus-image{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#fff;}
.bonus-card{overflow:hidden;}
.bonus-image-book{padding:8px;background:#fff;}
.bonus-image-wide{padding:0;background:#fff;}
