:root{color-scheme:light;--bg: #f8f6f2;--surface: #ffffff;--text: #1f2328;--muted-text: #5d6570;--line: #d6dde4;--brand: #204c6f;--brand-soft: #e9f1f7;--accent: #9b6f43;--radius: 14px;--shadow: 0 10px 30px rgba(17, 28, 38, .08)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at top right,#eef5fa 0%,var(--bg) 35%,var(--bg) 100%);line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:"PT Serif",serif;line-height:1.25;margin-top:0}h1{font-size:clamp(2rem,3.8vw,3.2rem)}h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}a{color:inherit;text-decoration:none}.container{width:min(1120px,92vw);margin:0 auto}.section{padding:72px 0}.muted{background:#eef3f7;border-top:1px solid #e2e9ef;border-bottom:1px solid #e2e9ef}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;color:var(--accent);font-weight:700;margin-bottom:.4rem}.lead{color:var(--muted-text);font-size:1.05rem;max-width:68ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.8rem 1.2rem;border-radius:999px;font-weight:700;transition:.2s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn-small{padding:.55rem .95rem;font-size:.9rem}.btn-ghost{background:transparent;color:var(--brand)}.site-header{position:sticky;top:0;z-index:1200;background:#f8f6f2e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid #e4eaee;isolation:isolate}.nav-wrap{display:flex;align-items:center;gap:1rem;min-height:74px}.logo{font-weight:800;font-size:1.2rem;letter-spacing:.01em}.logo span{color:var(--accent)}.site-nav{margin-left:auto;display:flex;align-items:center;gap:1.1rem}.site-nav a{color:#38434f;font-weight:600;font-size:.95rem}.site-nav a.active{color:var(--brand)}.site-nav .nav-auth-link{display:none}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:.5rem .75rem;border-radius:999px}.hero-grid,.split-grid,.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2.4rem;align-items:center}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}.hero-photo-wrap{position:relative}.hero-photo,.rounded-photo{border-radius:var(--radius);box-shadow:var(--shadow);min-height:440px;object-fit:cover}.section-head{margin-bottom:1.8rem}.stats-grid,.cards-3,.steps-grid,.pricing-grid{display:grid;gap:1rem}.stats-grid,.cards-3,.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card,.card,.price-card,.cta-banner,.contact-form,.levels-table-wrap,.timeline article,.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card,.card,.price-card,.timeline article,.faq-list details{padding:1.1rem}.stat-card h3{margin-bottom:.2rem}.card p,.stat-card p,.price-card li,.timeline p,.contact-list p{color:var(--muted-text)}.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.steps-grid article{padding:.8rem}.steps-grid span{display:inline-flex;width:34px;height:34px;border-radius:999px;align-items:center;justify-content:center;font-weight:700;background:var(--brand-soft);color:var(--brand);margin-bottom:.7rem}.cta-banner{padding:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.timeline{display:grid;gap:.9rem}.levels-table{width:100%;border-collapse:collapse}.levels-table th,.levels-table td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left}.levels-table th{color:var(--brand)}.price-card{position:relative}.price-card.featured{border-color:var(--brand);transform:translateY(-3px)}.badge{display:inline-block;background:var(--brand-soft);color:var(--brand);border-radius:999px;font-size:.8rem;font-weight:700;padding:.2rem .55rem}.price{font-family:"PT Serif",serif;font-size:2rem;margin:.4rem 0 .9rem}.price span{font-family:Manrope,sans-serif;font-size:.95rem;color:var(--muted-text)}.price-card ul{list-style:none;padding:0;margin:0 0 1rem}.price-card li{margin-bottom:.55rem}.faq-list{display:grid;gap:.7rem}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:var(--muted-text)}.org-logos{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.logo-card{display:grid;place-items:center;padding:.8rem;min-height:170px}.logo-card img{max-height:140px;width:auto;object-fit:contain}.one-col{grid-template-columns:1fr}.contact-form{padding:1.1rem}.contact-form label{display:grid;gap:.35rem;margin-bottom:.8rem;font-weight:600}.contact-form input,.contact-form textarea,.contact-form select{width:100%;font:inherit;border:1px solid #c7d0d9;border-radius:10px;padding:.72rem;background:#fbfcfd}.form-note{color:#2c6f4a;min-height:1.2em}.site-footer{background:#1c2936;color:#d7e1eb;padding-top:2.5rem;margin-top:3rem}.footer-grid{display:grid;gap:1.2rem;grid-template-columns:2fr 1fr 1fr}.footer-grid h4{margin-bottom:.55rem}.footer-grid a{display:block;margin-bottom:.4rem;color:#d7e1eb}.footer-bottom{border-top:1px solid #34485d;padding:1rem 0;margin-top:1rem}@media(max-width:980px){body{padding-top:calc(74px + env(safe-area-inset-top,0px))}.site-header{position:fixed;left:0;right:0;top:0;padding-top:env(safe-area-inset-top,0px);background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.menu-toggle{display:inline-flex;margin-left:auto}.site-nav{display:none;position:fixed;left:4vw;right:4vw;top:calc(82px + env(safe-area-inset-top,0px));padding:.9rem;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;z-index:1300;max-height:calc(100vh - 98px);overflow-y:auto}.site-nav.open{display:flex}.nav-wrap .btn-small{display:none}.site-nav .nav-auth-link{display:block;color:var(--brand);border-top:1px solid var(--line);padding-top:.7rem;width:100%}.hero-grid,.split-grid,.contact-grid,.stats-grid,.cards-3,.org-logos,.steps-grid,.pricing-grid,.footer-grid{grid-template-columns:1fr}.section{padding:56px 0}.hero-photo,.rounded-photo{min-height:320px}.cta-banner{flex-direction:column;align-items:flex-start}.levels-table,.levels-table thead,.levels-table tbody,.levels-table tr,.levels-table th,.levels-table td{display:block;width:100%}.levels-table thead{display:none}.levels-table tr{padding:.8rem;border-bottom:1px solid var(--line)}.levels-table td{border:0;padding:.4rem 0}.levels-table td:before{content:attr(data-label);display:block;font-weight:700;color:var(--brand);margin-bottom:.15rem}}.dashboard-section{background:linear-gradient(180deg,#e9f1f78c,#f8f6f233)}.auth-card,.dashboard-panel,.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.notice{padding:.85rem 1rem;border-radius:12px;margin-bottom:1rem;font-weight:600}.notice code{font-size:.9em}.notice.warning{background:#fff5dc;color:#7a4f12;border:1px solid #ead19a}.notice.error,.form-error{color:#8a1f1f}.notice.error{background:#fff0f0;border:1px solid #efc0c0}button:disabled{cursor:not-allowed;opacity:.58;transform:none}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1.25rem;align-items:start}.dashboard-panel,.dashboard-card{padding:1.1rem}.panel-divider{height:1px;margin:1.2rem 0;background:var(--line)}.dashboard-main{display:grid;gap:1rem}.appointments-list{display:grid;gap:.85rem}.compact-head{margin-bottom:1rem}.compact-head h2{margin-bottom:0}.appointment-item{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;border:1px solid var(--line);border-radius:12px;padding:.9rem;background:#fbfcfd}.appointment-info{flex:1 1 220px;min-width:0}.appointment-info h3,.appointment-info p,.appointment-info a{overflow-wrap:anywhere}.appointment-when{display:grid;gap:.1rem;white-space:nowrap}.appointment-item h3,.appointment-item p{margin:0}.appointment-item p,.appointment-item span{color:var(--muted-text)}.appointment-item.cancelled{opacity:.7}.status-pill{display:inline-flex;justify-content:center;border-radius:999px;padding:.3rem .7rem;background:var(--brand-soft);color:var(--brand)!important;font-weight:700;white-space:nowrap}.text-button{border:0;background:transparent;color:#8a1f1f;font:inherit;font-weight:700;cursor:pointer}.text-button.neutral{color:var(--brand)}.appointment-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-left:auto}.fc{--fc-border-color: #d6dde4;--fc-button-bg-color: #204c6f;--fc-button-border-color: #204c6f;--fc-button-hover-bg-color: #1a3e5b;--fc-button-hover-border-color: #1a3e5b;--fc-today-bg-color: #e9f1f7;font-family:Manrope,sans-serif}.fc .fc-toolbar-title{font-family:"PT Serif",serif}.appointment-planned{background:var(--brand)!important;border-color:var(--brand)!important}.appointment-completed{background:#4c7a57!important;border-color:#4c7a57!important}.appointment-cancelled{background:#8a6b5b!important;border-color:#8a6b5b!important}.appointment-requested{background:#9b6f43!important;border-color:#9b6f43!important}.appointment-confirmed{background:var(--brand)!important;border-color:var(--brand)!important}.appointment-draft{background:#f2c94c!important;border-color:#b7791f!important;color:#3e2c00!important;font-weight:800;opacity:1}.appointment-busy{background:#8a95a1!important;border-color:#8a95a1!important}.inline-link{color:var(--brand);font-weight:800;text-decoration:underline;text-underline-offset:3px}.meet-pending{color:var(--muted-text);font-style:italic;font-size:.9rem}@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.appointment-item{align-items:flex-start}.appointment-info{flex-basis:100%}.fc .fc-toolbar{align-items:flex-start;flex-direction:column;gap:.65rem}}
