:root{--navy:#0b344d;--deep:#071f30;--gold:#dfb45f;--paper:#f5f3ed;--ink:#182638;--muted:#657286;--line:#d9e0e6;--white:#fff;--shadow:0 18px 48px rgba(11,52,77,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65}a{color:inherit}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;padding:10px 14px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;min-height:70px;padding:8px max(20px,calc((100vw - 1180px)/2));background:rgba(7,31,48,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--deep);font-family:Georgia,serif;font-size:1.35rem}.brand small{display:block;color:#c7d4db;font-size:.66rem;letter-spacing:.09em}.site-header nav{display:flex;gap:6px;margin-left:auto}.site-header nav a{padding:9px 13px;border-radius:999px;text-decoration:none}.site-header nav a:hover{background:rgba(255,255,255,.1)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:40px;align-items:center;min-height:610px;padding:70px max(24px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,var(--deep),var(--navy));color:#fff;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{margin:0 0 8px;color:#a87724;font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.hero .eyebrow{color:var(--gold)}.hero h1{margin:.08em 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,11vw,8.7rem);line-height:.9;letter-spacing:-.05em}.hero p:not(.eyebrow){max-width:690px;color:#d9e4ea;font-size:clamp(1rem,2vw,1.2rem)}.button{display:inline-block;margin-top:18px;padding:12px 19px;border-radius:999px;background:var(--gold);color:var(--deep);font-weight:800;text-decoration:none}.hero-art{position:relative;aspect-ratio:1}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;inset:8%}.hero-art:after{inset:25%;border-color:rgba(223,180,95,.35)}.hero-art span{position:absolute;display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(255,255,255,.17);border-radius:24px;background:rgba(255,255,255,.07);font:700 2rem Georgia,serif;box-shadow:0 16px 36px rgba(0,0,0,.14)}.hero-art span:nth-child(1){left:4%;top:28%;transform:rotate(-10deg)}.hero-art span:nth-child(2){right:5%;top:10%;transform:rotate(9deg)}.hero-art span:nth-child(3){right:12%;bottom:8%;transform:rotate(-5deg)}.hero-art span:nth-child(4){left:25%;bottom:3%;transform:rotate(7deg)}.subjects-section{padding:clamp(64px,9vw,110px) max(20px,calc((100vw - 1180px)/2))}.section-heading{max-width:760px;margin-bottom:36px}.section-heading h2,.about h2,.subject-hero h1{margin:.15em 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;color:var(--navy)}.section-heading>p:last-child{color:var(--muted)}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.subject-card{display:grid;grid-template-columns:72px minmax(0,1fr) 30px;gap:18px;align-items:center;min-height:160px;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:var(--shadow);text-decoration:none;transition:.2s ease}.subject-card:hover{transform:translateY(-4px);border-color:var(--card-accent)}.subject-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:19px;background:color-mix(in srgb,var(--card-accent) 13%,white);color:var(--card-accent);font:700 1.65rem Georgia,serif}.subject-card small{display:block;color:var(--card-accent);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.subject-card strong{display:block;margin:3px 0;font-family:Georgia,serif;font-size:1.55rem;color:var(--navy)}.subject-card em{display:block;color:var(--muted);font-size:.88rem;font-style:normal}.subject-card b{color:var(--card-accent);font-size:1.4rem}.algebra{--card-accent:#2369a8}.geometry{--card-accent:#168071}.physics{--card-accent:#a24b3f}.chemistry{--card-accent:#7650a3}.ancient{--card-accent:#9a6a1f}.language{--card-accent:#a13f6d}.about{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:0 max(20px,calc((100vw - 1180px)/2)) 90px;padding:clamp(28px,5vw,55px);border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.about p:last-child{color:var(--muted);font-size:1.05rem}footer{display:flex;justify-content:space-between;padding:28px max(20px,calc((100vw - 1180px)/2));background:var(--deep);color:#c8d4db;font-size:.9rem}
.subject-hero{padding:clamp(50px,8vw,90px) max(20px,calc((100vw - 1000px)/2));background:linear-gradient(135deg,#eaf2f4,#fff);text-align:center}.subject-hero .subject-icon{margin:0 auto 18px}.subject-hero p{max-width:680px;margin:12px auto;color:var(--muted)}.breadcrumb{font-size:.86rem}.breadcrumb a{color:var(--navy)}.materials{width:min(1000px,calc(100% - 32px));margin:42px auto 90px}.materials-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.materials-head h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.5rem);color:var(--navy)}.materials-head span{color:var(--muted);font-size:.9rem}.empty-state{padding:clamp(28px,6vw,60px);border:1px dashed #aebbc5;border-radius:22px;background:rgba(255,255,255,.65);text-align:center}.empty-state strong{display:block;font-family:Georgia,serif;font-size:1.45rem;color:var(--navy)}.empty-state p{max-width:570px;margin:8px auto 0;color:var(--muted)}
@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:62px}.hero-art{display:none}.subject-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;gap:10px}.materials-head{display:block}.materials-head span{display:block;margin-top:5px}}
@media(max-width:600px){html{scroll-padding-top:64px}.site-header{min-height:62px;padding-inline:12px}.menu-toggle{display:block;margin-left:auto;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:transparent;color:#fff}.site-header nav{position:absolute;left:10px;right:10px;top:68px;display:none;padding:10px;border-radius:12px;background:var(--deep);box-shadow:0 18px 40px rgba(0,0,0,.25)}.site-header nav.open{display:grid}.hero{padding-inline:18px}.hero h1{font-size:3.8rem}.subjects-section{padding-inline:10px}.section-heading{padding-inline:8px}.subject-card{grid-template-columns:58px minmax(0,1fr) 20px;gap:12px;padding:18px 14px;border-radius:16px}.subject-icon{width:56px;height:56px;border-radius:15px;font-size:1.35rem}.subject-card strong{font-size:1.27rem}.subject-card em{font-size:.78rem}.about{margin-inline:10px;padding:24px 18px}footer{display:block;text-align:center}footer span{display:block}.subject-hero{padding-inline:14px}.materials{width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.subject-card{transition:none}}
@media print{.site-header,.menu-toggle{display:none}.hero{min-height:0;background:#fff;color:#000}.hero p:not(.eyebrow){color:#333}.subject-card,.about{box-shadow:none}}

.algebra-library{width:min(1040px,calc(100% - 32px));margin:48px auto 90px}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.library-heading h2{margin:.1em 0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.3rem);color:var(--navy)}.library-heading>span{color:var(--muted);font-size:.9rem}.topic-list{display:grid;gap:15px}.topic{display:grid;grid-template-columns:84px minmax(0,1fr);gap:24px;padding:clamp(22px,4vw,34px);border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:var(--shadow)}.topic-no{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#e9f2fa;color:#2369a8;font:800 1.25rem Georgia,serif}.topic h3{margin:0;font:700 clamp(1.35rem,3vw,1.8rem)/1.2 Georgia,serif;color:var(--navy)}.topic p{margin:8px 0 18px;color:var(--muted)}.material-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.material-links a{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:2px 12px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#f9fbfc;text-decoration:none}.material-links a:hover{border-color:#2369a8;background:#f2f7fb}.material-links span{font-weight:800;color:var(--navy)}.material-links small{grid-column:1;color:var(--muted)}.material-links b{grid-column:2;grid-row:1/3;align-self:center;color:#2369a8;font-size:1.2rem}
@media(max-width:650px){.library-heading{display:block}.library-heading>span{display:block}.algebra-library{width:calc(100% - 20px);margin-top:30px}.topic{grid-template-columns:1fr;gap:12px;padding:19px 14px}.topic-no{width:56px;height:56px;border-radius:15px;font-size:1rem}.material-links{grid-template-columns:1fr}}
.chapter-heading{margin-top:58px}.intro-list .topic-no{background:#f7edd9;color:#9a6a1f}.intro-list .material-links{grid-template-columns:minmax(0,1fr)}

.syllabus-badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid #b9d2e8;border-radius:999px;background:#edf6fd;color:#185d98;font-size:.82rem!important;font-weight:800;white-space:nowrap}
@media(max-width:650px){.syllabus-badge{display:inline-flex!important;margin-top:8px;white-space:normal}.topic p{font-size:.96rem}.material-links a{min-height:68px;align-content:center}.material-links small{line-height:1.35}}

/* Algebra 2026-27: prominent official syllabus overview */
.syllabus-overview{max-width:1160px;margin:24px auto 10px;padding:26px;border:1px solid rgba(191,140,45,.28);border-radius:24px;background:linear-gradient(135deg,#fffaf0 0%,#fff 62%);box-shadow:0 14px 38px rgba(20,36,48,.08)}
.syllabus-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.syllabus-overview-head h2{margin:.15rem 0 .5rem;font-size:clamp(1.55rem,3vw,2.25rem)}.syllabus-overview-head p:last-child{max-width:760px;margin-bottom:0}.syllabus-pdf-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:12px;padding:12px 15px;border-radius:14px;background:#7a5311;color:#fff!important;text-decoration:none;font-weight:800}.syllabus-pdf-link:hover{filter:brightness(1.08)}.syllabus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.syllabus-grid article{padding:16px;border:1px solid rgba(22,52,68,.10);border-radius:16px;background:rgba(255,255,255,.86)}.syllabus-grid h3{margin:.35rem 0 .4rem;font-size:1.02rem}.syllabus-grid p{margin:0;font-size:.9rem;line-height:1.5}.syllabus-chapter{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1e5c8;color:#68460d;font-size:.76rem;font-weight:900}.syllabus-notes{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:13px 15px;border-radius:14px;background:#f8f4ea;font-size:.89rem;line-height:1.5}.syllabus-notes strong{white-space:nowrap;color:#68460d}
@media(max-width:900px){.syllabus-overview{margin:18px 14px 8px;padding:20px}.syllabus-overview-head{flex-direction:column}.syllabus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.syllabus-pdf-link{width:100%;justify-content:space-between}.syllabus-notes{flex-direction:column}.syllabus-notes strong{white-space:normal}}
@media(max-width:560px){.syllabus-overview{margin-inline:10px;padding:16px;border-radius:18px}.syllabus-grid{grid-template-columns:1fr}.syllabus-grid article{padding:14px}.syllabus-overview-head{gap:14px;margin-bottom:14px}}

/* 2026-27 syllabus pages: Geometry & Ancient Greek */
.syllabus-grid-geometry article:nth-child(2),.syllabus-grid-geometry article:nth-child(4){grid-column:span 2}
@media(max-width:900px){.syllabus-grid-geometry article:nth-child(2),.syllabus-grid-geometry article:nth-child(4){grid-column:auto}}
@media(max-width:560px){.syllabus-overview h2{line-height:1.15}.syllabus-overview-head p{font-size:.95rem}.syllabus-pdf-link{min-height:48px}.syllabus-notes{font-size:.86rem}}

/* Login and protected home */
.footer-library-link{color:var(--gold);font-weight:750;text-decoration:none}.footer-library-link:hover{text-decoration:underline}.login-page{min-height:100vh;background:linear-gradient(145deg,var(--deep),var(--navy));color:#fff}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:min(440px,100%);padding:clamp(28px,7vw,46px);border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.28)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--navy);font-weight:850;letter-spacing:.03em;text-decoration:none}.login-brand small{display:block;color:var(--muted);font-size:.66rem;letter-spacing:.09em}.login-card h1{margin:.05em 0;font:700 clamp(2.5rem,10vw,4rem)/1 Georgia,serif;color:var(--navy)}.login-intro{margin:14px 0 26px;color:var(--muted)}.login-form{display:grid;gap:8px}.login-form label{margin-top:8px;color:var(--navy);font-size:.9rem;font-weight:800}.login-form input{width:100%;min-height:48px;padding:10px 13px;border:1px solid #aebbc5;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.login-form input:focus{outline:3px solid rgba(35,105,168,.2);border-color:#2369a8}.login-button{min-height:49px;margin-top:12px;border:0;border-radius:999px;background:var(--gold);color:var(--deep);font:800 1rem inherit;cursor:pointer}.login-button:hover{filter:brightness(.96)}.login-error{min-height:1.5em;margin:4px 0 0;color:#a02f2f;font-size:.9rem}.login-back{display:inline-block;margin-top:24px;color:var(--navy);font-size:.88rem;font-weight:750}.login-back:hover{text-decoration:none}
@media(max-width:600px){.login-shell{padding:14px}.login-card{padding:27px 20px;border-radius:18px}.footer-library-link{display:block;margin:8px 0}}
