/* Shared secondary pages and the autumn invitation. */
:root{--promo-space:0px;--promo-yellow:#ffe5a0}
html{scroll-padding-bottom:calc(var(--promo-space) + 24px)}
body.has-promo{padding-bottom:var(--promo-space)}
.brand-original{gap:10px;letter-spacing:-.045em;font-size:1.125rem;font-weight:800;line-height:1.1}
.brand-badge{width:36px;height:38px;display:grid;place-items:center;padding:5px;background:#171916;border-radius:10px;flex:none}
.brand-badge img{display:block;width:100%;height:100%;object-fit:contain}
.brand-original>span:last-child{display:block}
.brand-original small{display:block;font-size:1rem;font-weight:650;letter-spacing:.14em;line-height:1.5;margin-top:3px}
.footer-brand.brand-original{font-size:1.25rem;color:#fff}
.footer-brand .brand-badge{background:#242922}
.desktop-nav a[aria-current=page]{color:#26733c;text-decoration:underline;text-underline-offset:5px}
.footer-top{grid-template-columns:.8fr 1fr 1fr 1.1fr}
.footer-bottom{align-items:center;flex-wrap:wrap}
.footer-docs{display:flex;gap:15px;flex-wrap:wrap;font-size:1rem}
.page-hero{background:var(--paper);padding:35px 0 67px;text-align:center}
.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;text-align:left;font-size:1rem;color:var(--muted);margin-bottom:42px;line-height:1.6}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.breadcrumbs>span[aria-hidden]{color:#989d90}
.page-hero .eyebrow{justify-content:center;margin-bottom:20px;font-size:1rem}
.page-hero h1{font-size:clamp(2.5rem,4.5vw,3.625rem);line-height:1.12;max-width:950px;margin-inline:auto}
.page-lead{max-width:760px;margin:23px auto 0;font-size:1rem;line-height:1.8;color:var(--muted)}
.page-hero .button{margin-top:28px}
.page-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;font-size:1rem;color:var(--muted);margin-top:25px}
.document-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:65px;padding-block:66px 85px;align-items:start}
.document-sidebar{position:sticky;top:25px;border:1px solid var(--line);padding:23px;border-radius:22px;background:#fff;max-height:calc(100vh - var(--promo-space) - 60px);overflow-y:auto}
.document-sidebar>p{font-size:1rem;text-transform:uppercase;font-weight:750;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
.document-sidebar nav{display:grid;gap:12px;font-size:1rem;line-height:1.6}
.document-sidebar a:hover{text-decoration:underline;text-underline-offset:3px;color:#246b36}
.document-sidebar .sidebar-contact{font-size:1rem;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;color:var(--muted)}
.sidebar-contact a{display:block;color:var(--ink);font-weight:700;margin-top:6px}
.document-body{max-width:830px;min-width:0;font-size:1rem;line-height:1.85;color:#4b5448}
.document-body>section+section{margin-top:36px}
.document-body h2{font-family:var(--font-body);font-size:1.625rem;font-weight:750;line-height:1.4;letter-spacing:-.035em;color:var(--ink);margin:35px 0 16px;scroll-margin-top:25px}
.document-body>h2:first-child,.document-body>section:first-child>h2:first-child{margin-top:0}
.document-body h3{font-size:1.1875rem;line-height:1.45;margin:24px 0 12px;letter-spacing:-.025em}
.document-body p+p{margin-top:15px}
.document-body ul,.document-body ol{padding-left:23px;margin:16px 0 23px}
.document-body li{padding-left:5px;margin:8px 0}
.document-body a{color:#266b37;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.document-body strong{color:#263d29;font-weight:750}
.document-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf2e7;border-radius:5px;padding:2px 5px;font-size:1em;color:#305b3b}
.document-body pre{margin:22px 0;padding:23px;background:#edf2e7;border:1px solid #d9e1d1;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.85;overflow:auto}
.document-body pre code{padding:0;border-radius:0;background:none;font-size:inherit}
.document-body blockquote,.document-body .document-note,.document-body .legal-note{margin:22px 0;padding:20px 24px;border:1px solid #d8e0cf;background:#f2f6ed;border-radius:19px}
.document-body blockquote p{margin:0}
.document-body table{width:100%;font-size:1rem;border-collapse:collapse;table-layout:fixed;margin:20px 0}
.document-body td,.document-body th{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top;overflow-wrap:anywhere}
.document-body th{color:#263d29;font-weight:750;background:#f2f5ed}
.document-body .legal-details{background:var(--paper);border-radius:18px;padding:22px}
.document-body dt{font-weight:750;color:#263d29;margin-top:14px}
.document-body dd{margin:4px 0 0}
.document-body .legal-sources{font-size:1rem;border-top:1px solid var(--line);padding-top:20px;margin-top:35px}
.document-body .legal-placeholder{font-weight:650;color:#7c5c26;background:#fff2cb;border-radius:6px;padding:2px 5px}
.document-body .related-links{border-top:1px solid var(--line);padding-top:24px;margin-top:35px}
.policy-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0 35px}
.policy-link{display:block;padding:23px;border:1px solid var(--line);border-radius:22px;background:white;text-decoration:none!important;color:var(--ink)!important;transition:border-color .15s,background .15s}
.policy-link:hover{background:#f4f8ee;border-color:#99b18f}
.policy-link span{font-size:1rem;display:block;color:#75856d;margin-bottom:10px}
.policy-link strong{font-size:1.125rem;line-height:1.4;display:block}
.policy-link p{font-size:1rem;color:var(--muted);line-height:1.75;margin-top:10px}
.parents-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.parents-options .parent-card{background:#fff;padding:35px;display:flex;flex-direction:column;align-items:flex-start}
.parents-options .parent-card h3{font-size:1.875rem;margin-top:20px}
.parents-options .parent-card p{font-size:1rem}
.parents-options .parents-price{font-family:var(--font-heading);font-size:2.25rem!important;color:var(--ink);letter-spacing:-.05em;line-height:1.35}
.parents-price span{font-family:var(--font-body);font-size:1rem;color:var(--muted);letter-spacing:0;display:block;margin-top:4px}
.parents-list{padding-left:20px;color:var(--muted);font-size:1rem;line-height:1.75;margin:22px 0 25px;flex:1}
.parents-list li{padding-left:3px;margin:8px 0}
.parents-options .button{font-size:1rem;width:100%}
.parents-page .teacher-row{margin-top:0}
.parents-page .faq-intro>.button{margin-top:24px}
.parents-page .parent-number{font-size:1.1875rem;letter-spacing:-.035em}
.blog-section{padding-block:65px 75px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.blog-card{border:1px solid var(--line);border-radius:27px;overflow:hidden;background:white;display:flex;flex-direction:column;min-width:0;transition:border-color .18s,transform .18s}
.blog-card:hover{border-color:#9dab96;transform:translateY(-3px)}
.blog-cover{height:220px;display:grid;place-items:center;position:relative;overflow:hidden;background:#e7eee2;border-radius:26px 26px 0 0}
.blog-cover--python{background:#ffede0}
.blog-cover--rhythm{background:#eaf3f7}
.blog-cover .cover-symbol{font-family:var(--font-heading);font-size:5rem;line-height:1;background:#fffef8;border:1px solid #c7d4bd;box-shadow:5px 5px 0 #c3d3b4;width:110px;height:125px;border-radius:24px;display:grid;place-items:center;transform:rotate(-8deg);position:relative;z-index:1}
.blog-cover--python .cover-symbol{font-family:ui-monospace,monospace;font-size:2.5rem;box-shadow:5px 5px 0 #e5baa5;border-color:#d6b5a2;transform:rotate(7deg)}
.blog-cover--rhythm .cover-symbol{font-family:var(--font-body);font-size:3.5rem;box-shadow:5px 5px 0 #becfd6;border-color:#bbcdd1;transform:rotate(-5deg)}
.cover-orbit{position:absolute;width:240px;height:140px;border:1px solid #b0c29f;border-radius:50%;transform:rotate(25deg)}
.blog-cover--python .cover-orbit{border-color:#dec0a9;transform:rotate(-20deg)}
.blog-cover--rhythm .cover-orbit{border-color:#b9cdd4}
.cover-dot{position:absolute;right:18%;top:25%;width:18px;height:18px;background:#729361;border-radius:6px;transform:rotate(25deg)}
.blog-cover--python .cover-dot{background:#d5956e}
.blog-cover--rhythm .cover-dot{background:#7796ad}
.blog-card-content{padding:25px;display:flex;flex-direction:column;flex:1}
.blog-category{font-size:1rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:#5c7651}
.blog-card h2{font-family:var(--font-body);font-size:1.375rem;font-weight:750;line-height:1.4;letter-spacing:-.035em;margin-top:13px}
.blog-card p{font-size:1rem;color:var(--muted);line-height:1.75;margin-top:15px;flex:1}
.blog-card-bottom{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1rem;color:var(--muted)}
.blog-card-bottom .icon{width:20px;height:20px;color:var(--ink)}
.blog-invite{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px;background:var(--paper);border-radius:27px;margin-top:45px}
.blog-invite h2{font-size:1.875rem;max-width:500px}
.blog-invite p{font-size:1rem;color:var(--muted);margin-top:12px;max-width:580px}
.blog-invite .button{font-size:1rem;flex:none}
.article-bottom{border-top:1px solid var(--line);padding-top:27px;margin-top:40px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.article-bottom .button{font-size:1rem}
.article-bottom>a:not(.button){font-size:1rem}
.promo-bar{position:fixed;left:20px;right:20px;bottom:12px;z-index:25;max-width:1360px;margin-inline:auto;padding:18px 24px;background:var(--promo-yellow);border:1px solid #dfc78b;border-radius:24px;display:flex;align-items:center;gap:25px;box-shadow:0 5px 30px #30271a15}
.promo-mark{font-size:2.625rem;color:#9b6734;line-height:1;flex:none}
.promo-copy{min-width:0;flex:1}
.promo-copy strong{font-size:1.0625rem;line-height:1.5;display:block;letter-spacing:-.025em}
.promo-copy>span{font-size:1rem;line-height:1.6;display:block;margin-top:3px;color:#625138}
.promo-timer{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}
.promo-timer>span{font-size:1rem;line-height:1.4;font-weight:700;color:#6e592f}
.countdown-digits{display:flex;gap:5px}
.countdown-unit{min-width:33px;text-align:center;line-height:1.2}
.countdown-unit b{display:block;font-size:1.0625rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.countdown-unit small{display:block;font-size:1rem;color:#74603c;margin-top:3px}
.promo-bar>.button{font-size:1rem;min-height:49px;padding:12px 24px;flex:none}
.promo-close{width:29px;height:29px;display:grid;place-items:center;border:0;background:#0000000a;color:#5a4a2d;border-radius:50%;font-size:1.125rem;line-height:1;flex:none}
.promo-close:hover{background:#00000014}
.enroll-dialog-promo{background:var(--promo-yellow);border-color:#dac68f}
.enroll-dialog-promo h2{font-family:var(--font-body);font-size:1.9375rem;line-height:1.2;font-weight:800;letter-spacing:-.035em}
.enroll-dialog-promo .dialog-close{background:#bc9c5740;color:#5c4720}
.enroll-dialog-promo input:not([type=checkbox]),.enroll-dialog-promo textarea{border-color:#f8e5b4}
.enroll-dialog-promo .button-green{background:#171916;color:white}
.enroll-dialog-promo .button-green:hover{background:#34382d}
.enroll-dialog-promo .dialog-intro,.enroll-dialog-promo .consent-label,.enroll-dialog-promo .form-help,.enroll-dialog-promo .dialog-contact{color:#5b4b31}
.enroll-dialog-promo .dialog-contact{border-color:#d7c18a}
@media(max-width:1100px){.document-layout{grid-template-columns:215px minmax(0,1fr);gap:38px}.desktop-nav{gap:19px}.blog-grid{gap:18px}.blog-card-content{padding:22px}.blog-card h2{font-size:1.25rem}.promo-bar{gap:17px;padding:16px 20px}.promo-mark{display:none}.promo-copy strong{font-size:1rem}.promo-bar>.button{padding-inline:20px}.promo-copy>span{font-size:1rem}.parents-options .parent-card{padding:28px}}
@media(max-width:899px){.document-layout{grid-template-columns:1fr;gap:28px;padding-block:40px 65px}.document-sidebar{position:static;max-height:none;overflow:visible;padding:20px}.document-sidebar nav{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:1rem}.document-sidebar .sidebar-contact{display:none}.document-sidebar>p{margin-bottom:12px}.blog-grid{grid-template-columns:1fr 1fr}.blog-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px)}.blog-invite{display:block;padding:28px}.blog-invite .button{margin-top:22px}.page-hero h1{font-size:2.75rem}.page-lead{font-size:1rem}.promo-bar{gap:12px;left:16px;right:16px;padding:15px}.promo-copy strong{font-size:1rem}.promo-copy>span{font-size:1rem}.promo-bar>.button{font-size:1rem;padding:11px 16px}.promo-close{width:25px;height:25px}.countdown-unit{min-width:28px}.countdown-unit b{font-size:1rem}.countdown-digits{gap:3px}.promo-timer>span{font-size:1rem}}
@media(max-width:699px){.brand-original{font-size:1rem;gap:8px;letter-spacing:-.03em}.brand-badge{width:31px;height:33px;border-radius:8px;padding:4px}.brand-original small{font-size:1rem;letter-spacing:.12em;margin-top:2px}.footer-brand.brand-original{font-size:1.125rem}.page-hero{padding:23px 0 43px}.breadcrumbs{font-size:1rem;margin-bottom:28px;gap:8px}.page-hero h1{font-size:2.125rem;line-height:1.15}.page-hero .eyebrow{font-size:1rem;margin-bottom:16px}.page-lead{font-size:1rem;margin-top:18px;line-height:1.75}.page-hero .button{font-size:1rem;min-height:53px;margin-top:24px}.page-meta{font-size:1rem;gap:7px 13px;margin-top:20px}.document-layout{padding-block:30px 55px;gap:25px}.document-sidebar{padding:18px;border-radius:19px}.document-sidebar nav{font-size:1rem;gap:9px 15px}.document-body{font-size:1rem;line-height:1.85}.document-body h2{font-size:1.375rem;line-height:1.4;margin-top:29px;margin-bottom:14px}.document-body h3{font-size:1.0625rem}.document-body ul,.document-body ol{padding-left:20px}.document-body table{font-size:1rem}.document-body pre{font-size:1rem;padding:17px;border-radius:15px}.document-body .legal-sources{font-size:1rem}.policy-links{grid-template-columns:1fr;gap:12px}.policy-link{padding:20px;border-radius:19px}.policy-link strong{font-size:1rem}.policy-link p{font-size:1rem}.parents-options{grid-template-columns:1fr;gap:18px}.parents-options .parent-card{padding:26px}.parents-page .parent-card{display:block}.parents-page .parent-number{font-size:1.125rem;margin-bottom:14px}.parents-options .parent-card h3{font-size:1.75rem}.parents-options .parent-card p{font-size:1rem}.parents-options .parents-price{font-size:2rem!important}.parents-list{font-size:1rem}.parents-page .teacher-copy h2{font-size:2.125rem}.blog-section{padding-block:35px 55px}.blog-grid{grid-template-columns:1fr;gap:23px}.blog-card:last-child{grid-column:auto;max-width:none}.blog-cover{height:210px}.blog-card-content{padding:24px}.blog-card h2{font-size:1.375rem}.blog-card p{font-size:1rem}.blog-card-bottom{font-size:1rem;margin-top:23px}.blog-invite{padding:25px;margin-top:32px;border-radius:23px}.blog-invite h2{font-size:1.75rem}.blog-invite p{font-size:1rem}.blog-invite .button{width:100%}.article-bottom{align-items:stretch;flex-direction:column}.article-bottom>.button{width:100%}.footer-top{grid-template-columns:1fr 1fr}.footer-docs{gap:10px;font-size:1rem}.promo-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;left:8px;right:8px;bottom:8px;padding:14px;border-radius:20px}.promo-copy{grid-column:1/-1;padding-right:27px}.promo-copy strong{font-size:1rem;line-height:1.5}.promo-copy>span{font-size:1rem;margin-top:3px}.promo-close{position:absolute;top:11px;right:10px}.promo-timer{grid-column:1;grid-row:2;align-items:flex-start;gap:4px}.promo-timer>span{font-size:1rem}.countdown-unit{min-width:28px}.countdown-unit b{font-size:1rem}.countdown-unit small{font-size:1rem;margin-top:2px}.promo-bar>.button{grid-column:2;grid-row:2;font-size:1rem;min-height:46px;max-width:175px;padding:10px 15px;gap:7px}.promo-bar>.button .icon{width:16px;height:16px}.enroll-dialog-promo h2{font-size:1.625rem;line-height:1.25}.enroll-dialog-promo .dialog-intro{font-size:1rem}}
@media(max-width:359px){.promo-bar{padding:12px;gap:10px;left:6px;right:6px}.promo-copy strong{font-size:1rem}.promo-copy>span{font-size:1rem}.countdown-unit{min-width:24px}.countdown-digits{gap:2px}.promo-bar>.button{font-size:1rem;padding:10px 12px}.promo-bar>.button .icon{display:none}.page-hero h1{font-size:1.9375rem}.brand-original{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.blog-card:hover{transform:none}}
@media print{.promo-bar,.document-sidebar,.blog-invite,.article-bottom .button{display:none!important}body.has-promo{padding:0}.page-hero{padding-block:15px;background:white}.document-layout{display:block;padding-block:20px}.document-body{max-width:none}.page-hero h1{font-size:2rem}}
.footer-tagline{font-size:1rem;color:#b7beb1;line-height:1.8;margin-top:18px}
.footer-hours{font-size:1rem;color:#a5b09e;margin-top:4px}
.document-body .notice{margin:0 0 30px;padding:22px 25px;border:1px solid #d8e0cf;background:#f2f6ed;border-radius:20px}
.document-body .button{color:var(--ink);text-decoration:none}
@media(min-width:700px) and (max-width:899px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){.footer-top{gap:26px 18px}.footer-top nav{font-size:1rem}.footer-docs{line-height:1.8}.document-body .notice{padding:19px}.parents-page .teacher-copy h2{font-size:1.875rem}}
.parents-page .parent-number{color:#62725b}
