/* Shared layout and navigation for all Rota pages. */
:root{--max:1440px}
html{scroll-padding-top:180px}
body{overflow-wrap:break-word}
h1,h2,h3,.serif{letter-spacing:0}
h1{font-size:80px}h2{font-size:56px}
.wrap{padding-inline:48px}
.site-header{position:sticky;top:0;z-index:40;background:#fff;backdrop-filter:none}
.nav-shell{max-width:var(--max);min-height:108px;margin:auto;padding:14px 48px;display:flex;align-items:center;gap:28px}
.logo,.logo img{width:180px}.logo img{height:80px}
#navigation{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:24px;margin-left:auto;min-width:0}
#navigation>a,#navigation summary{font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;padding:18px 0}
#navigation>a:hover,#navigation summary:hover{color:#277e85}
#navigation [aria-current=page],#navigation [aria-current=true],#navigation .is-current>summary{color:#277e85}
#navigation .nav-workshop{color:var(--ink);box-shadow:inset 0 -3px var(--orange)}
#navigation .nav-workshop:hover,#navigation .nav-workshop[aria-current=page]{color:#277e85}
.hero-workshop .hero-copy>p strong{color:var(--ink)}
.hero-workshop .hero-small{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hero-workshop .hero-small span{white-space:normal}
.nav-menu{position:relative;border:0;flex-shrink:0}
#navigation .nav-menu summary{display:flex;align-items:center;gap:8px;justify-content:flex-start}
#navigation .nav-menu summary:after{content:'';display:block;width:6px;height:6px;border-right:1.5px solid var(--teal);border-bottom:1.5px solid var(--teal);transform:rotate(45deg);margin:0 0 4px 2px;font-size:inherit;transition:transform .18s}
#navigation .nav-menu[open]>summary:after{content:'';transform:rotate(225deg);margin-bottom:0}
.submenu{position:absolute;left:-20px;top:100%;min-width:240px;padding:8px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:3px;box-shadow:0 18px 40px #143c4018;z-index:50}
.nav-contact .submenu{left:auto;right:-20px}
#navigation .submenu a{display:block;padding:14px 12px;font-size:14px;line-height:1.4;white-space:normal;border-radius:2px}
#navigation .submenu a:hover,#navigation .submenu a[aria-current=page]{background:#edf5f5;color:#216d73}
.header-contact{flex-shrink:0;min-height:48px;padding:12px 18px;font-size:13px;white-space:nowrap}
.mobile-contact{display:none!important}
.menu-toggle{display:none;width:46px;height:46px;padding:12px;border:1px solid var(--line);border-radius:3px;background:#fff;align-items:center;justify-content:center;flex-shrink:0}
.menu-icon{display:flex;flex-direction:column;gap:5px;width:20px}
.menu-icon{height:16px;flex-shrink:0}
.menu-icon i{display:block;height:2px;width:20px;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-icon i{flex-shrink:0}
.menu-toggle[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-backdrop{position:fixed;inset:0;background:#123c4059;z-index:39}
body.nav-open{overflow:hidden}
.hero h1{font-size:76px}.hero h1 em{font-size:inherit}
.hero-grid{grid-template-columns:1.08fr 1fr;gap:64px}
.hero-copy{min-width:0}.hero-art{min-width:0}
.hero-small b{letter-spacing:0}
.ribbon .wrap{font-size:17px;letter-spacing:0}
.home-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.home-intro p{color:var(--muted);font-size:17px;margin-bottom:28px}
.home-program-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.feature-link{position:relative;display:flex;flex-direction:column;padding:38px 36px 12px 0;min-width:0}
.feature-link+.feature-link{border-left:1px solid var(--line);padding-left:36px}
.feature-number{font-size:14px;color:#6b8588;margin-bottom:28px}
.feature-link .eyebrow{font-size:12px;margin-bottom:14px}
.feature-link h3{font-size:32px;margin-bottom:18px;line-height:1.2}
.feature-link p{color:var(--muted);max-width:460px;margin-bottom:28px;font-size:16px}
.feature-more{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:14px;font-weight:700}
.feature-more span{font-size:25px;color:#277e85;transition:transform .2s}
.feature-link:hover .feature-more span{transform:translate(3px,-3px)}
.home-club{background:var(--deep);color:white}
.home-club>.wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
.home-club .serif{color:var(--orange)}
.home-club p{color:#c4d9da;max-width:560px;margin:25px 0 30px}
.home-club .actions{align-items:center;gap:26px}
.home-metrics{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.home-metrics>div{border-top:1px solid #ffffff40;padding-top:24px}
.home-metrics strong{display:block;font-size:100px;font-weight:400;line-height:1.1}
.home-metrics span{font-size:15px;color:#c4d9da}
.home-life-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.home-life-grid h3{font-size:28px}
.site-invite{background:var(--orange);padding:60px 0}
.site-invite>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-invite h2{font-size:46px}
.site-invite .eyebrow:before{background:var(--ink)}
.footer-logo{border-radius:2px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}
.page-heading{padding:34px 0 0;background:var(--paper);border-bottom:1px solid var(--line)}
.breadcrumb{display:flex;justify-content:flex-start;position:static;margin:0;padding:0;gap:12px;color:var(--muted);font-size:13px;flex-wrap:wrap;border:0;box-shadow:none;background:none}
.breadcrumb a{font-size:13px;font-weight:400;white-space:normal;padding:0}
.breadcrumb a:hover{color:var(--ink)}
.page-heading-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:end;padding:48px 0 56px}
.page-heading h1{font-size:64px;max-width:800px;line-height:1.1}
.page-heading .eyebrow{font-size:12px;margin-bottom:20px}
.page-heading-grid>p{max-width:440px;color:var(--muted);font-size:17px;padding-bottom:3px}
.page-tabs{display:flex;position:static;justify-content:flex-start;gap:34px;margin:0;padding:0;border:0;background:none;box-shadow:none;overflow-x:auto}
.page-tabs a{font-size:15px;padding:16px 0;border-bottom:3px solid transparent;color:var(--muted)}
.page-tabs a[aria-current=page]{border-color:var(--orange);color:var(--ink)}
.breadcrumb,.page-tabs{flex-direction:row;align-items:center}
.reading-grid{display:grid;grid-template-columns:minmax(0,820px) minmax(220px,1fr);gap:100px}
.prose{max-width:820px;min-width:0}
.prose>p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 23px;white-space:normal}
.prose h2{font-size:27px;line-height:1.35;margin:42px 0 20px}
.prose h2:first-child{margin-top:0}
.reading-aside{position:sticky;top:175px;align-self:start;border-top:3px solid var(--orange);padding-top:24px}
.reading-aside .eyebrow{font-size:12px;margin-bottom:20px}
.reading-aside p{font-size:23px;font-family:Georgia,serif;line-height:1.5}
.aside-links{display:flex;flex-direction:column;margin-top:26px;border-top:1px solid var(--line)}
.aside-links a{font-size:14px;line-height:1.5;font-weight:700;padding:16px 0;border-bottom:1px solid var(--line)}
.aside-links a:hover{color:#277e85}
.program-panel{padding-top:0}
.program-title{font-size:42px;line-height:1.15}
.grade h3{font-size:17px;margin:0 0 6px;line-height:1.4}
.grade b{letter-spacing:0}
.system h2{max-width:850px}
.system-flow{gap:18px}.step{min-width:0}
.step b{font-size:14px;line-height:1.5;letter-spacing:0}
.step-detail h3{font-size:28px}
.club-metrics{margin-bottom:0;padding-bottom:0;border:0}
.metric strong{font-size:100px;letter-spacing:0}
.teacher-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:45px}
.teacher-item h3{line-height:1.25}
.teacher-note{max-width:800px;font-size:15px}
.team-principles{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}
.team-principles h3{font-size:24px;margin-bottom:16px}
.team-principles p{color:var(--muted);margin-bottom:30px}
.lessons-layout{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:start}
.lessons-layout>div:first-child{position:sticky;top:175px;min-width:0}
.lessons-layout h2{font-size:46px}
.lessons-layout>div>p{color:var(--muted);margin:26px 0}
.lesson-accordion{border-top:1px solid var(--line);min-width:0}
.lesson-accordion summary{font-size:19px;padding:25px 0;line-height:1.4}
.lesson-accordion summary .num{font-size:13px;width:22px}
.lesson-body{padding:0 0 30px 40px}
.lesson-body h3{font-size:18px;line-height:1.5;margin:25px 0 14px}
.lesson-body p{font-size:15px;color:var(--muted);margin:0 0 12px}
.lesson-body .textlink{display:inline-block;margin-top:22px}
.contact-page-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}
.contact-page-grid h2{font-size:50px}
.contact-page-grid>div>p{color:var(--muted);margin-top:25px}
.contact-status{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}
.contact-status h3{font-size:22px;margin-bottom:12px}
.contact-status p{color:var(--muted)}
.contact-preparation{border-left:1px solid var(--line);padding-left:50px}
.contact-preparation h3{font-size:27px}
.contact-preparation ol{list-style:none;counter-reset:meeting;padding:0;margin:32px 0 0}
.contact-preparation li{counter-increment:meeting;position:relative;padding:20px 0 20px 40px;border-top:1px solid var(--line)}
.contact-preparation li:before{content:'0' counter(meeting);position:absolute;left:0;top:21px;font-size:12px;color:#277e85}
.contact-preparation b{display:block;font-size:17px;margin-bottom:5px}
.contact-preparation li span{font-size:14px;color:var(--muted)}
@media(min-width:1280px) and (max-width:1919px){
  .hero h1{font-size:68px}.hero-grid{gap:48px}
}
@media(max-width:1279px){
  html{scroll-padding-top:100px}
  .nav-shell{height:88px;min-height:0;gap:18px;padding:8px 32px}
  .logo,.logo img{width:156px}.logo img{height:70px}
  .header-contact{display:inline-flex;margin-left:auto}
  .menu-toggle{display:flex}
  #navigation{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:14px 32px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #143c4010;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;max-height:var(--nav-panel-height,calc(100dvh - 120px));overflow-y:auto;overscroll-behavior:contain}
  #navigation.open{display:flex}
  #navigation>a,#navigation summary{font-size:16px;padding:17px 0;line-height:1.5;white-space:normal}
  #navigation>a,.nav-menu{border-bottom:1px solid var(--line)}
  #navigation .nav-menu summary{justify-content:space-between}
  #navigation .nav-menu summary:after{margin-right:3px}
  .submenu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--orange);border-radius:0;padding:4px 14px;margin:0 0 12px;background:var(--paper)}
  .nav-contact .submenu{right:auto}
  #navigation .submenu a{font-size:15px;padding:13px 12px}
  .mobile-contact{display:flex!important;justify-content:space-between;color:#277e85!important;border-bottom:0!important;margin-top:10px}
  .wrap{padding-inline:32px}
  h2{font-size:46px}.hero h1{font-size:56px}
  .hero-photo{height:540px}.hero-grid{gap:36px}
  .hero-copy{padding-bottom:36px}
  .home-intro,.home-club>.wrap,.team-principles{gap:48px}
  .home-metrics strong{font-size:76px}
  .page-heading h1{font-size:54px}.page-heading-grid{gap:40px}
  .reading-grid{grid-template-columns:minmax(0,1fr) 240px;gap:50px}
  .reading-aside,.lessons-layout>div:first-child{top:120px}
  .lessons-layout{gap:45px}.lessons-layout h2{font-size:40px}
  .contact-page-grid{gap:50px}.contact-page-grid h2{font-size:44px}
}
@media(max-width:900px){
  h2{font-size:40px}
  .hero h1{font-size:46px}.hero-photo{height:470px}.hero-grid{gap:28px}
  .hero-note{left:-14px;max-width:275px;padding:22px}
  .home-intro{grid-template-columns:1fr;gap:28px}
  .home-club>.wrap{grid-template-columns:1fr;gap:42px}
  .home-metrics{max-width:550px}
  .home-life-grid{grid-template-columns:1fr}
  .home-life-grid .feature-link{padding:28px 0}
  .home-life-grid .feature-link+.feature-link{border-left:0;border-top:1px solid var(--line)}
  .home-life-grid .feature-number{margin-bottom:16px}
  .feature-link h3{font-size:27px}
  .page-heading-grid{grid-template-columns:1fr;gap:24px;padding:34px 0 42px}
  .page-heading-grid>p{max-width:650px;font-size:16px}
  .page-heading h1{font-size:48px}
  .reading-grid{grid-template-columns:1fr;gap:42px}
  .reading-aside{position:static;max-width:none}
  .reading-aside .aside-links{display:flex;flex-direction:row;gap:25px;flex-wrap:wrap}
  .reading-aside .aside-links a{border-bottom:0}
  .lessons-layout{grid-template-columns:1fr;gap:38px}
  .lessons-layout>div:first-child{position:static}
  .lessons-layout h2{font-size:42px}
  .lessons-layout>div>p{max-width:650px}
  .teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-principles{grid-template-columns:1fr;gap:35px}
  .contact-page-grid{grid-template-columns:1fr;gap:45px}
  .contact-preparation{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}
  .site-invite h2{font-size:36px}
}
@media(max-width:600px){
  .wrap{padding-inline:22px}
  .topbar .wrap{font-size:10px;height:30px}
  .nav-shell{height:78px;padding:8px 20px;gap:12px}
  .logo,.logo img{width:142px}.logo img{height:62px}
  .header-contact{display:none}.menu-toggle{margin-left:auto}
  #navigation{padding:8px 22px 24px}
  #navigation>a,#navigation summary{font-size:16px}
  h1{font-size:44px}h2{font-size:36px}
  .hero{padding-top:36px}.hero-grid{grid-template-columns:1fr;gap:32px}
  .hero h1{font-size:43px;line-height:1.12}
  .hero-copy{padding-bottom:0}.hero-copy>p{font-size:16px}
  .hero .actions{display:grid;grid-template-columns:1fr}
  .hero .actions .btn{font-size:14px;min-height:50px}
  .hero-small{gap:12px;padding-right:0}.hero-small b{font-size:22px}.hero-small span{font-size:11px}
  .hero-photo{height:auto;aspect-ratio:4/5;border-radius:90px 0 0 0}
  .hero-art{margin:0 8px 0 10px;padding-bottom:48px}
  .hero-note{padding:20px;left:-10px;max-width:270px}.hero-note p{font-size:18px}
  .ribbon .wrap{font-size:12px;gap:9px}.ribbon i{font-size:14px}
  .home-intro h2{font-size:36px}.home-intro p{font-size:16px}
  .home-program-grid{grid-template-columns:1fr}
  .feature-link{padding:28px 0}.feature-link+.feature-link{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .feature-number{margin-bottom:18px}.feature-link h3{font-size:27px}
  .home-club .actions{align-items:flex-start;flex-direction:column;gap:22px}
  .home-metrics{gap:24px}.home-metrics strong{font-size:68px}.home-metrics span{font-size:13px}
  .site-invite{padding:44px 0}.site-invite>.wrap{align-items:flex-start;flex-direction:column;gap:26px}
  .site-invite h2{font-size:34px}.site-invite .btn{min-height:48px;font-size:14px}
  .footer{padding-bottom:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}
  .footer-brand{grid-column:1/-1}.footer-links{font-size:13px}.footer h4{font-size:11px}
  .page-heading{padding-top:23px}.breadcrumb{gap:8px;font-size:12px}
  .breadcrumb a{font-size:12px}.page-heading-grid{padding:30px 0 32px;gap:22px}
  .page-heading h1{font-size:38px;overflow-wrap:anywhere}.page-heading .eyebrow{font-size:11px;margin-bottom:16px}
  .page-heading-grid>p{font-size:15px}.page-tabs{gap:24px}
  .page-tabs a{font-size:14px;padding:14px 0;flex-shrink:0}
  .prose>p{font-size:16px;line-height:1.8;margin-bottom:22px}
  .prose h2{font-size:23px;margin-top:34px;overflow-wrap:anywhere}
  .reading-aside p{font-size:22px}.reading-aside .aside-links{flex-direction:column;gap:0}
  .reading-aside .aside-links a{border-bottom:1px solid var(--line)}
  .program-title{font-size:32px}.program-panel{padding-top:0;gap:30px}
  .grade{grid-template-columns:45px 1fr}.grade h3{font-size:16px}
  .system h2{font-size:34px}.system-flow{grid-template-columns:1fr 1fr;gap:22px 15px}
  .step{display:flex;align-items:center;gap:10px;padding:0}
  .step-number{width:40px;height:40px;margin:0;flex-shrink:0}
  .step b{font-size:12px;line-height:1.4}.step-detail{padding:22px;gap:16px}
  .step-detail h3{font-size:25px}.step-detail small{font-size:11px}
  .metric strong{font-size:54px}.metric span{font-size:12px}.metric small{font-size:11px}
  .club h2{font-size:36px}.club-metrics{gap:12px}
  .teachers h2{font-size:35px}.teacher-grid{grid-template-columns:1fr;margin-top:32px}
  .teacher-item{padding:25px}.teacher-item span{margin-bottom:14px}.teacher-item h3{font-size:24px}.teacher-item p{font-size:15px}
  .teacher-note{font-size:14px}.team-principles h2{font-size:34px}
  .lessons-layout h2{font-size:34px}.lesson-accordion summary{font-size:17px;gap:12px;padding:20px 0}
  .lesson-accordion summary:after{font-size:24px}.lesson-body{padding-left:0}
  .lesson-body h3{font-size:18px}.lesson-body p{font-size:15px}
  .contact-page-grid h2{font-size:34px}.contact-preparation h3{font-size:25px}
}
@media(max-width:359px){
  .hero h1{font-size:37px}.hero-note{max-width:245px}.hero-note p{font-size:16px}
  .hero-small b{font-size:20px}.hero-small span{font-size:10px}
  .metric strong{font-size:46px}.page-heading h1{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.menu-icon i,.feature-more span{transition:none}}
