:root{--g-sky: #6BBFDB;--g-sky-light: #D6EEF7;--g-sky-dark: #3A8BAD;--g-terra: #C4855A;--g-terra-light: #F5E6DC;--g-terra-dark: #8B5A38;--g-pink: #E8A0B4;--g-pink-light: #FAE8EF;--g-green: #5AB55A;--g-green-light: #E3F4E3;--g-green-dark: #337733;--g-gold: #F5C842;--g-gold-light: #FEF6D8;--g-cream: #FDF9F4;--g-text: #2D2520;--g-muted: #7A6A62;--font-head: "Lora", Georgia, serif;--font-body: "Nunito", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--g-cream);color:var(--g-text);font-size:16px;line-height:1.7}nav{background:#fff;border-bottom:1px solid var(--g-sky-light);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:72px;position:sticky;top:0;z-index:100}.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-logo-mark{width:56px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-logo-mark img{width:100%;height:100%;object-fit:contain;display:block}.nav-logo-text{font-family:var(--font-head);font-size:18px;color:var(--g-text);line-height:1.2}.nav-logo-sub{font-size:11px;color:var(--g-muted);font-family:var(--font-body);font-weight:300;letter-spacing:.05em}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{text-decoration:none;color:var(--g-muted);font-size:14px;font-weight:600;letter-spacing:.03em;transition:color .2s}.nav-links a:hover{color:var(--g-sky-dark)}.nav-cta{background:var(--g-sky);color:#fff;border:none;border-radius:24px;padding:10px 22px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none}.nav-cta:hover{background:var(--g-sky-dark)}.hero{background:linear-gradient(135deg,var(--g-sky-light) 0%,var(--g-terra-light) 60%,var(--g-pink-light) 100%);padding:5rem 2rem 4rem;display:flex;align-items:center;justify-content:center;min-height:540px;position:relative;overflow:hidden}.hero-blob{position:absolute;border-radius:50%;opacity:.18}.hero-blob-1{width:400px;height:400px;background:var(--g-sky);top:-80px;right:-60px}.hero-blob-2{width:280px;height:280px;background:var(--g-gold);bottom:-60px;left:5%}.hero-inner{max-width:900px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--g-sky-light);border-radius:20px;padding:6px 14px;font-size:13px;color:var(--g-sky-dark);font-weight:600;margin-bottom:1.25rem}.hero-tag-dot{width:8px;height:8px;border-radius:50%;background:var(--g-green)}h1{font-family:var(--font-head);font-size:2.4rem;line-height:1.25;color:var(--g-text);margin-bottom:1rem}h1 em{color:var(--g-sky-dark);font-style:italic}.hero-p{color:var(--g-muted);font-size:1.05rem;margin-bottom:2rem;line-height:1.75}.hero-btns{display:flex;gap:12px;flex-wrap:wrap}.btn-primary{background:var(--g-sky);color:#fff;border:none;border-radius:28px;padding:14px 28px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;text-decoration:none}.btn-primary:hover{background:var(--g-sky-dark);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--g-sky-dark);border:1.5px solid var(--g-sky);border-radius:28px;padding:13px 28px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none}.btn-secondary:hover{background:var(--g-sky-light)}.hero-card{background:#fff;border-radius:20px;padding:2rem;border:1px solid var(--g-sky-light)}.hero-card-header{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}.avatar{width:64px;height:64px;border-radius:50%;background:var(--g-terra-light);border:3px solid var(--g-terra);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:22px;color:var(--g-terra-dark);font-weight:600;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.hero-card-name{font-family:var(--font-head);font-size:1.1rem;color:var(--g-text)}.hero-card-title{font-size:13px;color:var(--g-muted)}.hero-stat{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--g-sky-light)}.hero-stat:last-child{border-bottom:none}.stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.stat-label{font-size:13px;color:var(--g-muted)}.stat-val{font-size:14px;font-weight:600;color:var(--g-text)}section{padding:4.5rem 2rem}.section-inner{max-width:900px;margin:0 auto}.section-label{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--g-sky-dark);text-transform:uppercase;margin-bottom:.5rem}h2{font-family:var(--font-head);font-size:2rem;color:var(--g-text);margin-bottom:1rem;line-height:1.3}.section-lead{color:var(--g-muted);font-size:1.05rem;max-width:600px;margin-bottom:3rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.service-card{background:#fff;border-radius:16px;padding:1.75rem;border:1px solid var(--g-sky-light);transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-3px);border-color:var(--g-sky)}.service-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:1rem}.service-card h3{font-family:var(--font-head);font-size:1.1rem;color:var(--g-text);margin-bottom:.4rem}.service-card p{font-size:14px;color:var(--g-muted);line-height:1.65}.service-tag{display:inline-block;margin-top:12px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start}.about-photo{width:100%;aspect-ratio:3/4;border-radius:20px;background:var(--g-terra-light);border:2px solid var(--g-terra-light);overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;display:block}.about-creds{margin-top:2rem;display:flex;flex-direction:column;gap:10px}.cred-pill{background:var(--g-green-light);color:var(--g-green-dark);border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.cred-dot{width:6px;height:6px;border-radius:50%;background:var(--g-green);flex-shrink:0}.about-text h2{margin-bottom:.75rem}.about-text p{color:var(--g-muted);margin-bottom:1rem;line-height:1.8}.about-quote{border-left:3px solid var(--g-sky);padding-left:1.25rem;margin:1.5rem 0;font-family:var(--font-head);font-size:1.1rem;color:var(--g-sky-dark);font-style:italic;line-height:1.6}.pricing-section{background:var(--g-cream)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:2rem}.pricing-card{background:#fff;border-radius:16px;padding:2rem;border:1.5px solid var(--g-sky-light)}.pricing-card.featured{border-color:var(--g-sky);position:relative}.featured-badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:var(--g-sky);color:#fff;border-radius:20px;padding:4px 16px;font-size:12px;font-weight:600;white-space:nowrap}.price-mode{font-size:12px;font-weight:600;color:var(--g-sky-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}.price-amount{font-family:var(--font-head);font-size:2.2rem;color:var(--g-text);margin-bottom:.25rem}.price-amount span{font-size:1rem;color:var(--g-muted);font-family:var(--font-body)}.price-desc{font-size:14px;color:var(--g-muted);margin-bottom:1.25rem;line-height:1.6}.price-features{list-style:none;display:flex;flex-direction:column;gap:8px}.price-features li{font-size:14px;color:var(--g-text);display:flex;align-items:center;gap:8px}.check{width:18px;height:18px;border-radius:50%;background:var(--g-green-light);color:var(--g-green-dark);font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600}.pricing-note{text-align:center;font-size:13px;color:var(--g-muted);padding:1rem;background:var(--g-gold-light);border-radius:12px;border:1px solid #F5C84240}.calendar-section{background:#fff}.calendar-embed-wrap{border-radius:16px;overflow:hidden;border:1px solid var(--g-sky-light)}.calendar-embed-wrap iframe{display:block;width:100%;border:none}.contact-section{background:var(--g-terra-light)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-form{background:#fff;border-radius:16px;padding:2rem;border:1px solid var(--g-sky-light)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--g-text);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid #E8E0D8;border-radius:10px;font-family:var(--font-body);font-size:15px;color:var(--g-text);background:var(--g-cream);transition:border-color .2s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--g-sky)}.form-group textarea{resize:vertical;min-height:100px}.form-submit{width:100%;background:var(--g-sky);color:#fff;border:none;border-radius:28px;padding:14px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.form-submit:hover{background:var(--g-sky-dark)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-status{margin-top:.75rem;font-size:.9rem;text-align:center;min-height:1.5em}.form-status--ok{color:var(--g-green-dark)}.form-status--err{color:#c0392b}.contact-info h3{font-family:var(--font-head);font-size:1.4rem;color:var(--g-text);margin-bottom:.75rem}.contact-info p{color:var(--g-muted);margin-bottom:2rem;line-height:1.8}.contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:1.25rem}.contact-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:#fff}.contact-item-label{font-size:12px;font-weight:600;color:var(--g-muted);letter-spacing:.05em;text-transform:uppercase}.contact-item-val{font-size:15px;color:var(--g-text);font-weight:600}.contact-item-val a{color:var(--g-sky-dark);text-decoration:none}.contact-item-val a:hover{text-decoration:underline}footer{background:var(--g-text);color:#ffffffb3;padding:2.5rem 2rem;text-align:center}footer a{color:var(--g-sky);text-decoration:none}.footer-logo{font-family:var(--font-head);font-size:1.2rem;color:#fff;margin-bottom:.5rem}.footer-tagline{font-size:13px;font-style:italic;margin-bottom:1.25rem;color:#ffffff80;font-family:var(--font-head)}.footer-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;font-size:13px}.portal-nav{background:#fff;border-bottom:1px solid var(--g-sky-light);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:72px}.portal-back{font-size:14px;padding:8px 18px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 72px);padding:2rem;background:linear-gradient(135deg,var(--g-sky-light) 0%,var(--g-cream) 50%,var(--g-terra-light) 100%)}.auth-card{background:#fff;border-radius:20px;padding:2.5rem;width:100%;max-width:420px;border:1px solid var(--g-sky-light)}.auth-logo{font-size:2.5rem;text-align:center;margin-bottom:1rem}.auth-card h1{text-align:center;font-family:var(--font-head);font-size:1.6rem;margin-bottom:.25rem}.auth-subtitle{text-align:center;color:var(--g-muted);font-size:14px;margin-bottom:1.5rem}.auth-submit{width:100%;margin-top:.5rem}.auth-toggle{text-align:center;margin-top:1.25rem;font-size:14px;color:var(--g-muted)}.auth-toggle-btn{background:none;border:none;color:var(--g-sky-dark);font-weight:600;cursor:pointer;font-family:var(--font-body);font-size:14px;padding:0;margin-left:4px}.auth-toggle-btn:hover{text-decoration:underline}.auth-message{padding:10px 14px;border-radius:10px;font-size:14px;margin-bottom:1rem;line-height:1.5}.auth-error{background:#fee2e2;color:#991b1b;border:1px solid #FECACA}.auth-success{background:var(--g-green-light);color:var(--g-green-dark);border:1px solid #BBF0BB}.auth-forgot-btn{display:block;width:100%;text-align:center;margin-top:.75rem;background:none;border:none;color:var(--g-muted);font-size:13px;cursor:pointer;font-family:var(--font-body);padding:0}.auth-forgot-btn:hover{color:var(--g-sky-dark);text-decoration:underline}.form-hint{font-size:12px;color:var(--g-muted);margin-top:4px}.mfa-card{background:#fff;border:1.5px solid var(--g-sky-light);border-radius:14px;padding:1.5rem}.mfa-card p{font-size:14px;color:var(--g-muted);line-height:1.6}.mfa-status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:.75rem}.mfa-off{background:var(--g-gold-light);color:#8b6a00}.mfa-on{background:var(--g-green-light);color:var(--g-green-dark)}.mfa-qr{display:flex;justify-content:center;margin:1rem 0}.mfa-qr img{border-radius:12px;border:1px solid var(--g-sky-light)}.dashboard{padding:2rem}.dashboard-inner{max-width:900px;margin:0 auto}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--g-sky-light)}.dashboard-header h1{font-family:var(--font-head);font-size:1.8rem;margin-bottom:.25rem}.dashboard-email{font-size:14px;color:var(--g-muted)}.dashboard-section{margin-bottom:3rem}.dashboard-section-header{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}.dashboard-section-icon{font-size:1.4rem}.dashboard-section-header h2{font-family:var(--font-head);font-size:1.4rem}.dashboard-section-desc{color:var(--g-muted);font-size:14px;margin-bottom:1.25rem}.payment-grid{display:flex;flex-direction:column;gap:12px}.payment-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--g-sky-light);border-radius:14px;padding:1.25rem 1.5rem;text-decoration:none;color:var(--g-text);transition:border-color .2s,transform .15s}.payment-card:hover{border-color:var(--g-sky);transform:translateY(-1px)}.payment-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.payment-card-info{flex:1}.payment-card-info h3{font-family:var(--font-head);font-size:1rem;margin-bottom:2px}.payment-card-info p{font-size:13px;color:var(--g-muted)}.payment-card-price{font-family:var(--font-head);font-size:1.4rem;color:var(--g-sky-dark);font-weight:600;white-space:nowrap}.payment-card-price span{font-size:.8rem;color:var(--g-muted);font-family:var(--font-body)}.payment-note{margin-top:1rem;text-align:center;font-size:13px;color:var(--g-muted);padding:.75rem;background:var(--g-cream);border-radius:10px}.payment-note a{color:var(--g-sky-dark)}.dash-tabs{display:flex;gap:4px;margin-bottom:2rem;border-bottom:1px solid var(--g-sky-light);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{background:transparent;border:none;cursor:pointer;padding:12px 18px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--g-muted);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;display:inline-flex;align-items:center;gap:8px}.dash-tab:hover{color:var(--g-sky-dark)}.dash-tab.active{color:var(--g-sky-dark);border-bottom-color:var(--g-sky)}.dash-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--g-sky-light);color:var(--g-sky-dark);font-size:11px;font-weight:700}.dash-pane{display:none}.dash-pane.active{display:block}.empty-state{background:#fff;border:1px dashed var(--g-sky-light);border-radius:16px;padding:2.5rem 1.5rem;text-align:center}.empty-state-icon{font-size:2rem;margin-bottom:.75rem;display:block;opacity:.6}.empty-state h3{font-family:var(--font-head);font-size:1.15rem;color:var(--g-text);margin-bottom:.4rem}.empty-state p{font-size:14px;color:var(--g-muted);max-width:420px;margin:0 auto;line-height:1.6}.empty-state .btn-primary,.empty-state .btn-secondary{margin-top:1.25rem}.summary-grid{display:grid;gap:14px;margin-bottom:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-card{background:#fff;border:1px solid var(--g-sky-light);border-radius:14px;padding:1.25rem 1.5rem}.summary-card.featured{border-color:var(--g-sky);background:var(--g-sky-light)}.summary-card-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--g-muted);margin-bottom:.5rem}.summary-card.featured .summary-card-label{color:var(--g-sky-dark)}.summary-card-value{font-family:var(--font-head);font-size:1.8rem;color:var(--g-text);line-height:1.1}.summary-card-sub{font-size:12px;color:var(--g-muted);margin-top:4px}.next-session{background:#fff;border:1px solid var(--g-sky-light);border-radius:16px;padding:1.75rem;display:grid;gap:1.5rem;grid-template-columns:1.4fr 1fr}.next-session-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--g-sky-dark);margin-bottom:.5rem}.next-session-date{font-family:var(--font-head);font-size:2rem;color:var(--g-text);line-height:1.1;margin-bottom:.25rem}.next-session-time{font-size:1rem;color:var(--g-muted);margin-bottom:1.25rem}.next-session-row{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid var(--g-sky-light)}.next-session-row:last-of-type{border-bottom:none}.next-session-row-label{color:var(--g-muted);font-weight:600}.next-session-row-val{color:var(--g-text)}.next-session-actions{background:var(--g-cream);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:10px}.next-session-actions h4{font-family:var(--font-head);font-size:1rem;color:var(--g-text);margin-bottom:.5rem}.session-list{display:flex;flex-direction:column;gap:12px}.session-row{background:#fff;border:1px solid var(--g-sky-light);border-radius:14px;padding:1rem 1.25rem;display:grid;grid-template-columns:64px 1fr auto auto;gap:1rem;align-items:center}.session-date{background:var(--g-sky-light);border-radius:10px;padding:8px 4px;text-align:center;min-width:52px}.session-day{font-family:var(--font-head);font-size:1.3rem;color:var(--g-sky-dark);line-height:1}.session-month{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g-muted);margin-top:2px}.session-title{font-size:15px;font-weight:600;color:var(--g-text);margin-bottom:2px}.session-sub{font-size:13px;color:var(--g-muted)}.session-mode{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--g-sky-light);color:var(--g-sky-dark)}.session-mode.warm{background:var(--g-terra-light);color:var(--g-terra-dark)}.session-status{font-size:12px;padding:3px 10px;border-radius:12px;font-weight:600}.session-status.paid{background:var(--g-green-light);color:var(--g-green-dark)}.session-status.pending{background:var(--g-gold-light);color:#8b6a00}.pane-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.pane-header h2{font-family:var(--font-head);font-size:1.4rem}.pane-header-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--g-sky-dark);margin-bottom:.25rem}.account-actions{display:flex;flex-direction:column;gap:10px;margin-top:1rem}.account-action-btn{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid var(--g-sky-light);border-radius:12px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--g-text);cursor:pointer;text-align:left;transition:border-color .2s,background .2s}.account-action-btn:hover{border-color:var(--g-sky);background:var(--g-sky-light)}.account-action-btn.danger{color:#b23a3a;border-color:#f4d4d4}.account-action-btn.danger:hover{background:#fce8e8;border-color:#b23a3a}.account-action-btn span:last-child{color:var(--g-muted);font-weight:400;font-size:13px}.account-action-btn.danger span:last-child{color:#b23a3a}@media(max-width:680px){.hero-inner{grid-template-columns:1fr}.hero-card{display:none}.about-grid{grid-template-columns:1fr}.about-photo{aspect-ratio:4/3}.contact-grid{grid-template-columns:1fr}h1{font-size:1.8rem}.nav-links{display:none}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-header .btn-secondary{align-self:flex-start}.next-session{grid-template-columns:1fr}.session-row{grid-template-columns:56px 1fr}.session-row .session-mode,.session-row .session-status{grid-column:2;justify-self:start}}
