:root{--navy:#16334d;--blue:#56869e;--pale:#f4fafd;--gold:#c8b477;--cta:#c4aa68;--line:#b9d9e7;--serif:"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:var(--sans);line-height:1.8;background:#fff url('/assets/background-original.png') center top/100% 100% no-repeat;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 max(44px,calc((100vw - 1660px)/2));background:rgba(255,255,255,.74);position:relative;z-index:4}.brand img{width:322px}.site-header nav{display:flex;align-items:center;gap:44px;font-family:var(--serif);font-weight:700;font-size:25px}.site-header nav a{padding:10px 0}.nav-cta{font-family:var(--sans)!important;background:var(--gold);padding:14px 31px!important;border-radius:999px}.full-bleed{width:100%}.section{max-width:1200px;margin:0 auto}.hero{min-height:1030px;padding:45px 3vw 70px}.hero-inner{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:398px minmax(520px,1fr) 398px;gap:40px;align-items:start}.portrait{text-align:center;margin:0}.portrait>img{width:398px;height:520px;object-fit:cover;border:15px solid #b9dfeb;border-bottom-width:10px;border-radius:200px 200px 0 0;box-shadow:inset 0 0 0 3px white}.portrait-left>img{object-position:50% 18%}.portrait-right>img{object-position:50% 12%}.portrait figcaption{display:grid;margin-top:24px;line-height:1.55}.portrait strong{font:700 48px var(--serif)}.portrait span{font:400 22px var(--serif)}.hero-copy{text-align:center}.hero h1{font:700 clamp(68px,5.4vw,104px)/1.45 var(--serif);letter-spacing:.03em;margin:-18px 0 20px}.hero h1 span{display:block}.hero-sub{font:700 34px var(--serif);margin:0 0 42px}.hero-program{display:grid;line-height:1.55;margin:0}.hero-program strong{font-size:42px}.hero-program span{font-size:31px;font-weight:700}.cross{display:block;width:72px;height:72px;margin:5px auto 10px;position:relative}.cross:before,.cross:after{content:"";position:absolute;left:35px;top:0;width:2px;height:72px;background:var(--gold);transform:rotate(45deg)}.cross:after{transform:rotate(-45deg)}.event-date{font:700 46px var(--serif);margin:0}.event-meta{font:400 29px var(--serif);margin:0 0 22px}.button{display:inline-flex;justify-content:center;align-items:center;gap:70px;min-width:460px;padding:20px 32px;background:var(--cta);font-size:28px;font-weight:700;line-height:1.2;border:0;color:var(--navy);cursor:pointer}.button span{font-size:38px;font-weight:400}.deadline{font-size:20px;margin:26px 0 0}.speakers{padding:70px 0 100px}.speaker{display:grid;grid-template-columns:1fr 1.12fr;column-gap:64px}.speaker h2{font:700 52px var(--serif);margin:0 0 10px}.section-kicker{font:700 40px var(--serif);margin:0 0 24px}.section-kicker:after,.section-heading p:after,.section>h2:after,.guidance>h2:after,.faq>h2:after,.application-copy>h2:after{content:"";display:block;width:52px;height:2px;background:var(--gold);margin-top:8px}.speaker-photo{overflow:hidden;border:1px solid var(--line)}.speaker-photo img{width:100%;height:100%;object-fit:cover}.photo-sugawara{height:390px;align-self:end}.photo-sugawara img{height:850px;object-position:50% 11%}.speaker-copy{font-size:21px}.career{font-size:17px}.career div{display:grid;grid-template-columns:100px 1fr;margin:13px 0}.career dt{font-weight:700}.career dd{margin:0}.speaker-notes{grid-column:1/-1;font-size:18px;margin-top:40px}.books{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:22px 0}.books h3{font:700 28px var(--serif);margin:0}.books p{margin:0}.speaker-notes small{display:block;text-align:center;margin-top:14px}.speaker-tachihara{margin-top:95px}.photo-tachihara{height:365px}.photo-tachihara img{height:730px;object-position:center 22%}.profile-text{margin-top:55px}.process{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:70px 0 35px;position:relative}.process:before{content:"";position:absolute;left:10%;right:10%;top:14px;height:2px;background:var(--line)}.process li{text-align:center;font-size:23px;font-weight:700;padding-top:38px;position:relative}.process li:before{content:"";position:absolute;top:1px;left:50%;width:22px;height:22px;border:2px solid var(--blue);border-radius:50%;background:white;transform:translateX(-50%)}.youtube{grid-column:1/-1}.youtube h3{font:700 39px var(--serif);margin:0}.youtube p{font-size:21px}.seminar{padding:110px 0 100px}.section-heading{text-align:center}.section-heading p{font-family:var(--serif);font-size:18px;color:var(--blue);margin:0}.section-heading p:after{margin:10px auto 28px}.section-heading h2{font:700 39px var(--serif);margin:0}.intro{font-size:18px;margin:70px 0 60px}.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.topics article{border:1px solid var(--gold);background:rgba(255,255,255,.7);text-align:center;padding:26px 26px 34px;min-height:490px}.topics img{width:232px;margin:0 auto 10px}.topics h3{font:700 27px var(--serif);line-height:1.5;margin:0}.topics p{font-size:17px;line-height:1.65}.program{margin-top:56px}.program h3{font:700 28px var(--serif);margin-bottom:4px}.program>p{margin-top:0}.timeline{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.75);border-top:1px solid var(--gold);padding:18px 55px 28px}.timeline article{text-align:center;position:relative}.timeline article:not(:last-child):after{content:"›";position:absolute;right:-12px;top:33px;color:var(--blue);font-size:35px}.timeline h4{font:700 28px var(--serif);margin:0 0 25px}.timeline h4:after{content:"";display:block;height:2px;background:var(--blue);margin:20px -40% 0}.timeline span{font-weight:700}.recommended{margin-top:60px;padding:55px 44px 80px;position:relative}.recommended:before,.recommended:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--navy),var(--navy)) left top/52px 2px no-repeat,linear-gradient(var(--blue),var(--blue)) left top/2px 52px no-repeat,linear-gradient(var(--navy),var(--navy)) right top/52px 2px no-repeat,linear-gradient(var(--navy),var(--navy)) right top/2px 52px no-repeat}.recommended:after{transform:rotate(180deg)}.recommended h2,.bonus>h2,.overview>h2,.guidance>h2,.faq>h2{font:700 40px var(--serif);text-align:center;margin:0 0 38px}.recommended h2:after,.bonus>h2:after,.overview>h2:after,.guidance>h2:after,.faq>h2:after{margin:14px auto 0}.recommend-row{display:grid;grid-template-columns:42% 58%;gap:42px;padding:18px 16px;border-bottom:1px solid var(--line);font-size:21px}.recommend-row strong:before{content:"✓";display:inline-grid;place-items:center;width:30px;height:30px;border:2px solid var(--blue);border-radius:50%;margin-right:16px;color:var(--blue)}.recommended .button{display:flex;width:440px;margin:70px auto 0}.bonus{padding:130px 0}.bonus-card{width:830px;margin:0 auto;border:1px solid var(--line);background:rgba(255,255,255,.74);display:grid;grid-template-columns:351px 1fr;gap:50px;padding:36px 50px;align-items:center}.bonus-card img{height:499px;width:auto}.bonus-card p{font:400 23px var(--serif);margin:8px 0}.bonus-card strong{font:700 48px var(--serif)}.bonus-card hr{border:0;border-top:1px solid var(--gold);margin:25px 0}.overview{padding:115px 0}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.details div{display:grid;grid-template-columns:120px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}.details dt{font-weight:700}.details dd{margin:0}.venue img{width:555px;height:555px;object-fit:contain;margin-top:12px}.venue small{display:block;margin-top:12px}.guidance{padding:120px 0}.guidance dl,.faq dl{margin:0}.guidance dl div{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line);padding:28px 34px;font-size:21px}.guidance dl div:last-child{border-bottom:1px solid var(--line)}.guidance dt{color:var(--blue);font-weight:700}.guidance dd{margin:0}.faq{padding:100px 0 130px}.faq dl>div{border-bottom:1px solid var(--line);padding:25px 0}.faq dt,.faq dd{display:grid;grid-template-columns:50px 1fr;margin:0}.faq dt{font-weight:700}.faq dd{margin-top:10px}.faq span{font:700 23px var(--serif);color:var(--blue)}.application{min-height:1200px;padding:130px 4vw 100px}.application-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:39% 61%;gap:70px}.application-copy h2{font:700 46px var(--serif);margin:40px 0 50px}.application-copy h3{font:700 28px var(--serif);margin:0}.application-copy p{font-family:var(--serif);font-size:22px}.event-date.small{font-size:24px;margin-top:55px}.preview-notice{margin-top:50px;padding:20px;border:1px solid var(--gold);background:rgba(255,255,255,.72);font-size:15px}.application-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}.application-form label{display:grid;align-content:start;font-weight:700}.application-form .wide{grid-column:1/-1}.application-form input:not([type=checkbox]),.application-form textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.88);padding:13px 14px;font:400 17px var(--sans);color:var(--navy);border-radius:0}.application-form textarea{resize:vertical}.application-form input:focus,.application-form textarea:focus{outline:3px solid rgba(86,134,158,.25);border-color:var(--blue)}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px}.check input{width:22px;height:22px;margin:0}.application-form button[disabled]{opacity:1;cursor:not-allowed}.field-error{font-size:14px;color:#a4262c}.disabled-note{font-size:14px;margin:0;text-align:center}.floating-cta{position:fixed;right:40px;bottom:32px;z-index:10;width:300px;padding:17px 24px;background:var(--cta);font-weight:700;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 24px rgba(22,51,77,.16);transition:opacity .2s,transform .2s}.floating-cta.is-hidden{opacity:0;transform:translateY(18px);pointer-events:none}
@media(max-width:1200px){.section{max-width:calc(100% - 64px)}.site-header{padding:0 32px}.site-header nav{gap:20px;font-size:19px}.hero-inner{grid-template-columns:280px 1fr 280px;gap:20px}.portrait>img{width:280px;height:410px}.portrait strong{font-size:34px}.portrait span{font-size:15px}.hero h1{font-size:70px}.hero-sub{font-size:25px}.hero-program strong{font-size:32px}.hero-program span{font-size:24px}.event-date{font-size:34px}.button{min-width:390px}.application-inner{max-width:100%}}
@media(max-width:800px){body{background-size:auto 100%;background-position:center top}.site-header{height:72px;padding:0 18px}.brand img{width:170px}.site-header nav a:not(.nav-cta){display:none}.nav-cta{font-size:14px;padding:9px 16px!important}.hero{min-height:auto;padding:35px 20px 70px}.hero-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.hero-copy{order:-1;width:100%}.hero h1{font-size:48px;line-height:1.35;margin:0}.hero-sub{font-size:17px;margin:14px 0 24px}.hero-program strong{font-size:24px}.hero-program span{font-size:18px}.cross{width:50px;height:50px}.cross:before,.cross:after{height:50px;left:24px}.event-date{font-size:25px}.event-meta{font-size:18px}.deadline{font-size:13px}.button{min-width:0;width:100%;font-size:20px;gap:40px}.portrait{width:calc(50% - 10px)}.portrait>img{width:100%;height:260px;border-width:8px}.portrait strong{font-size:25px}.portrait span{font-size:12px}.section{max-width:calc(100% - 36px)}.speakers,.seminar,.bonus,.overview,.guidance,.faq{padding:70px 0}.speaker{display:flex;flex-direction:column;gap:25px}.speaker-photo{order:-1;height:300px}.speaker-notes{margin-top:0}.career div{grid-template-columns:78px 1fr}.books{grid-template-columns:1fr}.speaker-tachihara{margin-top:70px}.photo-tachihara{order:2}.process{grid-template-columns:1fr;margin-top:30px}.process:before{top:0;bottom:0;left:14px;right:auto;width:2px;height:auto}.process li{text-align:left;padding:6px 0 20px 50px}.process li:before{top:9px;left:14px}.topics{grid-template-columns:1fr}.topics article{min-height:0}.intro br{display:none}.timeline{grid-template-columns:1fr;padding:25px}.timeline article:not(:last-child):after{right:50%;top:auto;bottom:-13px;transform:rotate(90deg)}.timeline h4:after{margin:10px 25%}.recommended{padding:50px 20px}.recommend-row{grid-template-columns:1fr;gap:7px;padding:22px 0}.recommended .button{width:100%}.bonus-card{width:100%;grid-template-columns:42% 1fr;gap:22px;padding:20px}.bonus-card img{height:auto}.bonus-card strong{font-size:32px}.overview-grid{grid-template-columns:1fr}.venue img{width:100%;height:auto}.guidance dl div{grid-template-columns:1fr;padding:22px 5px;gap:8px}.faq dt,.faq dd{grid-template-columns:35px 1fr}.application{padding:70px 18px}.application-inner{grid-template-columns:1fr;gap:35px}.application-copy h2{margin-top:0}.application-form{grid-template-columns:1fr}.application-form label{grid-column:1/-1}.floating-cta{right:12px;bottom:12px;width:calc(100% - 24px)}.section-kicker,.recommended h2,.bonus>h2,.overview>h2,.guidance>h2,.faq>h2{font-size:32px}.speaker h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.floating-cta{transition:none}}

/* Independent QA corrections */
.photo-tachihara img{width:100%;height:100%;object-fit:cover;object-position:center 31%}
.timeline{grid-template-columns:repeat(3,minmax(0,1fr));position:relative;overflow:hidden}
.timeline:before{content:"";position:absolute;left:15%;right:15%;top:76px;height:2px;background:var(--blue)}
.timeline article{min-width:0}
.timeline article:not(:last-child):after{top:45px;z-index:2}
.timeline h4{margin-bottom:42px}
.timeline h4:after{position:absolute;left:50%;top:51px;width:16px;height:16px;margin:0;border:2px solid var(--blue);border-radius:50%;background:white;transform:translateX(-50%);z-index:2}
.application-inner{grid-template-columns:minmax(0,39fr) minmax(0,61fr)}
.application-form{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.application-form label{min-width:0}
.required-mark{display:inline-block;margin-left:.35rem;padding:.08rem .42rem;border-radius:.15rem;background:var(--blue);color:#fff;font-size:.7em;font-style:normal;line-height:1.35;vertical-align:.12em}
.process li:not(:last-child):after{content:"›";position:absolute;right:-8px;top:-7px;color:var(--blue);font-size:34px;font-weight:400}
.company-cta-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.overview-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:190px;padding:9px 14px;background:var(--cta);font-size:13px;font-weight:700;line-height:1.3}
.overview-cta span{font-size:22px;font-weight:400}

@media(max-width:1500px) and (min-width:1201px){
  .hero-inner{grid-template-columns:300px minmax(500px,1fr) 300px;gap:28px}
  .portrait>img{width:300px;height:440px}
  .portrait strong{font-size:38px}
  .portrait span{font-size:17px}
  .hero h1{font-size:76px}
  .hero-sub{font-size:27px}
  .hero-program strong{font-size:34px}
  .hero-program span{font-size:25px}
}

.floating-cta{padding:0 .75rem;gap:.3rem}
.floating-free{margin:0;line-height:1.2;transform:translateY(-.125rem)}
.floating-label{margin:0;line-height:1.25;transform:translateY(-.125rem)}

@media(max-width:1280px){
  .floating-cta{padding:0 .35rem;gap:.12rem}
  .floating-free{margin:0;line-height:1.2;transform:translateY(-.0625rem)}
  .floating-label{margin:0;line-height:1.2;transform:translateY(-.0625rem)}
}

@media(max-width:800px){
  .timeline{grid-template-columns:1fr}
  .timeline:before,.timeline h4:after{display:none}
  .timeline h4{margin-bottom:10px}
  .application-inner,.application-form{grid-template-columns:1fr}
  .process li:not(:last-child):after{display:none}
  .company-cta-row{align-items:flex-start;flex-direction:column}
  .overview-cta{width:100%}
}

/* Approved typography scale (Sentinel_6950101da94c8191a1e51814e9413bc5) */
:root{
  font-size:100%;
  --type-h1:2.5rem;
  --type-h2:1.75rem;
  --type-h3:1.375rem;
  --type-h4:1.125rem;
  --type-body:1rem;
  --type-note:.8125rem;
}
body{font-size:var(--type-body);line-height:1.7}
h1,h2,h3{line-height:1.4!important}
h4{line-height:1.4!important}
h1{font-size:var(--type-h1)!important}
h2{font-size:var(--type-h2)!important}
h3{font-size:var(--type-h3)!important}
h4{font-size:var(--type-h4)!important}
.site-header nav{font-size:1rem}
.nav-cta{font-size:1rem!important}
.hero{min-height:53.125rem;padding-top:3.25rem;padding-bottom:4.5rem}
.hero-copy{padding-top:1.25rem}
.hero h1{margin:0 0 1.25rem;letter-spacing:.03em}
.hero-sub{font:700 var(--type-h3)/1.5 var(--serif);margin:0 0 2rem}
.hero-program strong{font-size:var(--type-h3)}
.hero-program span{font-size:var(--type-h4)}
.event-date{font-size:var(--type-h2)}
.event-meta{font-size:var(--type-body)}
.deadline{font-size:var(--type-note)}
.portrait strong{font-size:var(--type-h2)}
.portrait span{font-size:var(--type-note)}
.button{font-size:var(--type-h4)}
.section-kicker{font-size:var(--type-h2)}
.speaker-copy,.youtube p,.recommend-row,.guidance dl div{font-size:var(--type-body)}
.profile-text{margin-top:2rem}
.career,.speaker-notes,.intro,.topics p{font-size:var(--type-body)}
.speaker-notes small,.venue small,.disabled-note,.field-error{font-size:var(--type-note)}
.bonus-card strong{font-size:2rem}
.bonus-card p{font-size:var(--type-body)}
.application-copy p{font-size:var(--type-body)}
.event-date.small{font-size:var(--type-h4)}
.application{min-height:62rem}
.speakers{padding-top:4.5rem;padding-bottom:5.5rem}
.speaker-tachihara{margin-top:4.5rem}
.seminar,.overview,.guidance,.faq{padding-top:5.5rem;padding-bottom:5.5rem}
.bonus{padding-top:6rem;padding-bottom:6rem}
.recommended{margin-top:2.5rem}

@media(max-width:1500px) and (min-width:1201px){
  .hero{min-height:48rem}
  .hero h1{font-size:var(--type-h1)!important}
  .hero-sub{font-size:var(--type-h3)}
  .hero-program strong{font-size:var(--type-h3)}
  .hero-program span{font-size:var(--type-h4)}
}

@media(max-width:1200px){
  .hero h1{font-size:var(--type-h1)!important}
  .hero-sub{font-size:var(--type-h3)}
  .hero-program strong{font-size:var(--type-h3)}
  .hero-program span{font-size:var(--type-h4)}
  .event-date{font-size:var(--type-h2)}
}

@media(max-width:800px){
  :root{
    --type-h1:1.75rem;
    --type-h2:1.375rem;
    --type-h3:1.1875rem;
    --type-h4:1.0625rem;
    --type-body:1rem;
    --type-note:.75rem;
  }
  .hero{min-height:auto;padding-top:2.25rem;padding-bottom:4rem}
  .hero-copy{padding-top:0}
  .hero h1{font-size:var(--type-h1)!important;line-height:1.4}
  .hero-sub{font-size:var(--type-h3);margin:.875rem 0 1.5rem}
  .hero-program strong{font-size:var(--type-h3)}
  .hero-program span{font-size:var(--type-h4)}
  .event-date{font-size:var(--type-h2)}
  .event-meta{font-size:var(--type-body)}
  .portrait strong{font-size:var(--type-h2)}
  .portrait span{font-size:var(--type-note)}
  .section-kicker{font-size:var(--type-h2)}
  .application{min-height:auto}
}

/* User-requested header, hero, and ERP video treatment */
.site-header{height:5.25rem;justify-content:flex-start}
.brand img{width:15.625rem}
.hero{min-height:45rem;padding-top:2.75rem;padding-bottom:3.5rem}
.hero-copy{padding-top:3.5rem}
.hero h1{white-space:nowrap;margin-bottom:1.25rem}
.hero-sub{margin-bottom:2.5rem}
.hero .event-date{margin-top:0}
.youtube{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:2rem;align-items:start;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:1.5rem 0;margin-top:1.25rem}
.youtube h3,.youtube p{margin:0}

@media(max-width:1500px) and (min-width:1201px){
  .hero{min-height:41rem}
  .hero-copy{padding-top:2.75rem}
}

@media(max-width:1200px){
  .hero{min-height:40rem}
  .hero-copy{padding-top:2.25rem}
}

@media(max-width:800px){
  .site-header{height:4.25rem;padding-inline:1.125rem}
  .brand img{width:10rem}
  .hero{min-height:auto;padding-top:2rem;padding-bottom:3.5rem}
  .hero-copy{padding-top:0}
  .hero h1{white-space:normal;margin-bottom:.875rem}
  .hero-sub{margin-bottom:1.5rem}
  .youtube{grid-template-columns:1fr;gap:.75rem}
}

/* User-approved CTA system */
.button,.overview-cta{
  background:linear-gradient(135deg,#947124 0%,#caa94d 48%,#aa842d 100%);
  color:#fff;
  border-radius:999px;
  box-shadow:0 .35rem .9rem rgba(92,68,18,.2);
  font-weight:700;
}
.button{justify-content:space-between;padding-inline:2.25rem}
.button span,.overview-cta span{color:#fff}
.overview-cta{border-radius:999px;color:#fff}
.application-form button[disabled]{
  opacity:.58;
  filter:saturate(.7);
  box-shadow:none;
  cursor:not-allowed;
}
.floating-cta{
  width:8rem;
  height:8rem;
  padding:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  right:2rem;
  bottom:2rem;
  background:linear-gradient(145deg,#8e6b20 0%,#d0ad4d 54%,#a77d22 100%);
  color:#fff;
  box-shadow:0 .65rem 1.6rem rgba(60,43,12,.28);
  text-align:center;
}
.floating-free{
  position:absolute;
  top:-.65rem;
  left:50%;
  transform:translateX(-50%);
  min-width:3.75rem;
  padding:.18rem .7rem;
  border-radius:999px;
  background:#fff;
  color:#795a19;
  font-size:.75rem;
  font-weight:700;
  line-height:1.35;
  box-shadow:0 .2rem .5rem rgba(60,43,12,.16);
}
.floating-label{font-size:1.125rem;font-weight:700;line-height:1.35;letter-spacing:.04em}

@media(max-width:800px){
  .floating-cta{right:.9rem;bottom:.9rem;width:6.75rem;height:6.75rem}
  .floating-label{font-size:1rem}
}

/* CTA alignment corrections from independent visual QA */
.button,.overview-cta{position:relative;justify-content:center;text-align:center}
.button .button-label,.overview-cta .button-label{display:block;width:100%;font-size:inherit;font-weight:700;line-height:1.3;text-align:center}
.button .button-chevron,.overview-cta .button-chevron{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;line-height:1}
.overview-cta .button-chevron{right:.8rem;font-size:1.15rem}
.floating-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .75rem .55rem}
.floating-free{position:static;transform:none;min-width:3.75rem;margin:0 0 .35rem;padding:.16rem .7rem}
.floating-label{display:block;width:100%;margin:0;text-align:center}

@media(max-width:800px){
  .floating-cta{padding:.85rem .6rem .45rem}
  .floating-free{min-width:3.4rem;margin-bottom:.25rem;font-size:.6875rem}
  .floating-label{font-size:1rem;text-align:center}
}

/* Muted site-aligned gold with accessible white text */
.button,.overview-cta{background:linear-gradient(135deg,#69572e 0%,#8a7440 50%,#625027 100%)}
.floating-cta{background:linear-gradient(145deg,#604c23 0%,#887039 54%,#5b471f 100%)}

@media(min-width:801px){
  .overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem}
  .details div{grid-template-columns:6.875rem minmax(0,1fr)}
  .venue img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
}

/* Overview continuation and disclosure-style FAQ */
.overview-guidance{padding:4.5rem 0 0}
.overview-guidance h2{margin-top:0}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;display:grid;grid-template-columns:3.125rem minmax(0,1fr);align-items:center;padding:1.55rem 3.5rem 1.55rem 0;font-weight:700;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"＋";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--blue);font-size:1.5rem;font-weight:400;line-height:1}
.faq-list details[open] summary::after{content:"−"}
.faq-list summary span,.faq-answer>span{font:700 1.4375rem var(--serif);color:var(--blue)}
.faq-answer{display:grid;grid-template-columns:3.125rem minmax(0,1fr);padding:0 3.5rem 1.55rem 0}
.faq-answer p{margin:0}
.faq-list summary:focus-visible{outline:3px solid rgba(86,134,158,.25);outline-offset:4px}

@media(max-width:800px){
  .overview-guidance{padding-top:3.5rem}
  .faq-list summary,.faq-answer{grid-template-columns:2.25rem minmax(0,1fr);padding-right:2.5rem}
  .faq-answer{padding-bottom:1.35rem}
}

/* Approved seminar-card copy */
.topics-heading{margin:0 0 1.5rem;font:700 1.375rem/1.4 var(--serif);text-align:center}
.topics article{min-height:36rem;padding:1.75rem 1.5rem 2.25rem;align-content:start}
.topics h3{min-height:4.5em;font:700 1.375rem/1.4 var(--serif)}
.topics p{margin:1rem 0 0;font-size:1rem;line-height:1.7;text-align:left}

@media(max-width:800px){
  .topics-heading{font-size:1.1875rem;margin-bottom:1.25rem}
  .topics article{min-height:0;padding:1.5rem 1.25rem 1.75rem}
  .topics h3{min-height:0;font-size:1.1875rem}
  .topics p{font-size:1rem;line-height:1.7}
}

/* Approved book-benefit hierarchy */
.bonus-panel{max-width:65rem;margin:0 auto;padding:3.5rem 4rem;border:1px solid var(--gold);background:rgba(255,255,255,.76)}
.bonus-intro{margin:0 0 1.25rem;font-size:1rem;line-height:1.7;text-align:center}
.bonus-main{margin:0;padding:1rem 1.5rem;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);font:700 1.625rem/1.4 var(--serif);text-align:center}
.bonus-content{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:4rem;align-items:center;margin-top:3rem}
.bonus-copy{min-width:0}
.bonus-label{margin:0 0 .4rem;color:var(--blue);font-size:.875rem;font-weight:700;letter-spacing:.08em}
.bonus-copy h3{margin:0;font:700 1.375rem/1.45 var(--serif)}
.bonus-subtitle{margin:.5rem 0 1.5rem;font-size:1rem;font-weight:700;line-height:1.7}
.bonus-description{margin:0;font-size:1rem;line-height:1.7}
.bonus-points{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.bonus-points h4{margin:0 0 .65rem;font:700 1.125rem/1.4 var(--serif)}
.bonus-points ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none;font-size:1rem;line-height:1.7}
.bonus-points li{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.65rem;align-items:start}
.bonus-check{width:1rem;height:1rem;margin-top:.35rem;color:#8a7440;overflow:visible}
.bonus-check path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bonus-content>img{width:100%;height:auto;align-self:center}
.application-copy>p:last-child{margin-bottom:0}

@media(max-width:800px){
  .bonus>h2{font-size:1.375rem}
  .bonus-panel{padding:2rem 1.25rem}
  .bonus-intro{text-align:left}
  .bonus-main{padding:.85rem .25rem;font-size:1.375rem;text-align:left}
  .bonus-content{grid-template-columns:1fr;gap:2rem;margin-top:2rem}
  .bonus-copy h3{font-size:1.1875rem}
  .bonus-content>img{width:min(15rem,80%);margin:0 auto}
}

/* Compact floating CTA at intermediate and small widths */
@media(max-width:1280px){
  .floating-cta{right:.75rem;bottom:.75rem;width:5rem;height:5rem;padding:.5rem .35rem .3rem}
  .floating-free{min-width:2.7rem;margin-bottom:.15rem;padding:.1rem .45rem;font-size:.625rem}
  .floating-label{font-size:.8125rem;line-height:1.25}
}

/* Approved full-page design v7 */
body{
  background:linear-gradient(180deg,#fff 0%,#fff 22%,#f8fcfe 54%,#eef7fb 100%);
}
.site-header{
  position:absolute;
  inset:0 0 auto;
  z-index:5;
  height:9.5rem;
  padding:3.25rem max(3rem,calc((100vw - 1696px)/2));
  background:transparent;
  pointer-events:none;
}
.brand{pointer-events:auto}
.brand img{width:15rem}
.hero{
  position:relative;
  min-height:67.5rem;
  padding:0;
  background:#f4fbff url('/assets/fv-pale-curves.png') center/cover no-repeat;
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:6.25rem;
  background:url('/assets/hero-white-fade.png') center bottom/100% 100% no-repeat;
  pointer-events:none;
}
.hero-inner{
  position:relative;
  display:block;
  width:min(1696px,calc(100% - 4rem));
  max-width:none;
  height:67.5rem;
  margin:0 auto;
}
.hero-copy{
  position:absolute;
  z-index:2;
  left:0;
  top:13.85rem;
  width:55.2%;
  padding:0;
  text-align:left;
}
.hero h1{
  display:inline-block;
  margin:0 0 1.4rem;
  font:700 6rem/1.16 var(--serif)!important;
  letter-spacing:.014em;
  white-space:nowrap;
  color:var(--navy);
  background:linear-gradient(90deg,var(--navy) 0 21%,#807448 27% 38%,var(--navy) 46% 69%,#8b8058 76% 89%,var(--navy) 96%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  border-bottom:2px solid rgba(22,51,77,.72);
}
.hero-sub{
  width:55.5rem;
  max-width:100%;
  margin:0 0 4.25rem;
  padding:.48rem 1.5rem .65rem;
  border-bottom:1px solid var(--gold);
  background:rgba(213,233,242,.78);
  font:700 2.375rem/1.38 var(--serif);
  letter-spacing:.025em;
  text-align:left;
}
.hero-event{display:flex;align-items:center;gap:2.6rem;margin-bottom:5.35rem}
.hero-date{position:relative;display:grid;grid-template-columns:auto auto auto;align-items:end;width:29.5rem;font-weight:700;line-height:1}
.hero-year{padding-bottom:.55rem;font-size:2.625rem}
.hero-date strong{font-size:6rem;line-height:.9;letter-spacing:.01em}
.hero-weekday{align-self:center;margin-left:2.25rem;padding-left:1.5rem;border-left:1px solid var(--gold);font-size:2rem;line-height:3.25rem}
.hero-time{grid-column:1/-1;margin-top:1.65rem;font-size:3.5rem}
.hero-conditions{display:grid;gap:1rem;width:17.625rem}
.hero-conditions span{display:grid;place-items:center;min-height:4.25rem;padding:.75rem;background:#104661;color:#fff;font-size:1.25rem;font-weight:700;line-height:1.3;text-align:center}
.hero-conditions span:first-child{font-size:1.5rem}
.hero .button{width:39rem;min-width:0;padding:1.55rem 2.4rem;font-size:2rem}
.hero .deadline{margin:1.5rem 0 0;font-size:1rem}
.portrait{position:absolute;z-index:1;width:auto;margin:0;text-align:left}
.portrait:before{content:"";position:absolute;z-index:-1;background:linear-gradient(145deg,#b6dce4,#89bed0)}
.portrait>img{width:100%;height:auto;border:0;border-radius:0;box-shadow:none;object-fit:contain;object-position:initial}
.portrait-left{left:54.75%;top:4.6rem;width:34.25rem}
.portrait-left:before{left:3.1rem;top:11.5rem;width:28.75rem;height:25.9rem;clip-path:polygon(0 0,100% 0,100% 34%,96% 53%,84% 72%,64% 91%,31% 100%,0 100%)}
.portrait-left>img{clip-path:polygon(0 3%,100% 3%,100% 36%,97% 48%,88% 57%,73% 63%,40% 67%,0 67%)}
.portrait-right{left:73%;top:22.25rem;width:36.875rem}
.portrait-right:before{left:6.4rem;top:14.3rem;width:22.4rem;height:16.3rem;border-radius:52% 52% 0 0;background:linear-gradient(145deg,#b4dada,#8fc1d2)}
.portrait-right>img{clip-path:polygon(11% 15%,84% 15%,84% 55%,50% 55%,35% 52%,22% 45%,11% 33%)}
.portrait figcaption{position:absolute;display:grid;margin:0;line-height:1.55}
.portrait-left figcaption{left:3.1rem;top:38.7rem}
.portrait-right figcaption{left:7.6rem;top:33rem}
.portrait strong{font:700 1.75rem var(--serif)}
.portrait span{font:400 1rem var(--serif)}
.section{width:min(1200px,calc(100% - 3rem));max-width:none}
.speakers{padding:5rem 0 0}
.speaker{grid-template-columns:22.5rem minmax(0,1fr);column-gap:4.3rem}
.speaker-sugawara{min-height:56rem}
.section-kicker{font:700 1.75rem/1.4 var(--serif);margin:0 0 2.25rem}
.speaker h2{font:700 1.75rem/1.4 var(--serif);margin:0 0 .5rem}
.speaker-copy{font-size:1rem}
.photo-sugawara{height:27.25rem;align-self:start;margin-top:5.35rem}
.photo-sugawara img{height:100%;object-fit:cover;object-position:center 15%}
.career{margin-top:1.8rem;font-size:1rem}
.career div{grid-template-columns:7.15rem 1fr;margin:1.15rem 0}
.speaker-notes{margin-top:2.25rem;font-size:1rem}
.speaker-notes>p{margin:0 0 1.7rem}
.speaker-bio{margin:0 0 1.7rem}
.speaker-bio p{margin:0 0 1rem}
.speaker-bio p:last-child{margin-bottom:0}
.books{grid-template-columns:10rem 1fr;padding:1.2rem 0}
.books h3{font:700 1.5rem/1.4 var(--serif)}
.speaker-notes small{text-align:right}
.speaker-tachihara{grid-template-columns:minmax(0,1fr) 20rem;column-gap:4.5rem;min-height:40rem;margin-top:0;padding-top:4.4rem}
.speaker-tachihara .speaker-copy{grid-column:1/2}
.photo-tachihara{grid-column:2/3;grid-row:1;height:19.4rem;width:20rem;justify-self:end}
.photo-tachihara img{height:100%;object-position:center 31%}
.profile-text{margin-top:1.25rem}
.profile-text p{margin:0 0 .75rem}
.profile-text p:last-child{margin-bottom:0}
.youtube{margin-top:2.25rem;padding:1.25rem 0;grid-template-columns:21rem minmax(0,1fr)}
.youtube h3{font:700 1.5rem/1.4 var(--serif)}
.seminar{padding:4.75rem 0 5.5rem}
.section-heading p{font-size:1rem}
.section-heading h2{font:700 1.75rem/1.4 var(--serif)}
.section-heading .seminar-label{color:var(--navy);font:700 2rem/1.4 var(--serif)}
.intro{margin:3.4rem auto 2.7rem;max-width:53rem;font-size:1rem;text-align:center}
.topics-heading{margin-bottom:2.15rem}
.topics{gap:1.75rem}
.topics article{min-height:28.5rem;padding:1.8rem 1.75rem 2rem;text-align:left;border-color:#cadde6}
.topics img{width:10.5rem;height:10.5rem;object-fit:contain;margin:0 auto 1.25rem}
.topics h3{min-height:3.9em;font-size:1.375rem}
.program{margin-top:3.2rem}
.program h3{font:700 1.375rem/1.4 var(--serif)}
.timeline{padding:1.15rem 2.75rem 1.75rem}
.timeline:before{top:4.65rem}
.timeline h4{font:700 1.125rem/1.4 var(--serif);margin-bottom:2.6rem}
.timeline h4:after{top:3.82rem;width:1rem;height:1rem}
.recommended{width:min(1200px,calc(100% - 3rem));margin:0 auto;padding:2.65rem 1.5rem 3.1rem}
.recommended h2{margin-bottom:2rem}
.recommend-row{grid-template-columns:38% 62%;gap:2rem;padding:.92rem 1rem;font-size:1rem}
.recommend-row strong{display:flex;align-items:center;font-size:1.375rem}
.recommend-row strong:before{flex:0 0 auto;width:2.375rem;height:2.375rem;margin-right:1.35rem}
.bonus{padding:5.6rem 0 5.3rem}
.bonus>h2,.overview>h2,.faq>h2{font-size:1.75rem!important;text-align:left;margin-bottom:2.9rem}
.bonus>h2:after,.overview>h2:after,.faq>h2:after{margin-left:0}
.bonus-panel{padding:2.2rem 3.7rem;max-width:65rem;background:rgba(245,251,254,.72)}
.bonus-main{font-size:1.625rem}
.bonus-content{grid-template-columns:minmax(0,1fr) 17.5rem;gap:4rem;margin-top:2.35rem}
.overview{padding:4.5rem 0 5rem}
.overview-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,.82fr);gap:4.9rem}
.details{margin:0}
.details div{grid-template-columns:7.65rem 1fr;padding:.92rem 0}
.venue p{margin:0 0 1.25rem}
.venue-map{display:block;width:100%;height:27.5rem;margin-top:1.5rem;border:1px solid var(--line)}
.venue .venue-map{margin-top:0}
.venue-map-link{display:inline-block;margin-top:.75rem;color:#087eb5;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.overview-guidance{padding:5.3rem 0 0}
.overview-guidance h2{font-size:1.75rem!important;text-align:left;margin-bottom:1.4rem}
.overview-guidance h2:after{margin-left:0}
.guidance dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}
.guidance dl div{display:block;padding:1.25rem 0;border-bottom:0;font-size:1rem}
.guidance dl div:last-child{border-bottom:0}
.guidance dt{padding-top:1rem;border-top:1px solid var(--line);margin-bottom:.9rem}
.faq{padding:4.25rem 0 4.8rem}
.faq>h2{margin-bottom:2.2rem}
.faq-list summary{padding:1.1rem 3.5rem 1.1rem .4rem}
.faq-answer{padding:0 3.5rem 1.15rem .4rem}
.application{min-height:64.4rem;padding:5.75rem 1.5rem 4.5rem;background:rgba(231,244,249,.76)}
.application-inner{grid-template-columns:minmax(0,37fr) minmax(0,63fr);gap:4rem}
.application-copy h2{font-size:1.75rem!important;margin:0 0 3.3rem}
.application-copy h3{font-size:1.375rem!important}
.application-copy p{font-family:var(--sans)}
.application-form{gap:1.45rem 1.4rem}
.application-form input:not([type=checkbox]){min-height:3.4rem}
.application-form textarea{min-height:7.5rem}
.application-form .button{min-height:4.3rem}

@media(max-width:1599px){
  .site-header{height:7.5rem;padding-top:2.5rem;padding-bottom:2rem}
  .brand img{width:12.5rem}
  .hero{min-height:52rem}
  .hero-inner{height:52rem}
  .hero-copy{top:10.5rem;width:55%}
  .hero h1{font-size:clamp(3.75rem,5.5vw,5.2rem)!important}
  .hero-sub{margin-bottom:2.7rem;font-size:clamp(1.65rem,2.2vw,2.05rem)}
  .hero-event{gap:1.5rem;margin-bottom:3.1rem}
  .hero-date{width:24rem}
  .hero-year{font-size:2rem}.hero-date strong{font-size:4.8rem}.hero-weekday{font-size:1.65rem}.hero-time{font-size:2.8rem;margin-top:1.1rem}
  .hero-conditions{width:14rem}.hero-conditions span{min-height:3.5rem;font-size:1rem}.hero-conditions span:first-child{font-size:1.25rem}
  .hero .button{width:34rem;padding:1.15rem 2rem;font-size:1.55rem}
  .portrait-left{top:3.4rem}.portrait-right{top:17rem}
  .portrait-left figcaption{top:36rem}.portrait-right figcaption{top:31rem}
}

@media(max-width:1599px) and (min-width:1201px){
  .portrait-left{left:52%;width:30rem}
  .portrait-right{left:68%;width:27rem}
  .portrait-left figcaption{top:32rem}
  .portrait-right figcaption{left:5.4rem;top:26rem}
}

@media(max-width:1200px){
  .hero{min-height:46rem}
  .hero-inner{height:46rem;width:calc(100% - 2.5rem)}
  .hero-copy{top:8.8rem;width:60%}
  .hero h1{font-size:clamp(3rem,5.4vw,4rem)!important}
  .hero-sub{font-size:1.45rem;margin-bottom:2rem;padding-left:1rem}
  .hero-event{margin-bottom:2rem;gap:1rem}
  .hero-date{width:20.5rem}.hero-year{font-size:1.6rem}.hero-date strong{font-size:3.8rem}.hero-weekday{font-size:1.35rem;margin-left:1.2rem;padding-left:1rem}.hero-time{font-size:2.3rem}
  .hero-conditions{width:12rem}.hero-conditions span{min-height:3rem;padding:.5rem;font-size:.85rem}.hero-conditions span:first-child{font-size:1rem}
  .hero .button{width:29rem}
  .portrait-left{left:52%;width:26rem}.portrait-right{left:68.5%;top:15rem;width:21rem}
  .portrait-left figcaption{left:2rem;top:28rem}.portrait-right figcaption{left:3.5rem;top:21.75rem}
  .portrait-left:before,.portrait-right:before{display:none}
}

@media(max-width:800px){
  .site-header{height:4.5rem;padding:1.25rem 1.125rem}.brand img{width:9.5rem}
  .hero{min-height:auto;padding:5.8rem 0 3.5rem;background-position:61% top}
  .hero:after{height:3rem}
  .hero-inner{display:flex;flex-wrap:wrap;align-items:flex-start;height:auto;width:calc(100% - 2.25rem);gap:0}
  .hero-copy{position:relative;top:auto;left:auto;width:100%;order:0}
  .hero h1{font-size:2.4rem!important;white-space:normal;line-height:1.3!important;margin-bottom:.9rem}
  .hero-sub{width:100%;font-size:1.06rem;margin-bottom:1.75rem;padding:.55rem .65rem}
  .hero-event{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.6rem}
  .hero-date{width:100%;grid-template-columns:auto auto 1fr;justify-content:start}.hero-year{font-size:1.3rem}.hero-date strong{font-size:3.25rem}.hero-weekday{font-size:1.15rem}.hero-time{font-size:2rem;margin-top:.85rem}
  .hero-conditions{grid-template-columns:1fr 1fr;width:100%;gap:.6rem}.hero-conditions span,.hero-conditions span:first-child{min-height:2.7rem;font-size:.82rem}
  .hero .button{width:100%;font-size:1.1rem;padding:1rem 1.5rem}
  .hero .deadline{font-size:.72rem}
  .portrait{position:relative;left:auto;top:auto;width:50%;margin-top:1.8rem;order:1}
  .portrait-left,.portrait-right{width:50%}
  .portrait-left>img,.portrait-right>img{clip-path:none}
  .portrait-left:before,.portrait-right:before{display:block;left:10%;top:27%;width:85%;height:48%;border-radius:0;clip-path:none}
  .portrait-right:before{top:32%;border-radius:50% 50% 0 0}
  .portrait figcaption,.portrait-left figcaption,.portrait-right figcaption{position:relative;left:auto;top:auto;margin-top:-.8rem;padding-left:.3rem}
  .portrait strong{font-size:1.2rem}.portrait span{font-size:.65rem}
  .section{width:calc(100% - 2.25rem)}
  .speakers{padding-top:3.5rem}
  .speaker,.speaker-sugawara,.speaker-tachihara{display:flex;min-height:0;padding-top:0;gap:1.5rem}
  .speaker-tachihara{margin-top:4.5rem}
  .speaker-photo{order:0;width:100%;height:auto;margin:0;aspect-ratio:4/3}
  .speaker-copy{order:1}.speaker-notes{order:2}.photo-tachihara{order:0;width:100%;height:auto}
  .career div{grid-template-columns:5rem 1fr}.books{grid-template-columns:1fr;gap:.75rem}.speaker-notes small{text-align:left}
  .youtube{order:3;grid-template-columns:1fr;gap:.65rem}
  .seminar{padding:4.5rem 0}.intro{text-align:left}.topics{grid-template-columns:1fr}.topics article{min-height:0}.topics h3{min-height:0}
  .timeline{grid-template-columns:1fr;padding:1.2rem}.timeline article{padding:.7rem 0}.timeline:before,.timeline h4:after{display:none}.timeline h4{margin-bottom:.4rem}.timeline article:not(:last-child):after{right:50%;top:auto;bottom:-1.2rem;transform:rotate(90deg)}
  .recommended{width:calc(100% - 2.25rem);padding:2.7rem 1.15rem}.recommend-row{grid-template-columns:1fr;gap:.45rem}.recommend-row strong{font-size:1.05rem}.recommend-row strong:before{width:2rem;height:2rem;margin-right:.8rem}
  .bonus{padding:4.5rem 0}.bonus-panel{padding:2rem 1.2rem}.bonus-content{grid-template-columns:1fr}.bonus-content>img{width:min(15rem,80%)}
  .overview{padding:4rem 0}.overview-grid{grid-template-columns:1fr;gap:2.75rem}.details div{grid-template-columns:5.5rem 1fr}.venue-map{height:21rem}.guidance dl{grid-template-columns:1fr;gap:0}.overview-guidance{padding-top:4rem}
  .faq{padding:4rem 0}.faq-list summary{padding-left:0}.faq-answer{padding-left:0}
  .application{padding:4rem 1.125rem}.application-inner{grid-template-columns:1fr;gap:2.5rem}.application-form{grid-template-columns:1fr}.application-form label{grid-column:1/-1}
}

/* Review corrections: simplified program rhythm and highlighted guidance */
.timeline{
  min-height:0;
  padding:1.25rem 0 1.5rem;
  border-top:0;
  overflow:visible;
}
.timeline:before,.timeline h4:after{display:none}
.timeline h4{margin:0 0 .8rem}
.timeline article:not(:last-child):after{top:.15rem;right:-.7rem;font-size:2rem;line-height:1}
.timeline span{display:block;padding:0 1rem;text-align:center}
.overview-guidance{
  margin-top:4.6rem;
  padding:2.75rem 2.75rem 2.9rem;
  border:1px solid var(--gold);
  background:rgba(238,247,251,.82);
}
.overview-guidance h2{margin-bottom:1.7rem}
.overview-guidance dl div,
.overview-guidance dl div:last-child{padding:.25rem 0;border:0}
.overview-guidance dt{margin:0 0 .85rem;padding:0;border:0}
.overview-guidance dd{margin:0}

@media(max-width:800px){
  .timeline{min-height:0;padding:1rem 1.2rem}
  .timeline h4{margin:0 0 .4rem}
  .timeline article:not(:last-child):after{top:auto;right:50%;bottom:-1.2rem}
  .timeline span{padding:0}
  .overview-guidance{margin-top:3.5rem;padding:2rem 1.25rem 2.1rem}
  .overview-guidance dl div{padding:1rem 0}
}

/* Preview-only path to the dedicated completion page. */
.application-payment{align-self:start;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--gold);background:rgba(255,255,255,.08)}
.application-payment h3{margin:.35rem 0 1.5rem;font:700 clamp(1.6rem,3vw,2.35rem)/1.4 var(--serif)}
.payment-eyebrow{margin:0;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.16em}
.payment-card-brands{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;margin:-.75rem 0 1.15rem;padding:.75rem 1rem;border-left:3px solid #ffe680;background:rgba(255,230,128,.1);font-size:clamp(.9rem,1.4vw,1rem);line-height:1.6}
.payment-card-brands strong{color:#ffe680;font-weight:800}.payment-card-brands span{color:#fff;font-weight:700}
.application-payment dl{margin:0 0 2rem;border-top:1px solid rgba(216,182,94,.45)}
.application-payment dl div{display:grid;grid-template-columns:7rem 1fr;gap:1.25rem;padding:.9rem 0;border-bottom:1px solid rgba(216,182,94,.3)}
.application-payment dt{font-weight:700}.application-payment dd{margin:0}
.application-payment .button{width:100%;min-width:0;text-decoration:none}
.application-payment .square-payment-link[aria-disabled="true"]{cursor:not-allowed;filter:saturate(.55);opacity:.78}
.application-payment .disabled-note{margin:1rem 0 0;text-align:left}
.payment-legal{margin:1.25rem 0 0}.payment-legal a{color:inherit;font-weight:700;text-underline-offset:.25rem}
@media(max-width:800px){.payment-card-brands{display:grid;gap:.1rem;margin-top:-.45rem;padding:.75rem .85rem;font-size:.88rem}}
.preview-thanks{
  display:grid;
  justify-items:center;
  gap:.55rem;
  margin-top:.8rem;
  padding:1.2rem;
  border:1px dashed rgba(8,126,181,.5);
  background:rgba(232,246,252,.64);
  text-align:center;
}
.preview-thanks-label{
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  padding:.2rem .75rem;
  border-radius:999px;
  color:#fff;
  background:var(--navy);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
}
.preview-thanks a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:.25rem}
.preview-thanks small{font-size:var(--type-note);font-weight:400}

/* Approved background-2 FV and blue accent system */
:root{
  --navy:#103c58;
  --blue:#087eb5;
  --gold:#087eb5;
  --cta:#087eb5;
  --line:#dce3ea;
}

.button,.overview-cta,.floating-cta{
  color:#fff;
  background:#087eb5;
}
.button:hover,.overview-cta:hover,.floating-cta:hover{background:#066b9a}
.bonus-check{color:#087eb5}

.site-header{
  height:min(8vw,9.5rem);
  padding:min(2.92vw,3.5rem) max(5.833vw,calc((100vw - 1696px)/2));
}
.brand img{width:min(12.5vw,15rem)}
.hero{
  min-height:min(56.25vw,67.5rem);
  height:min(56.25vw,67.5rem);
  background:#f7fcff url('/assets/fv-background-curve2.png') center/cover no-repeat;
}
.hero:after{
  z-index:1;
  height:min(11.46vw,13.75rem);
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 100%);
}
.hero-inner{
  width:100%;
  max-width:120rem;
  height:100%;
}
.hero-copy{
  left:5.833%;
  top:20.833%;
  width:52.1%;
}
.hero h1{
  display:flex;
  width:88.8%;
  align-items:baseline;
  margin:0;
  padding:0 0 .15em;
  border-bottom:1px solid rgba(16,60,88,.72);
  color:#103c58;
  background:none;
  -webkit-text-fill-color:currentColor;
  font:700 min(5vw,6rem)/1.08 var(--serif)!important;
  letter-spacing:.014em;
  white-space:nowrap;
}
.hero h1 span{display:inline}
.hero h1 em{color:#087eb5;font-style:normal}
.hero-sub{
  width:88.8%;
  margin:min(1.65vw,1.98rem) 0 0;
  padding:0 0 min(.65vw,.78rem);
  border-bottom:1px solid #dce3ea;
  background:none;
  font:700 min(1.98vw,2.375rem)/1.38 var(--sans);
}
.hero-event{
  gap:min(2.1vw,2.5rem);
  margin:min(4.1vw,4.9rem) 0 0;
}
.hero-date{width:min(25vw,30rem)}
.hero-year{font-size:min(2.19vw,2.625rem)}
.hero-date strong{font-size:min(5vw,6rem)}
.hero-weekday{
  margin-left:min(2.4vw,2.9rem);
  padding-left:min(1.2vw,1.45rem);
  border-left:1px solid #dce3ea;
  font-size:min(1.67vw,2rem);
}
.hero-time{margin-top:min(1.5vw,1.8rem);font-size:min(2.92vw,3.5rem)}
.hero-conditions{width:min(14.69vw,17.625rem);gap:min(.84vw,1rem)}
.hero-conditions span{min-height:min(3.55vw,4.25rem);font-size:min(1.05vw,1.25rem)}
.hero-conditions span:first-child{font-size:min(1.1vw,1.3rem)}
.hero .button{
  width:min(34.8vw,41.75rem);
  margin-top:min(5.25vw,6.3rem);
  padding:min(1.25vw,1.5rem) min(2vw,2.4rem);
  border-radius:999px;
  font-size:min(1.67vw,2rem);
}
.hero .deadline{margin:min(1.8vw,2.15rem) 0 0;font-size:min(.84vw,1rem)}
.hero .deadline strong{color:#087eb5;font-size:min(2.19vw,2.625rem);line-height:1}

.portrait{z-index:2;overflow:visible}
.hero-clips{position:absolute;pointer-events:none}
.portrait:before{display:none;background:#bbdff2}
.portrait-frame{position:absolute;inset:0;z-index:0;width:100%;height:auto;overflow:visible;fill:#bbdff2}
.portrait>img{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  object-fit:contain;
  mask-mode:luminance;
  mask-repeat:no-repeat;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
}
.portrait-left{left:65.73%;top:1.11%;width:30.21%}
.portrait-left:before{
  left:18.62%;top:25.06%;width:75.52%;height:48.3%;
  clip-path:polygon(0 0,100% 0,100% 14%,98% 32%,92% 51%,82% 68%,69% 82%,52% 93%,31% 100%,0 100%,0 59%,12% 57%,23% 52%,33% 43%,41% 31%,45% 16%,45% 0);
}
.portrait-left>img{
  mask-image:url('/assets/sugawara-fv-mask-v2.png');
  -webkit-mask-image:url('/assets/sugawara-fv-mask-v2.png');
  clip-path:url('#sugawara-fv-clip');
}
.portrait-right{left:48.13%;top:36.48%;width:33.85%}
.portrait-right:before{
  left:22.46%;top:30.33%;width:60%;height:32.78%;
  clip-path:polygon(0 0,13% 0,29% 2%,46% 8%,62% 18%,76% 33%,87% 51%,96% 72%,100% 100%,57% 100%,56% 85%,50% 69%,39% 56%,26% 47%,13% 44%,0 43%);
}
.portrait-right>img{
  mask-image:url('/assets/tachihara-fv-mask-v2.png');
  -webkit-mask-image:url('/assets/tachihara-fv-mask-v2.png');
  clip-path:polygon(22.46% 7.8%,87.1% 7.8%,87.1% 63.11%,22.46% 63.11%);
}
.portrait figcaption{
  z-index:2;
  width:15rem;
  padding:min(.84vw,1rem);
  background:#fff;
  line-height:1.5;
}
.portrait-left figcaption{left:-31.38%;top:39.08%;width:19rem}
.portrait-right figcaption{left:76%;top:48.57%}
.portrait figcaption span{order:-1;font:400 min(.84vw,1rem)/1.55 var(--sans)}
.portrait figcaption strong{font:700 min(1.67vw,2rem)/1.35 var(--serif)}

.overview-guidance{border-color:#087eb5;background:rgba(232,246,252,.9)}

@media(max-width:1200px) and (min-width:801px){
  .hero,.hero-inner{height:56.25vw;min-height:56.25vw}
  .hero-copy{top:20.2%;width:53%}
  .hero-event{margin-top:3.3vw}
  .hero .button{margin-top:3.6vw}
  .portrait figcaption{width:12.5vw;padding:.7vw}
}

@media(max-width:800px){
  .site-header{height:4.8rem;padding:1.2rem 1.125rem}.brand img{width:9.5rem}
  .hero{height:auto;min-height:auto;padding:5.8rem 0 3.5rem;background-position:62% top}
  .hero-inner{display:flex;height:auto;width:calc(100% - 2.25rem)}
  .hero-copy{position:relative;left:auto;top:auto;width:100%}
  .hero h1{width:100%;font-size:2.22rem!important;line-height:1.25!important;white-space:nowrap}
  .hero-sub{width:100%;margin-top:.85rem;padding-bottom:.55rem;font-size:1rem}
  .hero-event{margin-top:1.65rem}
  .hero-date{width:100%}.hero-year{font-size:1.3rem}.hero-date strong{font-size:3.25rem}.hero-weekday{font-size:1.15rem}.hero-time{font-size:2rem}
  .hero-conditions{width:100%;gap:.6rem}.hero-conditions span,.hero-conditions span:first-child{font-size:.82rem}
  .hero .button{width:100%;margin-top:1.5rem;padding:1rem 1.5rem;font-size:1.1rem}
  .hero .deadline{font-size:.72rem}.hero .deadline strong{font-size:1.6rem}
  .portrait,.portrait-left,.portrait-right{position:relative;left:auto;top:auto;width:50%;margin-top:1.5rem}
  .portrait-frame{display:none}
  .portrait-left>img,.portrait-right>img{clip-path:none}
  .portrait-left:before,.portrait-right:before{display:block;left:7%;top:25%;width:88%;height:49%;clip-path:none;border-radius:48% 48% 0 0}
  .portrait figcaption,.portrait-left figcaption,.portrait-right figcaption{position:relative;left:auto;top:auto;width:100%;min-height:5.35rem;margin-top:-1.2rem;padding:.65rem}
  .portrait-left figcaption{min-height:8.6rem}
  .portrait figcaption span{font-size:.62rem}.portrait figcaption strong{font-size:1.15rem}
}

/* Full-width follow-up footer CTA based on the approved reference behavior. */
.floating-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:10;
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:0;
  width:100%;
  height:auto;
  min-height:5.8rem;
  padding:.64rem max(2rem,calc((100vw - 75rem)/2));
  padding-bottom:calc(.64rem + env(safe-area-inset-bottom));
  border-radius:0;
  background:rgba(16,60,88,.97);
  color:#fff;
  font-weight:700;
  text-align:left;
  box-shadow:0 -8px 28px rgba(16,60,88,.18);
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
}
.floating-action{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:min(34.75rem,calc(100vw - 4rem));
  height:4.5rem;
  min-height:0;
  padding:0 1.6rem;
  border-radius:999px;
  background:var(--cta);
  box-shadow:0 5px 14px rgba(0,0,0,.16);
}
.floating-free{
  position:static;
  min-width:auto;
  margin:0;
  padding:0 1.6rem 0 0;
  transform:none;
  border-right:1px solid rgba(255,255,255,.5);
  border-radius:0;
  background:transparent;
  color:#fff;
  font-size:1.05rem;
  line-height:1.3;
  box-shadow:none;
  white-space:nowrap;
}
.floating-label{flex:1;width:auto;margin:0;font-size:1.2rem;font-weight:700;line-height:1.3;text-align:center;white-space:nowrap}
.floating-chevron{font-size:1.8rem;font-weight:400;line-height:1}
.floating-cta:hover{background:rgba(16,60,88,.97)}
.floating-cta:hover .floating-action{background:#066b9a}
.floating-cta.is-hidden{opacity:0;visibility:hidden;transform:translateY(100%);pointer-events:none}

@media(max-width:800px){
  .floating-cta{
    gap:0;
    min-height:3.175rem;
    padding:.32rem .75rem;
    padding-bottom:calc(.32rem + env(safe-area-inset-bottom));
  }
  .floating-action{width:min(19.625rem,100%);height:2.54rem;padding:0 .85rem}
  .floating-free{min-width:auto;margin:0;padding:0 .8rem 0 0;font-size:.72rem}
  .floating-label{font-size:.82rem}
  .floating-chevron{font-size:1.1rem}
  .application{padding-bottom:calc(4.375rem + env(safe-area-inset-bottom))}
}

/* Approved 2026-10 hero copy: keep the longer message prominent without crossing into the portraits. */
.hero h1{
  display:block;
  width:92%;
  font-size:clamp(3rem,3.15vw,3.8rem)!important;
  line-height:1.22!important;
  white-space:normal;
}
.hero h1 span{display:block}
.hero h1 em{display:inline}
.hero-sub{
  width:80%;
  font-size:clamp(1.25rem,1.35vw,1.75rem);
  line-height:1.45;
}
.hero-sub span{display:inline}
.hero-event{margin-top:min(2.4vw,2.875rem)}
.hero .button{margin-top:min(3.2vw,3.85rem)}

@media(max-width:800px){
  .hero h1{
    width:100%;
    font-size:1.5rem!important;
    line-height:1.35!important;
  }
  .hero-sub{
    width:100%;
    font-size:1rem;
    line-height:1.55;
  }
  .hero-sub span{display:block}
  .hero-event{margin-top:1.5rem}
  .hero .button{margin-top:1.5rem}
}

/* Centered application layout inspired by the approved event-form reference. */
.application{
  min-height:auto;
  padding-top:6rem;
  padding-bottom:6rem;
}
.application-inner{
  display:block;
  width:100%;
  max-width:56rem;
  margin:0 auto;
}
.application-copy{
  max-width:50rem;
  margin:0 auto 2.75rem;
  text-align:center;
}
.application-copy h2{
  margin:0;
}
.application-copy h2:after{
  margin-right:auto;
  margin-left:auto;
}
.application-copy h3{
  margin-bottom:.5rem;
}
.application-copy p{
  margin:.45rem 0;
}
.application-status{
  color:#ffe680;
  font-weight:700;
  letter-spacing:.04em;
}
.application-status:empty{display:none}
.application-confirmation{
  margin-top:1.25rem!important;
  line-height:1.8;
}
.application[data-sales-state="soldout"] .soldout-hide,
.application[data-sales-state="soldout"] .preview-thanks{
  display:none;
}
.application[data-sales-state="soldout"] .application-form{
  max-width:38rem;
}
.application[data-sales-state="soldout"] .application-status{
  display:inline-block;
  padding:.45rem .9rem;
  color:#231815;
  background:#eccf7e;
}
.application-copy .event-date.small{
  margin-top:1.5rem;
}
.application-form{
  width:100%;
  max-width:50rem;
  margin:0 auto;
}
.application-form .button{
  width:min(28rem,100%);
  min-width:0;
  justify-self:center;
}

@media(max-width:800px){
  .application{
    padding-top:4rem;
    padding-bottom:calc(4.375rem + env(safe-area-inset-bottom));
  }
  .application-copy{
    margin-bottom:2.25rem;
  }
  .application-form{
    grid-template-columns:1fr;
  }
  .application-form label{
    grid-column:1/-1;
  }
}

/* Keep the program separators optically centered between each item. */
.timeline article:not(:last-child):after{
  top:50%;
  transform:translateY(-50%);
}

@media(max-width:800px){
  .timeline article:not(:last-child):after{
    top:auto;
    right:50%;
    bottom:-1.2rem;
    transform:translateX(50%) rotate(90deg);
  }
}

/* 2026-10 paid-event palette: black, white and gold, based on the approved reference LP. */
:root{
  --navy:#231815;
  --blue:#7a5b00;
  --gold:#b99300;
  --cta:#b99300;
  --line:#d7c16e;
}

body{
  color:#231815;
  background:#f8f4e6;
}

.site-header{
  border-bottom:1px solid rgba(185,147,0,.5);
  background:#fff;
}

.hero{
  color:#fff;
  background:
    radial-gradient(circle at 82% 16%,rgba(236,207,126,.18),transparent 28%),
    radial-gradient(circle at 66% 72%,rgba(193,148,67,.14),transparent 31%),
    linear-gradient(135deg,#000 0%,#231815 64%,#0b0908 100%);
}
.hero:after{
  background:linear-gradient(180deg,rgba(248,244,230,0),#f8f4e6 100%);
}
.hero h1{
  color:#fff;
  border-color:rgba(236,207,126,.72);
  -webkit-text-fill-color:currentColor;
}
.hero h1 em,
.hero .deadline strong{color:#ffe680}
.hero-sub{border-color:rgba(236,207,126,.42)}
.hero-weekday{border-color:rgba(236,207,126,.55)}
.hero-conditions span{
  border:1px solid #c19443;
  color:#fff;
  background:#231815;
}
.hero-conditions span:first-child{
  color:#000;
  background:linear-gradient(135deg,#ffe680,#c19443);
}
.portrait-frame{fill:#c19443}
.portrait-left:before,.portrait-right:before{background:linear-gradient(145deg,#eccf7e,#b99300)}
.portrait figcaption{
  color:#231815;
  border:1px solid rgba(185,147,0,.45);
  background:#fff;
}

.button,.overview-cta,.floating-action{
  color:#000;
  background:linear-gradient(135deg,#ffe680 0%,#c19443 58%,#b99300 100%);
}
.button span,.overview-cta span{color:#000}
.button:hover,.overview-cta:hover,.floating-cta:hover .floating-action{
  color:#000;
  background:#eccf7e;
}
.button:focus-visible,.overview-cta:focus-visible,.floating-cta:focus-visible,
.faq-list summary:focus-visible,.application-form input:focus,.application-form textarea:focus{
  outline:3px solid #ffe680;
  outline-offset:3px;
}

.section-heading p,.guidance dt,.faq-list summary span,.faq-answer>span,
.bonus-label,.venue-map-link{color:#7a5b00}
.topics article,.timeline,.bonus-panel{
  border-color:#d7c16e;
  background:rgba(255,255,255,.86);
}
.timeline h4:after{background:#fff}
.recommended:before,.recommended:after{
  background:
    linear-gradient(#231815,#231815) left top/52px 2px no-repeat,
    linear-gradient(#b99300,#b99300) left top/2px 52px no-repeat,
    linear-gradient(#231815,#231815) right top/52px 2px no-repeat,
    linear-gradient(#231815,#231815) right top/2px 52px no-repeat;
}
.bonus-check{color:#7a5b00}
.overview-guidance{
  border-color:#b99300;
  background:rgba(255,230,128,.16);
}

.application{
  color:#fff;
  background:
    radial-gradient(circle at 18% 12%,rgba(236,207,126,.12),transparent 30%),
    #231815;
}
.application-form input:not([type=checkbox]),.application-form textarea{
  color:#231815;
  border-color:#c19443;
  background:#fff;
}
.required-mark{color:#000;background:#eccf7e}
.preview-thanks{border-color:#c19443;background:rgba(255,255,255,.08)}
.preview-thanks-label{color:#000;background:#eccf7e}
.preview-thanks a{color:#ffe680}

.floating-cta{
  color:#fff;
  background:rgba(0,0,0,.97);
  box-shadow:0 -8px 28px rgba(0,0,0,.28);
}
.floating-cta:hover{background:rgba(0,0,0,.97)}
.floating-free{
  color:#000;
  border-color:rgba(35,24,21,.38);
}
.floating-label,.floating-chevron{color:#000}

/* Keep the event identity compact and consistent across desktop and mobile. */
.site-header{
  height:75px;
  min-height:75px;
  padding-top:0;
  padding-bottom:0;
}
.brand img{
  width:auto;
  max-width:min(16rem,42vw);
  max-height:42px;
  height:auto;
}

@media(max-width:800px){
  .site-header{
    height:75px;
    min-height:75px;
    padding:0 1.125rem;
  }
  .brand img{
    width:auto;
    max-width:9.5rem;
    max-height:40px;
    height:auto;
  }
}

/* Restore the approved curve motif as a background-only black-and-gold layer. */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url('/assets/fv-background-curve2.png') center/cover no-repeat;
  filter:grayscale(1) invert(1) sepia(1) saturate(1.3);
  opacity:.72;
}
.hero h1{border-color:#eccf7e}
.hero-sub{border-color:rgba(236,207,126,.76)}
.hero-weekday{border-color:rgba(236,207,126,.8)}
.portrait-frame{fill:#d0a85c}

@media(max-width:800px){
  .hero::before{background-position:62% top}
}

/* Speaker hierarchy: Sugawara leads; Tachihara appears as the dialogue wipe. */
.portrait-left{
  left:60.2%;
  top:-1.5%;
  width:39.8%;
}
.portrait-left figcaption{
  left:-10%;
  top:45%;
  width:19rem;
  border-left:3px solid #eccf7e;
}
.portrait-right{
  left:auto;
  right:1.9%;
  top:auto;
  bottom:5.2%;
  width:15.5%;
  aspect-ratio:1;
  overflow:visible;
  border:3px solid #eccf7e;
  border-radius:50%;
  background:linear-gradient(145deg,#eccf7e,#8f6b1f);
  box-shadow:0 1rem 2.5rem rgba(0,0,0,.34);
}
.portrait-right .portrait-frame{display:none}
.portrait-right>img{
  position:absolute;
  left:-28%;
  top:-37%;
  width:154%;
  max-width:none;
  clip-path:circle(31.8% at 50.5% 47.5%);
}
.portrait-right figcaption{
  left:-47%;
  top:58%;
  width:12rem;
  min-height:0;
  padding:.72rem .85rem;
  border-left:3px solid #eccf7e;
}
.dialogue-label{
  display:inline-grid;
  place-items:center;
  justify-self:start;
  order:-2;
  margin:0 0 .35rem;
  padding:.12rem .7rem;
  border-radius:999px;
  background:#eccf7e;
  color:#17150f;
  font:700 min(.84vw,1rem)/1.45 var(--sans);
  letter-spacing:.14em;
}
.portrait-right figcaption span{font-size:min(.73vw,.875rem)}
.portrait-right figcaption strong{font-size:min(1.35vw,1.625rem)}

@media(max-width:1200px) and (min-width:801px){
  .portrait-left{left:59.5%;width:40.5%}
  .portrait-left figcaption{left:-8%;top:44%;width:16vw}
  .portrait-right{right:2%;bottom:5%;width:16%}
  .portrait-right figcaption{left:-52%;top:57%;width:11vw}
}

@media(max-width:800px){
  .hero-inner{position:relative;padding-bottom:15.5rem}
  .portrait-left{
    position:absolute;
    left:3%;
    right:auto;
    top:auto;
    bottom:0;
    width:78%;
    height:18.5rem;
    margin:0;
  }
  .portrait-left>img{position:absolute;left:0;bottom:-1rem;width:100%;max-width:none}
  .portrait-left figcaption{
    position:absolute;
    left:0;
    top:auto;
    bottom:.25rem;
    width:12rem;
    min-height:0;
    margin:0;
    padding:.55rem .65rem;
  }
  .portrait-left figcaption span{font-size:.59rem}
  .portrait-left figcaption strong{font-size:1.12rem}
  .portrait-right{
    position:absolute;
    left:auto;
    right:1%;
    top:auto;
    bottom:1rem;
    width:8.75rem;
    height:8.75rem;
    margin:0;
  }
  .portrait-right>img{position:absolute;left:-28%;top:-37%;width:154%;max-width:none;clip-path:circle(31.8% at 50.5% 47.5%)}
  .portrait-right:before{display:none}
  .portrait-right figcaption{
    position:absolute;
    left:-8%;
    top:64%;
    width:7.1rem;
    min-height:0;
    margin:0;
    padding:.42rem .5rem;
  }
  .portrait-right figcaption span{font-size:.47rem}
  .portrait-right figcaption strong{font-size:.85rem}
  .dialogue-label{margin-bottom:.15rem;padding:.06rem .48rem;font-size:.55rem}
}

/* Viewport-fit FV: preserve the hierarchy without stretching the desktop hero vertically. */
@media(min-width:801px){
  .hero,
  .hero-inner{
    height:min(56.25vw,calc(100vh - 75px),67.5rem);
    min-height:0;
  }
  .hero-copy{
    left:4.35%;
    top:11%;
    width:57.5%;
  }
  .hero h1{
    width:88%;
    font-size:min(4.25vw,5.1rem)!important;
  }
  .hero-sub{
    width:88%;
    margin-top:min(1.15vw,1.35rem);
    font-size:min(1.72vw,2.05rem);
  }
  .hero-event{
    margin-top:min(2.25vw,2.7rem);
  }
  .hero .button{
    width:min(30.5vw,36.5rem);
    min-height:3.25rem;
    margin-top:min(2.25vw,2.7rem);
    padding:min(.85vw,1rem) min(1.6vw,1.9rem);
    font-size:clamp(1rem,1.4vw,1.6rem);
  }
  .hero .deadline{
    margin-top:min(1vw,1.2rem);
  }
  .portrait-left{
    left:auto;
    right:2.5%;
    top:calc(99px - min(6.863vw,calc((100vh - 75px)*.11346)));
    width:min(37.5vw,calc((100vh - 75px)*.62),calc(37.5vw - 1.6rem));
  }
  .portrait-left figcaption{
    left:-8%;
    top:44%;
    width:min(17rem,19.5vw);
  }
  .portrait-right{
    right:4.2%;
    bottom:24%;
    width:min(16.5vw,calc((100vh - 75px)*.22));
  }
  .portrait-right figcaption{
    left:-2%;
    top:70%;
    width:min(10rem,11vw);
    padding:.42rem .55rem .5rem;
  }
  .portrait-right figcaption span{font-size:min(.62vw,.72rem);line-height:1.35}
  .portrait-right figcaption strong{font-size:min(1.1vw,1.35rem);line-height:1.2}
  .portrait-right .dialogue-label{
    margin-bottom:.18rem;
    padding:.06rem .48rem;
    font-size:min(.67vw,.78rem);
  }
}

@media(min-width:1201px){
  .portrait-left{right:5.75%}
  .portrait-left figcaption{left:-10%}
  .portrait-right{right:7.45%}
}

/* Use the complete original Tachihara photograph inside the circular wipe. */
.portrait-right>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:50% 22%;
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
  mask-image:none;
  -webkit-mask-image:none;
}

@media(max-width:800px){
  .portrait-left{
    left:-2%;
    width:84%;
  }
  .portrait-right{
    right:6%;
    width:9.25rem;
    height:9.25rem;
  }
  .portrait-right figcaption{
    left:11%;
    top:70%;
    width:6.2rem;
    padding:.3rem .38rem .36rem;
  }
  .portrait-right figcaption span{font-size:.43rem;line-height:1.3}
  .portrait-right figcaption strong{font-size:.75rem;line-height:1.15}
  .portrait-right .dialogue-label{margin-bottom:.1rem;padding:.04rem .36rem;font-size:.48rem}
}

/* Blend the compact header into the black FV while preserving the official logo artwork. */
.site-header{
  height:75px;
  min-height:75px;
  color:#fff;
  border-bottom:0;
  background:#000;
}
.site-header .brand img{filter:brightness(0) invert(1)}

/* Do not add glow layers here; the original curve artwork supplies the FV depth. */
.hero{
  background:#000;
}
.hero::before{
  filter:grayscale(1) invert(1) sepia(.42) saturate(.58) contrast(1.16) brightness(.9);
  opacity:1;
}
.hero h1{border-color:rgba(184,176,154,.78)}
.hero h1 em{color:#D8B65E}
.hero .deadline strong{color:#b6ab8d}
.hero-sub{border-color:rgba(184,176,154,.62)}
.hero-weekday{border-color:rgba(184,176,154,.7)}
.hero-conditions span{
  color:#fff;
  border-color:#8f8874;
  background:#171715;
}
.hero-conditions span:first-child{
  color:#11110f;
  background:#b8b09a;
}
.hero .portrait-frame{fill:#8A7338}
.hero .portrait-left::before,
.hero .portrait-right::before{background:#8A7338}
.hero .portrait figcaption{border-color:rgba(159,152,132,.62)}
.hero .portrait-left figcaption,
.hero .portrait-right figcaption{border-left-color:#a59d86}
.hero .portrait-right{
  border-color:#a59d86;
  background:#8A7338;
  box-shadow:none;
}
.hero .dialogue-label{
  color:#171715;
  background:#aaa28c;
}
.hero .button{
  color:#11110f;
  background:#D8B65E;
  box-shadow:none;
}
.hero .button .button-chevron,
.hero .button .button-label{color:#11110f}
.hero .button:hover{background:#D8B65E}

.hero .hero-conditions span:first-child{
  color:#fff;
  background:#171715;
}

@media(min-width:801px){
  .hero .portrait-left figcaption{width:min(18.5rem,21vw)}
  .hero .portrait-left figcaption span{
    font-size:min(.78vw,.875rem);
    white-space:nowrap;
  }
}

@media(max-width:800px){
  .hero .hero-inner{padding-bottom:23.5rem}
  .hero .portrait-left figcaption{width:12.5rem}
  .hero .portrait-left figcaption span{white-space:nowrap}
}

.portrait-left-photo-sp{display:none}

@media(max-width:800px){
  .portrait-left-photo-pc{display:none}
  .portrait-left-photo-sp{display:block}
}

/* r24: keep the approved FV figure scale and fit the complete six-line role list. */
@media(min-width:801px){
  .portrait-left-new-cutout{aspect-ratio:1366/2048}
  .portrait-left-new-cutout>.portrait-left-photo-new{
    position:absolute;
    left:-34.5%;
    top:10.6%;
    width:168%;
    max-width:none;
    height:auto;
    clip-path:none;
    mask-image:none;
    -webkit-mask-image:none;
  }
  .hero .portrait-left figcaption{
    left:calc(-10% - min(4.25rem,4.75vw));
    top:calc(44% + min(8.5rem,9.5vw));
    width:min(25rem,28vw);
    transform:translate(
      clamp(-2.25rem,calc(14.73vw - 11.68rem),6rem),
      clamp(.75rem,calc(5vw - 3.25rem),2.75rem)
    );
  }
  .hero .portrait-left figcaption .role-list{font-size:clamp(.65rem,.7vw,.8rem);line-height:1.42}
  .hero .portrait-right figcaption{transform:translateX(clamp(2rem,calc(3vw + .5rem),4.25rem))}
}

@media(min-width:801px) and (min-aspect-ratio:2/1){
  .hero .portrait-right figcaption{transform:translateX(clamp(4rem,7vw,8.5rem))}
}

.portrait-left figcaption .role-list,
.portrait-left figcaption .role-line,
.speaker-roles span{display:block}
.portrait-left figcaption .role-list{min-width:0;width:100%}
.hero .portrait-left figcaption .role-line{
  white-space:normal;
  line-break:strict;
  overflow-wrap:break-word;
}
.speaker-roles span{white-space:nowrap}
.speaker-roles{line-height:1.65}

@media(max-width:800px){
  .hero .hero-inner{padding-bottom:31.5rem}
  .hero .portrait-left{bottom:8rem}
  .portrait-left-new-cutout>.portrait-left-photo-new{
    left:-38%;
    top:auto;
    bottom:-1.2rem;
    width:203.4%;
    max-width:none;
    height:auto;
    clip-path:none;
    mask-image:none;
    -webkit-mask-image:none;
  }
  .hero .portrait-left figcaption{left:1.5rem;bottom:-7.75rem;width:calc(100vw - 2rem);padding:.5rem .58rem}
  .hero .portrait-left figcaption{transform:none}
  .hero .portrait-right figcaption{transform:translateY(-.5rem)}
  .hero .portrait-left figcaption .role-list{font-size:.56rem;line-height:1.42;letter-spacing:-.015em}
  .hero .portrait-left figcaption strong{font-size:1.05rem}
  .hero .portrait-right{bottom:9rem}
  .speaker-roles span{white-space:normal}
}

.seminar-footer{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  padding:1.5rem 1rem 5.5rem;
  color:#f7f1e3;
  background:#090909;
  font-size:.875rem;
}
.seminar-footer a{text-decoration:underline;text-underline-offset:.25rem}
.seminar-footer a:focus-visible{outline:3px solid #d8b65e;outline-offset:4px}

/* Restored lead form with a compact paid-entry summary. */
.application-fee-summary{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.2rem 1.25rem;
  align-items:baseline;
  margin:0 0 .35rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(236,207,126,.72);
  background:rgba(255,230,128,.08);
}
.application-fee-summary>div{display:flex;align-items:baseline;gap:.7rem}
.application-fee-summary>div span{font-size:.78rem;font-weight:700;letter-spacing:.08em}
.application-fee-summary>div strong{color:#ffe680;font-size:1.25rem}
.application-fee-summary>p{margin:0;font-size:.88rem}
.application-fee-summary .payment-card-brands{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:.1rem .45rem;
  margin:.35rem 0 0;
  padding:.55rem 0 0;
  border:0;
  border-top:1px solid rgba(236,207,126,.35);
  background:transparent;
  font-size:.82rem;
}
.application-form .payment-legal{margin:.1rem 0 0;text-align:center;font-size:.88rem}
.application-form .payment-legal a{text-decoration:underline}
.application-form button[disabled]{filter:saturate(.5);opacity:.76}

@media(max-width:800px){
  .application-fee-summary{grid-template-columns:1fr;gap:.35rem;padding:.9rem}
  .application-fee-summary>div{justify-content:space-between}
  .application-fee-summary .payment-card-brands{display:grid;gap:.08rem;margin-top:.35rem;padding-top:.55rem}
}

/* 2026-10 reference-matched light blue palette. Layout, content, and interaction state stay unchanged. */
:root{
  --navy:#0b3a59;
  --blue:#1189bf;
  --gold:#1189bf;
  --cta:#1189bf;
  --line:#c8dfec;
}
body{color:var(--navy);background:linear-gradient(180deg,#fff 0%,#fff 24%,#f7fcff 58%,#edf7fc 100%)}
.site-header{color:var(--navy);border-bottom:0;background:rgba(255,255,255,.78)}
.site-header .brand img{filter:none}
.hero{color:var(--navy);background:#f4fbff}
.hero::before{filter:none;opacity:.78}
.hero::after{background:linear-gradient(180deg,rgba(255,255,255,0) 0 80%,#fff 100%)}
.hero h1{color:var(--navy);border-color:rgba(11,58,89,.58);-webkit-text-fill-color:currentColor}
.hero h1 em,.hero .deadline strong{color:var(--blue)}
.hero-sub,.hero-weekday{border-color:rgba(17,137,191,.48)}
.hero-conditions span{color:#fff;border-color:#104b6a;background:#104b6a}
.hero .hero-conditions span:first-child{color:#fff;background:#104b6a}
.hero .portrait-frame{fill:#b9e2f4}
.hero .portrait-left::before,.hero .portrait-right::before{background:linear-gradient(145deg,#d8f0fa,#a9d8ed)}
.hero .portrait figcaption{color:var(--navy);border-color:rgba(8,126,181,.28);background:#fff}
.hero .portrait-left figcaption,.hero .portrait-right figcaption{border-left-color:var(--blue)}
.hero .portrait-right{border-color:var(--blue);background:#b9e2f4;box-shadow:none}
.hero .dialogue-label{color:#fff;background:var(--blue)}
.hero .button,.button,.overview-cta{color:#fff;background:var(--blue);box-shadow:none}
.hero .button .button-chevron,.hero .button .button-label,.button span,.overview-cta span{color:#fff}
.hero .button:hover,.button:hover,.overview-cta:hover{color:#fff;background:#0876a8}
.button:focus-visible,.overview-cta:focus-visible,.floating-cta:focus-visible,
.faq-list summary:focus-visible,.application-form input:focus,.application-form textarea:focus{outline-color:rgba(17,137,191,.38)}
.recommended:before,.recommended:after{
  background:
    linear-gradient(var(--navy),var(--navy)) left top/52px 2px no-repeat,
    linear-gradient(var(--blue),var(--blue)) left top/2px 52px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/52px 2px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/2px 52px no-repeat;
}
.topics article,.timeline,.bonus-panel{border-color:var(--line);background:rgba(255,255,255,.9)}
.section-heading p,.guidance dt,.faq-list summary span,.faq-answer>span,
.bonus-label,.bonus-check,.venue-map-link{color:var(--blue)}
.overview-guidance{border-color:var(--blue);background:rgba(226,245,253,.92)}
.application{color:var(--navy);background:linear-gradient(180deg,#eaf7fd,#f8fcfe)}
.application-payment{width:100%;max-width:50rem;margin:0 auto;border-color:rgba(17,137,191,.42);background:rgba(255,255,255,.82)}
.application-payment .payment-legal a{color:var(--blue)}
.application-fee-summary{border-color:rgba(17,137,191,.42);background:rgba(255,255,255,.82)}
.application-fee-summary>div strong{color:var(--blue)}
.application-fee-summary .payment-card-brands{border-top-color:rgba(17,137,191,.24)}
.payment-card-brands strong{color:var(--blue)}
.payment-card-brands span{color:var(--navy)}
.application-form input:not([type=checkbox]),.application-form textarea{color:var(--navy);border-color:var(--line);background:#fff}
.required-mark,.preview-thanks-label{color:#fff;background:var(--blue)}
.preview-thanks{border-color:rgba(17,137,191,.38);background:rgba(255,255,255,.82)}
.preview-thanks a,.application-form .payment-legal a{color:var(--blue)}
.floating-cta,.floating-cta:hover{color:#fff;background:rgba(11,58,89,.97);box-shadow:0 -8px 28px rgba(11,58,89,.16)}
.floating-action{color:#fff;background:var(--blue)}
.floating-cta:hover .floating-action{background:#0876a8}
.floating-free{color:#fff;border-color:rgba(255,255,255,.5)}
.floating-label,.floating-chevron{color:#fff}
.seminar-footer{color:#fff;background:var(--navy)}
.seminar-footer a:focus-visible{outline-color:var(--blue)}

/* 2026-10-22 annotated review: align the FV facts and the two explanatory rails. */
.hero h1{
  width:fit-content;
  max-width:92%;
}
.hero h1 em{margin-left:-.38em}
.hero-sub{
  width:fit-content;
  max-width:88.8%;
  padding-right:1.15rem;
}
.hero-date{
  grid-template-columns:max-content max-content max-content;
  justify-content:start;
  width:auto;
}
.hero-weekday{
  margin-left:min(1.15vw,1.35rem);
  padding-left:min(1.15vw,1.35rem);
}
.hero-conditions{align-self:center}
.hero .portrait-left figcaption{width:min(18.5rem,20.5vw)}
.lecture-title,
.program>h3,
.program>p{
  width:100%;
  max-width:53rem;
  margin-left:auto;
  margin-right:auto;
}
.lecture-title{margin-top:2.25rem;margin-bottom:0;text-align:center}
.program>h3{margin-bottom:.35rem;text-align:center}
.program>p{margin-top:0;margin-bottom:1.15rem;text-align:center}
.recommend-row strong{line-height:1.45}

@media(max-width:800px){
  .hero h1,.hero-sub{width:100%;max-width:none}
  .hero h1 em{margin-left:-.36em}
  .hero-date{grid-template-columns:max-content max-content max-content;width:100%}
  .hero-weekday{margin-left:.8rem;padding-left:.8rem}
  .hero .portrait-left figcaption{width:calc(100vw - 4.5rem)}
  .lecture-title{margin-top:1.75rem}
  .program>h3,.program>p{max-width:none}
}

/* Keep the stacked tablet layout, but do not scale the mobile cutout to twice a 768px viewport. */
@media(min-width:481px) and (max-width:800px){
  .hero .portrait-left{
    left:1.5rem;
    width:22rem;
  }
  .portrait-left-new-cutout>.portrait-left-photo-new{
    left:0;
    bottom:-6rem;
    width:100%;
  }
  .hero .portrait-left figcaption{
    left:1.5rem;
    width:calc(100vw - 4.5rem);
  }
}

/* Keep the mobile CTA and deadline clear of the tall Sugawara cutout at wider phone widths. */
@media(max-width:480px){
  .hero .hero-inner{
    padding-bottom:calc(31.5rem + clamp(0rem, calc(100vw - 20rem), 5.5rem));
  }
}

/* Pixel 7 Pro (480px): leave a little more air between the deadline and the portrait. */
@media(min-width:461px) and (max-width:480px){
  .hero .hero-inner{
    padding-bottom:38.5rem;
  }
}

/* iPad Air 5 portrait: keep the headline below the overlaid header. */
@media(min-width:801px) and (max-width:900px){
  .hero .hero-copy{
    top:24%;
  }
}

