:root{--teal: #1a3438;--teal-deep: #122629;--teal-card: #1f3f44;--cream: #f5f0e8;--cream-deep: #ebe4d8;--tan: #c4a574;--tan-hover: #d4b88a;--tan-dim: #a88d5f;--text-on-teal: #f5f0e8;--text-muted-on-teal: rgba(245, 240, 232, .78);--text-on-surface: #1a3438;--text-muted-on-surface: #4a5c5f;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--bg: var(--teal);--bg-elevated: var(--teal-deep);--surface: var(--cream);--surface-elevated: var(--cream-deep);--surface-muted: rgba(235, 228, 216, .65);--border: rgba(196, 165, 116, .28);--border-strong: rgba(196, 165, 116, .45);--text: var(--text-on-teal);--text-muted: var(--text-muted-on-teal);--accent: var(--tan);--accent-hover: var(--tan-hover);--accent-dim: var(--tan-dim);--accent-foreground: var(--teal-deep);--success: #3d8f6a;--warning: #b8860b;--danger: #c45c5c;--radius: 16px;--radius-sm: 10px;--radius-pill: 999px;--shadow: 0 16px 40px rgba(18, 38, 41, .2);font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 120% 80% at 50% -15%,#234a50 0%,var(--bg) 58%)}#root{min-height:100vh}button{font:inherit;cursor:pointer}.btn-primary{padding:.65rem 1.35rem;border:none;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);font-weight:600;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.btn-large{width:100%;padding:.85rem 1.25rem;margin-top:1rem}.btn-secondary{padding:.55rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:transparent;color:var(--text);font-weight:500}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:.4rem .85rem;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:.85rem}.btn-ghost:hover{color:var(--text);border-color:var(--border-strong);background:#f5f0e80f}.link-btn{margin-left:.5rem;padding:0;border:none;background:none;color:var(--accent);font-size:inherit;text-decoration:underline}.field-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:1rem 0 .5rem}.error-banner{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:#f871711f;border:1px solid rgba(248,113,113,.35);color:var(--danger);font-size:.9rem}.error-banner.floating{margin:.75rem 0 0}.connection-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border)}.connection-status.checking{color:var(--text-muted)}.connection-status.online{color:var(--success);border-color:#4ade8059;background:#4ade8014}.connection-status.warming{color:var(--warning, #fbbf24);border-color:#fbbf2459;background:#fbbf2414}.connection-status.offline{color:var(--danger);border-color:#f8717159;background:#f8717114}.progress-bar-stats{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.85rem;margin-bottom:.25rem}.progress-stat-primary{font-weight:600;color:var(--text)}.progress-stat-secondary{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.progress-topic-line,.progress-pillar-line{color:var(--text-muted);font-size:.78rem}.progress-bar-wrap{margin-top:.75rem}.progress-bar-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.progress-focus-lines{display:flex;flex-direction:column;gap:.15rem;min-width:0}.progress-focus-lines strong{color:var(--text-muted-on-surface);font-weight:600}.progress-ready{color:var(--success)}.progress-bar-track{height:6px;background:var(--surface-elevated);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:999px;transition:width .3s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.5rem 1rem;background:var(--accent);color:var(--accent-foreground);border-radius:var(--radius-pill);font-weight:600;text-decoration:none}.skip-link:focus{left:1rem;top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.context-help{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.45}.af-h1,.af-service-h2,.chat-header h1,.welcome-panel h2,.assessment-panel h2{font-family:var(--serif);font-weight:500;letter-spacing:.01em}.af-h2,.af-card h2{font-family:var(--serif);font-weight:500}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel,.af-sidebar-card){color:var(--text-on-surface)}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .context-help,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .af-h2,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .af-dashboard-card-meta,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .af-onboarding-service-desc,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .af-service-desc,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .field-label,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .af-k{color:var(--text-muted-on-surface)}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .btn-secondary,:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .btn-ghost{color:var(--text-on-surface);border-color:#1a343838}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .btn-ghost{color:var(--text-muted-on-surface)}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .btn-ghost:hover{color:var(--text-on-surface);background:#1a34380f;border-color:#1a34382e}:is(.af-card,.af-card-page,.af-dashboard-card,.welcome-panel,.chat-workspace,.assessment-panel) .btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dim)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.welcome-skeleton{width:100%;display:flex;flex-direction:column;gap:.65rem}.skeleton-line,.skeleton-block,.skeleton-button{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--border) 50%,var(--surface-elevated) 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-line{height:14px}.skeleton-line.wide{height:22px;width:70%}.skeleton-block{height:44px}.skeleton-button{height:44px;margin-top:.5rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.af-card{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem 1.35rem}.af-card.af-card-page{max-width:none}.af-card h2{margin:0;font-size:1.15rem}.af-card-footer{margin-top:.9rem;font-size:.9rem;color:var(--text-muted)}.af-google-login{display:flex;justify-content:center;margin:1rem 0}.af-signed-in{margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--cream-deep)}.af-signed-in-name{font-weight:600}.af-signed-in-email{color:var(--text-muted);font-size:.9rem;margin-top:.15rem;margin-bottom:.65rem}.af-dashboard{max-width:960px}.af-dashboard-top-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.af-dashboard-status{margin-bottom:1.25rem;color:var(--text-muted);font-size:.9rem}.af-dashboard-section{margin-bottom:1.75rem}.af-dashboard-section .af-h2{margin-bottom:.85rem}.af-dashboard-list{display:grid;gap:.85rem}.af-dashboard-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.af-dashboard-card-title{font-weight:700}.af-dashboard-card-meta{color:var(--text-muted);font-size:.9rem;margin-top:.2rem}.af-dashboard-card-progress{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.55rem}.af-dashboard-card-actions{display:flex;gap:.45rem;flex-shrink:0}.af-dashboard-empty{text-align:left}.af-dashboard-footer{margin-top:1.5rem;color:var(--text-muted)}.af-onboarding{max-width:1080px}.af-onboarding-service-list{display:grid;gap:.75rem;margin-top:.85rem}.af-onboarding-service{padding:.9rem 1rem;border:1px solid rgba(26,52,56,.12);border-radius:var(--radius);background:var(--cream-deep)}.af-onboarding-service-title{font-weight:700;display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.af-inline-check{display:inline-flex;align-items:center;gap:.55rem}.af-inline-check input[type=checkbox]{width:1rem;height:1rem}.af-onboarding-service-desc{color:var(--text-muted);font-size:.92rem;margin-top:.35rem}.af-onboarding-service-meta{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-top:.55rem}.af-link{color:var(--accent);text-decoration:none;font-weight:600}.af-link:hover{text-decoration:underline}.af-input{width:100%;padding:.7rem .8rem;border-radius:var(--radius-sm);border:1px solid rgba(26,52,56,.18);background:var(--surface-elevated);color:var(--text-on-surface)}.af-textarea{width:100%;padding:.7rem .8rem;border-radius:var(--radius-sm);border:1px solid rgba(26,52,56,.18);background:var(--surface-elevated);color:var(--text-on-surface);resize:vertical}.af-page{min-height:100vh;padding:2.25rem 1.5rem}.af-page-inner{width:100%;max-width:980px;margin:0 auto}.af-page-inner.wide{max-width:1200px}.af-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.af-kicker{font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.af-h1{margin:.25rem 0 0;font-size:2rem}.af-h2{margin:.75rem 0 .4rem;font-size:1.2rem}.af-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}.af-side-note{padding:1rem 1.1rem;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted-on-surface);background:var(--cream-deep)}.af-steps{margin:.75rem 0 0;padding-left:1.15rem}.af-service-list{display:flex;flex-direction:column;gap:1.25rem}.af-service-domain-group{display:flex;flex-direction:column;gap:.65rem}.af-service-domain-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase}.af-service{display:flex;gap:.85rem;padding:.85rem .95rem;border-radius:var(--radius);border:1px solid rgba(26,52,56,.12);background:var(--cream-deep)}.af-service.relevant{border-color:#c4a5748c;box-shadow:0 0 0 1px #c4a57433 inset}.af-service input{margin-top:.2rem}.af-service-title{display:flex;align-items:center;gap:.55rem;font-weight:700}.af-service-desc{color:var(--text-muted);font-size:.92rem;margin-top:.25rem}.af-service-meta{margin-top:.5rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.af-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.15rem .55rem;border-radius:var(--radius-pill);border:1px solid rgba(26,52,56,.15);color:var(--text-muted-on-surface);background:#f5f0e8a6}.af-pill.ok{color:var(--success);border-color:#3d8f6a59;background:#3d8f6a1a}.af-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.af-actions-row{margin-top:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.af-spacer{flex:1 1 auto}.af-split{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}.af-sidebar-card{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:.85rem}.af-sidebar-title{font-family:var(--serif);font-weight:500;margin-bottom:.65rem}.af-sidebar-list{display:flex;flex-direction:column;gap:.5rem}.af-sidebar-item{text-align:left;width:100%;padding:.7rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(26,52,56,.12);background:var(--cream-deep);color:var(--text-on-surface)}.af-sidebar-item.active{border-color:#c4a574a6;box-shadow:0 0 0 1px #c4a57440 inset;background:var(--surface)}.af-sidebar-item-title{font-weight:700}.af-sidebar-item-meta{margin-top:.35rem;display:flex;gap:.45rem;flex-wrap:wrap}.af-service-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.af-service-h2{margin-top:.25rem;font-size:1.35rem;font-weight:800}.af-service-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.af-saved{font-size:.85rem;color:var(--text-muted)}.af-question-groups{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.af-group{border:1px solid rgba(26,52,56,.1);border-radius:var(--radius);padding:.9rem .95rem;background:var(--cream-deep)}.af-group-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-weight:800}.af-group-questions{margin-top:.75rem;display:flex;flex-direction:column;gap:.9rem}.af-q-prompt{font-weight:650}.af-textarea{margin-top:.4rem}.af-kv{display:grid;grid-template-columns:140px 1fr;gap:.55rem .85rem;margin-top:.65rem}.af-k{color:var(--text-muted);font-size:.9rem}.af-v{font-weight:650}.af-summary-services{margin-top:.6rem;display:flex;flex-direction:column;gap:.6rem}.af-summary-service{border:1px solid rgba(26,52,56,.1);border-radius:var(--radius);padding:.75rem .85rem;background:var(--cream-deep)}.af-summary-service-title{font-weight:800}.af-summary-service-meta{margin-top:.45rem;display:flex;gap:.45rem;flex-wrap:wrap}.af-note{margin-top:1rem;padding:.75rem .9rem;border-radius:var(--radius);border:1px solid rgba(251,191,36,.35);background:#fbbf2414;color:var(--warning)}.af-divider{height:1px;background:var(--border);margin:1.25rem 0}.af-drafts{margin-top:2rem}.af-draft-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.6rem}.af-draft{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border-radius:var(--radius);border:1px solid rgba(26,52,56,.12);background:var(--cream-deep)}.af-draft-title{font-weight:800}.af-draft-meta{margin-top:.15rem;color:var(--text-muted);font-size:.9rem}.af-draft-actions{display:flex;align-items:center;gap:.5rem}.af-pill.warn{background:#b453091f;color:#9a3412}.chat-attachment-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.chat-attachment-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:var(--cream-deep);border:1px solid rgba(26,52,56,.12);font-size:.85rem}.chat-attachment-remove{padding:0 .25rem;min-height:auto}.chat-attach-btn{flex-shrink:0}.message-attachments{margin:.5rem 0 0;padding-left:1rem;font-size:.9rem}.af-artifact-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.af-artifact-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid rgba(26,52,56,.12);border-radius:var(--radius);background:var(--cream-deep)}.af-artifact-main{flex:1}.af-artifact-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.af-artifact-upload{cursor:pointer;white-space:nowrap}@media (max-width: 980px){.af-grid-2,.af-split{grid-template-columns:1fr}}.landing{--landing-teal: var(--teal);--landing-teal-deep: var(--teal-deep);--landing-teal-card: var(--teal-card);--landing-cream: var(--cream);--landing-cream-deep: var(--cream-deep);--landing-tan: var(--tan);--landing-tan-hover: var(--tan-hover);--landing-text-on-teal: var(--text-on-teal);--landing-text-muted-on-teal: var(--text-muted-on-teal);--landing-text-on-cream: var(--text-on-surface);--landing-text-muted-on-cream: var(--text-muted-on-surface);--landing-serif: var(--serif);--landing-sans: "DM Sans", system-ui, sans-serif;--landing-radius-lg: 24px;--landing-radius-pill: var(--radius-pill);--landing-shadow: var(--shadow);font-family:var(--landing-sans);color:var(--landing-text-on-teal);background:var(--landing-teal);line-height:1.55}.landing *,.landing *:before,.landing *:after{box-sizing:border-box}.landing h1,.landing h2,.landing h3,.landing .landing-serif{font-family:var(--landing-serif);font-weight:500;letter-spacing:.01em}.landing-section--teal{background:var(--landing-teal);color:var(--landing-text-on-teal)}.landing-section--cream{background:var(--landing-cream);color:var(--landing-text-on-cream)}.landing-hero{position:relative;padding:2rem clamp(1.25rem,4vw,3.5rem) 0;overflow:hidden}.landing-hero__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;max-width:1200px;margin:0 auto}.landing-brand{display:flex;align-items:center;gap:.85rem}.landing-brand__mark{width:48px;height:48px;border-radius:50%;border:1px solid rgba(196,165,116,.45);background:#0a2e3540;flex-shrink:0;overflow:hidden;display:grid;place-items:center}.landing-brand__mark img{width:100%;height:100%;display:block;object-fit:cover}.landing-brand__name{font-family:var(--landing-serif);font-size:1.15rem;font-weight:500;line-height:1.25}.landing-brand__name span{display:block;font-family:var(--landing-sans);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--landing-text-muted-on-teal);margin-top:.15rem}.landing-hero__tagline{margin:0;font-size:.95rem;color:var(--landing-text-muted-on-teal);font-style:italic;max-width:28ch;text-align:right}.landing-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem 3rem;max-width:1200px;margin:2.5rem auto 0;align-items:start;padding-bottom:4rem}.landing-hero__copy h1{margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3rem);line-height:1.12;font-weight:500}.landing-hero__copy>p{margin:0 0 1.75rem;color:var(--landing-text-muted-on-teal);max-width:48ch;font-size:1.02rem}.landing-values{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.landing-values li{display:flex;gap:.85rem;align-items:flex-start}.landing-values__icon{width:28px;height:28px;flex-shrink:0;color:var(--landing-tan);margin-top:.1rem}.landing-values strong{display:block;font-weight:600;font-size:.95rem}.landing-values span{display:block;font-size:.88rem;color:var(--landing-text-muted-on-teal);margin-top:.15rem}.landing-auth-card{background:var(--landing-teal-card);border:1px solid rgba(196,165,116,.2);border-radius:var(--landing-radius-lg);padding:1.75rem 1.65rem;box-shadow:var(--landing-shadow)}.landing-auth-card h2{margin:0 0 .35rem;font-size:1.65rem;font-weight:500}.landing-auth-card .context-help{color:var(--landing-text-muted-on-teal);font-size:.88rem;margin-bottom:1.25rem}.landing-auth-card .error-banner{margin-top:1rem;background:#f8717126;border-color:#f8717166}.landing-btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:var(--landing-radius-pill);font-weight:600;font-size:.92rem;text-decoration:none;border:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-family:var(--landing-sans)}.landing-btn--primary{background:var(--landing-tan);color:var(--landing-teal-deep);width:100%;margin-top:.5rem}.landing-btn--primary:hover{background:var(--landing-tan-hover)}.landing-btn--outline{background:transparent;color:var(--landing-text-on-teal);border:1px solid rgba(245,240,232,.45);margin-top:.75rem;width:100%}.landing-btn--outline:hover{border-color:var(--landing-tan);color:var(--landing-tan)}.landing-btn--outline-cream{background:transparent;color:var(--landing-text-on-cream);border:1px solid var(--landing-text-on-cream)}.landing-btn--outline-cream:hover{background:#1a34380f}.landing-google-login{display:flex;justify-content:center;margin-top:.25rem}.landing-hero__footer{position:relative;margin-top:-1px;background:var(--landing-cream)}.landing-wave{width:100%;line-height:0;margin-bottom:-2px}.landing-wave__svg{display:block;width:100%;height:clamp(56px,8vw,100px)}.landing-intro{padding:clamp(4.5rem,10vw,6.5rem) clamp(1.25rem,4vw,3.5rem) 4rem}.landing-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;align-items:center}.landing-intro h2{margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500;color:var(--landing-text-on-cream)}.landing-intro__body{margin:0;color:var(--landing-text-muted-on-cream);max-width:46ch}.landing-book-reference{margin-top:1.75rem;display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;padding:1.25rem 1.35rem;border-radius:var(--landing-radius-lg);background:var(--landing-cream-deep);border:1px solid rgba(196,165,116,.35);max-width:52rem}.landing-book-reference__cover{width:clamp(88px,14vw,120px);height:auto;border-radius:8px;box-shadow:0 8px 24px #1226291f;display:block}.landing-book-reference__eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--landing-tan)}.landing-book-reference h3{margin:0;font-size:1.15rem;color:var(--landing-text-on-cream)}.landing-book-reference__subtitle{margin:.35rem 0 0;font-size:.88rem;color:var(--landing-text-muted-on-cream);line-height:1.4}.landing-book-reference__author{margin:.5rem 0 0;font-size:.85rem;font-weight:600;color:var(--landing-text-on-cream)}.landing-book-reference__desc{margin:.65rem 0 0;font-size:.92rem;color:var(--landing-text-muted-on-cream);line-height:1.5}.landing-book-reference__link{display:inline-block;margin-top:.85rem;font-size:.88rem;font-weight:600;color:var(--landing-teal-deep);text-decoration:underline;text-underline-offset:3px}.landing-book-reference__link:hover{color:var(--landing-tan)}.landing-quote{margin-top:2rem;padding:1.25rem 1.35rem 1.25rem 1.5rem;border-left:3px solid var(--landing-tan);background:var(--landing-cream-deep);border-radius:0 var(--landing-radius-lg) var(--landing-radius-lg) 0;position:relative}.landing-quote__icon{position:absolute;top:-.5rem;right:1rem;width:32px;height:32px;color:var(--landing-tan);opacity:.85}.landing-quote p{margin:0;font-family:var(--landing-serif);font-size:1.05rem;font-style:italic;color:var(--landing-text-on-cream)}.landing-quote cite{display:block;margin-top:.65rem;font-style:normal;font-size:.8rem;color:var(--landing-text-muted-on-cream)}.landing-intro__media{border-radius:var(--landing-radius-lg);overflow:hidden;aspect-ratio:4 / 3;box-shadow:var(--landing-shadow)}.landing-intro__media img{width:100%;height:100%;object-fit:cover;display:block}.landing-credentials{padding:3.5rem clamp(1.25rem,4vw,3.5rem) 4.5rem;text-align:center}.landing-credentials h2{margin:0 auto 2.5rem;max-width:22ch;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:500}.landing-credentials__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.5rem;max-width:1100px;margin:0 auto;text-align:left}.landing-credentials__item .landing-values__icon{color:var(--landing-tan);width:32px;height:32px;margin-bottom:.65rem}.landing-credentials__item h3{margin:0 0 .35rem;font-family:var(--landing-sans);font-size:1rem;font-weight:600}.landing-credentials__item p{margin:0;font-size:.88rem;color:var(--landing-text-muted-on-cream)}.landing-testimonials{padding:4rem clamp(1.25rem,4vw,3.5rem) 5rem}.landing-testimonials__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;max-width:1200px;margin:0 auto 2.5rem}.landing-testimonials h2{margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500}.landing-carousel{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem}.landing-carousel__nav{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,240,232,.35);background:transparent;color:var(--landing-text-on-teal);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}.landing-carousel__nav:hover{border-color:var(--landing-tan);background:#c4a5741f}.landing-carousel__nav svg{width:22px;height:22px}.landing-carousel__track{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;overflow:hidden}.landing-testimonial-card{background:var(--landing-teal-card);border-radius:var(--landing-radius-lg);overflow:hidden;border:1px solid rgba(196,165,116,.15);display:flex;flex-direction:column;min-width:0}.landing-testimonial-card__photo{aspect-ratio:4 / 3;overflow:hidden}.landing-testimonial-card__photo img{width:100%;height:100%;object-fit:cover}.landing-testimonial-card__body{background:var(--landing-cream);color:var(--landing-text-on-cream);padding:1.15rem 1.2rem 1.25rem;flex:1}.landing-testimonial-card__body p{margin:0;font-family:var(--landing-serif);font-size:.95rem;font-style:italic;line-height:1.45}.landing-testimonial-card__body span{display:block;margin-top:.65rem;font-family:var(--landing-sans);font-size:.78rem;font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--landing-text-muted-on-cream)}.landing-process{padding:4.5rem clamp(1.25rem,4vw,3.5rem) 5rem}.landing-process h2{text-align:center;margin:0 0 2.75rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500}.landing-process__grid{display:grid;grid-template-columns:1fr minmax(200px,280px) 1fr;gap:2rem;max-width:1200px;margin:0 auto;align-items:start}.landing-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.75rem}.landing-steps li{display:grid;grid-template-columns:2.25rem 1fr;gap:.85rem}.landing-steps__num{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--landing-tan);color:var(--landing-tan);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.landing-steps h3{margin:0 0 .25rem;font-family:var(--landing-sans);font-size:1rem;font-weight:600}.landing-steps p{margin:0;font-size:.88rem;color:var(--landing-text-muted-on-cream)}.landing-arch{border-radius:999px 999px 24px 24px;overflow:hidden;aspect-ratio:3 / 5;max-height:420px;box-shadow:var(--landing-shadow);align-self:center}.landing-arch img{width:100%;height:100%;object-fit:cover}.landing-chat-mock{background:var(--landing-teal);color:var(--landing-text-on-teal);border-radius:var(--landing-radius-lg);padding:1.25rem;box-shadow:var(--landing-shadow)}.landing-chat-mock h3{margin:0 0 1rem;font-family:var(--landing-sans);font-size:.95rem;font-weight:600}.landing-chat-mock__messages{display:flex;flex-direction:column;gap:.65rem}.landing-chat-bubble{max-width:92%;padding:.55rem .75rem;border-radius:16px;font-size:.82rem;line-height:1.4}.landing-chat-bubble--bot{align-self:flex-start;background:var(--landing-teal-card);border:1px solid rgba(196,165,116,.2)}.landing-chat-bubble--user{align-self:flex-end;background:var(--landing-cream);color:var(--landing-text-on-cream)}.landing-footer{padding:3.5rem clamp(1.25rem,4vw,3.5rem) 1.5rem}.landing-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;max-width:1200px;margin:0 auto 2.5rem}.landing-footer__brand p{margin:.75rem 0 0;font-size:.88rem;color:var(--landing-text-muted-on-teal);max-width:28ch}.landing-footer h4{margin:0 0 .75rem;font-family:var(--landing-sans);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--landing-tan)}.landing-footer ul{list-style:none;margin:0;padding:0}.landing-footer li{margin-bottom:.4rem}.landing-footer a{color:var(--landing-text-muted-on-teal);text-decoration:none;font-size:.88rem}.landing-footer a:hover{color:var(--landing-tan)}.landing-footer__quote{font-family:var(--landing-serif);font-size:1.1rem;font-style:italic;margin:0;line-height:1.4}.landing-footer__copy{text-align:center;padding-top:1.5rem;border-top:1px solid rgba(245,240,232,.12);font-size:.8rem;color:var(--landing-text-muted-on-teal);max-width:1200px;margin:0 auto}@media (max-width: 1024px){.landing-hero__grid{grid-template-columns:1fr}.landing-hero__tagline{text-align:left}.landing-intro__grid{grid-template-columns:1fr}.landing-credentials__grid{grid-template-columns:repeat(2,1fr)}.landing-carousel__track{grid-template-columns:1fr}.landing-carousel__nav{display:none}.landing-process__grid{grid-template-columns:1fr}.landing-arch{max-height:320px;margin:0 auto;max-width:280px}.landing-footer__grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.landing-book-reference{grid-template-columns:1fr;justify-items:center;text-align:center}.landing-book-reference__copy{width:100%}.landing-credentials__grid,.landing-footer__grid{grid-template-columns:1fr}}.app-shell{max-width:1100px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:1rem 1.25rem 1.5rem;color:var(--text)}.chat-header{position:relative;padding-bottom:.75rem;border-bottom:1px solid var(--border-strong)}.app-eyebrow{margin:0 0 .15rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.step-indicator{margin-top:.85rem}.step-indicator ol{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}.step-item{flex:1;display:flex;align-items:center;gap:.4rem;padding:.45rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-muted);border:1px solid transparent}.step-item.current{color:var(--text-on-surface);background:var(--surface);border-color:var(--border-strong);font-weight:600}.step-item.done{color:var(--success)}.step-marker{flex-shrink:0;width:1.35rem;height:1.35rem;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--surface-elevated);border:1px solid var(--border)}.step-item.current .step-marker{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.step-item.done .step-marker{background:#4ade8026;border-color:#4ade8066;color:var(--success)}.step-label-short{display:none}@media (max-width: 520px){.step-label-full{display:none}.step-label-short{display:inline}}.chat-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.chat-header h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.chat-header-sub{margin:.2rem 0 0;color:var(--text-muted);font-size:.9rem}.chat-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.app-main{flex:1;display:flex;flex-direction:column;margin-top:1rem;min-height:0}.app-main-split{display:grid;grid-template-columns:1fr;gap:1rem;flex:1;min-height:0}@media (min-width: 900px){.app-main-split:has(.assessment-panel){grid-template-columns:1fr 320px}}.welcome-panel{flex:1;display:flex;flex-direction:column;max-width:440px;margin:1.5rem auto 2rem;padding:1.75rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left}.welcome-panel h2{margin:0 0 .35rem;font-size:1.35rem;letter-spacing:-.02em}.welcome-panel .connection-status{margin-top:1rem}.empty-state-inline{margin:1rem 0;padding:.85rem;background:var(--cream-deep);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-muted-on-surface)}.how-it-works{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(26,52,56,.12);font-size:.85rem;color:var(--text-muted-on-surface)}.how-it-works summary{cursor:pointer;font-weight:600;color:var(--text-on-surface)}.how-it-works summary:hover{color:var(--accent-dim)}.how-it-works ol{margin:.65rem 0 0;padding-left:1.2rem;line-height:1.55}.welcome-panel select{width:100%;padding:.7rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(26,52,56,.18);background:var(--surface-elevated);color:var(--text-on-surface);font:inherit;text-align:left}.framework-description{margin:.5rem 0 0;font-size:.85rem;color:var(--text-muted);text-align:left}.chat-workspace{flex:1;display:flex;flex-direction:column;min-height:520px;max-height:calc(100vh - 180px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.message-list{flex:1;overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.message-list-empty{margin:auto;color:var(--text-muted-on-surface);font-size:.95rem}.message-row{display:flex;gap:.65rem;max-width:92%}.message-row.user{align-self:flex-end;flex-direction:row-reverse}.message-row.assistant{align-self:flex-start}.message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.message-row.user .message-avatar{background:var(--accent);color:var(--accent-foreground)}.message-row.assistant .message-avatar{background:var(--teal-card);border:1px solid var(--border-strong);color:var(--tan)}.message-body{min-width:0}.message-meta{display:flex;gap:.5rem;align-items:baseline;margin-bottom:.25rem}.message-sender{font-size:.75rem;font-weight:600;color:var(--text-muted-on-surface)}.message-time{font-size:.7rem;color:var(--text-muted-on-surface);opacity:.8}.message-bubble{padding:.75rem 1rem;border-radius:var(--radius);font-size:.95rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.message-row.user .message-bubble{background:linear-gradient(135deg,var(--tan-dim),var(--tan));color:var(--accent-foreground);border-bottom-right-radius:4px}.message-row.assistant .message-bubble{background:var(--cream-deep);border:1px solid rgba(26,52,56,.1);color:var(--text-on-surface);border-bottom-left-radius:4px}.typing-dots{display:flex;gap:4px;padding:.85rem 1rem}.typing-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:typing 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,80%,to{opacity:.35;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.chat-workspace-footer{border-top:1px solid rgba(26,52,56,.1);background:var(--cream-deep);padding:.75rem}.chat-hint{font-size:.85rem;color:var(--text-muted-on-surface);margin-bottom:.5rem;padding:.5rem .65rem;background:var(--surface);border-radius:var(--radius-sm);border-left:3px solid var(--border-strong)}.chat-hint.success{color:var(--text-on-surface);border-left-color:var(--success);background:#3d8f6a1a}.chat-composer-wrap{margin-top:.35rem}.chat-composer-wrap .context-help{margin-top:.25rem}.chat-composer{display:flex;gap:.5rem;align-items:flex-end}.chat-composer textarea{flex:1;resize:none;padding:.7rem .85rem;border:1px solid rgba(26,52,56,.18);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-on-surface);font:inherit;line-height:1.4}.chat-composer textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.chat-toolbar{margin-top:.5rem;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.chat-save-status{margin:.45rem 0 0;font-size:.82rem;color:var(--success)}.assessment-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;max-height:calc(100vh - 180px);overflow-y:auto;box-shadow:var(--shadow)}.assessment-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.success-eyebrow{margin:0 0 .2rem;font-size:.75rem;font-weight:600;color:var(--success);text-transform:uppercase;letter-spacing:.06em}.assessment-panel h2{margin:0;font-size:1.1rem}.controls-heading{margin:0 0 .65rem;font-size:.85rem;font-weight:600;color:var(--text-muted-on-surface);text-transform:uppercase;letter-spacing:.05em}.score-label{margin:0 0 .25rem;font-size:.8rem;color:var(--text-muted-on-surface)}.score-row{display:flex;align-items:baseline;gap:.35rem}.assessment-score-card{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;padding:.75rem;background:var(--surface-elevated);border-radius:var(--radius-sm);margin-bottom:.75rem}.score-value{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:600;color:var(--accent)}.score-max{color:var(--text-muted);font-size:.9rem}.score-maturity{width:100%;font-size:.85rem;color:var(--success);font-weight:600}.assessment-summary{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted-on-surface)}.control-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.control-card{padding:.65rem;background:var(--cream-deep);border:1px solid rgba(26,52,56,.1);border-radius:var(--radius-sm);font-size:.85rem}.control-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.status-pill{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .4rem;border-radius:4px}.status-pill.met{color:var(--success);background:#4ade801f}.status-pill.partial{color:var(--warning);background:#fbbf241f}.status-pill.gap{color:var(--danger);background:#f871711f}.status-pill.unknown{color:var(--text-muted)}.control-score{margin:.35rem 0 0;color:var(--text-muted-on-surface)}.control-field-label{display:block;margin:.5rem 0 .15rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.control-evidence{margin:0}.control-recommendations{margin:.5rem 0 0;padding-left:1.1rem;color:var(--text-muted-on-surface)}.engagement-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 .75rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(56,189,248,.25);background:#38bdf814;color:var(--text);font-size:.9rem}.engagement-banner p{margin:0}.engagement-banner-dismiss{flex-shrink:0;font-size:.8rem}.service-completion-preview{padding:1rem 0}.service-completion-header h2{margin:.25rem 0 .5rem;font-size:1.2rem}.service-completion-summary{margin:0 0 1rem;color:var(--text-muted);font-size:.92rem;max-width:42rem}.service-completion-results{margin:1rem 0}.service-completion-actions{margin-top:1rem}
