/* Education doodles stay in the background; readable paper surfaces sit above. */
.campus-carousel{background:#fff;border-bottom:1px solid var(--line)}
.campus-slides{background:#203755;display:grid}.campus-slide{grid-area:1/1;min-width:0;position:relative;margin:0;height:100vh;height:100dvh;isolation:isolate;overflow:hidden;opacity:1;visibility:visible;transition:opacity 1.2s ease,visibility 1.2s}
.campus-slide[hidden]{display:block;opacity:0;visibility:hidden;pointer-events:none}.campus-controls[hidden]{display:none}
.campus-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.campus-slide--ucla img{object-fit:cover;object-position:left center}
.campus-slide--berkeley img{object-position:center 30%}
.campus-slide--stanford img{object-position:center 45%}
.campus-slide figcaption{position:absolute;bottom:1rem;left:5.5%;right:5.5%;color:#fff;z-index:2}
.campus-slide small{display:inline-block;padding:.35rem .6rem;background:#09172cbf;border-radius:3px;font-size:.7rem;line-height:1.5;color:#fff}.campus-slide a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(prefers-reduced-motion:reduce){.campus-slide{transition:none}}
.campus-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 5.5%;max-width:1440px;margin:auto}
.campus-controls button{border:1px solid #c3cee4;background:white;color:var(--blue);font:500 .875rem var(--sans);min-height:44px;min-width:44px;border-radius:4px;cursor:pointer}.campus-controls button:hover{background:#edf2ff}
#campus-toggle{padding:.6rem .8rem}.campus-dots,.campus-arrows{display:flex;align-items:center;gap:.4rem}.campus-dots button{border:0;display:grid;place-items:center}.campus-dots span{width:9px;height:9px;border-radius:50%;background:#c3cee4}.campus-dots [aria-current=true] span{background:var(--blue);outline:1px solid var(--blue);outline-offset:4px}
.campus-arrows button{font-size:1.3rem}.campus-arrows>span{font-size:.8125rem;color:var(--muted);padding:0 .5rem}
@media(max-width:560px){.campus-slide--ucla img{object-position:8% center}.campus-slide figcaption{left:6%;right:6%;bottom:1.2rem}.campus-controls{padding:.5rem 4%;gap:.25rem}.campus-dots{gap:0}.campus-dots button{min-width:30px}.campus-arrows{gap:0}.campus-arrows>span{display:none}#campus-toggle{font-size:.75rem;padding:.5rem}.campus-slide h2{font-size:1.75rem}}
body{background-color:#fff;background-image:linear-gradient(#ffffffb8,#ffffffb8),url('education-doodles.png');background-size:auto,720px 720px}
footer{background:#ffffffed}
.site-header{position:absolute;top:0;left:0;right:0;z-index:3;max-width:none;min-height:140px;padding-bottom:2.75rem;background:transparent}
.header-menu{position:relative;margin-left:auto;align-self:flex-start;flex-shrink:0}
.menu-toggle{width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;background:#fff;color:var(--blue);border:1px solid #ffffffcc;border-radius:14px;box-shadow:0 4px 18px #09172c33;cursor:pointer}
.menu-toggle span{display:block;width:23px;height:2px;border-radius:2px;background:currentColor}
.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:#edf2ff}
.menu-toggle:focus-visible{outline:3px solid #fbad3a;outline-offset:4px}
.site-header nav{position:absolute;top:calc(100% + .6rem);right:0;min-width:180px;display:flex;flex-direction:column;margin:0;gap:.25rem;padding:.45rem;background:#fff;border:1px solid #ffffffcc;border-radius:14px;box-shadow:0 4px 18px #09172c33;font-weight:600;color:var(--blue);text-shadow:none}
.site-header nav[hidden]{display:none}
.site-header nav a{display:flex;align-items:center;min-height:44px;padding:.55rem 1rem;border-radius:8px;white-space:nowrap}
.site-header nav a:hover{background:#edf2ff;text-decoration:none}
.site-header nav a:focus-visible{outline-offset:1px}
.site-header .brand-description{color:var(--ink);text-shadow:none}
.footer-logo{display:block;flex-shrink:0}.footer-logo .brand-artwork{width:150px}
.site-header .brand-logo{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;flex-shrink:0;max-width:100%;text-decoration:none;padding:13px 16px;background:#fff;border:1px solid #ffffffcc;border-radius:14px;box-shadow:0 4px 18px #09172c33}
.brand-artwork{display:block;position:relative;width:200px;max-width:100%;aspect-ratio:6/1;overflow:hidden}
.brand-artwork img{display:block;position:absolute;width:119%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
.brand-description{font-family:var(--sans);font-size:.875rem;line-height:1.35;color:var(--muted)}
.hero{color:var(--ink);background-color:#fff;background-image:linear-gradient(100deg,#ffffffb3 0%,#ffffff80 55%,#ffffff33 100%),url('education-doodles.png');background-size:auto,720px 720px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);isolation:isolate}
.hero-copy{position:relative;z-index:1}
.hero-copy:before{content:'';position:absolute;inset:0 -1.6rem 1.5rem;z-index:-1;pointer-events:none;background:#fffffff5;border-radius:12px;box-shadow:0 0 35px 24px #ffffffd9}
.hero .eyebrow,.hero h1{color:var(--blue)}
.hero h1 span{color:#bc7820}
.hero .placeholder-label{color:var(--muted)}
.hero .placeholder-lines i{background:#dfe7f5}
.hero .text-link{color:var(--blue);border-color:#183fca66}
.hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(4rem,7.5vw,7rem);line-height:1.05;margin-bottom:1.8rem}
.personal-intro{max-width:44ch;font-size:1.125rem;line-height:1.75;margin:0;color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem}
.hero-actions .text-link{margin-top:0;gap:1rem}
.hero-actions .request-session{max-width:100%;line-height:1.5}
.hero-session-note{font-size:.8125rem;line-height:1.6;max-width:48ch;color:var(--muted);margin:.85rem 0 0}
.portrait-photo{display:block;width:100%;height:auto;aspect-ratio:4/4.1;object-fit:cover;object-position:center top;border:1px solid #a4b8e2;border-radius:50% 50% 3px 3px;box-shadow:10px 12px 0 #ffffffd9}
.portrait-area{align-self:center}
.portrait-placeholder{background:#edf2ff;border-color:#a4b8e2;box-shadow:10px 12px 0 #ffffffd9}
.photo-label{color:var(--ink)}
.photo-plus,.photo-label small{color:#526a9a}
.photo-corner{border-color:#7893c6}
.hero-foot{position:relative;z-index:1;border-color:#a4b8e2;color:var(--ink);background:#fffffff0;box-shadow:0 0 0 16px #fffffff0}
.hero-foot .divider{background:var(--blue)}
.hero-foot a{border-color:#9aadd2;color:var(--blue);background:white}
.hero-foot a:hover{background:#e7efff}
.about{background:#ffffffb3}
.section-heading{width:fit-content;background:#fffffff5;box-shadow:0 0 24px 20px #fffffff0;position:relative}
.empty-content{background:#fffffffa;box-shadow:0 0 24px 20px #fffffff0}
.service-card{background:#fffffffa;border-color:#bdcbe5;box-shadow:5px 6px 0 #e5ebf7}
.service-card h3{min-height:0;margin:0 0 1.4rem;font-size:2.5rem;line-height:1.15;max-width:none}
.service-description{font-size:1.0625rem;line-height:1.7;margin:0 0 1.5rem}
.service-details{padding-left:1.2rem;margin:0;display:grid;gap:.85rem;font-size:1rem;line-height:1.6}
.service-details li::marker{color:var(--blue)}
.service-action{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.request-session{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.3rem;background:var(--blue);color:white;border-radius:5px;font-size:1rem;font-weight:600;text-align:center}
.request-session:hover{background:#1231a0;text-decoration:none}
.service-action span{font-size:.875rem;color:var(--muted)}
.service-email{margin:1.75rem 0 0;font-size:1rem;line-height:1.6;background:#fffffff0;width:fit-content}
.service-email a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
button.request-session{font-family:var(--sans);border:0;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc7820;outline-offset:3px}
.intake-dialog{width:calc(100% - 2rem);max-width:700px;max-height:calc(100dvh - 2rem);padding:2rem;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);box-shadow:0 24px 80px #14294e44;overflow-y:auto}
.intake-dialog::backdrop{background:#14294e99}
body:has(.intake-dialog[open]){overflow:hidden}
.intake-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.intake-label{font-size:.875rem;font-weight:600;color:var(--blue);margin:0 0 .65rem}
.intake-heading h2{font-size:2.6rem}
.intake-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:#f0f4fc;border:0;border-radius:50%;font:1.75rem var(--sans);color:var(--ink);cursor:pointer}
#intake-description,#tutoring-description{font-size:1rem;line-height:1.6;margin:1.25rem 0}
.required-note{font-size:.875rem;color:var(--muted);line-height:1.6}
.intake-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.intake-field{min-width:0;display:flex;flex-direction:column;gap:.5rem}
.intake-wide{grid-column:1/-1}
.intake-field label,.request-preview label{font-size:1rem;font-weight:600;display:block}
.intake-field input,.intake-field textarea,.intake-field select,.request-preview textarea{width:100%;padding:.8rem .9rem;border:1px solid #aab9d5;border-radius:5px;background:#fff;color:var(--ink);font:1rem/1.5 var(--sans);min-height:48px}
.intake-field textarea,.request-preview textarea{resize:vertical}
.intake-field small{font-size:.875rem;color:var(--muted)}
.intake-explanation{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:1.5rem 0}
.request-preview h3{font-family:var(--sans);font-size:1.5rem;line-height:1.3;font-weight:700;min-height:0;margin:1.5rem 0 1rem}
.request-preview p{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.request-preview textarea{margin-top:.65rem;background:#f7f9fd}
.request-preview-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}
.secondary-action{font:500 1rem var(--sans);min-height:48px;padding:.8rem 1rem;border:1px solid var(--line);border-radius:5px;background:white;color:var(--blue);cursor:pointer}
.secondary-action:hover{background:#f0f4fc}
.copy-status:empty{display:none}
@media(max-width:560px){.intake-dialog{padding:1.25rem}.intake-heading h2{font-size:2rem}.intake-fields{grid-template-columns:1fr}.request-preview-actions>*{width:100%}}
.contact.content-section{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;padding-top:4rem;padding-bottom:4rem;background:#f2f6fff5;border-top:1px solid #ccd7eb}
.contact-copy,.contact-request{min-width:0}
.contact-copy p{max-width:48ch;font-size:1rem;line-height:1.75}
.contact-copy .contact-lead{font-size:1.375rem;line-height:1.5;font-weight:500;color:var(--blue);margin:1.5rem 0 .75rem}
.contact-email{display:inline-block;margin-top:.75rem;font-weight:600;color:var(--blue);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.contact-email span{display:inline-block;margin-left:.35rem}
.contact-request{align-self:center;background:#fff;border:1px solid #ccd7eb;border-radius:14px;padding:2rem}
.contact-request h3{font:700 1.25rem/1.4 var(--sans);min-height:0;margin:0 0 .75rem;color:var(--blue)}
.contact-request p{font-size:1rem;line-height:1.65;margin:0 0 1.25rem}
.contact-actions{display:grid;gap:.75rem}
.contact-actions button{width:100%;white-space:normal;line-height:1.5}
.contact-request .contact-note{font-size:.8125rem;line-height:1.65;color:var(--muted);margin:1.25rem 0 0}
@media(max-width:800px){.contact.content-section{grid-template-columns:1fr;gap:2rem;padding-top:3rem;padding-bottom:3rem}.contact-request{padding:1.5rem}}
.about{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:1.5rem}
.who-help.content-section{padding-top:3rem;padding-bottom:3rem;background:#f2f6fff5;border-bottom:1px solid var(--line)}
.who-help .section-heading{background:none;box-shadow:none}
.who-help-intro{max-width:75ch;margin:1.25rem 0 2rem;font-size:1.0625rem;line-height:1.75;color:var(--ink)}
.who-help-list{list-style:none;max-width:1050px;margin:0;padding:0;border-top:1px solid #ccd7eb}
.who-help-list li{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:baseline;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid #ccd7eb}
.who-help-list h3{font:600 1.0625rem/1.5 var(--sans);color:var(--blue);min-height:0;margin:0}
.who-help-list p{font-size:1rem;line-height:1.65;margin:0;max-width:65ch}
@media(max-width:700px){.who-help-list li{grid-template-columns:1fr;gap:.35rem;padding:1rem 0}.who-help-intro{margin-bottom:1.5rem}}
.details-draft{max-width:72ch;margin:-.5rem 0 2rem;color:var(--muted);font-size:.9375rem;line-height:1.6;background:#fffffff0}
.service-price{display:flex;align-items:center;gap:.85rem;margin:0 0 1.5rem;color:var(--blue)}
.service-price strong{font-size:2.75rem;line-height:1;font-weight:700;letter-spacing:-.04em}
.service-price span{font-size:.9375rem;line-height:1.5}.service-price small{color:var(--muted);font-size:.8125rem}
.monthly-support{padding:1rem 1.2rem;margin:0 0 1.5rem;border-left:3px solid var(--blue);background:#f2f6ff;font-size:.9375rem;line-height:1.65}.monthly-support strong{color:var(--blue)}
.session-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:1.75rem 2rem;margin-top:2rem;border:1px solid #bdcbe5;background:#f2f6ff}
.session-overview h3,.steps-list h3{font:700 1.125rem/1.4 var(--sans);margin:0 0 .6rem;min-height:0}
.session-overview p,.steps-list p{font-size:1rem;line-height:1.7;margin:0}
.how-it-works.content-section,.faq.content-section{padding-top:3rem;padding-bottom:3rem}
.steps-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;counter-reset:steps;margin:0;padding:0}
.steps-list li{counter-increment:steps;background:#fffffffa;padding:1.5rem;border-top:3px solid var(--blue)}
.steps-list li:before{content:counter(steps);display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #aab9d5;border-radius:50%;margin-bottom:1.25rem;color:var(--blue);font-weight:700;background:#f2f6ff}
.faq-list{max-width:900px;background:#fffffffa;border-top:1px solid #bdcbe5}
.faq-list details{border-bottom:1px solid #bdcbe5;padding:0 1rem}
.faq-list summary{cursor:pointer;padding:1.35rem 0;font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--blue)}
.faq-list details p{margin:0 0 1.5rem;max-width:75ch;font-size:1rem;line-height:1.75}
.faq-list a{text-decoration:underline;overflow-wrap:anywhere}.faq-list summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:800px){.session-overview,.steps-list{grid-template-columns:1fr;gap:1.25rem}.session-overview{padding:1.5rem}.steps-list li{padding:1.25rem}.steps-list li:before{margin-bottom:.8rem}}
.about-story{background:#fffffffa;box-shadow:0 0 24px 20px #fffffff0;max-width:85ch}
.about-story p{margin:0 0 1.25rem;font-size:1.0625rem;line-height:1.8}
.about-story p:last-child{margin-bottom:0}
.about-story .about-lead{font-size:1.375rem;line-height:1.55;font-weight:500;color:var(--blue)}
.education{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid var(--line)}
.education-heading{font-family:var(--sans);font-size:1.125rem;font-weight:700;min-height:0;line-height:1.4;margin:0 0 1.5rem;background:#fffffff0;width:fit-content}
.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.education-card{background:#fff;border:1px solid var(--line);padding:2rem;box-shadow:5px 6px 0 #e5ebf7}
.school-logo-space{height:80px;display:flex;align-items:center;margin-bottom:1.8rem}
.school-logo-space img{display:block;max-width:100%;width:auto;height:auto;max-height:80px;object-fit:contain;object-position:left center}
.education-usc .school-logo-space img{width:320px}
.education-redlands .school-logo-space img{width:280px}
.education-card .degree-level{font-size:.8125rem;color:var(--muted);margin:0 0 .6rem}
.education-card h4{font-size:1.3rem;line-height:1.4;margin:0 0 .65rem;font-weight:700}
.education-card .school-name{font-size:1rem;margin:0;line-height:1.5;color:var(--muted)}
@media(max-width:700px){.about{grid-template-columns:1fr;gap:1.25rem}.education-grid{grid-template-columns:1fr}.education-card{padding:1.5rem}.about-story .about-lead{font-size:1.25rem}}
@media(max-width:560px){body,.hero{background-size:auto,520px 520px}.hero-copy:before{inset:0 -.5rem 1.5rem;box-shadow:0 0 18px 12px #ffffffd9}.portrait-placeholder{box-shadow:7px 8px 0 #ffffffd9}.hero-foot{box-shadow:0 0 0 8px #fffffff0}}
@media(max-width:560px){.site-header{flex-wrap:wrap;row-gap:.5rem}.site-header .wordmark{flex-basis:100%}.site-header nav{margin-left:0}.hero h1{font-size:clamp(4rem,16vw,5.5rem)}.portrait-photo{box-shadow:7px 8px 0 #ffffffd9}footer .wordmark{white-space:normal}}
@media(max-width:560px){.site-header .brand-logo{flex-basis:auto;margin-bottom:.7rem}.site-header nav{flex-basis:auto;margin-left:auto}.brand-artwork{width:180px}}
@media(max-width:560px){.site-header{padding-bottom:2.5rem;min-height:0}}
@media(max-width:560px){.campus-controls{flex-wrap:wrap}.campus-dots{order:3;flex-basis:100%;justify-content:center}.campus-dots button{min-width:44px}}
