:root{--bg:#f6f4ef;--panel:#fffdf8;--panel-strong:#fff;--ink:#18211f;--muted:#66706b;--line:#ded8cc;--teal:#0f766e;--teal-dark:#115e59;--coral:#c2410c;--amber:#92400e;--blue:#2563eb;--shadow:0 18px 50px #18211f1f}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{grid-template-columns:minmax(250px,320px) minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#ebe7dd;flex-direction:column;gap:20px;min-width:0;min-height:100vh;padding:18px;display:flex}.sidebar-header,.chat-header,.brand-row,.status-cluster,.sidebar-actions,.crisis-strip,.composer{align-items:center;display:flex}.sidebar-header,.chat-header{justify-content:space-between;gap:16px}.brand-row{color:var(--teal-dark);gap:10px;font-weight:750}.brand-row svg{width:22px;height:22px}.icon-button,.send-button{border:1px solid var(--line);background:var(--panel-strong);width:42px;height:42px;color:var(--ink);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover,.secondary-action:hover{border-color:var(--teal)}.conversation-list{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:auto}.conversation-item{width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.conversation-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item.active,.conversation-item:hover{border-color:var(--line);background:var(--panel)}.empty-copy{color:var(--muted);margin:8px 2px;font-size:.92rem}.sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.sidebar-actions .primary-action,.sidebar-actions .secondary-action,.sidebar-actions .danger-action{width:100%;min-width:0;padding:0 10px}.sidebar-cta{grid-column:1/-1}.secondary-action,.danger-action,.primary-action{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;display:inline-flex}.secondary-action{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink);flex:1}.danger-action{color:var(--coral);background:#fff7ed;border:1px solid #c2410c47}.chat-panel{background:var(--panel);flex-direction:column;min-height:100vh;display:flex}.chat-header{padding:22px 28px 14px}.stage-eyebrow{color:var(--teal);text-transform:uppercase;margin:0 0 5px;font-size:.84rem;font-weight:800}.chat-header h1{margin:0;font-size:1.25rem;line-height:1.3}.status-cluster{gap:8px}.mode-pill,.progress-label,.safety-tag{text-transform:uppercase;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.mode-pill{color:#475569;background:#f1f5f9}.mode-pill.live{color:#166534;background:#dcfce7}.progress-label{color:#075985;background:#e0f2fe}.progress-track{background:#e5e0d5;height:4px}.progress-track div{background:linear-gradient(90deg, var(--teal), var(--blue));height:100%;transition:width .18s}.crisis-strip{border-bottom:1px solid var(--line);color:var(--amber);background:#fff7ed;gap:10px;padding:10px 28px;font-size:.9rem;line-height:1.45}.crisis-strip svg{flex:none;width:18px;height:18px}.voice-session{border-bottom:1px solid var(--line);background:#f8f5ee;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:18px;padding:18px 28px;display:grid}.voice-avatar{background:linear-gradient(#18211f29,#18211f33),url(/assets/counsellor-session-room.png) 50%/cover;border:1px solid #ded8cceb;border-radius:8px;place-items:center;min-height:220px;display:grid;overflow:hidden}.voice-presence{width:76px;height:76px;color:var(--teal-dark);background:#fffdf8d6;border:1px solid #ffffff94;border-radius:50%;place-items:center;display:grid;box-shadow:0 12px 34px #18211f38}.voice-presence.live{color:#166534;background:#dcfce7}.voice-presence svg{width:30px;height:30px}.voice-copy{gap:12px;min-width:0;display:grid}.voice-heading,.voice-controls,.voice-meta,.voice-transcript-title{align-items:center;display:flex}.voice-heading{justify-content:space-between;gap:14px}.voice-heading p,.voice-disclosure,.voice-meta{color:var(--muted);margin:0}.voice-heading p{text-transform:uppercase;font-size:.78rem;font-weight:800}.voice-heading h2{margin:2px 0 0;font-size:1.2rem;line-height:1.25}.voice-state{color:#475569;text-transform:uppercase;background:#f1f5f9;border-radius:999px;flex:none;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.voice-state.live{color:#166534;background:#dcfce7}.voice-disclosure{max-width:760px;font-size:.94rem;line-height:1.45}.voice-consent{width:max-content;max-width:100%}.voice-controls{flex-wrap:wrap;gap:10px}.voice-controls .primary-action,.voice-controls .secondary-action,.voice-controls .danger-action{min-width:132px}.voice-meta{gap:8px;font-size:.84rem}.voice-meta svg{width:17px;height:17px}.voice-error{margin:0}.voice-transcript{border:1px solid var(--line);background:#fffdf8d1;border-radius:8px;gap:8px;min-height:124px;max-height:178px;padding:10px;display:grid;overflow:auto}.voice-transcript-title{color:var(--teal-dark);text-transform:uppercase;gap:8px;font-size:.78rem;font-weight:800}.voice-transcript-title svg{width:17px;height:17px}.voice-turn{color:var(--ink);grid-template-columns:minmax(64px,90px) minmax(0,1fr) auto;gap:8px;margin:0;font-size:.9rem;line-height:1.35;display:grid}.voice-turn strong{color:var(--teal-dark);text-transform:capitalize;font-size:.78rem}.voice-turn.system,.voice-turn.system strong{color:var(--muted)}.voice-turn em{color:#075985;text-transform:uppercase;background:#e0f2fe;border-radius:999px;align-self:start;padding:2px 7px;font-size:.72rem;font-style:normal;font-weight:800}.messages{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:28px;display:flex;overflow:auto}.message{display:flex}.message.user{justify-content:flex-end}.message-bubble{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;max-width:min(720px,82%);padding:14px 16px;box-shadow:0 8px 20px #18211f0f}.message.user .message-bubble{background:#e6fffb;border-color:#0f766e3d}.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.safety-tag{color:#92400e;background:#fef3c7;margin-top:10px}.safety-tag.crisis{color:#991b1b;background:#fee2e2}.typing{gap:7px;display:flex}.typing span{background:var(--muted);border-radius:999px;width:8px;height:8px;animation:1s ease-in-out infinite pulse}.typing span:nth-child(2){animation-delay:.12s}.typing span:nth-child(3){animation-delay:.24s}.error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 28px 12px;padding:10px 12px}.composer{border-top:1px solid var(--line);background:var(--panel-strong);gap:12px;padding:16px 28px 20px}.composer textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:54px;max-height:170px;color:var(--ink);background:#fffefa;border-radius:8px;padding:13px 14px;line-height:1.4}.composer textarea:focus{border-color:var(--teal);outline:3px solid #0f766e29}.send-button{border-color:var(--teal);background:var(--teal);color:#fff}.demo-room-chat,.demo-room-gate{background:linear-gradient(90deg,#f6f4eff5,#f6f4efa8),url(/assets/counsellor-session-room.png) 50%/cover fixed}.demo-room-chat{grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:clamp(12px,2vw,24px);height:100vh;min-height:0;padding:clamp(12px,2vw,24px);overflow:hidden}.demo-room-chat .sidebar,.demo-room-chat .chat-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ded8cce0;border-radius:8px;height:calc(100vh - clamp(24px,4vw,48px));min-height:0;overflow:hidden;box-shadow:0 20px 70px #18211f29}.demo-room-chat .sidebar{background:#fffdf8e0;overflow-y:auto}.demo-room-chat .conversation-list,.demo-room-chat .messages{overscroll-behavior:contain}.demo-room-chat .chat-panel{background:#fffdf8ed}.demo-room-chat .chat-header{background:#fffdf8d1}.demo-room-chat .messages{background:linear-gradient(#fffdf8bd,#fffdf8e0),#fffdf8ad}.demo-room-chat .voice-session{background:#f8f5eee6}.demo-room-chat .message.assistant .message-bubble{background:#fffffff5}.demo-room-chat .message.user .message-bubble{background:#e7f7f3}.demo-room-chat .composer{background:#fffdf8f0}.consent-shell{place-items:center;min-height:100vh;padding:22px;display:grid}.consent-panel{border:1px solid var(--line);background:var(--panel-strong);width:min(660px,100%);box-shadow:var(--shadow);border-radius:8px;padding:28px}.consent-panel h1{margin:26px 0 10px;font-size:1.7rem;line-height:1.15}.consent-panel p,.consent-panel li{color:#3f4945;line-height:1.55}.consent-panel ul{padding-left:22px}.primary-action{background:var(--teal);color:#fff;border:0}.primary-action:hover,.send-button:hover{background:var(--teal-dark)}a{color:inherit}.site-shell{background:#f6f4ef;min-height:100vh}.compact-page{padding-bottom:60px}.site-nav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f4efeb;border-bottom:1px solid #18211f1a;justify-content:space-between;align-items:center;gap:24px;padding:16px clamp(18px,4vw,54px);display:flex;position:sticky;top:0}.admin-nav{position:static}.site-brand,.site-nav nav,.hero-actions,.booking-actions,.booking-status span,.blog-card a,.primary-link,.secondary-link{align-items:center;display:flex}.site-brand{color:var(--teal-dark);gap:10px;font-size:1rem;font-weight:850;text-decoration:none}.site-nav nav{flex-wrap:wrap;gap:18px}.site-nav nav a{color:#39433f;font-size:.93rem;font-weight:700;text-decoration:none}.hero-section{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:calc(100vh - 70px);display:grid}.hero-media{min-height:520px}.hero-media img{object-fit:cover;width:100%;height:100%;display:block}.hero-content{flex-direction:column;justify-content:center;gap:22px;padding:clamp(34px,6vw,76px);display:flex}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.hero-content h1,.content-section h1,.content-section h2,.content-band h2,.booking-header h2,.article-page h1{color:var(--ink);letter-spacing:0;margin:0;line-height:1.08}.hero-content h1{max-width:780px;font-size:clamp(2.4rem,5vw,4.9rem)}.hero-content p{color:#44504b;max-width:680px;margin:0;font-size:1.12rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px}.primary-link,.secondary-link{border-radius:8px;justify-content:center;gap:9px;width:fit-content;min-height:46px;padding:0 16px;font-weight:800;text-decoration:none}.primary-link{border:1px solid var(--teal);background:var(--teal);color:#fff}.primary-link:hover{background:var(--teal-dark)}.secondary-link{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink)}.section-inline-link{margin-top:12px}.content-band,.content-section,.booking-tool,.article-page{width:min(1160px,100% - 36px);margin:0 auto}.content-band{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:30px;padding:56px 0;display:grid}.content-band p,.content-section p,.booking-header p,.quiet-panel li,.price-card p,.blog-card p,.article-body p,.article-excerpt{color:#44504b;line-height:1.65}.content-section{padding:64px 0}.section-heading{gap:10px;margin-bottom:24px;display:grid}.section-heading h1,.section-heading h2,.booking-header h2,.article-page h1{font-size:clamp(2rem,4vw,3rem)}.pill-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.pill-grid span{color:#164e47;background:#f0fdfa;border:1px solid #0f766e2e;border-radius:8px;padding:13px 14px;font-weight:750}.split-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:28px;display:grid}.split-layout h2{margin:10px 0 16px;font-size:clamp(2rem,4vw,3rem)}.quiet-panel,.booking-tool,.admin-panel{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;box-shadow:0 14px 40px #18211f14}.quiet-panel{padding:24px}.quiet-panel h3,.price-card h3,.blog-card h3,.blog-card h2,.booking-section h3,.admin-panel h1,.admin-panel h2{margin:0;line-height:1.2}.pricing-grid,.blog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.price-card,.blog-card{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;padding:22px}.price-card>div{align-items:center;gap:10px;display:flex}.price-card dl{gap:10px;margin:18px 0 0;display:grid}.price-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:10px;display:flex}.price-card dt{color:var(--muted);font-weight:750}.price-card dd{text-align:right;margin:0}.booking-tool{padding:clamp(20px,4vw,34px)}.booking-header{gap:10px;max-width:800px;margin-bottom:24px;display:grid}.booking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.booking-section{flex-direction:column;gap:14px;min-width:0;display:flex}.segmented-control{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.segmented-control button,.slot-button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fffefa;border-radius:8px;font-weight:750}.segmented-control button.active,.slot-button.active,.service-option.active{border-color:var(--teal);color:#115e59;background:#e6fffb}.service-picker{gap:9px;display:grid}.service-option{border:1px solid var(--line);min-height:62px;color:var(--ink);text-align:left;background:#fffefa;border-radius:8px;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:12px;display:grid}.service-option span{gap:4px;display:grid}.service-option small{color:var(--muted)}.field-label{color:#34403b;gap:7px;font-size:.92rem;font-weight:760;display:grid}.field-label input,.field-label select,.field-label textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffefa;border-radius:8px;padding:11px 12px;line-height:1.4}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--teal);outline:3px solid #0f766e29}.field-label small{color:var(--muted);font-weight:500;line-height:1.45}.coupon-field{width:min(360px,100%);margin-top:10px}.slot-grid{gap:8px;max-height:360px;display:grid;overflow:auto}.checkbox-row{color:#44504b;grid-template-columns:18px minmax(0,1fr);gap:10px;line-height:1.5;display:grid}.booking-footer{border-top:1px solid var(--line);justify-content:space-between;gap:18px;margin-top:24px;padding-top:18px;display:flex}.booking-status{gap:6px;display:grid}.booking-status span{color:#34403b;gap:8px;font-weight:780}.booking-status small,.muted-copy{color:var(--muted)}.booking-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.booking-actions .secondary-action,.booking-actions .primary-action,.admin-panel .secondary-action,.admin-panel .primary-action{flex:none}.account-page{padding-top:40px}.account-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.account-panel{flex-direction:column;gap:16px;display:flex}.account-panel-heading{align-items:center;gap:10px;display:flex}.account-list{gap:10px;margin:0;display:grid}.account-list div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:10px;display:flex}.account-list dt{color:var(--muted);font-weight:750}.account-list dd{text-align:right;text-transform:capitalize;margin:0}.success-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;width:min(1160px,100% - 36px);margin:14px auto 0;padding:10px 12px}.booking-error{width:auto;margin:14px 0 0}.blog-card{gap:12px;display:grid}.blog-card a{color:var(--teal-dark);gap:8px;font-weight:850;text-decoration:none}.crisis-band{border-top:1px solid var(--line);display:block}.session-gate{background:#f6f4ef;place-items:center;min-height:100vh;padding:24px;display:grid}.session-gate section{border:1px solid var(--line);background:var(--panel-strong);width:min(620px,100%);box-shadow:var(--shadow);border-radius:8px;padding:30px}.session-gate h1{margin:14px 0 10px;font-size:2rem}.session-gate p{color:#44504b;line-height:1.6}.demo-room-gate{background:linear-gradient(90deg,#f6f4eff0,#f6f4ef94),url(/assets/counsellor-session-room.png) 50%/cover fixed}.demo-room-gate section,.demo-room-gate .consent-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb}.article-page{max-width:820px;padding:64px 0}.article-excerpt{font-size:1.18rem}.article-body{margin-top:30px}.article-body p{font-size:1.05rem}.admin-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:18px;width:min(1160px,100% - 36px);margin:32px auto;display:grid}.admin-panel{gap:14px;padding:20px;display:grid}.admin-heading{align-items:center;gap:10px;display:flex}.admin-list{gap:10px;max-height:520px;display:grid;overflow:auto}.admin-list article{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:5px;padding:12px;display:grid}.admin-list article span{color:#075985;text-transform:uppercase;background:#e0f2fe;border-radius:999px;width:fit-content;padding:3px 8px;font-size:.75rem;font-weight:850}.admin-list article p,.admin-list article small{color:var(--muted);margin:0}.admin-inline-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.admin-inline-actions button{border:1px solid var(--line);color:#34403b;text-transform:capitalize;background:#fff;border-radius:8px;min-height:30px;padding:0 9px;font-size:.8rem;font-weight:780}svg{width:18px;height:18px}@keyframes pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (max-width:850px){.site-nav,.booking-footer{flex-direction:column;align-items:flex-start}.hero-section,.content-band,.split-layout,.booking-grid,.admin-grid{grid-template-columns:1fr}.hero-section{min-height:auto}.hero-media{min-height:320px}.hero-content{padding:32px 18px 44px}.booking-actions{justify-content:flex-start}.app-shell{grid-template-columns:1fr}.demo-room-chat{grid-template-columns:1fr;gap:10px;height:auto;min-height:100vh;padding:10px;overflow:visible}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.demo-room-chat .sidebar{height:auto;min-height:auto}.conversation-list{max-height:152px}.chat-panel{min-height:calc(100vh - 230px)}.demo-room-chat .chat-panel{height:auto;min-height:calc(100vh - 250px)}.chat-header,.crisis-strip,.voice-session,.messages,.composer{padding-left:16px;padding-right:16px}.voice-session{grid-template-columns:1fr}.voice-avatar{min-height:150px}.voice-heading{align-items:flex-start}.voice-controls{grid-template-columns:1fr;display:grid}.voice-controls .primary-action,.voice-controls .secondary-action,.voice-controls .danger-action{width:100%}.voice-turn{grid-template-columns:1fr}.message-bubble{max-width:92%}}
