:root{--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--bg-white:#fff;--bg-light:#fbfbfd;--bg-alt:#f5f5f7;--bg-dark:#1d1d1f;--border:#e5e5e7;--border-strong:#d2d2d7;--accent:#0071e3;--accent-hover:#0077ed;--accent-soft:#0071e314;--success:#34c759;--warning:#ff9500;--font-main:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--max-width:1200px;--content-padding:clamp(20px, 5vw, 48px);--section-padding:clamp(60px, 10vh, 120px);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:980px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);color:var(--text-primary);background:var(--bg-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:17px;line-height:1.5}a{color:inherit;text-decoration:none;transition:color .2s}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img,video{max-width:100%;display:block}h1,h2,h3{color:var(--text-primary);letter-spacing:-.02em;font-weight:600;line-height:1.1}h1{font-size:clamp(36px,7vw,72px);font-weight:600}h2{font-size:clamp(28px,4.5vw,48px)}h3{letter-spacing:-.01em;font-size:clamp(18px,2vw,22px)}p{color:var(--text-secondary);line-height:1.6}em{color:var(--text-primary);font-style:italic;font-weight:500}code{background:var(--bg-alt);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.9em}input,textarea,select{font-family:inherit;font-size:16px}.container{width:100%;max-width:var(--max-width);padding:0 var(--content-padding);margin:0 auto}.nav{z-index:1000;padding:0 var(--content-padding);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffc7;border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;height:56px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{letter-spacing:-.3px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:50vw;font-size:15px;font-weight:600;overflow:hidden}.nav-links{align-items:center;gap:36px;display:flex}.nav-link{color:var(--text-primary);opacity:.7;padding:6px 0;font-size:14px;font-weight:400;transition:opacity .2s}.nav-link:hover,.nav-link-active{opacity:1}.nav-cta{color:var(--bg-white);background:var(--text-primary);border-radius:var(--radius-pill);padding:8px 18px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.nav-cta:hover{background:#333;transform:scale(1.02)}.nav-toggle{flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;display:none}.nav-toggle span{background:var(--text-primary);border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.page-fade{animation:.4s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.footer{background:var(--bg-light);padding:32px var(--content-padding);border-top:1px solid var(--border);text-align:center}.footer-copy{color:var(--text-tertiary);font-size:13px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;font-weight:500;display:inline-block}.link-text{color:var(--accent);margin-top:8px;font-size:15px;font-weight:500;transition:transform .2s;display:inline-block}.link-text:hover{color:var(--accent-hover);transform:translate(2px)}.section{padding:var(--section-padding) var(--content-padding)}.section-white{background:var(--bg-white)}.section-light{background:var(--bg-light)}.section-alt{background:var(--bg-alt)}.section-tight{padding-top:clamp(40px,6vh,80px);padding-bottom:clamp(40px,6vh,80px)}.section-row{max-width:var(--max-width);align-items:center;gap:clamp(40px,6vw,96px);margin:0 auto;display:flex}.section-row>*{flex:1}.section-row.section-reverse{flex-direction:row-reverse}.section-content{max-width:560px}.section-content h2{margin-bottom:20px}.section-content p{margin-bottom:14px;font-size:clamp(16px,2vw,19px)}.section-head{text-align:center;max-width:720px;margin:0 auto clamp(40px,6vh,72px)}.section-head h2{margin-bottom:16px}.section-lede{color:var(--text-secondary);max-width:560px;margin:0 auto 28px;font-size:clamp(16px,2vw,19px)}.cta-button{color:var(--bg-white);background:var(--accent);border-radius:var(--radius-pill);padding:14px 28px;font-size:16px;font-weight:500;transition:background .2s,transform .15s;display:inline-block}.cta-button:hover{background:var(--accent-hover);transform:scale(1.02)}.cta-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.cta-large{padding:16px 36px;font-size:17px}.section-cta{background:var(--bg-dark);color:var(--bg-white);padding:clamp(80px, 12vh, 140px) var(--content-padding)}.section-cta h2{color:var(--bg-white);margin-bottom:16px;font-size:clamp(32px,5vw,56px)}.section-cta .section-lede{color:#ffffffbf}.section-head-cta{margin-bottom:0}.cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.cta-lede{color:#ffffffbf;max-width:520px;margin:0 auto 32px;font-size:clamp(16px,2vw,19px)}.section-cta .link-text{color:#ffffffe6;font-size:15px}.section-cta .link-text:hover{color:#fff}.tier-grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:0 auto;display:grid}.tier-grid-large{gap:32px}.tier-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);flex-direction:column;gap:12px;padding:32px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.tier-card:hover{border-color:var(--border-strong)}.tier-card-large{background:var(--bg-light);padding:40px}.tier-level{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:600}.tier-title{margin:4px 0;font-size:26px}.tier-desc{color:var(--text-secondary);margin-bottom:8px;font-size:15px;line-height:1.5}.tier-features{flex-direction:column;flex:1;gap:8px;margin-top:12px;margin-bottom:12px;list-style:none;display:flex}.tier-features li{color:var(--text-secondary);padding-left:22px;font-size:14px;position:relative}.tier-features li:before{content:"✓";color:var(--success);font-weight:700;position:absolute;left:0}.tier-arrow{color:var(--accent);margin-top:auto;font-size:14px;font-weight:500}.how-steps{max-width:var(--max-width);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin:0 auto;list-style:none;display:grid}.how-step{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:32px;display:flex}.how-num{background:var(--bg-dark);width:40px;height:40px;color:var(--bg-white);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex}.how-step h3{font-size:19px}.how-step p{font-size:15px}.contact-form-container{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:560px;margin:0 auto;padding:40px}.contact-form-container h2{text-align:center;margin-bottom:8px}.contact-form-container>p{text-align:center;color:var(--text-secondary);margin-bottom:32px}.contact-form{flex-direction:column;gap:24px;display:flex}.form-row{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-primary);font-size:15px;font-weight:500}.required{color:var(--error,#dc2626)}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);background:var(--bg-white);padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-error{color:var(--error,#dc2626);font-size:14px}.cta-full{text-align:center;width:100%}.contact-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.contact-success-icon{background:var(--success,#16a34a);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;display:flex}.contact-success h3{font-size:24px}.contact-success p{color:var(--text-secondary)}.messages-page{max-width:900px;padding:48px var(--content-padding);min-height:60vh;margin:0 auto}.messages-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.messages-header h2{font-size:28px}.messages-empty{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:64px 24px;display:flex}.messages-empty p{color:var(--text-secondary);font-size:17px}.conversation-list{flex-direction:column;gap:2px;display:flex}.conversation-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;text-align:left;align-items:center;gap:16px;width:100%;padding:16px;transition:background .15s,border-color .15s;display:flex}.conversation-item:hover{background:var(--bg-light);border-color:var(--border-strong)}.conversation-item-unread{border-left:3px solid var(--accent)}.conversation-avatar{background:var(--bg-dark);width:44px;height:44px;color:var(--bg-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.conversation-body{flex:1;min-width:0}.conversation-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.conversation-name{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.conversation-email{color:var(--text-tertiary);font-size:13px;font-weight:400}.conversation-time{color:var(--text-tertiary);flex-shrink:0;font-size:13px}.conversation-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;overflow:hidden}.conversation-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.unread-badge{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.status-badge{text-transform:capitalize;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.status-open{color:#15803d;background:#dcfce7}.status-resolved{background:var(--bg-alt);color:var(--text-tertiary)}.chat-layout{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-white);flex-direction:column;max-height:calc(100vh - 200px);display:flex;overflow:hidden}.chat-conversation-info{border-bottom:1px solid var(--border);background:var(--bg-light);padding:20px 24px}.chat-conversation-info h3{margin-bottom:4px;font-size:18px}.chat-student-info{color:var(--text-secondary);margin-bottom:8px;font-size:14px}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-tertiary);padding:48px}.chat-bubble{flex-direction:column;gap:4px;max-width:72%;display:flex}.chat-bubble-student{align-self:flex-end}.chat-bubble-admin{align-self:flex-start}.chat-bubble-header{align-items:baseline;gap:8px;display:flex}.chat-sender{color:var(--text-secondary);font-size:13px;font-weight:600}.chat-time{color:var(--text-tertiary);font-size:12px}.chat-text{border-radius:var(--radius);white-space:pre-wrap;margin:0;padding:12px 16px;font-size:15px;line-height:1.5}.chat-bubble-student .chat-text{background:var(--bg-dark);color:var(--bg-white);border-bottom-right-radius:4px}.chat-bubble-admin .chat-text{background:var(--bg-alt);color:var(--text-primary);border-bottom-left-radius:4px}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-light);align-items:flex-end;gap:12px;padding:16px 24px;display:flex}.chat-input{border:1px solid var(--border);border-radius:var(--radius);resize:none;flex:1;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.chat-input:focus{border-color:var(--accent);outline:none}.filter-tabs{background:var(--bg-alt);border-radius:var(--radius);gap:4px;padding:4px;display:flex}.filter-tab{border-radius:calc(var(--radius) - 2px);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.filter-tab:hover{background:var(--bg-white);color:var(--text-primary)}.filter-tab-active{background:var(--bg-white);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.filter-count{background:var(--bg-alt);border-radius:999px;padding:1px 6px;font-size:12px}.page-loading{min-height:40vh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.admin-page .conversation-item{gap:20px}.schedule-block{text-align:center;max-width:960px;margin-top:72px;margin-left:auto;margin-right:auto}.schedule-eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:#ffffff8c;margin-bottom:8px;font-size:12px;font-weight:600}.schedule-sub{color:#ffffffbf;margin-bottom:24px;font-size:15px}.schedule-grid-wrap{border-radius:var(--radius-md);text-align:left;background:#fff;max-width:980px;margin:0 auto;padding:24px}.schedule-status{text-align:center;color:#ffffffbf;padding:12px 0;font-size:14px}.schedule-status-error{color:#ffb4a8}.schedule-status-error a{color:#fff;text-decoration:underline}.schedule-meta{color:var(--text-secondary);text-align:center;margin:0 0 16px;font-size:14px}.schedule-meta strong{color:#047857;font-weight:600}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.schedule-toolbar .schedule-meta{text-align:left;margin:0}.schedule-tz-picker{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.schedule-tz-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.schedule-tz-picker select{appearance:none;font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5l3 3 3-3' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 8px center no-repeat;padding:6px 32px 6px 10px;font-size:13px}.schedule-tz-picker select:hover{border-color:#94a3b8}.schedule-tz-picker select:focus-visible{outline-offset:1px;outline:2px solid #047857}.schedule-tz-note{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:#f1f5f9;margin:0 0 14px;padding:10px 12px;font-size:12px}.schedule-tz-note strong{color:var(--text-primary);font-weight:600}.schedule-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:13px}.schedule-corner,.schedule-hour-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);text-align:center;background:0 0;padding:8px 6px;font-size:12px;font-weight:600}.schedule-corner{text-align:left;padding-left:12px}.schedule-day-head{text-align:center;vertical-align:bottom;border-bottom:1px solid var(--border);background:0 0;min-width:76px;padding:10px 8px 8px}.schedule-day-head-today{background:linear-gradient(#04785714,#0000 70%)}.schedule-day-weekday{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:11px;font-weight:600;display:block}.schedule-day-date{color:var(--text-primary);margin-top:2px;font-size:14px;font-weight:500;display:block}.schedule-time-cell{text-align:right;vertical-align:middle;white-space:nowrap;color:var(--text-tertiary);border-top:1px solid var(--border);background:0 0;padding:6px 12px;font-size:11px;font-weight:500}.schedule-time-cell-major{color:var(--text-secondary);border-top:1px solid #cbd5e1;font-weight:600}.schedule-time-source{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:400;display:block}.schedule-time-local{color:var(--text-primary);margin-top:1px;font-size:12px;font-weight:600;display:block}.schedule-slot-cell{text-align:center;border-top:1px solid var(--border);background:0 0;padding:4px}.schedule-slot-cell-major{border-top:1px solid #cbd5e1}.schedule-slot{border-radius:var(--radius-sm);cursor:default;border:1px solid #0000;justify-content:center;align-items:center;min-width:52px;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.schedule-slot-free{color:#15803d;cursor:pointer;background:#dcfce7;border-color:#86efac;text-decoration:none}.schedule-slot-free:hover{background:#bbf7d0;border-color:#4ade80}.schedule-slot-free:active{background:#f3f4f6}.schedule-slot-busy{color:var(--text-tertiary);cursor:not-allowed;-webkit-user-select:none;user-select:none;background:#f1f5f9;border-color:#e2e8f0}.schedule-legend{color:var(--text-secondary);justify-content:center;gap:24px;margin-top:16px;font-size:12px;display:flex}.schedule-legend-item{align-items:center;gap:8px;display:inline-flex}.schedule-legend-swatch{pointer-events:none;min-width:28px;padding:4px 8px}.schedule-note{color:#ffffffb3;margin-top:18px;font-size:14px}.schedule-note a{color:#fff;border-bottom:1px solid #fff6;font-weight:500;transition:border-color .2s}.schedule-note a:hover{border-color:#fff}.hero{padding:calc(56px + var(--section-padding)) var(--content-padding) var(--section-padding);text-align:center;background:var(--bg-white);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.hero-content{width:100%;max-width:820px}.hero h1{margin-bottom:20px}.hero-subtitle{color:var(--text-secondary);max-width:640px;margin:0 auto 32px;font-size:clamp(17px,2.5vw,22px);line-height:1.45}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:20px;display:flex}.hero-secondary{color:var(--text-primary);border-radius:var(--radius-pill);padding:12px 20px;font-size:16px;font-weight:500;transition:background .2s}.hero-secondary:hover{background:var(--bg-alt)}.hero-image{width:100%;max-width:880px;margin-top:64px}.hero-video{border-radius:var(--radius-lg);aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#1d1d1f 0%,#2d2d2f 100%);width:100%;box-shadow:0 20px 60px #00000026}.hero-video-caption{color:var(--text-tertiary);margin-top:12px;font-size:13px}.portrait-card{aspect-ratio:4/5;border-radius:var(--radius-lg);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;justify-content:flex-end;width:100%;max-width:420px;padding:32px;display:flex;box-shadow:0 20px 60px #667eea40}.portrait-initials{color:#fffffff2;letter-spacing:-.04em;margin-bottom:24px;font-size:120px;font-weight:600;line-height:1}.portrait-meta{color:#fffffff2;flex-direction:column;display:flex}.portrait-meta strong{font-size:22px;font-weight:600}.portrait-meta span{opacity:.85;font-size:14px}.method-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:420px;padding:36px;box-shadow:0 8px 30px #0000000f}.method-pill{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);margin-bottom:24px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.method-list{flex-direction:column;gap:14px;list-style:none;display:flex}.method-list li{color:var(--text-primary);padding-left:28px;font-size:16px;position:relative}.method-list li:before{content:"→";color:var(--accent);font-weight:600;position:absolute;left:0}.page-hero{padding:calc(56px + var(--section-padding)) var(--content-padding) clamp(40px, 6vh, 72px);text-align:center;background:var(--bg-light)}.page-hero .container{max-width:760px}.page-hero h1{margin-bottom:20px}.page-lede{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:clamp(17px,2.4vw,21px)}.page-hero .eyebrow{margin-bottom:16px}.page-hero .eyebrow a{color:inherit}.about-prose{max-width:760px;margin:0 auto}.about-prose h2{margin-top:48px;margin-bottom:20px;font-size:clamp(24px,3.5vw,36px)}.about-prose h2:first-child{margin-top:0}.about-prose p{margin-bottom:18px;font-size:clamp(16px,2vw,19px)}.timeline{flex-direction:column;gap:14px;margin:24px 0;padding-left:0;list-style:none;display:flex}.timeline-item{background:var(--bg-light);border-radius:var(--radius-md);align-items:baseline;gap:24px;padding:14px 20px;display:flex}.timeline-year{color:var(--accent);min-width:60px;font-size:16px;font-weight:600}.timeline-label{color:var(--text-primary);font-size:15px}.beliefs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px;display:grid}.belief-card{background:var(--bg-light);border-radius:var(--radius-md);border-left:3px solid var(--accent);padding:24px}.belief-card h3{margin-bottom:8px;font-size:17px}.belief-card p{color:var(--text-secondary);font-size:15px}.detail-grid{max-width:var(--max-width);grid-template-columns:2fr 1fr;align-items:start;gap:clamp(32px,5vw,64px);margin:0 auto;display:grid}.detail-main h2{margin-top:40px;margin-bottom:16px;font-size:clamp(22px,3vw,32px)}.detail-main h2:first-child{margin-top:0}.detail-main p{margin-bottom:16px;font-size:clamp(16px,2vw,18px)}.check-list{flex-direction:column;gap:12px;list-style:none;display:flex}.check-list li{color:var(--text-primary);padding-left:32px;font-size:16px;line-height:1.5;position:relative}.check-list li:before{content:"✓";background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;left:0}.detail-side{position:sticky;top:80px}.price-card{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:32px}.price-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;font-size:12px;font-weight:600}.price-amount{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:36px;font-weight:600}.price-sub{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.price-card .cta-button{width:100%;margin-bottom:12px}.price-note{color:var(--text-tertiary);font-size:13px}.video-embed{width:100%;margin-bottom:20px;padding-top:56.25%;position:relative}.video-embed iframe{border-radius:var(--radius-md);width:100%;height:100%;position:absolute;top:0;left:0}.page-content{padding-top:56px}.dashboard-header{background:var(--bg-light);padding:48px var(--content-padding) 36px;border-bottom:1px solid var(--border)}.dashboard-greeting{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(28px,4vw,40px);font-weight:600}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:32px 0;display:grid}.stat-card{background:var(--bg-light);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:20px 24px;display:flex}.stat-number{color:var(--text-primary);letter-spacing:-.03em;font-size:40px;font-weight:600;line-height:1}.stat-label{color:var(--text-secondary);margin-top:4px;font-size:14px}.stat-action{color:var(--accent);margin-top:12px;font-size:13px;font-weight:500;text-decoration:none}.stat-action:hover{text-decoration:underline}.dashboard-section{margin-bottom:48px}.dashboard-section-title{letter-spacing:-.01em;margin-bottom:16px;padding-top:8px;font-size:clamp(18px,2.5vw,22px);font-weight:600}.dashboard-empty{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);padding:32px}.dashboard-empty p{margin:0}.dashboard-empty p:first-child{color:var(--text-primary);margin-bottom:6px;font-weight:500}.booking-list{flex-direction:column;gap:10px;display:flex}.booking-item{background:var(--bg-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.booking-item-date{flex-direction:column;gap:2px;display:flex}.booking-item-day{color:var(--text-primary);font-size:15px;font-weight:600}.booking-item-time{color:var(--text-secondary);font-size:13px}.booking-item-status{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.booking-item-status-confirmed{color:#15803d;background:#dcfce7}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:720px;margin:0 auto;display:grid}.pricing-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:24px;padding:36px;display:flex}.pricing-card-featured{border-color:var(--text-primary);background:var(--bg-dark);color:#fff}.pricing-card-featured .pricing-label,.pricing-card-featured .pricing-amount,.pricing-card-featured .pricing-period,.pricing-card-featured .pricing-desc,.pricing-card-featured .pricing-features li{color:#fff}.pricing-card-featured .pricing-desc{color:#ffffffa6}.pricing-card-featured .pricing-features li:before{background:#ffffff80}.pricing-card-featured .pricing-features li{color:#fffc}.pricing-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:13px;font-weight:700}.pricing-card-featured .pricing-label{color:#ffffff8c}.pricing-price{align-items:baseline;gap:6px;margin-top:8px;display:flex}.pricing-amount{font-size:3rem;font-weight:700;line-height:1}.pricing-period{color:var(--text-secondary);font-size:16px}.pricing-card-featured .pricing-period{color:#ffffff8c}.pricing-desc{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.5}.pricing-features{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text-primary);padding-left:20px;font-size:15px;position:relative}.pricing-features li:before{content:"";background:var(--text-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.pricing-cta{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-primary);cursor:pointer;margin-top:auto;padding:14px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,border-color .15s}.pricing-cta:hover:not(:disabled){background:var(--bg-light);border-color:var(--text-primary)}.pricing-cta:disabled{opacity:.5;cursor:not-allowed}.pricing-cta-primary{color:var(--text-primary);background:#fff}.pricing-footer{text-align:center;color:var(--text-secondary);margin-top:32px;font-size:14px}.pricing-footer a{color:var(--text-primary);font-weight:600;text-decoration:none}.pricing-footer a:hover{text-decoration:underline}@media (width<=900px){.detail-grid{grid-template-columns:1fr}.detail-side{position:static}.section-row{text-align:center;flex-direction:column}.section-row.section-reverse{flex-direction:column}.section-content{max-width:100%}.section-image{justify-content:center;width:100%;display:flex}.method-card,.portrait-card{max-width:100%}.timeline-item{flex-direction:column;gap:4px}}@media (width<=720px){.nav{height:52px}.nav-links{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:12px var(--content-padding) 24px;background:#fffffffa;flex-direction:column;gap:0;transition:transform .25s;position:fixed;top:52px;left:0;right:0;transform:translateY(-110%)}.nav-links-open{transform:translateY(0)}.nav-link{border-bottom:1px solid var(--border);width:100%;padding:14px 0;font-size:16px}.nav-toggle{display:flex}.nav-cta{padding:7px 14px;font-size:13px}.hero{padding-top:calc(52px + var(--section-padding));min-height:auto}.hero-actions{flex-direction:column;width:100%}.hero-actions .cta-button,.hero-actions .hero-secondary{text-align:center;width:100%}.hero-video{border-radius:var(--radius-md)}.section{padding:clamp(48px, 8vh, 80px) var(--content-padding)}.cta-button,.cta-large{text-align:center;width:100%}}@media (width<=640px){.pricing-card{padding:24px}}.admin-page{min-height:calc(100vh - 56px);padding-bottom:0}.admin-header{background:var(--bg-light);padding:20px var(--content-padding);border-bottom:1px solid var(--border)}.admin-header .container{justify-content:space-between;align-items:center;display:flex}.admin-header h1{margin:0;font-size:22px}.admin-signout-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;padding:8px 16px;font-family:inherit;font-size:14px;transition:border-color .15s,color .15s}.admin-signout-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.admin-container{max-width:var(--max-width,1200px);padding:0 var(--content-padding);margin:0 auto}.admin-tabs{border-bottom:1px solid var(--border);gap:4px;margin:24px 0 20px;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.admin-badge{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.admin-loading{color:var(--text-secondary);padding:32px 0}.admin-empty{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);padding:48px}.admin-section{padding-bottom:64px}.contact-list{flex-direction:column;gap:16px;display:flex}.contact-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;transition:border-color .15s}.contact-card-new{border-left:3px solid var(--accent)}.contact-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.contact-card-header strong{font-size:15px}.contact-card-header a{color:var(--accent);margin-left:6px;font-size:14px;text-decoration:none}.contact-card-header a:hover{text-decoration:underline}.contact-card-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.contact-date{color:var(--text-tertiary);font-size:12px}.contact-status-select{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-white);cursor:pointer;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:13px}.contact-message{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.55}.contact-uid{color:var(--text-tertiary);margin-top:10px;font-size:12px;display:inline-block}.chat-app{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:340px 1fr;gap:0;height:calc(100vh - 172px);min-height:500px;margin-bottom:32px;display:grid;overflow:hidden}@media (width<=900px){.chat-app{grid-template-columns:1fr;height:auto}.chat-app.show-mobile-thread .chat-sidebar{display:none}.chat-app.show-mobile-thread .chat-main{display:flex}.chat-app:not(.show-mobile-thread) .chat-main{display:none}.chat-app:not(.show-mobile-thread) .chat-sidebar{display:flex}}.chat-sidebar{border-right:1px solid var(--border);background:var(--bg-light);flex-direction:column;min-height:0;display:flex}.chat-sidebar-header{border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0;padding:16px 20px}.chat-sidebar-header h3{margin:0;font-size:16px;font-weight:600}.chat-sidebar-list{flex:1;min-height:0;overflow-y:auto}.chat-sidebar-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;transition:background .12s;display:flex;position:relative}.chat-sidebar-item:hover{background:var(--bg-alt)}.chat-sidebar-item.active{background:var(--bg-white);border-left:3px solid var(--text-primary);padding-left:13px}.chat-sidebar-item.unread .chat-sidebar-name{font-weight:700}.chat-sidebar-avatar{background:var(--text-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.chat-sidebar-body{flex:1;min-width:0}.chat-sidebar-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.chat-sidebar-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.chat-sidebar-time{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.chat-sidebar-subject{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:12px;overflow:hidden}.chat-sidebar-preview{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:1.4;overflow:hidden}.chat-sidebar-badge{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:flex;position:absolute;top:14px;right:12px}.chat-main{background:var(--bg-white);flex-direction:column;min-height:0;display:flex}.chat-main-empty{color:var(--text-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.chat-main-header{border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.chat-main-header-info{align-items:center;gap:12px;min-width:0;display:flex}.chat-main-avatar{background:var(--text-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:600;display:flex}.chat-main-name{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.2}.chat-main-meta{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.chat-status-btn{background:var(--bg-light);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:16px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.chat-status-btn:hover{background:var(--bg-white);border-color:var(--text-primary);color:var(--text-primary)}.chat-main-messages{background:var(--bg-light);flex-direction:column;flex:1;gap:4px;min-height:0;padding:20px;display:flex;overflow-y:auto}.chat-msg{gap:8px;max-width:75%;margin-bottom:4px;display:flex}.chat-msg-student{align-self:flex-start}.chat-msg-admin{flex-direction:row-reverse;align-self:flex-end}.chat-msg-avatar{background:var(--text-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.chat-msg-body{flex-direction:column;min-width:0;display:flex}.chat-msg-admin .chat-msg-body{align-items:flex-end}.chat-msg-bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:18px;padding:10px 14px;font-size:14px;line-height:1.45;position:relative;box-shadow:0 1px .5px #0000000d}.chat-msg-student .chat-msg-bubble{background:var(--bg-white);color:var(--text-primary);border-bottom-left-radius:4px}.chat-msg-admin .chat-msg-bubble{background:var(--text-primary);color:#fff;border-bottom-right-radius:4px}.chat-msg-text{margin:0}.chat-msg-time{color:var(--text-tertiary);margin-top:4px;font-size:10px;display:block}.chat-msg-admin .chat-msg-time{color:#fff9;text-align:right}.chat-main-input{border-top:1px solid var(--border);background:var(--bg-white);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.chat-input{border:1px solid var(--border);resize:none;max-height:120px;color:var(--text-primary);background:var(--bg-light);border-radius:20px;flex:1;padding:10px 16px;font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .15s,background .15s}.chat-input:focus{border-color:var(--text-primary);background:var(--bg-white);outline:none}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-btn{background:var(--text-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:4px 0;font-family:inherit;font-size:13px}.chat-back-btn:hover{color:var(--text-primary)}.chat-back-mobile{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:0 4px 0 0;font-family:inherit;font-size:22px;display:none}.chat-new-btn{background:var(--text-primary);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.chat-new-btn:hover{opacity:.85}.chat-new-btn-block{margin:12px auto 0;display:block}.chat-sidebar-empty{text-align:center;color:var(--text-tertiary);padding:48px 20px;font-size:14px}.new-conv-wrap{width:100%;max-width:460px;margin:0 auto;padding:48px 24px}.new-conv-wrap h2{margin:0 0 8px;font-size:22px}.new-conv-sub{color:var(--text-secondary);margin:0 0 24px}.new-conv-list{flex-direction:column;gap:8px;display:flex}.new-conv-item{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);text-align:left;justify-content:space-between;align-items:center;padding:16px 20px;font-family:inherit;font-size:15px;transition:background .15s,border-color .15s,transform .1s;display:flex}.new-conv-item:hover:not(:disabled){background:var(--bg-white);border-color:var(--text-primary)}.new-conv-item.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.new-conv-item.active .new-conv-item-arrow{color:#fff}.new-conv-item:active:not(:disabled){transform:scale(.99)}.new-conv-item:disabled{opacity:.5;cursor:not-allowed}.new-conv-item-text{font-weight:500}.new-conv-item-arrow{color:var(--text-tertiary);font-size:18px}.chat-filter-tabs{border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0;gap:4px;padding:8px 12px;display:flex}.chat-filter-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.chat-filter-tab:hover{background:var(--bg-light);color:var(--text-primary)}.chat-filter-tab.active{background:var(--text-primary);color:#fff}.chat-filter-count{background:var(--bg-light);min-width:18px;height:18px;color:var(--text-secondary);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.chat-filter-tab.active .chat-filter-count{color:#fff;background:#ffffff40}@media (width<=900px){.chat-app{grid-template-columns:1fr}.chat-sidebar{display:flex}.chat-main,.chat-app.show-mobile-thread .chat-sidebar{display:none}.chat-app.show-mobile-thread .chat-main{display:flex}.chat-back-mobile{display:block}}.messages-page-wrap{max-width:1200px;padding:24px var(--content-padding);margin:0 auto}.page-loading{text-align:center;color:var(--text-secondary);padding:80px 20px}
