/* Shared desktop rhythm, growing smoothly up to a 4K viewport. */
@media(min-width:1200px){
 :root{--desktop-width:clamp(1280px,78vw,2400px);--desktop-inset:clamp(48px,3vw,112px);--desktop-gap:clamp(64px,4vw,144px);--section-space:clamp(96px,5.8vw,220px)}
 .hero-inner,.section-shell,.hero-bottom,.site-header,.site-footer,.message-hero-inner,.message-layout,.message-join{width:100%!important;max-width:var(--desktop-width)!important;margin-inline:auto!important;padding-inline:var(--desktop-inset)!important}
 .hero-inner{padding-block:clamp(90px,5.5vw,200px)!important;gap:var(--desktop-gap)!important;grid-template-columns:1fr 1fr!important;min-height:min(82vh,1380px)}
 .hero #hero-heading{font-size:clamp(48px,2.8vw,100px)!important;line-height:1.5!important}
 .hero .eyebrow{font-size:clamp(14px,.7vw,24px)!important;gap:22px;margin-bottom:clamp(28px,1.6vw,58px)}
 .hero .tag,.hero-note{font-size:clamp(13px,.6vw,21px)!important}
 .hero-visual{max-width:clamp(520px,28vw,960px)!important;padding:0!important}
 #community-photo{width:84%!important;max-width:800px!important}
 .community-motto,.community-caption{font-size:clamp(22px,1.15vw,40px)!important}
 .community-caption{max-width:800px!important;margin-top:clamp(28px,1.4vw,54px)!important}
 .hero .button{font-size:clamp(16px,.75vw,26px)!important;min-height:clamp(60px,3vw,100px);padding:20px 32px!important}
 .hero-bottom{padding-block:clamp(20px,1vw,36px)!important;font-size:clamp(12px,.6vw,20px)!important}
 .section-shell{padding-block:var(--section-space)!important}
 .section-label{font-size:clamp(13px,.65vw,23px)!important;margin-bottom:clamp(56px,3vw,112px)!important;gap:clamp(24px,1.5vw,56px)!important;letter-spacing:.14em}
 .about-intro,.cohort-layout{grid-template-columns:1fr 1fr!important;gap:var(--desktop-gap)!important;align-items:center!important}
 .about-intro{margin-bottom:clamp(64px,4vw,148px)!important}
 #about-heading,.cohort-picker h3{font-size:clamp(36px,2.1vw,72px)!important;line-height:1.6!important;text-align:center!important;margin:0!important;align-self:center!important}
 .about-text{width:100%;max-width:760px!important;font-size:clamp(18px,.85vw,29px)!important;line-height:2!important}
 .about-text p{margin-bottom:clamp(22px,1.1vw,40px)!important}
 .topics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:0!important}
 .topic{padding:clamp(28px,1.8vw,68px)!important;min-width:0}
 .topic h3{font-size:clamp(24px,1.2vw,40px)!important}
 .topic p{font-size:clamp(16px,.75vw,26px)!important;line-height:2!important}
 .topic-no{font-size:clamp(13px,.6vw,21px)!important}
 .topic-english{font-size:clamp(22px,1vw,34px)!important}
 .message-teaser{font-size:clamp(20px,1vw,34px)!important;margin-top:clamp(40px,2.5vw,90px)!important;padding:clamp(26px,1.6vw,58px)!important;min-height:96px}
 .cohort-picker{padding:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(32px,2.2vw,80px)}
 .cohort-picker .profile-social{margin:0!important;max-width:clamp(280px,15vw,480px)!important;gap:clamp(14px,.7vw,24px)}
 .cohort-picker .profile-social a{min-height:clamp(68px,3vw,102px)!important;padding:18px 22px!important}
 .cohort-picker .profile-social a .social-label{font-size:clamp(14px,.65vw,23px)!important}
 #join .cohort-result{max-width:clamp(520px,27vw,900px)!important;padding:clamp(32px,1.7vw,64px)!important}
 #join .goen-join-header,#join .cohort-year-label{font-size:clamp(16px,.75vw,26px)!important}
 #join select{font-size:clamp(16px,.75vw,26px)!important;padding:clamp(16px,.85vw,30px)!important}
 #join .goen-help,#join .goen-flow,#join .goen-fee small{font-size:clamp(14px,.65vw,23px)!important}
 #join .goen-fee{padding-block:clamp(22px,1.4vw,48px)!important;margin-bottom:clamp(24px,1.5vw,52px)!important}
 #join .goen-fee strong{font-size:clamp(42px,2.2vw,78px)!important}
 #join #cohort-payment{font-size:clamp(18px,.85vw,29px)!important;min-height:clamp(64px,3.2vw,108px)!important}
 .site-footer{padding-block:clamp(40px,2.4vw,88px)!important;gap:32px!important;font-size:clamp(14px,.65vw,23px)!important}
 .site-footer small{font-size:inherit!important}
 .join-section{border-top:1px solid #e4c77e30}
}
@media(min-width:1200px){.hero #community-photo{width:84%!important;max-width:800px!important}.hero .hero-note{font-size:clamp(13px,.6vw,21px)!important}.cohort-picker .profile-social a{max-width:none!important;width:100%!important}.message-teaser span,.message-teaser{font-size:clamp(20px,1vw,34px)!important}.hero-bottom>span:last-child,.site-footer p{font-size:clamp(13px,.65vw,23px)!important}}
