@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--navy:#142238;--blue:#173fba;--muted:#526078;--line:#dbe2ee;--pale:#f3f6fc;font-family:'DM Sans',Arial,sans-serif;color:var(--navy);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:20px}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,h3{margin:0}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d99c18;outline-offset:5px}::selection{background:#d9e4ff}.wrap{width:min(1080px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:10}.skip-link:focus{top:15px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:21px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--blue);color:#fff;border-radius:50%;font-family:'Instrument Serif',Georgia,serif;font-size:30px;line-height:1;padding-bottom:4px}.brand strong{display:block;font-size:18px;font-weight:650;line-height:1.3;letter-spacing:-.3px}.brand-sub{display:block;font-size:12px;letter-spacing:1.6px;font-weight:600;margin-top:3px}nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}nav a:hover,.email-link:hover{color:var(--blue)}.nav-contact{display:flex;align-items:center;gap:16px;min-height:44px;padding-inline:14px;border:1px solid var(--line);border-radius:5px}
.hero{padding-block:44px;display:grid;grid-template-columns:1.15fr 1fr;gap:58px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.05px;color:var(--blue)}h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(46px,4.6vw,64px);font-weight:400;line-height:1.07;letter-spacing:-1.2px;margin-top:20px}h1 em{color:var(--blue);font-weight:400}.intro{font-size:18px;line-height:1.7;max-width:440px;margin-top:22px;color:var(--muted)}.intro strong{color:var(--navy);font-weight:600}.test-date{font-size:15px;margin-top:23px}.test-date strong{font-weight:650}.enrollment-card{background:var(--pale);border:1px solid #d7e1f3;border-radius:8px;padding:26px}.price-row{display:flex;gap:17px;align-items:center}.price{font-size:43px;font-weight:600;letter-spacing:-1.5px;line-height:1.2}.price-row>p:last-child{font-size:13px;line-height:1.6;color:var(--muted)}.price-row strong{font-weight:500}.course-facts{margin:19px 0;display:grid;gap:10px}.course-facts>div{display:grid;grid-template-columns:72px 1fr;gap:10px}.course-facts dt{font-size:14px;color:var(--muted)}.course-facts dd{margin:0;font-size:14px;font-weight:500}.button{background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:49px;padding:12px 20px;border-radius:5px;font-size:15px;font-weight:650;transition:background .15s}.button:hover{background:#102e8c}.button>span{font-size:19px;line-height:1}.enrollment-card .button{width:100%}.email-link{display:block;text-align:center;font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-top:10px;overflow-wrap:anywhere}.location-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:16px;padding-top:13px;border-top:1px solid #d7e1f3}
.instructor-section{display:grid;grid-template-columns:.8fr 1.8fr;gap:40px;border-block:1px solid var(--line);padding-block:31px;align-items:center}h2{font-family:'Instrument Serif',Georgia,serif;font-size:35px;font-weight:400;line-height:1.15;letter-spacing:-.5px}.instructor-heading h2{margin-top:8px}.instructor-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:5px}.credential-stats{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.credential-stats>p{display:flex;gap:17px;align-items:center}.credential-stats strong{font-size:36px;font-weight:600;letter-spacing:-1.2px;line-height:1.1;color:var(--blue)}.credential-stats span{font-size:14px;line-height:1.5}.experience{font-size:14px;color:var(--muted);margin-top:16px;max-width:630px}
.curriculum-section{padding-block:32px}.curriculum-heading h2{font-size:31px}.curriculum-heading>p{font-size:16px;color:var(--muted);margin-top:10px;max-width:820px}.curriculum-details{margin-top:22px;border:1px solid var(--line);border-radius:6px}.curriculum-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;font-weight:600;padding:16px 20px;min-height:54px}.curriculum-details summary::-webkit-details-marker{display:none}.curriculum-details summary:hover{background:var(--pale)}.expand-icon{width:12px;height:12px;position:relative;flex-shrink:0}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:var(--blue);left:0;top:5px;width:12px;height:2px}.expand-icon:after{transform:rotate(90deg)}.curriculum-details[open] .expand-icon:after{transform:rotate(0)}.curriculum-details[open] summary{border-bottom:1px solid var(--line)}.week-grid{list-style:none;margin:0;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.week-grid li{display:flex;gap:13px;padding-block:20px;border-bottom:1px solid var(--line)}.week-grid li:nth-last-child(-n+2){border-bottom:0}.week-number{font-size:14px;line-height:1.5;font-weight:600;color:var(--blue)}.week-grid h3{font-size:15px;font-weight:600;line-height:1.5}.week-grid p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:4px}
.contact-section{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pale);padding:23px 26px;border-radius:6px;margin-bottom:30px}.contact-section>p{font-size:18px;font-weight:600}.contact-section>p>span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:3px}.contact-section .button{flex-shrink:0}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:15px 22px;font-size:12px;color:var(--muted)}.share-area{display:flex;align-items:center;gap:12px}#share-button{border:0;background:transparent;cursor:pointer;color:var(--navy);font-size:13px;font-weight:500;padding:8px 0;min-height:44px}#share-button:hover{color:var(--blue)}#share-button span{margin-left:6px}#share-status{font-size:12px;color:var(--blue)}
@media(max-width:960px){.wrap{width:calc(100% - 48px)}.hero{gap:28px;grid-template-columns:1fr 1fr}h1{font-size:49px}.eyebrow{letter-spacing:.7px}.intro{font-size:17px}.enrollment-card{padding:22px}.course-facts>div{grid-template-columns:63px 1fr;gap:8px}.instructor-section{grid-template-columns:.75fr 1.5fr;gap:22px}.credential-stats{gap:16px}.credential-stats>p{gap:12px}.credential-stats strong{font-size:31px}.credential-stats span{font-size:13px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.site-header{padding-block:15px}.brand-icon{width:36px;height:36px;font-size:26px}.brand strong{font-size:16px}.brand-sub{font-size:12px;letter-spacing:1px}nav>a:first-child{display:none}.nav-contact{padding:8px 11px;font-size:13px;gap:9px;min-height:42px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:21px;padding-block:25px 28px}.eyebrow{font-size:12px;letter-spacing:.45px}h1{font-size:clamp(42px,10.6vw,54px);letter-spacing:-.9px;margin-top:13px}.intro{font-size:16px;line-height:1.6;margin-top:15px;max-width:none}.test-date{margin-top:13px;font-size:14px}.enrollment-card{padding:19px}.price{font-size:36px}.price-row{gap:16px}.price-row>p:last-child{font-size:13px}.course-facts{margin-block:15px;gap:7px}.course-facts>div{grid-template-columns:64px 1fr;gap:8px}.course-facts dd,.course-facts dt{font-size:13px}.button{font-size:14px;min-height:48px}.email-link{font-size:13px;margin-top:9px}.location-note{margin-top:12px;padding-top:11px}.instructor-section{grid-template-columns:1fr;gap:21px;padding-block:25px}.instructor-heading h2{font-size:33px}.credential-stats{grid-template-columns:1.25fr 1fr;gap:17px}.credential-stats>p{gap:12px}.credential-stats strong{font-size:31px}.credential-stats span{font-size:13px}.experience{font-size:14px;margin-top:17px}.curriculum-section{padding-block:27px}.curriculum-heading h2{font-size:30px}.curriculum-heading>p{font-size:16px}.curriculum-details{margin-top:19px}.curriculum-details summary{padding:14px 16px;font-size:14px}.week-grid{grid-template-columns:1fr;padding-inline:16px}.week-grid li{padding-block:16px}.week-grid li:nth-last-child(2){border-bottom:1px solid var(--line)}.week-grid h3{font-size:15px}.week-grid p{font-size:14px}.contact-section{padding:20px;display:block;margin-bottom:23px}.contact-section>p{font-size:18px}.contact-section .button{margin-top:16px;width:100%}footer{gap:14px;align-items:flex-start;padding-bottom:19px}footer>p{font-size:12px;padding-top:11px;max-width:200px}.share-area{flex-direction:column;gap:0;align-items:flex-end}#share-button{font-size:12px;white-space:nowrap}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.brand{gap:8px}.brand-sub{font-size:12px}.nav-contact{padding-inline:8px}h1{font-size:39px}.credential-stats{gap:12px}.credential-stats>p{gap:9px}.credential-stats strong{font-size:28px}.credential-stats span{font-size:12px}.course-facts dd{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}}

.teacher-intro{display:flex;align-items:flex-start;gap:18px;margin-top:22px}.teacher-portrait{display:block;width:112px;height:140px;flex-shrink:0;object-fit:cover;object-position:center 30%;border-radius:8px}.teacher-intro .intro{margin-top:0;font-size:16px;line-height:1.65;min-width:0}
@media(max-width:700px){.teacher-intro{gap:15px}.teacher-portrait{width:88px;height:110px}}
@media(max-width:360px){.teacher-intro{display:block}.teacher-portrait{float:left;margin:0 15px 8px 0}.teacher-intro::after{content:"";display:block;clear:both}}

/* Three concise instructor credentials, with dates on the optional course plan. */
.instructor-section{grid-template-columns:220px minmax(0,1fr)}
.credential-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.credential-stats>p{display:block}
.credential-stats strong{display:block;line-height:1.2}
.credential-stats span{display:block;margin-top:8px;font-size:14px}
.credential-stats .mathcounts-proof strong{font-size:24px;line-height:1.8;letter-spacing:-.5px}
.week-number{min-width:49px;flex-shrink:0}
@media(max-width:960px){.instructor-section{grid-template-columns:175px minmax(0,1fr);gap:24px}.credential-stats{gap:20px}.credential-stats .mathcounts-proof strong{font-size:21px;line-height:1.78}}
@media(max-width:700px){.instructor-section{grid-template-columns:1fr;gap:21px}.credential-stats{grid-template-columns:1fr 1fr;gap:20px}.credential-stats .mathcounts-proof{grid-column:1/-1;display:flex;gap:20px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}.credential-stats .mathcounts-proof strong{font-size:23px;line-height:1.2;flex-shrink:0}.credential-stats .mathcounts-proof span{margin-top:0;max-width:185px}}

.contact-section{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:start;gap:38px;padding:30px}
.contact-intro h2{font-size:32px}.contact-intro p{font-size:16px;color:var(--muted);margin-top:10px;max-width:260px}
#contact-form{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-wide{grid-column:1/-1}
.form-grid label{display:block;font-size:14px;font-weight:600}.optional{font-weight:400;color:var(--muted)}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;font:inherit;font-size:16px;font-weight:400;line-height:1.5;background:white;color:var(--navy);border:1px solid #bac6d9;border-radius:5px;padding:10px 12px;margin-top:6px;min-height:46px}
.form-grid textarea{resize:vertical;min-height:92px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--blue);outline-offset:2px}
.contact-section #contact-submit{margin-top:20px;border:0;cursor:pointer}.contact-section #contact-submit:disabled{background:#637398;cursor:default}
.form-status{font-size:14px;margin-top:12px;color:var(--muted)}.form-status[data-state="success"]{color:#145c37}.form-status[data-state="error"]{color:#a42727}.form-status:empty{display:none}
.form-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.contact-section{grid-template-columns:1fr;gap:22px;padding:22px}.contact-intro p{max-width:none}.contact-intro h2{font-size:30px}.form-grid{grid-template-columns:1fr;gap:15px}.contact-section #contact-submit{width:100%}}


/* A personal introduction, with the class details alongside it. */
.hero{padding-block:52px 36px;align-items:start;gap:46px}h1{margin-top:0;font-size:clamp(44px,4.5vw,60px)}
.teacher-intro{margin-top:25px}.teacher-portrait{width:116px;height:148px}.teacher-intro .intro{font-size:16px}
.enrollment-card{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:5px 0 5px 32px}
.class-location{font-size:15px;color:var(--muted);margin-bottom:16px}.price-row .price{font-size:34px;color:var(--navy);letter-spacing:-.8px}.price span{font-size:18px;font-weight:400;letter-spacing:0}.course-total{font-size:14px;color:var(--muted);margin-top:5px}
.course-facts>div{grid-template-columns:100px 1fr}.course-facts dd,.course-facts dt{font-size:14px}.location-note{font-size:13px}
.instructor-section{display:block;padding-block:24px}.credential-stats{gap:32px}.credential-stats strong{font-size:24px;font-weight:600;letter-spacing:-.4px;color:var(--navy)}.credential-stats .mathcounts-proof strong{font-size:24px;line-height:1.2}.credential-stats span{margin-top:5px}.experience{margin-top:18px}
@media(max-width:960px){.hero{gap:28px}.enrollment-card{padding-left:24px}.teacher-intro{display:block}.teacher-portrait{float:left;margin:0 17px 8px 0;width:96px;height:122px}.teacher-intro::after{content:'';display:block;clear:both}}
@media(max-width:700px){.hero{padding-block:28px;gap:26px}h1{font-size:46px}.teacher-intro{margin-top:20px}.enrollment-card{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.class-location{margin-bottom:12px}.course-facts>div{grid-template-columns:100px 1fr}.credential-stats{gap:20px}.credential-stats .mathcounts-proof strong{font-size:22px}}
.price-row>p.price{font-size:34px;line-height:1.2;color:var(--navy)}
