:root{--background: #FAFAF8;--primary: #153243;--primary-light: #1E4255;--accent: #F0CF65;--white: #FFFFFF;--tutor-blue: #2563A8;--font-title: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--background);color:var(--primary);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%}.nav{position:fixed;top:0;left:0;right:0;padding:.875rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:100;background:#fafaf8a6;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%)}.nav-logo{display:flex;align-items:center;gap:.75rem;font-family:var(--font-title);font-size:2rem;font-weight:400;color:var(--primary);text-decoration:none;letter-spacing:-.02em}.nav-logo-img{height:52px;width:auto;display:block;transform:translateY(13.6%)}.nav-actions{display:flex;align-items:center;gap:1rem}.nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:40px;padding:0;border:none;background:none;cursor:pointer}.nav-toggle-bar{display:block;width:20px;height:2px;border-radius:2px;background:var(--primary);transition:transform .25s ease,opacity .2s ease}.nav.mobile-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.mobile-open .nav-toggle-bar:nth-child(2){opacity:0}.nav.mobile-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-tutor-login{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--primary);background:none;border:none;padding:.75rem .25rem;cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;transition:opacity .2s ease}.nav-tutor-login:hover{opacity:.65;text-decoration:underline;text-underline-offset:.2em}.nav-contact{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--primary);background-color:var(--accent);padding:.75rem 1.5rem;border:none;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:filter .3s ease,transform .3s ease,background-color .3s ease,color .3s ease}.nav-contact:hover{filter:brightness(1.1);transform:translateY(-2px)}.nav-contact-blue{color:var(--white);background-color:#2563a8d9;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%)}.nav-contact-blue:hover{background-color:#2563a8f2}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 4rem 4rem;position:relative;overflow:hidden;gap:2rem}.hero-content{max-width:600px}.hero-title{font-family:var(--font-title);font-size:clamp(3rem,6vw,5rem);font-weight:400;color:var(--primary);line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em;min-height:1.2em}.cursor{font-weight:300;color:var(--accent);animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-subtitle{font-family:var(--font-body);font-size:clamp(1.125rem,1.5vw,1.35rem);font-weight:400;color:var(--primary);margin-bottom:2.5rem;opacity:.8;line-height:1.7}.hero-cta{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--white);background-color:#2563a8d9;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);padding:1.25rem 2.5rem;border:none;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease}.hero-cta:hover{background-color:#2563a8f2;transform:translateY(-3px);box-shadow:0 10px 30px #2563a84d}.hero-image{position:relative;display:flex;justify-content:center;align-items:center;height:100%;min-height:540px;transform:translateY(-24px)}.hero-blob-main{position:relative;width:560px;height:560px;border-radius:50%;overflow:hidden;background-color:var(--accent);z-index:2;flex-shrink:0;box-shadow:0 20px 60px #15324326;opacity:0;transform:translateY(-80px) scale(.85)}.hero-blob-main.entered{opacity:1;transform:translate(var(--mx, 0),var(--my, 0)) scale(1);transition:opacity .6s ease,transform .8s cubic-bezier(.34,1.4,.64,1)}.hero-student{width:100%;height:100%;object-fit:cover;object-position:top center}.hero-orb{position:absolute;border-radius:50%;opacity:0;transform:translateY(-80px) scale(.7)}.hero-orb.entered{opacity:1;transform:translate(var(--mx, 0),var(--my, 0)) scale(1);transition:opacity .6s ease,transform .8s cubic-bezier(.34,1.4,.64,1)}.hero-orb-sm{width:180px;height:180px;background:#15324340;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);bottom:60px;left:calc(50% - 320px);z-index:3;box-shadow:0 12px 40px #15324333,inset 0 1px #ffffff26;transition-delay:.12s}.hero-orb-outline{width:100px;height:100px;background:transparent;border:3px solid var(--primary);bottom:225px;left:calc(50% - 355px);z-index:1;transition-delay:.24s}.hero-orb-dot{width:52px;height:52px;background-color:var(--accent);bottom:48px;left:calc(50% - 155px);z-index:4;box-shadow:0 8px 25px #f0cf654d;transition-delay:.36s}.divider{width:100%;padding:0 4rem}.divider-line{width:100%;height:1px;background-color:var(--primary);opacity:.15}.testimonials{padding:3.5rem 0}.testimonials-marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}.testimonials-marquee-track{display:flex;align-items:stretch;width:max-content;will-change:transform}.testimonial-quote{flex:0 0 auto;width:544px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;text-align:center;padding:0 2.5rem;border-left:1px solid rgba(21,50,67,.12)}.testimonial-quote-text{font-family:var(--font-title);font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--primary)}.testimonial-attribution{display:flex;flex-direction:column;align-items:center;gap:.4rem}.testimonial-tag{display:inline-block;padding:.22em .7em;border-radius:100px;font-family:var(--font-body);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.testimonial-tag-tutor{background-color:var(--tutor-blue);color:var(--white)}.testimonial-tag-parent{background-color:var(--accent);color:var(--primary)}.testimonial-quote-author{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);opacity:.55}@media(max-width:900px){.testimonial-quote{width:448px;padding:0 1.5rem}.testimonial-quote-text{font-size:1.1rem}}.about{padding:8rem max(4rem,calc((100% - 1400px)/2 + 4rem));display:flex;flex-direction:column;gap:2.5rem;background-color:var(--white)}.about-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-content h2{font-family:var(--font-title);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:400;color:var(--primary);line-height:1.15;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.about-content p{font-size:1.125rem;line-height:1.8;opacity:0;transform:translateY(30px);transition:opacity .7s ease .15s,transform .7s ease .15s}.about-content.visible h2{opacity:1;transform:translateY(0)}.about-content.visible p{opacity:.8;transform:translateY(0)}.how-it-works{padding:6rem 4rem;max-width:1400px;margin:0 auto}.how-header{text-align:center;margin-bottom:4rem}.how-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;display:block;margin-bottom:1rem}.how-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.2}.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem}@media(min-width:1025px)and (max-width:1200px){.how-steps{grid-template-columns:repeat(2,1fr);gap:2.5rem}}.how-step{text-align:center;padding:2rem;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.how-step.visible{opacity:1;transform:translateY(0)}.how-step:nth-child(1){transition-delay:0s}.how-step:nth-child(2){transition-delay:.15s}.how-step:nth-child(3){transition-delay:.3s}.how-step:nth-child(4){transition-delay:.45s}.step-number{width:60px;height:60px;background-color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:1.5rem;color:var(--primary);margin:0 auto 1.5rem;transition:transform .3s ease,box-shadow .3s ease}.how-step:hover .step-number{transform:scale(1.1);box-shadow:0 8px 25px #f0cf6566}.step-title{font-family:var(--font-title);font-size:1.5rem;font-weight:400;color:var(--primary);margin-bottom:1rem}.step-desc{font-family:var(--font-body);font-size:1rem;color:var(--primary);opacity:.8;line-height:1.7}.services{padding:6rem 4rem;max-width:1400px;margin:0 auto;background-color:var(--white)}.services-header{text-align:center;margin-bottom:4rem}.services-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;display:block;margin-bottom:1rem}.services-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.2}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.service-card{padding:2.5rem;background-color:var(--background);border-radius:12px;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease}.service-card.visible{opacity:1;transform:translateY(0)}.service-card:nth-child(1){transition-delay:0s}.service-card:nth-child(2){transition-delay:.15s}.service-card:nth-child(3){transition-delay:.3s}.service-card:hover{box-shadow:0 10px 40px #1532431a}.service-icon{width:60px;height:60px;background-color:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:1.5rem}.service-title{font-family:var(--font-title);font-size:1.5rem;font-weight:400;color:var(--primary);margin-bottom:1rem}.service-desc{font-family:var(--font-body);font-size:1rem;color:var(--primary);opacity:.8;line-height:1.7}.team{padding:4rem 4rem 8rem;max-width:1400px;margin:0 auto}.team-header{text-align:center;margin-bottom:4rem}.team-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;display:block;margin-bottom:1rem}.team-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.2}.team-panels{display:flex;flex-direction:column;gap:3rem}.team-panel{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;background-color:var(--white);border-radius:16px;overflow:hidden;opacity:0;transition:opacity .7s ease,transform .7s ease}.panel-left{transform:translate(-60px)}.panel-right{transform:translate(60px);grid-template-columns:1.5fr 1fr}.team-panel.visible{opacity:1;transform:translate(0)}.panel-image{aspect-ratio:1 / 1;overflow:hidden}.panel-image-photo{width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}.panel-content{padding:3rem;display:flex;flex-direction:column;justify-content:center}.panel-name{font-family:var(--font-title);font-size:2.5rem;font-weight:400;color:var(--primary);margin-bottom:.5rem}.panel-role{font-family:var(--font-body);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:1.5rem}.panel-bio{font-size:1.1rem;line-height:1.8;color:var(--primary);opacity:.8}.contact{background-color:var(--primary);padding:8rem 4rem}.contact-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:4rem;align-items:center}.contact-column{text-align:left}.contact-divider{width:1px;height:200px;background-color:var(--white);opacity:.2}.contact-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--white);opacity:.6;margin-bottom:1.5rem}.contact-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--white);line-height:1.1;margin-bottom:1.5rem}.contact-subtitle{font-family:var(--font-body);font-size:1.1rem;color:var(--white);opacity:.7;max-width:400px;margin-bottom:2rem;line-height:1.7}.contact-btn{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--primary);background-color:var(--accent);padding:1.25rem 2.5rem;border:none;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease}.contact-btn:hover{filter:brightness(1.1);transform:translateY(-3px);box-shadow:0 10px 30px #0000004d}.contact-btn-outline{background-color:transparent;color:var(--white);border:2px solid var(--white)}.contact-btn-outline:hover{background-color:var(--white);color:var(--primary)}.footer{background-color:var(--primary);padding:2rem 4rem;border-top:1px solid rgba(255,255,255,.1)}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.footer-logo{font-family:var(--font-title);font-size:1.25rem;font-weight:400;color:var(--white)}.footer-copy{font-family:var(--font-body);font-size:.875rem;color:var(--white);opacity:.5}@media(max-width:1024px){.nav{padding:1.25rem 2rem}.hero{grid-template-columns:1fr;text-align:center;padding:8rem 2rem 4rem;gap:3rem}.hero-content{max-width:100%;order:1}.hero-image{order:0;min-height:400px}.hero-blob-main{width:320px;height:320px}.about{gap:1.5rem;padding:6rem 2rem}.about-content{grid-template-columns:1fr;gap:1.5rem}.how-it-works{padding:4rem 2rem}.how-steps{grid-template-columns:1fr;gap:2rem}.services{padding:4rem 2rem}.services-grid{grid-template-columns:1fr;gap:2rem}.team{padding:4rem 2rem 6rem}.team-panel,.panel-right{grid-template-columns:1fr}.panel-right .panel-content{order:1}.panel-right .panel-image{order:0}.panel-left,.panel-right{transform:translateY(30px)}.panel-content{padding:2rem}.contact{padding:6rem 2rem}.contact-grid{grid-template-columns:1fr;gap:3rem;text-align:center}.contact-column{text-align:center}.contact-subtitle{margin-left:auto;margin-right:auto}.contact-divider{width:100px;height:1px;margin:0 auto}.divider{padding:0 2rem}}@media(max-width:640px){.nav{padding:.875rem 1rem}.nav-logo{font-size:1.25rem}.nav-logo-img{height:28px}.nav-toggle{display:flex}.nav-actions{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:.25rem;padding:.75rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:#fafaf8f7;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border-bottom:1px solid rgba(21,50,67,.08);box-shadow:0 20px 45px #1532431f;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.nav.mobile-open .nav-actions{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown{width:100%}.nav-dropdown-trigger{width:100%;justify-content:space-between;font-size:.9rem;padding:.85rem .5rem;letter-spacing:.06em}.nav-actions .nav-dropdown-panel{position:static;margin:0 0 .25rem;padding:0;background:none;border:none;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}.nav-actions .nav-dropdown.open .nav-dropdown-panel{display:block}.nav-tutor-login{width:100%;font-size:.9rem;padding:.85rem .5rem;border-top:1px solid rgba(21,50,67,.08)}.nav-contact{width:100%;margin-top:.25rem;padding:.9rem 1.5rem;font-size:.8rem;text-align:center}.hero{padding:6rem 1.5rem 3rem}.hero-image{min-height:300px}.hero-blob-main{width:260px;height:260px}.hero-orb-sm{width:80px;height:80px;left:calc(50% - 170px)}.hero-orb-outline{width:55px;height:55px;right:calc(50% - 185px)}.hero-orb-dot{display:none}.hero-cta{padding:1rem 2rem;font-size:.875rem}.footer{padding:1.5rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}}.tutor-page{min-height:100vh;padding:10rem 4rem 6rem;display:flex;justify-content:center;align-items:flex-start}.tutor-form-container{max-width:1100px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.tutor-form-title{font-family:var(--font-title);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--primary);line-height:1.1;margin-bottom:1.25rem}.tutor-form-subtitle{font-family:var(--font-body);font-size:1.1rem;color:var(--primary);opacity:.75;line-height:1.7;margin-bottom:2.5rem}.tutor-perks{display:flex;flex-direction:column;gap:1.25rem}.perk{display:flex;align-items:center;gap:1rem;font-family:var(--font-body);font-size:1rem;color:var(--primary)}.perk-icon{width:44px;height:44px;border-radius:10px;background-color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.tutor-form{display:flex;flex-direction:column;gap:1.5rem;background-color:var(--white);padding:3rem;border-radius:16px;box-shadow:0 4px 30px #1532430f}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}.form-label-optional{text-transform:none;font-weight:400;letter-spacing:normal;opacity:.5}.form-input{font-family:var(--font-body);font-size:1rem;color:var(--primary);padding:.9rem 1rem;border:2px solid rgba(21,50,67,.12);border-radius:10px;background-color:var(--background);transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f0cf6540}.form-input::placeholder{color:var(--primary);opacity:.35}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23153243' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}.form-file-wrapper{position:relative}.form-file-input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}.form-file-display{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:2px dashed rgba(21,50,67,.18);border-radius:10px;background-color:var(--background);color:var(--primary);opacity:.6;font-family:var(--font-body);font-size:.95rem;transition:border-color .2s ease,opacity .2s ease}.form-file-wrapper:hover .form-file-display{border-color:var(--accent);opacity:.85}.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--primary);background-color:var(--accent);padding:1.1rem 2rem;border:none;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease;margin-top:.5rem}.form-submit:hover{filter:brightness(1.1);transform:translateY(-3px);box-shadow:0 10px 30px #15324326}.form-group.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.form-error{font-family:var(--font-body);font-size:.9rem;color:#c0392b;margin-top:-.5rem;min-height:1.25em}.turnstile-wrap{margin-top:.25rem}.subject-select{position:relative}.subject-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:40px;font-family:var(--font-body);font-size:1rem;color:var(--primary);padding:.9rem 1rem;border:2px solid rgba(21,50,67,.12);border-radius:10px;background-color:var(--background);cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .1s ease}.subject-select-trigger:hover{border-color:#15324333}.subject-select-trigger:active{transform:scale(.96)}.subject-select.open .subject-select-trigger{border-color:var(--accent);box-shadow:0 0 0 3px #f0cf6540}.subject-select-trigger-label.is-placeholder{opacity:.35}.subject-select-chevron{flex-shrink:0;transition:transform .2s ease}.subject-select.open .subject-select-chevron{transform:rotate(180deg)}.subject-select-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:.75rem;max-height:320px;overflow-y:auto;padding:.75rem;border-radius:14px;background-color:var(--white);box-shadow:0 12px 40px #15324329;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.subject-select.open .subject-select-panel{opacity:1;transform:translateY(0);pointer-events:auto}.subject-select-group+.subject-select-group{padding-top:.75rem;border-top:1px solid rgba(21,50,67,.08)}.subject-select-group-title{font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--primary);opacity:.55;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .5rem}.subject-select-option{display:flex;align-items:center;gap:.65rem;min-height:40px;padding:.4rem .5rem;border-radius:6px;font-family:var(--font-body);font-size:.95rem;color:var(--primary);cursor:pointer;transition:background-color .15s ease}.subject-select-option:hover{background-color:#1532430d}.subject-select-option input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.form-hint{font-family:var(--font-body);font-size:.85rem;color:var(--primary);opacity:.55;margin-top:-.15rem}.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:3rem 1rem}.form-success h3{font-family:var(--font-title);font-size:2rem;font-weight:400;color:var(--primary)}.form-success p{font-family:var(--font-body);font-size:1.1rem;color:var(--primary);opacity:.7}@media(max-width:1024px){.tutor-form-container{grid-template-columns:1fr;gap:3rem}.tutor-page{padding:8rem 2rem 4rem}}@media(max-width:640px){.tutor-page{padding:7rem 1.5rem 3rem}.tutor-form{padding:2rem}.tutor-perks{flex-direction:row;flex-wrap:wrap;gap:1rem}}.portal-login{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:8rem 2rem 4rem}.login-card{max-width:440px;width:100%;background-color:var(--white);padding:3rem;border-radius:16px;box-shadow:0 4px 30px #1532430f}.login-title{font-family:var(--font-title);font-size:2.5rem;font-weight:400;color:var(--primary);margin-bottom:.5rem}.login-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--primary);opacity:.65;margin-bottom:2rem;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-submit{width:100%;justify-content:center}.login-error{font-family:var(--font-body);font-size:.875rem;color:#c0392b;background-color:#c0392b14;padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem;white-space:pre-line}.portal-dashboard{max-width:1100px;margin:0 auto;padding:8rem 2rem 4rem}.dash-header{margin-bottom:2.5rem}.dash-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);margin-bottom:.25rem}.dash-subtitle{font-family:var(--font-body);font-size:1.05rem;color:var(--primary);opacity:.6}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem}.stat-card{background-color:var(--white);padding:2rem;border-radius:14px;text-align:center;box-shadow:0 2px 16px #1532430d;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-family:var(--font-title);font-size:2.5rem;color:var(--primary)}.stat-label{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);opacity:.5}.dash-section{background-color:var(--white);padding:2.5rem;border-radius:14px;box-shadow:0 2px 16px #1532430d;margin-bottom:2rem}.dash-section-title{font-family:var(--font-title);font-size:1.75rem;font-weight:400;color:var(--primary);margin-bottom:1.5rem}.dash-empty{font-family:var(--font-body);color:var(--primary);opacity:.5;font-size:1rem}.log-form{display:flex;flex-direction:column;gap:1.25rem}.log-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group-duration .form-label{margin-bottom:.5rem}.duration-picker{display:grid;grid-template-columns:auto minmax(11.5rem,1fr);align-items:end;column-gap:1.35rem;row-gap:.5rem;margin-top:.15rem}.duration-picker-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.duration-picker-hours{flex:0 0 auto}.duration-picker-input-line{display:flex;align-items:center;gap:.45rem}.duration-input-hours{width:4.25rem;min-width:4.25rem;text-align:center;padding-left:.5rem;padding-right:.5rem}.duration-unit-suffix{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--primary);opacity:.45;line-height:1;padding-bottom:.1rem}.duration-picker-minutes{flex:1 1 auto;min-width:0}.duration-select-minutes{width:100%;min-width:11.5rem}.duration-hint{margin:.5rem 0 0;font-family:var(--font-body);font-size:.8rem;color:var(--primary);opacity:.5;line-height:1.35}.form-sublabel{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);opacity:.55;margin-bottom:0}.log-notes-input{resize:vertical;min-height:60px}.log-msg{font-family:var(--font-body);font-size:.9rem;min-height:1.25em}.log-msg-success{color:#27ae60}.log-msg-error{color:#c0392b}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.student-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background-color:var(--background);border-radius:12px;transition:box-shadow .2s ease}.student-card:hover{box-shadow:0 4px 20px #15324314}.student-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;font-size:.85rem;flex-shrink:0}.student-info{display:flex;flex-direction:column;gap:.15rem}.student-name{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--primary)}.student-meta{font-family:var(--font-body);font-size:.85rem;color:var(--primary);opacity:.6}.student-parent{font-family:var(--font-body);font-size:.8rem;color:var(--primary);opacity:.45}.sessions-table-wrap{overflow-x:auto}.sessions-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.95rem}.sessions-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);opacity:.45;padding:.75rem 1rem;border-bottom:2px solid rgba(21,50,67,.08)}.sessions-table td{padding:.85rem 1rem;color:var(--primary);border-bottom:1px solid rgba(21,50,67,.06)}.sessions-table tbody tr:hover{background-color:var(--background)}.session-notes{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.65}@media(max-width:768px){.dash-stats,.log-row{grid-template-columns:1fr}.duration-picker{grid-template-columns:1fr;align-items:stretch}.duration-picker-input-line{justify-content:flex-start}.portal-dashboard{padding:7rem 1.5rem 3rem}.dash-section{padding:1.5rem}}@media(max-width:640px){.login-card{padding:2rem}}.login-forgot{margin-top:1.25rem;text-align:center;font-family:var(--font-body);font-size:.875rem}.link-btn{background:none;border:none;padding:0;color:var(--primary);opacity:.6;font-family:var(--font-body);font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s ease}.link-btn:hover{opacity:1}.login-info{font-family:var(--font-body);font-size:.875rem;color:#27ae60;background-color:#27ae6014;padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem;line-height:1.5}.nav-admin-right{display:flex;align-items:center;gap:1rem}.nav-admin-name{font-family:var(--font-body);font-size:.875rem;color:var(--primary);opacity:.65}.admin-tabs{position:sticky;top:70px;z-index:90;background-color:var(--background);border-bottom:1px solid rgba(21,50,67,.1)}.admin-tabs-inner{max-width:1100px;margin:0 auto;padding:0 2rem;display:flex;gap:0}.admin-tab{background:none;border:none;border-bottom:3px solid transparent;padding:1rem 1.25rem;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--primary);opacity:.55;cursor:pointer;transition:opacity .15s ease,border-color .15s ease;white-space:nowrap;margin-bottom:-1px}.admin-tab:hover{opacity:.9}.admin-tab.active{opacity:1;border-bottom-color:var(--accent);color:var(--primary)}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-section-header .dash-title{margin-bottom:0}.admin-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;white-space:nowrap}.dash-stats-4{grid-template-columns:repeat(4,1fr)}.dash-section-header-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.dash-section-header-row .dash-section-title{margin-bottom:0}.admin-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid rgba(21,50,67,.08)}.admin-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.9rem}.admin-table thead{background-color:#1532430a}.admin-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);opacity:.6;white-space:nowrap;border-bottom:1px solid rgba(21,50,67,.08)}.admin-table td{padding:.85rem 1rem;color:var(--primary);vertical-align:middle;border-bottom:1px solid rgba(21,50,67,.05)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background-color:#15324306}.table-actions{white-space:nowrap}.table-link{color:var(--primary);font-weight:500;text-decoration:underline;text-underline-offset:2px;opacity:.75;transition:opacity .15s ease}.table-link:hover{opacity:1}.badge{display:inline-block;padding:.2em .65em;border-radius:100px;font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-admin{background-color:var(--primary);color:var(--white)}.badge-tutor{background-color:#1532431a;color:var(--primary)}.badge-subject{background-color:#f0cf654d;color:var(--primary);font-weight:500}.badge-subject-math{background-color:#f43f5e1f;color:#9f1239}.badge-subject-science{background-color:#10b9811f;color:#065f46}.badge-subject-english{background-color:#3b82f61f;color:#1e40af}.badge-subject-test-prep-admissions{background-color:#64748b1f;color:#334155}.subject-tags-trigger{display:inline-flex;align-items:center;gap:.3em;padding:.2em .65em;border-radius:100px;border:1px solid rgba(21,50,67,.15);background-color:transparent;color:var(--primary);font-family:var(--font-body);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.subject-tags-trigger:hover,.subject-tags-trigger.open{background-color:#1532430f;border-color:#1532434d}.subject-tags-chevron{transition:transform .15s ease}.subject-tags-trigger.open .subject-tags-chevron{transform:rotate(180deg)}.subject-tags-popover{display:none;position:fixed;z-index:200;flex-wrap:wrap;gap:.35rem;max-width:280px;padding:.6rem;background-color:var(--white);border:1px solid rgba(21,50,67,.12);border-radius:10px;box-shadow:0 8px 24px #15324329}.subject-tags-popover.open{display:flex}.badge-count{background-color:var(--accent);color:var(--primary);font-weight:700}.btn-sm{background-color:#15324312;color:var(--primary);border:none;border-radius:6px;padding:.35rem .75rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;white-space:nowrap}.btn-sm:hover{background-color:#1532431f}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:none;border:1px solid rgba(21,50,67,.2);border-radius:8px;padding:.65rem 1.25rem;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--primary);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;white-space:nowrap}.btn-ghost:hover{background-color:#1532430d;border-color:#15324359}.muted{opacity:.4}.guide-page{max-width:980px;margin:0 auto;padding:8rem 1.5rem 4rem}.guide-hero{text-align:center;margin-bottom:2rem}.guide-title{font-family:var(--font-title);font-size:clamp(3rem,7vw,5rem);font-weight:400;color:var(--primary);line-height:1;margin-bottom:1rem}.guide-subtitle{max-width:680px;margin:0 auto;color:var(--primary);opacity:.78;font-size:1.1rem;line-height:1.7}.guide-card{background:var(--white);border:1px solid rgba(21,50,67,.08);border-radius:24px;padding:clamp(1.25rem,3vw,2rem);margin-bottom:1.5rem;box-shadow:0 20px 50px #15324314}.guide-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:2rem;align-items:start}.guide-step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--accent);color:var(--primary);font-weight:700;margin-bottom:.75rem}.guide-card h2{font-family:var(--font-title);font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.05;color:var(--primary);margin-bottom:.75rem}.guide-card p{color:var(--primary);opacity:.78;line-height:1.7;margin-bottom:.75rem}.guide-note{font-weight:700;opacity:1!important}.guide-card blockquote{border-left:4px solid var(--accent);padding:.75rem 1rem;background:var(--background);border-radius:0 12px 12px 0;color:var(--primary);font-weight:600}.guide-image{width:100%;border-radius:18px;border:1px solid rgba(21,50,67,.12);box-shadow:0 16px 40px #1532431f}.guide-warning{background:#f0cf652e}@media(max-width:760px){.guide-step{grid-template-columns:1fr}}.filter-bar{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;background-color:var(--white);padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 2px 16px #1532430d}.filter-group{display:flex;flex-direction:column;gap:.4rem;min-width:140px}.filter-group .form-label{margin-bottom:0}.filter-select,.filter-date{padding:.55rem .9rem;font-size:.875rem}.filter-apply-btn{padding:.6rem 1.25rem;font-size:.875rem;align-self:flex-end;margin-top:auto}.modal-overlay{position:fixed;inset:0;background-color:#15324373;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{background-color:var(--white);border-radius:16px;padding:2rem;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #15324333}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-title{font-family:var(--font-title);font-size:1.75rem;font-weight:400;color:var(--primary)}.modal-close{background:none;border:none;cursor:pointer;color:var(--primary);opacity:.5;padding:.25rem;border-radius:6px;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{opacity:1}.modal-subtitle{font-family:var(--font-body);font-size:.9rem;color:var(--primary);opacity:.6;margin-bottom:1.5rem;line-height:1.6}.modal-section-label{font-family:var(--font-body);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);opacity:.45;margin-bottom:.75rem;margin-top:1.25rem}.modal-section-label:first-of-type{margin-top:0}.modal-form{display:flex;flex-direction:column;gap:1.25rem}.modal-form .form-row{gap:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.modal-submit-btn{padding:.65rem 1.5rem;font-size:.9rem}.label-hint{font-weight:400;opacity:.5;font-size:.8rem}@media(max-width:900px){.dash-stats-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-tabs-inner{padding:0 1rem;overflow-x:auto}.admin-tab{padding:.875rem 1rem;font-size:.85rem}.admin-section-header{flex-direction:column;align-items:flex-start}.filter-bar{flex-direction:column;align-items:stretch}.filter-group{min-width:unset}.filter-apply-btn{width:100%;justify-content:center}.modal-card{padding:1.5rem;max-height:95vh}.modal-form .form-row{grid-template-columns:1fr}}@media(max-width:640px){.dash-stats-4{grid-template-columns:1fr 1fr}.nav-admin-name{display:none}}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--primary);background:none;border:none;cursor:pointer;padding:.75rem .25rem;text-transform:uppercase;letter-spacing:.08em;transition:opacity .2s ease}.nav-dropdown-trigger:hover{opacity:.7}.nav-dropdown-trigger:active,.nav-cat-trigger:active{transform:scale(.96)}.nav-caret{transition:transform .25s ease}.nav-dropdown.open .nav-caret{transform:rotate(180deg)}.nav-dropdown-panel{position:absolute;top:calc(100% + .5rem);left:0;min-width:240px;padding:.5rem;background:#fafaf8d9;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(21,50,67,.08);border-radius:14px;box-shadow:0 20px 45px #15324326;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:200}.nav-dropdown.open .nav-dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.nav-cat{position:relative}.nav-cat-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--primary);background:none;border:none;cursor:pointer;padding:.7rem .85rem;border-radius:9px;text-align:left;transition:background .15s ease}.nav-cat-trigger:hover{background:#1532430f}.nav-cat-caret{flex-shrink:0;opacity:.55;transition:transform .2s ease}.nav-cat-flyout{position:absolute;top:-.5rem;left:calc(100% + .5rem);min-width:220px;padding:.5rem;display:flex;flex-direction:column;background:#fafaf8eb;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(21,50,67,.08);border-radius:14px;box-shadow:0 20px 45px #15324326;opacity:0;visibility:hidden;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.nav-cat-link{font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--primary);text-decoration:none;padding:.6rem .85rem;border-radius:9px;white-space:nowrap;transition:background .15s ease}.nav-cat-link:hover{background:var(--accent)}.nav-cat.open .nav-cat-flyout{opacity:1;visibility:visible;transform:translate(0)}.nav-cat.open .nav-cat-caret{transform:rotate(90deg)}@media(hover:hover)and (min-width:1025px){.nav-dropdown:hover .nav-dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown:hover .nav-caret{transform:rotate(180deg)}.nav-cat:hover .nav-cat-flyout{opacity:1;visibility:visible;transform:translate(0)}.nav-cat:hover .nav-cat-caret{transform:translate(2px)}}.course-hero{min-height:auto;grid-template-columns:1fr;justify-items:center;padding:8.5rem 4rem 4.5rem;text-align:center;isolation:isolate}.course-hero .hero-content{max-width:700px;display:flex;flex-direction:column;align-items:center}.course-hero .hero-title{font-size:clamp(2.5rem,5vw,4rem)}.course-hero .hero-subtitle{max-width:580px}.course-hero-glow{position:absolute;inset:-15% -10% auto;height:130%;z-index:-1;background:radial-gradient(42% 55% at 24% 22%,rgba(240,207,101,.38),transparent 70%),radial-gradient(48% 60% at 80% 12%,rgba(21,50,67,.14),transparent 70%),radial-gradient(38% 48% at 52% 100%,rgba(240,207,101,.2),transparent 70%);filter:blur(50px);animation:course-hero-glow-drift 16s ease-in-out infinite alternate;pointer-events:none}@keyframes course-hero-glow-drift{0%{transform:translate(0) scale(1)}to{transform:translate(-3%,3%) scale(1.06)}}@media(prefers-reduced-motion:reduce){.course-hero-glow{animation:none}}.course-kicker{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;margin-bottom:1.25rem}.course-kicker-accent{color:var(--primary);opacity:.55}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.course-hero .hero-actions{justify-content:center}.hero-cta-outline{background-color:transparent;color:var(--primary);border:2px solid rgba(21,50,67,.25)}.hero-cta-outline:hover{background-color:var(--primary);color:var(--white);border-color:var(--primary);filter:none}.hero-cta:active,.contact-btn:active,.nav-contact:active{transform:scale(.96)}.challenge{padding:6rem 4rem;max-width:1400px;margin:0 auto}.challenge-header{text-align:center;margin-bottom:4rem}.challenge-label{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;margin-bottom:1rem}.challenge-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.2;max-width:720px;margin:0 auto}.challenge-grid{display:flex;flex-direction:column;gap:1.75rem}.challenge-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.challenge-row.visible{opacity:1;transform:translateY(0)}.challenge-row:nth-child(1){transition-delay:0s}.challenge-row:nth-child(2){transition-delay:.1s}.challenge-row:nth-child(3){transition-delay:.2s}.challenge-row:nth-child(4){transition-delay:.3s}.challenge-row:nth-child(5){transition-delay:.4s}.challenge-side,.approach-side{padding:2rem 2.25rem;border-radius:16px;display:flex;flex-direction:column;gap:.85rem}.challenge-side{background-color:var(--white);border:1px solid rgba(21,50,67,.08)}.approach-side{background-color:var(--primary)}.challenge-tag,.approach-tag{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}.challenge-tag{color:var(--primary);opacity:.45}.approach-tag{color:var(--accent)}.challenge-side p{font-size:1.05rem;line-height:1.65;color:var(--primary);opacity:.85}.approach-side p{font-size:1.05rem;line-height:1.65;color:var(--white);opacity:.92}.challenge-connector{display:flex;align-items:center;justify-content:center;width:56px;color:var(--primary);opacity:.3}.faq{padding:4rem 4rem 8rem;max-width:820px;margin:0 auto}.faq-header{text-align:center;margin-bottom:3rem}.faq-label{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;margin-bottom:1rem}.faq-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.2}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background-color:var(--white);border:1px solid rgba(21,50,67,.08);border-radius:12px;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,box-shadow .3s ease}.faq-item.visible{opacity:1;transform:translateY(0)}.faq-item:nth-child(1){transition-delay:0s,0s,0s}.faq-item:nth-child(2){transition-delay:.08s,.08s,0s}.faq-item:nth-child(3){transition-delay:.16s,.16s,0s}.faq-item:nth-child(4){transition-delay:.24s,.24s,0s}.faq-item:nth-child(5){transition-delay:.32s,.32s,0s}.faq-item[open]{box-shadow:0 10px 30px #15324314}.faq-q{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:40px;padding:1.4rem 1.6rem;font-family:var(--font-body);font-size:1.05rem;font-weight:500;color:var(--primary);cursor:pointer;list-style:none}.faq-q::-webkit-details-marker{display:none}.faq-chevron{flex-shrink:0;color:var(--primary);opacity:.5;transition:transform .25s ease}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-a{padding:0 1.6rem 1.5rem}.faq-a p{font-size:1rem;line-height:1.7;color:var(--primary);opacity:.8}.hero-title,.about-content h2,.how-title,.services-title,.team-title,.contact-title,.challenge-title,.faq-title,.step-title,.service-title,.panel-name{text-wrap:balance}.hero-subtitle,.about-content p,.step-desc,.service-desc,.panel-bio,.contact-subtitle,.challenge-side p,.approach-side p,.faq-a p{text-wrap:pretty}.line-rise-word{display:inline-block}.line-rise-line{display:block;overflow:hidden}.line-rise-line-inner{display:block;transform:translateY(110%);transition:transform .7s cubic-bezier(.16,1,.3,1)}.visible .line-rise-line-inner{transform:translateY(0)}@media(max-width:1024px){.course-hero{padding:7.5rem 2rem 3.5rem}.challenge{padding:4rem 2rem}.challenge-row{grid-template-columns:1fr;gap:.85rem}.challenge-connector{width:100%;height:40px;transform:rotate(90deg)}.faq{padding:3rem 2rem 6rem}.nav-dropdown-panel{left:auto;right:0;min-width:260px;max-height:70vh;overflow-y:auto}.nav-cat-flyout{position:static;min-width:0;padding:.15rem 0 .35rem .85rem;background:none;border:none;box-shadow:none;transform:none;max-height:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.nav-cat.open .nav-cat-flyout{max-height:400px}.nav-cat.open .nav-cat-caret{transform:rotate(90deg)}}@media(max-width:640px){.course-hero{padding:6.5rem 1.5rem 3rem}.hero-actions{justify-content:center}}.portal-showcase{padding:6rem 4rem;background-color:var(--white)}.portal-showcase-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:4.5rem;align-items:center}.portal-showcase-copy{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.portal-showcase-copy.visible{opacity:1;transform:translateY(0)}.portal-showcase-label{font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:.5;display:block;margin-bottom:1rem}.portal-showcase-title{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--primary);line-height:1.15;margin-bottom:1.25rem}.portal-showcase-lead{font-family:var(--font-body);font-size:1.1rem;color:var(--primary);opacity:.8;line-height:1.7;max-width:30rem;margin-bottom:2rem}.portal-showcase-bullets{list-style:none;padding:0;margin:0 0 2.25rem;display:flex;flex-direction:column;gap:1rem}.portal-showcase-bullets li{display:flex;align-items:center;gap:.85rem;font-family:var(--font-body);font-size:1.02rem;color:var(--primary)}.portal-bullet-dot{flex-shrink:0;width:22px;height:22px;border-radius:50%;background-color:var(--accent);position:relative}.portal-bullet-dot:after{content:"";position:absolute;left:7px;top:6px;width:4px;height:8px;border:solid var(--primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.portal-showcase-cta{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--primary);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px;transition:gap .25s ease,opacity .25s ease}.portal-showcase-cta:hover{gap:1rem;opacity:.75}.portal-showcase-visual{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease;transition-delay:.1s}.portal-showcase-visual.visible{opacity:1;transform:translateY(0)}.pp-frame{border-radius:16px;overflow:hidden;background-color:var(--primary);box-shadow:0 30px 70px #15324338}.pp-frame-bar{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;background-color:#0f2732}.pp-frame-dot{width:11px;height:11px;border-radius:50%;background-color:#ffffff40}.pp-frame-url{margin-left:.75rem;font-family:var(--font-body);font-size:.78rem;color:#ffffff8c;background-color:#ffffff14;padding:.3rem .9rem;border-radius:50px;letter-spacing:.01em}.pp-frame-body{padding:1.5rem;background:radial-gradient(circle at 20% 0%,rgba(240,207,101,.12),transparent 55%),var(--primary)}.pp-dash{display:flex;flex-direction:column;gap:1rem}.pp-dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pp-dash-eyebrow{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:.3rem}.pp-dash-greeting{font-family:var(--font-title);font-size:1.6rem;font-weight:400;color:var(--white);line-height:1.1}.pp-dash-subject{display:inline-block;margin-top:.4rem;font-family:var(--font-body);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);background-color:var(--accent);padding:.22rem .6rem;border-radius:50px}.pp-sample-badge{flex-shrink:0;font-family:var(--font-body);font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:.3rem .7rem}.pp-card{background-color:var(--white);border-radius:12px;padding:1.15rem 1.25rem;box-shadow:0 8px 24px #0000002e}.pp-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.pp-card-title{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--primary)}.pp-card-date,.pp-trend{font-family:var(--font-body);font-size:.78rem;font-weight:500;color:var(--primary);opacity:.55}.pp-trend{color:#1f8a5b;opacity:1}.pp-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.pp-chart-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.pp-card-chart .pp-card-title{font-size:.78rem;line-height:1.3}.pp-chart-stat{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;line-height:1}.pp-chart-value{font-family:var(--font-body);font-size:1.35rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.pp-chart-unit{font-size:.8rem;font-weight:600;opacity:.5;margin-left:1px}.pp-chart-stat .pp-trend{font-size:.72rem;margin-top:.15rem}.pp-chart-foot{margin-top:.5rem;font-family:var(--font-body);font-size:.68rem;color:var(--primary);opacity:.45;font-variant-numeric:tabular-nums;letter-spacing:.01em}.pp-chart-svg{width:100%;height:auto;display:block}.pp-chart-grid{stroke:#15324312;stroke-width:1}.pp-chart-axis,.pp-chart-tick{stroke:#15324340;stroke-width:1}.pp-chart-goal{stroke:#d9a300;stroke-width:1;stroke-dasharray:3 3;opacity:.7}.pp-chart-goal-label{font-family:var(--font-body);font-size:6.5px;font-weight:700;letter-spacing:.12em;fill:#b98a00;text-anchor:end}.pp-chart-line{fill:none;stroke:var(--primary);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pp-chart-dot{fill:var(--white);stroke:var(--primary);stroke-width:1.4}.pp-chart-dot-last{fill:var(--primary);stroke:var(--white);stroke-width:1.5}.pp-chart-xlabel,.pp-chart-ylabel{font-family:var(--font-body);font-size:8px;fill:#15324380;font-variant-numeric:tabular-nums}.pp-chart-xlabel{text-anchor:middle}.pp-chart-ylabel{text-anchor:end}.pp-summary-byline{display:flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-size:.82rem;color:var(--primary);opacity:.75;margin-bottom:.9rem}.pp-summary-byline strong{font-weight:600;opacity:1}.pp-byline-avatar{flex-shrink:0;width:24px;height:24px;border-radius:50%;background-color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:.85rem;color:var(--primary)}.pp-rbt{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.pp-rbt li{display:flex;align-items:flex-start;gap:.65rem;font-family:var(--font-body);font-size:.88rem;line-height:1.5;color:var(--primary)}.pp-rbt li strong{font-weight:600}.pp-rbt-emoji{flex-shrink:0;font-size:1rem;line-height:1.4}.pp-card-tutor{display:flex;align-items:center;gap:.85rem}.pp-tutor-avatar{flex-shrink:0;width:42px;height:42px;border-radius:50%;background-color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:1.2rem;color:var(--primary)}.pp-tutor-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pp-tutor-name{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--primary)}.pp-tutor-sub{font-family:var(--font-body);font-size:.78rem;color:var(--primary);opacity:.6}.pp-menu-dots{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:none;color:var(--primary);opacity:.45;cursor:pointer;transition:opacity .2s ease,background-color .2s ease}.pp-menu-dots:hover{opacity:.85;background-color:#1532430f}.pp-dash-full{gap:1.25rem}.pp-dash-full .pp-dash-greeting{font-size:2rem}.pp-dash-full .pp-card{padding:1.5rem 1.75rem}.pp-login-stack{display:flex;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:440px}.pp-login-stack .login-card{width:100%}.login-notice{font-family:var(--font-body);font-size:.9rem;color:var(--primary);background-color:#f0cf6533;border:1px solid rgba(240,207,101,.55);padding:.85rem 1rem;border-radius:8px;margin-bottom:1.25rem;line-height:1.5}.login-notice a{color:var(--primary);font-weight:600;text-underline-offset:.2em}.login-choice{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:6rem 2rem 4rem}.login-choice-logo img{height:42px;width:auto}.login-choice-card{width:100%;max-width:440px;background-color:var(--white);border-radius:16px;padding:2.75rem;box-shadow:0 4px 30px #15324314;text-align:center}.login-choice-title{font-family:var(--font-title);font-size:2.25rem;font-weight:400;color:var(--primary);margin-bottom:.4rem}.login-choice-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--primary);opacity:.6;margin-bottom:2rem}.login-choice-option{display:flex;align-items:center;gap:1rem;text-align:left;text-decoration:none;padding:1.15rem 1.25rem;border-radius:12px;border:1px solid rgba(21,50,67,.12);color:var(--primary);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.login-choice-option:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px #1532431a}.login-choice-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background-color:var(--accent);display:flex;align-items:center;justify-content:center;color:var(--primary)}.login-choice-text{display:flex;flex-direction:column;gap:.15rem;flex:1}.login-choice-label{font-family:var(--font-body);font-size:1.05rem;font-weight:600}.login-choice-desc{font-family:var(--font-body);font-size:.85rem;opacity:.6}.login-choice-option>svg{flex-shrink:0;opacity:.4;transition:transform .25s ease,opacity .25s ease}.login-choice-option:hover>svg{transform:translate(4px);opacity:.8}.login-choice-alt{margin-top:1.75rem;font-family:var(--font-body);font-size:.9rem;color:var(--primary);opacity:.7}.login-choice-alt a{color:var(--primary);font-weight:600;text-underline-offset:.2em}.pp-demo{min-height:100vh;background-color:var(--background)}.pp-demo-nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem;background-color:var(--white);border-bottom:1px solid rgba(21,50,67,.08)}.pp-demo-logo img{height:36px;width:auto;display:block}.pp-demo-back{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--primary);text-decoration:none;opacity:.7}.pp-demo-back:hover{opacity:1}.pp-demo-banner{background-color:#f0cf6538;border-bottom:1px solid rgba(240,207,101,.5);text-align:center;padding:.85rem 1.5rem;font-family:var(--font-body);font-size:.9rem;color:var(--primary)}.pp-demo-main{max-width:720px;margin:3rem auto;padding:0 1.5rem}.pp-demo-main .pp-dash{background:radial-gradient(circle at 15% 0%,rgba(240,207,101,.14),transparent 55%),var(--primary);padding:2rem;border-radius:20px;box-shadow:0 20px 60px #1532432e}@media(max-width:1024px){.portal-showcase{padding:4rem 2rem}.portal-showcase-inner{grid-template-columns:1fr;gap:3rem}.portal-showcase-lead{max-width:100%}}@media(max-width:640px){.pp-frame-url{display:none}.pp-charts-row{grid-template-columns:1fr}.login-choice-card{padding:2rem 1.5rem}.pp-demo-nav{padding:1.25rem 1.5rem}.pp-demo-main .pp-dash{padding:1.5rem 1.25rem}}
