/* New member welcome page. Loaded after styles.css, only by welcome.html. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}

/* rhythm: tighter than the homepage, this is a page you scroll through */
.w section{padding:clamp(52px,8vw,96px) 0}
.w .paper{background:var(--paper)}
.w h2{font-size:clamp(2.4rem,7vw,4rem);margin-bottom:.3em}
.w h3{font-size:clamp(1.35rem,2.4vw,1.6rem);line-height:1.1;font-variation-settings:"wdth" 75;margin:0 0 .35em}
.w .lede{max-width:46ch;margin-bottom:0}
.w .body{max-width:760px}
.w p a,.w li a:not(.btn),.w td a,.w dd a{color:var(--navy);font-weight:600;text-underline-offset:3px}
.w .navy p a,.w .navy li a:not(.btn){color:#fff}
.w :focus-visible{outline-color:var(--navy)}
.w .navy :focus-visible{outline-color:var(--signal)}
.w ul,.w ol{padding-left:1.2em} .w li{margin:0 0 .5em;max-width:62ch}
.w .link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}

/* hero */
.w .w-hero{padding:clamp(116px,14vw,160px) 0 clamp(48px,7vw,88px)}
.w-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.w-hero h1{font-size:clamp(min(3.2rem,15vw),11vw,6.5rem);margin:0 0 .25em}
.w-hero .lede{color:#e3ecf6;font-size:clamp(1.15rem,1.8vw,1.35rem);margin-bottom:28px}
.w-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%;border-radius:6px}
@media (max-width:800px){.w-hero-grid{grid-template-columns:minmax(0,1fr)}.w-hero img{aspect-ratio:16/10}}

/* on this page */
.w .w-toc{padding:28px 0;border-bottom:1px solid var(--rule)}
.w-toc h2{font-family:var(--body);font-variation-settings:"wdth" 100;font-size:1rem;line-height:1.4;font-weight:700;margin:0 0 6px;color:var(--steel)}
.w .w-toc ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(8.5rem,100%),1fr));gap:0 16px}
.w-toc li{margin:0;max-width:none;border-bottom:1px solid var(--rule)}
.w-toc a{display:flex;align-items:center;min-height:48px;font-weight:600;color:var(--navy);text-decoration:none}
.w-toc a:hover{text-decoration:underline}

/* first week: numbered steps */
.w-note{margin:24px 0 0;padding:16px 18px;border-left:6px solid var(--navy);background:var(--chalk);max-width:760px}
.w .w-steps{list-style:none;counter-reset:st;padding:0;margin:28px 0 0;max-width:760px}
.w-steps>li{counter-increment:st;display:grid;grid-template-columns:2.6rem minmax(0,1fr);column-gap:16px;margin:0;max-width:none;padding:20px 0;border-top:1px solid var(--rule)}
.w-steps>li::before{content:counter(st);grid-row:1 / span 4;font-family:var(--display);font-variation-settings:"wdth" 62;font-weight:800;font-size:2.8rem;line-height:.8;color:var(--navy)}
.w-steps>li>*{grid-column:2}
.w-steps p{margin:0 0 .5em}
.w-steps .btn{justify-self:start;margin-top:6px}

/* class hour */
.w-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.w-split{grid-template-columns:1fr}}
.w-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.w-photo.w-wide{aspect-ratio:auto}
.w .w-hour{list-style:none;padding:0;margin:8px 0 0}
.w-hour li{margin:0;padding:12px 0;border-top:1px solid var(--rule);max-width:none}
.w-hour b{display:block}

/* schedule */
.w-times{border-collapse:collapse;width:100%;max-width:760px;margin:20px 0 8px}
.w-times th,.w-times td{text-align:left;vertical-align:top;padding:14px 12px 14px 0;border-top:1px solid var(--rule)}
.w-times th{font-weight:700;white-space:nowrap;padding-right:20px}
.w-times tr.gap th,.w-times tr.gap td{border-top:2px solid var(--navy)}
@media (max-width:420px){.w-times th{white-space:normal;width:6.5em}}

/* rule lists */
.w .w-list{list-style:none;padding:0;margin:20px 0 0;max-width:760px}
.w-list li{margin:0;padding:14px 0;border-top:1px solid var(--rule);max-width:none}
.w-list b{color:var(--ink)}
.navy .w-list li{border-color:rgba(255,255,255,.25)} .navy .w-list b{color:#fff}

/* emergency */
.w-addr{font-family:var(--display);font-variation-settings:"wdth" 75;font-weight:800;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.1;margin:20px 0 12px;max-width:none}
.w .w-jobs{counter-reset:j;list-style:none;padding:0;margin:12px 0 16px}
.w-jobs li{counter-increment:j;position:relative;padding:12px 0 12px 2.4rem;margin:0;border-top:1px solid rgba(255,255,255,.25);font-weight:600}
.w-jobs li::before{content:counter(j);position:absolute;left:0;top:8px;font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1;color:var(--signal)}
.navy p{color:#e3ecf6}

/* first 90 days */
.w-moments{margin:24px 0 0;max-width:760px}
.w-moments div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:4px 16px;padding:16px 0;border-top:1px solid var(--rule)}
.w-moments dt{font-weight:700;color:var(--navy)}
.w-moments dd{margin:0}
@media (max-width:480px){.w-moments div{grid-template-columns:1fr}}

/* disclosures: the site's FAQ pattern, with a one-line summary under each title */
.w .faq{margin-top:24px;max-width:760px}
.w .faq summary{padding:16px 0;align-items:center}
.w .faq summary>span:first-child{display:block}
.w .faq summary small{display:block;font-weight:400;font-size:.95rem;color:var(--steel);margin-top:2px}
.w .faq details>:not(summary){margin-left:0}
.w .faq details ul,.w .faq details ol{margin:0 0 18px}
.w .faq details li{color:var(--steel)}
.w .faq details h4{margin:16px 0 4px;font-size:1rem}
.w .faq .dl-coaches{margin:0 0 20px}
.dl-coaches div{padding:10px 0;border-top:1px solid var(--rule)}
.dl-coaches dt{font-weight:700}
.dl-coaches dt span{font-weight:400;color:var(--steel)}
.dl-coaches dd{margin:2px 0 0;color:var(--steel)}
.dl-coaches .cred{display:block;font-size:.9rem;font-weight:600;color:var(--navy)}

/* kids */
.w-kids{margin-top:44px}

/* contact */
.w-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 40px;margin-top:20px}
@media (max-width:760px){.w-contact{grid-template-columns:1fr}}
.w-contact h3{font-size:1.2rem;margin:16px 0 6px}
.w-contact p{margin:0 0 4px}

/* close */
.w-close .stakes{margin-top:8px}
.w-close .ctas{margin-top:24px}
.w .w-sub{margin-top:28px}
.w .w-after{margin-top:20px}
.w-contact .w-list{margin-top:4px} .w-contact .w-list li{padding:10px 0}
.w .faq details[open] summary::after{content:none}
.w .faq .w-hour{margin:0 0 18px}
.w .faq details li b{color:var(--ink)}
.w .link{margin-right:12px}
.w footer p a{color:#e5ebf2;font-weight:400}

/* second pass: the bottom half is a menu of topic rows */
.w .w-menu{margin-top:20px;max-width:820px}
.w .w-menu>.w-row>summary{padding:18px 0;min-height:72px}
.w .w-menu>.w-row>summary>span:first-child{font-family:var(--display);font-variation-settings:"wdth" 75;font-weight:800;font-size:1.45rem;line-height:1.1}
.w .w-menu>.w-row>summary small{font-family:var(--body);font-variation-settings:"wdth" 100;font-size:.95rem;line-height:1.4;margin-top:4px}
.w .w-menu>.w-row>summary .pm{width:20px;height:20px}
.w .w-menu>.w-row>summary .pm::before,.w .w-menu>.w-row>summary .pm::after{top:9px;width:20px}
.w-row-body{padding:0 0 28px}
.w-row-body>p,.w-row-body li,.w-row-body dd{color:var(--ink)}
.w .w-row-body .w-list li{color:var(--ink)}
.w .w-lead{color:var(--steel);font-size:1.1rem}
.w h3.w-mh{font-size:1.25rem;margin:24px 0 6px}
.w .w-row-body h3.w-sub{margin-top:24px}
.w .w-row-body .w-addr{color:var(--navy);margin-top:4px}
.w .w-row-body .w-jobs li{border-top-color:var(--rule)}
.w .w-row-body .w-jobs li::before{color:var(--navy)}
.w .w-row-body .w-times{margin-top:4px}
.w .w-row-body .w-kids{margin-top:8px}
.w-row[open]>summary{border-bottom:1px solid var(--rule);margin-bottom:8px}
.w .faq .w-row-body p,.w .faq .w-row-body li,.w .faq .w-row-body dd{color:var(--ink)} .w .faq .w-row-body p.w-lead{color:var(--steel)} .w .faq .w-row-body .dl-coaches dd{color:var(--steel)}
.w .w-menu #emergency>summary small{color:var(--navy);font-weight:600}

/* ---------- visual timelines: first week, first class ---------- */
.w .w-line{list-style:none;counter-reset:st;padding:0;margin:24px 0 0;max-width:640px;position:relative}
.w .w-line::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:4px;background:var(--signal)}
.w .w-line li{counter-increment:st;position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-items:start;margin:0 0 22px;max-width:none}
.w .w-line li:last-child{margin-bottom:0}
.w .w-line li::before{content:counter(st);grid-row:1 / span 3;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font:800 1.6rem/1 var(--display);font-variation-settings:"wdth" 75;position:relative;z-index:1}
.w .w-line li>*{grid-column:2}
.w .w-line b{font-family:var(--display);font-variation-settings:"wdth" 75;font-weight:800;font-size:1.35rem;line-height:1.1;color:var(--navy);padding-top:4px}
.w .w-line span{color:var(--steel);margin-top:2px}
.w .w-line .btn{justify-self:start;margin-top:10px}
.w .w-more{margin:16px 0 0}
.w-steps-sm>li::before{font-size:2rem}

.w-class{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:28px 48px;align-items:start;margin-top:24px;max-width:900px}
@media (max-width:760px){.w-class{grid-template-columns:1fr}}
.w .w-hourline{list-style:none;padding:0;margin:0;position:relative}
.w .w-hourline::before{content:"";position:absolute;left:5.25rem;top:10px;bottom:10px;width:3px;background:var(--signal)}
.w .w-hourline li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);column-gap:2rem;position:relative;margin:0;padding:0 0 16px;max-width:none}
.w .w-hourline li::after{content:"";position:absolute;left:5.25rem;top:7px;width:13px;height:13px;margin-left:-5px;border-radius:50%;background:var(--navy)}
.w .w-hourline li.edge::after{background:var(--chalk);border:3px solid var(--navy)}
.w .w-hourline time{grid-column:1;grid-row:1 / span 2;text-align:right;font-size:.85rem;font-weight:700;line-height:1.2;color:var(--navy);padding-top:3px}
.w .w-hourline b,.w .w-hourline span{grid-column:2}
.w .w-hourline b{font-family:var(--display);font-variation-settings:"wdth" 75;font-weight:800;font-size:1.25rem;line-height:1.15}
.w .w-hourline span{color:var(--steel);font-size:.98rem}
.w-before{background:var(--paper);border:2px solid var(--navy);padding:20px}
.w .w-ten{margin:0 0 14px;font-weight:700;color:var(--navy);display:flex;align-items:baseline;gap:8px;font-size:1.15rem}
.w .w-ten span{font-family:var(--display);font-variation-settings:"wdth" 75;font-weight:800;font-size:4rem;line-height:.8}
.w-before h3{font-size:1.2rem;color:var(--navy);margin:0 0 6px}
.w .w-checks{list-style:none;padding:0;margin:0}
.w .w-checks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:10px 0;margin:0;border-top:1px solid var(--rule)}
.w .w-checks li::before{content:"";width:18px;height:18px;margin-top:3px;border:2px solid var(--navy);border-radius:3px}
#first-class .w-photo{margin-top:28px;max-width:900px}

/* ---------- print the page: plain, every row open (welcome.pdf comes from welcome-print.html) ---------- */
@media print{
  .skip,.top,.sticky-cta,.menu-btn,.ctas,.btn,.pm,footer,.no-print{display:none!important}
  html,body{background:#fff!important}
  .w section{padding:16pt 0;background:#fff!important;color:var(--ink)}
  .w .navy p,.w .w-hero .lede{color:var(--ink)} .w .w-hero h1{color:var(--navy)}
  details::details-content{content-visibility:visible;display:block}
  h2,h3,summary{break-after:avoid} li,img,.w-before{break-inside:avoid}
}
.w .w-hourline b{grid-row:1} .w .w-hourline span{grid-row:2}
/* 200% text on a phone: long words wrap inside the timeline instead of widening the page */
.w .w-hourline b,.w .w-hourline span{min-width:0;overflow-wrap:anywhere;hyphens:auto}
