.page,.site-footer{--site-ink:#0a0a0a;--site-soft:#444444;--site-faint:#8a8a8a;--site-hair:#ececec}.site-footer{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(36px,8vh,80px) clamp(24px,5vw,56px) clamp(32px,6vh,56px);background:#ffffff;font-size:.8rem;letter-spacing:.01em;color:var(--site-faint)}.site-nav{display:flex;gap:clamp(22px,2.6vw,40px)}.site-footer a{color:var(--site-faint);text-decoration:none;transition:color var(--dur-micro) var(--ease)}.site-footer a:hover{color:var(--site-ink)}@media (max-width:600px){.site-footer{justify-content:center;gap:0;font-size:.74rem;letter-spacing:0}.site-copy{display:none}.site-nav{gap:clamp(13px,4vw,22px)}}.page .site-footer{position:fixed;left:0;right:0;bottom:0;z-index:20;background:transparent;pointer-events:none;padding:0 24px clamp(22px,4vh,34px)}.page .site-footer>*{pointer-events:auto}.page .site-footer:before{content:"";position:absolute;inset:auto 0 0 0;height:clamp(100px,16vh,150px);background:linear-gradient(0deg,#ffffff 0,#ffffff 42%,rgba(255,255,255,0));z-index:-1;pointer-events:none}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#ffffff;color:var(--site-ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page-head{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:transparent;pointer-events:none}.page-head:after{content:"";position:absolute;inset:0 0 auto 0;height:clamp(104px,17vh,150px);background:linear-gradient(180deg,#ffffff 0,#ffffff 42%,rgba(255,255,255,0));z-index:-1;pointer-events:none}.page-head>*{pointer-events:auto}.page-login{font-size:.85rem;font-weight:300;color:var(--site-faint);text-decoration:none;transition:color var(--dur-micro) var(--ease)}.page-login:hover,.wordmark{color:var(--site-ink)}.wordmark{font-size:1.05rem;font-weight:300;letter-spacing:-.033em;text-decoration:none}.page-main{flex:1 1;padding:clamp(92px,14vh,120px) 24px clamp(96px,14vh,130px)}.page-center{display:flex;flex-direction:column;justify-content:center}.statement{max-width:62rem;margin:0;text-align:left}.statement p{margin:0;font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.45;letter-spacing:-.01em;text-wrap:pretty;animation:statement-rise var(--dur-reveal) var(--ease) both}.statement p+p{margin-top:.7em}.statement p:nth-of-type(2){animation-delay:.32s}.statement p:nth-of-type(3){animation-delay:.64s}.statement p:nth-of-type(4){animation-delay:.96s}.statement .statement-coda{margin-top:1.4em;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.55;color:var(--site-soft);animation-delay:1.28s}@keyframes statement-rise{0%{opacity:0;transform:translateY(16px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@media (prefers-reduced-motion:reduce){.statement .statement-coda,.statement p{animation:none}}.contact{max-width:40rem;width:100%;margin:0;animation:doc-in var(--dur-reveal) var(--ease) both}.contact-title{margin:0 0 clamp(24px,5vh,40px)}.contact-done,.contact-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.01em}.contact-done{margin:0;color:var(--site-ink);animation:contact-confirm .7s var(--ease) both}.contact-form{display:grid;grid-gap:clamp(18px,3vh,26px);gap:clamp(18px,3vh,26px)}.contact-field{position:relative;display:block;width:100%;border-bottom:1px solid var(--site-hair)}.contact-field:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--site-ink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.contact-field:focus-within:after{transform:scaleX(1)}.contact-field.is-invalid{border-bottom-color:#b3261e}.contact-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;box-sizing:border-box;border:0;background:transparent;padding:8px 0;font-family:inherit;font-weight:300;font-size:1rem;line-height:1.65;color:var(--site-ink);outline:none}.contact-input::placeholder{color:var(--site-faint)}.contact-textarea{min-height:132px;resize:none}.contact-submit{justify-self:start;position:relative;display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:6px 0 3px;font-family:inherit;font-weight:300;font-size:1rem;color:var(--site-ink);cursor:pointer}.contact-submit:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--site-ink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.contact-submit:focus-visible:after,.contact-submit:hover:after{transform:scaleX(1)}.contact-submit:disabled{opacity:.5;cursor:default}.contact-submit.is-sending{cursor:default;animation:contact-pulse 1.1s ease-in-out infinite}@keyframes contact-pulse{0%,to{opacity:.4}50%{opacity:1}}.contact-note{margin:0;font-size:1rem;font-weight:300;color:var(--site-soft);animation:contact-confirm .7s var(--ease) both}.contact-alt{margin:clamp(24px,5vh,36px) 0 0;font-size:.9rem;font-weight:300;color:var(--site-faint)}.contact-alt a{color:var(--site-soft);text-decoration:none;transition:color var(--dur-micro) var(--ease)}.contact-alt a:hover{color:var(--site-ink)}@keyframes contact-confirm{0%{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@media (prefers-reduced-motion:reduce){.contact,.contact-done,.contact-note,.contact-submit.is-sending{animation:none}.contact-field:after,.contact-submit:after{transition:none}}.doc{max-width:66ch;width:100%;margin:0;text-align:left;animation:doc-in var(--dur-reveal) var(--ease) both}@keyframes doc-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.doc{animation:none}}.doc h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.01em;margin:0 0 .3em}.doc-updated{font-size:.85rem;color:var(--site-faint);margin:0 0 2.6em}.doc-lede{font-size:1.1rem;line-height:1.6;margin:0 0 2.2em}.doc h2,.doc-lede{color:var(--site-ink)}.doc h2{font-size:1rem;font-weight:300;letter-spacing:0;margin:2.2em 0 .5em}.doc p{font-size:1rem;line-height:1.65;color:var(--site-soft);margin:0 0 1em}.doc a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.doc a,.doc h3{color:var(--site-ink)}.doc h3{font-size:1rem;font-weight:300;letter-spacing:0;margin:1.8em 0 .4em}.doc strong{font-weight:300;color:inherit}.doc em{font-style:normal}.doc ul{margin:0 0 1em;padding-left:1.2em;list-style:none}.doc li{position:relative;font-size:1rem;line-height:1.65;color:var(--site-soft);margin:0 0 .45em}.doc li:before{content:"—";position:absolute;left:-1.2em;color:var(--site-faint)}.doc table{width:100%;border-collapse:collapse;margin:.6em 0 1.8em;font-size:.9rem}.doc td,.doc th{text-align:left;vertical-align:top;padding:.7em .9em;border:1px solid #e6e6e2;line-height:1.55;color:var(--site-soft)}.doc th{font-weight:300;color:var(--site-ink)}.doc thead th{border-bottom-width:1px;white-space:nowrap}.pricing{width:100%;animation:doc-in var(--dur-reveal) var(--ease) both}.pricing-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.01em;margin:0 0 clamp(28px,5vh,44px)}.pricing-error,.pricing-notice{margin:0 0 22px;font-size:.9rem}.pricing-notice{color:var(--site-ink)}.pricing-error{color:#b91c1c}.pricing-toggle{display:flex;gap:26px;margin-bottom:clamp(36px,6vh,56px);font-size:.9rem}.pricing-toggle-opt{position:relative;color:var(--site-faint);cursor:pointer;transition:color .25s var(--ease)}.pricing-toggle-opt:hover{color:var(--site-ink)}.pricing-toggle-opt:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.pricing-toggle-opt.on{color:var(--site-ink)}.pricing-toggle-opt.on:after{transform:scaleX(1)}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,14rem));justify-content:space-between;grid-column-gap:clamp(40px,5vw,96px);column-gap:clamp(40px,5vw,96px);grid-row-gap:clamp(52px,8vh,80px);row-gap:clamp(52px,8vh,80px)}@media (max-width:1020px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,15rem));justify-content:start;column-gap:clamp(48px,8vw,112px)}}@media (max-width:560px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{display:flex;flex-direction:column;gap:12px;transition:opacity .3s var(--ease),transform .3s var(--ease)}.pricing-grid:hover .pricing-card{opacity:.35}.pricing-grid .pricing-card:hover{opacity:1;transform:translateY(-4px)}.pricing-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pricing-card-head h2{margin:0;font-size:1.05rem;font-weight:300}.pricing-price{font-size:1.1rem;font-weight:300;color:var(--site-ink);white-space:nowrap;animation:price-roll .22s var(--ease) both}@keyframes price-roll{0%{opacity:0;transform:translateY(.14em)}to{opacity:1;transform:none}}.pricing-tagline{margin:0;font-size:.85rem;line-height:1.55;color:var(--site-soft);min-height:2.6em}.pricing-includes{margin:0 0 2px;font-size:.8rem;color:var(--site-faint)}.pricing-feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.85rem;color:var(--site-ink);flex:1 1}.pricing-action{position:relative;display:inline-block;align-self:flex-start;margin-top:18px;font-size:.9rem;color:var(--site-ink);text-decoration:none;cursor:pointer}.pricing-action:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.pricing-action:hover:after{transform:scaleX(1)}.pricing-action-quiet{color:var(--site-faint);margin-top:4px}.pricing-current{align-self:flex-start;margin-top:18px;font-size:.9rem}.pricing-card-soon .pricing-feats,.pricing-card-soon .pricing-tagline,.pricing-current{color:var(--site-faint)}@media (prefers-reduced-motion:reduce){.pricing-price{animation:none}.pricing-grid .pricing-card:hover{transform:none}}.student-verify{max-width:40rem;width:100%;animation:doc-in var(--dur-reveal) var(--ease) both}.student-verify-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.01em;margin:0 0 14px}.student-verify-body{margin:0 0 clamp(22px,4vh,34px);font-size:.95rem;line-height:1.6;color:var(--site-soft)}.student-verify-form{display:flex;flex-direction:column;gap:22px}.student-verify-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.student-verify-field span{color:var(--site-faint)}.student-verify-field input{border:0;border-bottom:1px solid var(--site-hair);border-radius:0;background:transparent;padding:4px 0 7px;font:inherit;font-size:.95rem;color:var(--site-ink);outline:none;transition:border-color var(--dur-micro) var(--ease)}.student-verify-field input:focus{border-bottom-color:var(--site-ink)}.student-verify-error{margin:0;font-size:.85rem;color:#b91c1c}.student-verify-send{position:relative;align-self:flex-start;font-size:.95rem;color:var(--site-ink);cursor:pointer}.student-verify-send.busy{color:var(--site-faint);cursor:default}.student-verify-send:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.student-verify-send:hover:after{transform:scaleX(1)}.admin-reviews{max-width:52rem;width:100%;animation:doc-in var(--dur-reveal) var(--ease) both}.admin-reviews-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.01em;margin:0 0 clamp(20px,4vh,32px)}.admin-reviews-empty{font-size:.9rem;color:var(--site-faint)}.admin-reviews-list{border-top:1px solid var(--site-hair)}.admin-review-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--site-hair)}.admin-review-who{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-review-email{font-size:.92rem;color:var(--site-ink);overflow-wrap:anywhere}.admin-review-meta{font-size:.8rem;color:var(--site-faint)}.admin-review-actions{display:flex;gap:16px;flex-shrink:0}.admin-review-actions .pricing-action{margin-top:0}.admin-review-reject{color:#b91c1c}