@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--ink:#13233a;--ink-soft:#465469;--navy:#153b50;--navy-deep:#0e2b3b;--cream:#f7f3eb;--paper:#fffdf9;--paper-muted:#efe9de;--gold:#c88934;--gold-soft:#f3dfbe;--sage:#dce5dc;--line:#ddd6ca;--danger:#a13d3d;--success:#2f6b52;--shadow-sm:0 8px 24px #13233a12;--shadow-lg:0 24px 70px #13233a21;--font-body:"DM Sans", system-ui, sans-serif;--font-title:"Fraunces", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{color:var(--ink);font:16px/1.65 var(--font-body);background:radial-gradient(circle at 4% 12%, #c8893414, transparent 25rem), var(--cream);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}h1,h2,h3{margin:0;line-height:1.15}h1,h2{font-family:var(--font-title)}p{margin:0}#root{width:min(1240px,100% - 2rem);margin:0 auto}::selection{background:var(--gold-soft);color:var(--ink)}@media (width<=600px){#root{width:min(100% - 1rem,1240px)}}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.signup-page{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:clamp(1.5rem,4vw,3.5rem)}.signup-page>h1{margin-bottom:.35rem;font-size:clamp(2rem,4vw,3.2rem)}.signup-page>h1:after{content:"Choose an available date to reserve a focused math session.";max-width:620px;color:var(--ink-soft);font:400 1rem/1.6 var(--font-body);letter-spacing:0;margin-top:.7rem;display:block}.custom-calendar{width:100%;box-shadow:none;font-family:var(--font-body);border-radius:18px;margin:2rem auto 0;padding:clamp(.7rem,2vw,1.4rem);border:1px solid var(--line)!important;background:var(--cream)!important}.react-calendar__navigation{grid-template-columns:auto auto 1fr auto auto;gap:.35rem;height:auto!important;margin-bottom:1rem!important;display:grid!important}.react-calendar__navigation button{border-radius:10px;font-weight:700;border:1px solid var(--line)!important;background:var(--paper)!important;min-width:42px!important;color:var(--navy)!important;padding:.65rem!important}.react-calendar__navigation button:hover,.react-calendar__navigation button:focus{background:var(--paper-muted)!important}.react-calendar__navigation__label{font-family:var(--font-title);font-size:1.12rem}.react-calendar__month-view__weekdays{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.react-calendar__month-view__weekdays abbr{text-decoration:none}.react-calendar__month-view__weekdays__weekday{padding:.8rem .25rem!important}.react-calendar__month-view__days{gap:5px 0}.react-calendar__tile{border-radius:11px;min-height:94px;transition:all .2s;color:var(--ink)!important;background:0 0!important;border:1px solid #0000!important;padding:.55rem .35rem!important}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background:var(--paper)!important;border-color:#d2c3ad!important}.react-calendar__tile--active{border-color:var(--navy)!important;background:var(--navy)!important;color:#fff!important}.react-calendar__tile--now{box-shadow:inset 0 0 0 2px var(--gold)}.react-calendar__month-view__days__day--neighboringMonth{opacity:.3}.react-calendar__tile:disabled{opacity:.45;color:#a7a094!important;background:0 0!important}.slot-list{margin:.35rem 0 0;padding:0;font-size:.58rem;line-height:1.3;list-style:none}.slot-list li{text-overflow:ellipsis;white-space:nowrap;color:var(--success);overflow:hidden}.react-calendar__tile--active .slot-list li{color:#d7ece3}.signup-form{border:1px solid var(--line);width:100%;max-width:720px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;margin:1.4rem auto 0;padding:clamp(1.2rem,3vw,2rem)}.form-header{border-bottom:1px solid var(--line);margin-bottom:1.3rem;padding-bottom:1rem}.signup-form h2{font-family:var(--font-title);margin-bottom:.35rem;font-size:1.55rem}.slot-info{color:var(--ink-soft);font-size:.85rem}.signup-form form{gap:.9rem;display:grid}.signup-form label{gap:.4rem;display:grid}.signup-form input,.signup-form textarea{margin:0}.form-actions{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.form-actions button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;border-radius:11px;padding:.65rem 1rem;font-weight:700}.form-actions button:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.form-actions .btn-submit{border-color:var(--navy);background:var(--navy);color:#fff;flex:1;min-width:170px}.form-actions .btn-clear{color:var(--navy)}.form-actions .btn-cancel{color:var(--danger)}.form-actions button:disabled{opacity:.5;cursor:not-allowed}.error-message{border-left:3px solid var(--danger);color:var(--danger);background:#f9eaea;border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem}.field-error{color:var(--danger);font-size:.78rem}.input-error{border-color:var(--danger)!important;background:snow!important}.success-message{color:var(--success);text-align:center;background:#e6f0ea;border-radius:14px;padding:1.2rem}.success-message h2{color:var(--success)}.fade-enter{opacity:0;transform:translateY(8px)}.fade-enter-active{opacity:1;transition:opacity .35s,transform .35s;transform:none}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .2s}@media (width<=680px){.signup-page{padding:1.25rem .7rem}.signup-page>h1,.signup-page>h1:after{margin-left:.55rem;margin-right:.55rem}.react-calendar__tile{min-height:68px;font-size:.75rem}.slot-list{display:none}.react-calendar__navigation{grid-template-columns:auto 1fr auto}.react-calendar__navigation__prev2-button,.react-calendar__navigation__next2-button{display:none}}.ta-dashboard{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:clamp(1.5rem,4vw,3rem)}.ta-dashboard-header{background:var(--navy-deep);color:#fff;border-radius:18px;margin-bottom:1.3rem;padding:2rem;position:relative;overflow:hidden}.ta-dashboard-header:after{content:"∑";color:#ffffff14;font:700 7rem var(--font-title);position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.ta-dashboard-header h1{font:700 clamp(2rem,4vw,3.2rem) var(--font-title)}.ta-dashboard-header p{color:#c5d1d5}.refresh-disabled{color:#d7e5e8;background:#ffffff1a;border-radius:99px;margin-top:.8rem;padding:.35rem .7rem;font-size:.75rem;display:inline-flex}.ta-dashboard-loading{color:var(--navy);text-align:center;padding:4rem}.ta-controls{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.tutor-selector{flex-wrap:wrap;gap:.45rem;display:flex}.tutor-btn,.refresh-btn{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:10px;padding:.6rem .9rem;font-weight:700;transition:all .2s}.tutor-btn:hover,.refresh-btn:hover{border-color:#bcae99;transform:translateY(-1px)}.tutor-btn.active{border-color:var(--navy);background:var(--navy);color:#fff}.refresh-btn{background:var(--gold);border-color:var(--gold);color:#fff}.refresh-btn:disabled{opacity:.55;cursor:not-allowed}.ta-error{color:var(--danger);background:#f9eaea;border-radius:10px;margin-bottom:1rem;padding:.8rem}.ta-stats{grid-template-columns:repeat(2,minmax(150px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.stat-card{border:1px solid var(--line);background:var(--cream);border-radius:14px;padding:1.2rem}.stat-card h3{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.stat-card .number{color:var(--navy);font:700 2.2rem var(--font-title);margin-top:.3rem}.ta-sessions{gap:1rem;display:grid}.session-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.session-header{background:var(--navy);color:#fff;grid-template-columns:1fr auto;gap:1rem;padding:1.1rem 1.3rem;display:grid}.session-header h2{font:600 1.2rem var(--font-title)}.session-header p{color:#d4dfe2;font-size:.8rem}.students{padding:.5rem 1.2rem}.student-item{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:1rem 0;display:flex}.student-item:last-child{border-bottom:0}.student-info{flex:1;grid-template-columns:1fr 1fr 1.3fr;align-items:center;gap:1rem;display:grid}.student-name{font-weight:700}.student-contact,.student-goal{color:var(--ink-soft);font-size:.85rem}.delete-btn{width:36px;height:36px;color:var(--danger);cursor:pointer;background:#fff7f7;border:1px solid #e4c8c8;border-radius:9px}.delete-btn:hover{background:#f9eaea}.no-students{color:var(--ink-soft);text-align:center;padding:2rem}@media (width<=740px){.ta-dashboard{padding:.8rem}.ta-controls{flex-direction:column;align-items:stretch}.tutor-selector{grid-template-columns:1fr 1fr;display:grid}.student-info,.session-header{grid-template-columns:1fr}.student-item{align-items:stretch}.ta-stats{grid-template-columns:1fr 1fr}}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px}.site-header{z-index:50;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9f0;margin-top:.75rem;padding:.8rem 1rem;position:sticky;top:.75rem}.nav-wrap{justify-content:space-between;align-items:center;gap:2rem;display:flex}.brand-link{align-items:center;gap:.7rem;min-width:max-content;text-decoration:none;display:flex}.brand-mark{background:var(--navy);width:42px;height:42px;color:var(--paper);font:700 1.25rem var(--font-title);border-radius:12px;place-items:center;display:grid}.brand-copy{line-height:1.05;display:grid}.brand-copy strong{font:700 1.05rem var(--font-title)}.brand-copy small{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-top:.25rem;font-size:.67rem}.main-nav{align-items:center;gap:.15rem;display:flex}.main-nav a{color:var(--ink-soft);border-radius:10px;padding:.65rem .78rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s}.main-nav a:hover{color:var(--navy);background:var(--cream)}.main-nav a.active{color:var(--paper);background:var(--navy)}.route-frame{padding:1.5rem 0 3rem;overflow:hidden}.route-shell{animation:.4s both route-in}.page-shell{gap:1.25rem;display:grid}.hero{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff;grid-template-columns:1.18fr .82fr;min-height:620px;padding:clamp(2.3rem,6vw,5.6rem);display:grid;position:relative;overflow:hidden}.hero:before{content:"";opacity:.06;background-image:linear-gradient(#ffffff4d 1px,#0000 1px),linear-gradient(90deg,#ffffff4d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.hero-content{z-index:2;align-self:center;position:relative}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .8rem;font-size:.73rem;font-weight:700}.hero h1{color:#fff;letter-spacing:-.045em;max-width:720px;font-size:clamp(3.3rem,7vw,6.4rem)}.hero-copy{color:#d5dfe2;max-width:590px;margin-top:1.4rem;font-size:clamp(1rem,1.7vw,1.2rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.72rem 1.25rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#fff;box-shadow:0 10px 25px #c8893433}.btn-primary:hover{background:#b87928;box-shadow:0 12px 28px #c889344d}.btn-ghost{color:#fff;background:#ffffff0f;border-color:#ffffff4d}.btn-ghost:hover{background:#ffffff1f}.btn-small{min-height:38px;color:var(--navy);border-color:var(--line);background:var(--paper);padding:.5rem .85rem;font-size:.85rem}.hero-trust{color:#bfcdd2;flex-wrap:wrap;gap:.9rem 1.5rem;margin-top:2.5rem;font-size:.79rem;display:flex}.hero-trust span:before{content:"✓";color:#e8be7d;margin-right:.45rem}.hero-visual{min-height:380px;position:relative}.equation-card{width:min(360px,92%);color:var(--ink);background:#fffaf0;border:1px solid #fff3;border-radius:20px;padding:2rem;position:absolute;top:50%;left:50%;transform:translate(-45%,-50%)rotate(3deg);box-shadow:0 30px 80px #00000040}.equation-card span{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.equation-card strong{font:700 clamp(2rem, 4vw, 3rem) var(--font-title);color:var(--navy);margin:1.1rem 0;display:block}.equation-card p{color:var(--ink-soft);font-size:.9rem}.equation-orbit{background:var(--gold);color:#fff;width:68px;height:68px;font:700 1.5rem var(--font-title);border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 14px 35px #0003}.orbit-one{top:15%;right:2%}.orbit-two{background:#386978;width:54px;height:54px;bottom:12%;left:7%}.info-strip,#home-sections,.page-shell>section{padding:clamp(1.5rem,4vw,3.5rem)}.panel-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem;display:flex}.panel-head h1,.panel-head h2{font-size:clamp(1.7rem,3vw,2.5rem)}.info-grid,.about-grid,.ta-grid,.review-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.info-card,.feature-card,.ta-grid-card,.review-card,.ta-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.45rem;transition:transform .22s,box-shadow .22s,border-color .22s}.info-card:hover,.feature-card:hover,.ta-grid-card:hover,.review-card:hover,.ta-card:hover{box-shadow:var(--shadow-sm);border-color:#c9bca9;transform:translateY(-3px)}.card-number{color:var(--gold);font:600 .75rem var(--font-body);margin-bottom:2.2rem;display:block}.info-card h3,.feature-card h3,.ta-grid-card h3,.ta-card h3{color:var(--navy);margin-bottom:.55rem;font-size:1.08rem}.info-card p,.feature-card p,.ta-grid-card p,.ta-card p,.review-card p{color:var(--ink-soft)}select,input,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s}select{width:auto;min-width:180px}select:focus,input:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c8893421}label{color:var(--ink);gap:.4rem;font-size:.86rem;font-weight:600;display:grid}textarea{resize:vertical}.ta-card{background:var(--cream);margin-top:1rem}.ta-title{text-transform:uppercase;letter-spacing:.07em;margin:.2rem 0 .7rem;font-size:.84rem;font-weight:700;color:var(--gold)!important}.ta-hours{margin-bottom:.7rem;font-weight:600}.chips-wrap{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.chip{background:var(--sage);color:var(--navy);border-radius:99px;padding:.32rem .68rem;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.inline-link{color:var(--navy);text-underline-offset:3px;font-weight:700}.spacer-top-sm{margin-top:1rem}.review-list-stack{gap:.8rem;margin-top:1rem;display:grid}.review-meta{color:var(--ink-soft);justify-content:space-between;gap:1rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.review-meta strong{color:var(--ink)}.stars{letter-spacing:.12em;color:var(--gold)!important;margin-bottom:.5rem!important}.about-layout,.contact-layout,.review-page-layout,.admin-layout{gap:1rem;padding:clamp(1.5rem,4vw,3.5rem);display:grid}.about-layout>p,.contact-layout>p{max-width:650px;color:var(--ink-soft);font-size:1.05rem}.about-grid,.ta-grid{margin-top:1rem}.contact-form{gap:.9rem;max-width:720px;margin-top:.8rem;display:grid}.actions,.filter-row,.admin-tabs{flex-wrap:wrap;gap:.7rem;display:flex}.filter-row{align-items:end;margin:.8rem 0}.form-status{color:var(--ink-soft);font-size:.85rem}.hidden-honey{display:none}.stats-bar{background:var(--cream);color:var(--ink-soft);border-radius:12px;margin:.9rem 0;padding:.9rem 1rem}.top-gap{margin-top:1rem}.admin-login{gap:.8rem;max-width:400px;display:grid}.admin-tabs{border-bottom:1px solid var(--line);padding-bottom:.8rem}.tab-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.6rem .9rem;font-weight:700}.tab-btn.active{background:var(--navy);color:#fff}.logout-btn{margin-left:auto}.signup-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;display:grid}.stat{background:var(--cream);text-align:center;border-radius:12px;padding:1rem}.stat strong{color:var(--navy);font:700 1.7rem var(--font-title);display:block}.error-msg{color:var(--danger)}.hours-editor{align-items:end;gap:.7rem;margin-top:.8rem;display:flex}.hours-editor input{width:90px}.site-footer{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;padding:1.4rem 1.6rem;display:flex}.site-footer strong{font-family:var(--font-title)}.site-footer p{color:#b8c8ce;margin-top:.2rem;font-size:.8rem}.site-footer small{color:#b8c8ce}#admin-trigger{cursor:default;-webkit-user-select:none;user-select:none}@keyframes route-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=980px){.nav-wrap{align-items:flex-start}.main-nav{justify-content:flex-end}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:330px}.info-grid,.about-grid,.ta-grid,.review-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.site-header{position:static}.nav-wrap{gap:.8rem;display:grid}.main-nav{flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:.15rem;overflow-x:auto}.main-nav a{white-space:nowrap}.hero{border-radius:18px;padding:2rem 1.35rem}.hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-visual{min-height:280px}.equation-card{transform:translate(-50%,-50%)rotate(2deg)}.info-grid,.about-grid,.ta-grid,.review-grid{grid-template-columns:1fr}.panel-head,.site-footer{flex-direction:column;align-items:flex-start}select{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
