:root{--font-garamond:"EB Garamond";--bg:#faf9f7;--card:#ffffff;--text:#3d3935;--muted:#7a7570;--terracotta:#d97757;--dusty-blue:#8fa5b8;--sage:#788c5d;--ring-tint:#ddd9d4;--risk-low:#788c5d;--risk-medium:rgba(217,119,87,0.8);--risk-high:#b8452c}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}body,h1,h2,h3{color:var(--text)}h1,h2,h3{font-family:var(--font-garamond),Garamond,"Times New Roman",serif;font-weight:400}main{flex:1 1;width:100%;max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem}.site-header{background:var(--card);border-bottom:1px solid var(--ring-tint)}.site-header-inner{max-width:1000px;margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header .brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}.site-header .brand img{height:34px;width:auto}.site-header .brand-name{font-family:var(--font-garamond),Garamond,serif;font-size:1.15rem}.site-header .brand-name .risk{color:var(--terracotta)}.header-meta{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.header-meta,.header-meta a{color:var(--muted)}.site-footer{text-align:center;font-size:.8rem;color:var(--muted);border-top:1px solid var(--ring-tint)}.card,.site-footer{padding:1.5rem;background:var(--card)}.card{border:1px solid var(--ring-tint);border-radius:10px}.page-title{font-size:1.9rem;margin-bottom:.35rem}.page-intro{color:var(--muted);margin-bottom:2rem;max-width:46rem}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2.25rem}.role-card{background:var(--card);border:1px solid var(--ring-tint);border-radius:10px;padding:1.25rem;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s ease,box-shadow .12s ease;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.role-card:hover{border-color:var(--dusty-blue)}.role-card:focus{outline:none}.role-card:focus-visible{outline:2px solid var(--dusty-blue);outline-offset:2px}.role-card.selected{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.role-card h3{font-size:1.15rem;margin-bottom:.35rem}.role-card p{font-size:.88rem;color:var(--muted)}.action-row{display:flex;flex-wrap:wrap;gap:1rem}.action-button{display:inline-block;padding:.85rem 1.6rem;border-radius:8px;border:1px solid var(--terracotta);background:var(--terracotta);color:#fff;font-size:1rem;text-decoration:none;cursor:pointer;font-family:inherit}.action-button.secondary{background:var(--card);color:var(--terracotta)}.action-button:disabled,.action-button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.login-wrap{max-width:420px;margin:4rem auto}.login-wrap .logo{display:block;margin:0 auto 1.25rem;height:72px}.login-wrap h1{text-align:center;font-size:1.6rem;margin-bottom:1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.3rem}.field input{width:100%;padding:.65rem .75rem;border:1px solid var(--ring-tint);border-radius:8px;font:inherit;color:var(--text);background:#fff}.field input:focus{outline:2px solid var(--dusty-blue);outline-offset:1px}.form-error{color:var(--risk-high)}.form-error,.form-notice{font-size:.88rem;margin-bottom:1rem}.form-notice{color:var(--sage)}.text-link{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0}.placeholder-note{color:var(--muted);font-size:.95rem}.likert-row{display:flex;flex-wrap:wrap;gap:.5rem}.likert-option{flex:1 1 110px;border:1px solid var(--ring-tint);border-radius:8px;padding:.45rem .5rem;font-size:.82rem;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:.35rem;background:#fff}.likert-option:has(input:checked){border-color:var(--terracotta);color:var(--text);box-shadow:0 0 0 1px var(--terracotta)}.risk-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--ring-tint)}.risk-row:last-child{border-bottom:none}.risk-score{color:var(--muted);font-size:.85rem;margin-right:.6rem}.load-bearing{color:var(--muted);font-size:.78rem}.pill{display:inline-block;padding:.15rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;color:#fff}.pill.low{background:var(--risk-low)}.pill.medium{background:var(--risk-medium)}.pill.high{background:var(--risk-high)}.chat-window{background:var(--card);border:1px solid var(--ring-tint);border-radius:10px;padding:1.25rem;min-height:0;max-height:70vh;overflow-y:auto;margin-bottom:1rem}.chat-window .placeholder-note{font-size:.85rem;margin:0}.chat-msg{margin-bottom:1rem;line-height:1.55}.chat-msg.user{background:#f2efe9;border-radius:10px;padding:.7rem 1rem;margin-left:15%;white-space:pre-wrap}.chat-msg.assistant h1,.chat-msg.assistant h2,.chat-msg.assistant h3{font-size:1.05rem;margin:.75rem 0 .35rem}.chat-msg.assistant p{margin-bottom:.6rem}.chat-msg.assistant ol,.chat-msg.assistant ul{padding-left:1.4rem;margin-bottom:.6rem}.chat-msg.assistant a{color:var(--terracotta)}.chat-input-row{display:flex;gap:.75rem;align-items:flex-end}.chat-input-row textarea{flex:1 1;padding:.65rem .75rem;border:1px solid var(--ring-tint);border-radius:8px;font:inherit;color:var(--text);resize:vertical;background:#fff}.chat-input-row textarea:focus{outline:2px solid var(--dusty-blue);outline-offset:1px}.landing{max-width:860px}.landing-hero{text-align:center;padding:.5rem 0 2rem}.landing-logo{height:96px;margin-bottom:1.5rem}.landing-hero h1{font-size:2.1rem;line-height:1.25;margin-bottom:1rem}.landing-sub{color:var(--muted);max-width:40rem;margin:0 auto 1.5rem;font-size:1.05rem}.landing-section{margin-bottom:2.25rem}.landing-section h2{font-size:1.4rem;margin-bottom:.6rem}.landing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:.75rem}.landing-cards h3{margin-bottom:.4rem;color:var(--terracotta)}.landing-cards p{font-size:.92rem}.landing a{color:var(--terracotta)}.landing a.action-button{color:#fff}.landing-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(250,249,247,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ring-tint)}.landing-topbar-inner{max-width:1000px;margin:0 auto;padding:.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.landing-topbar-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--font-garamond),Garamond,serif;font-size:1.05rem;color:var(--text);text-decoration:none}.landing-topbar-brand img{height:26px;width:auto}.landing-topbar-brand .risk{color:var(--terracotta)}.action-button.topbar-cta{padding:.45rem 1.1rem;font-size:.9rem}.gallery-grid,.showcase{margin-bottom:2.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.25rem;gap:1.25rem;align-items:start}.gallery-item{margin:0}.gallery-item .showcase-frame{padding:.75rem;height:240px;align-items:center;overflow:hidden}.gallery-item .showcase-frame img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.gallery-item .showcase-frame svg{max-height:100%}.showcase-frame{background:var(--card);border:1px solid var(--ring-tint);border-radius:14px;box-shadow:0 18px 40px -24px rgba(61,57,53,.35);padding:1.5rem;display:flex;justify-content:center}.showcase-caption{text-align:center;font-size:.88rem;color:var(--muted);margin-top:.75rem}.radar-hero{width:190px;height:190px;margin-bottom:.75rem}.landing-wordmark{font-family:var(--font-garamond),Garamond,serif;font-size:clamp(2.4rem,6vw,3.8rem);line-height:1.15;margin-bottom:1.25rem}.landing-wordmark .risk{color:var(--terracotta)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0 1.25rem}.stat{background:var(--card);border:1px solid var(--ring-tint);border-radius:10px;padding:1.4rem 1.25rem;text-align:center}.stat-number{font-family:var(--font-garamond),Garamond,serif;font-size:3.4rem;line-height:1.1;color:var(--terracotta)}.stat-label{font-size:.88rem;color:var(--muted);margin-top:.4rem}.radar-sweep{animation:radar-spin 7s linear infinite;transform-origin:100px 100px}.radar-dot{animation:radar-pulse 2.8s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.radar-dot.dot-2{animation-delay:.9s}.radar-dot.dot-3{animation-delay:1.8s}@keyframes radar-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes radar-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:none}.faq-list{margin-top:.75rem}.faq-item{background:var(--card);border:1px solid var(--ring-tint);border-radius:8px;padding:.7rem 1rem;margin-bottom:.5rem}.faq-item summary{cursor:pointer;font-weight:600;color:var(--text)}.faq-item summary::marker{color:var(--terracotta)}.faq-item p{margin-top:.5rem;color:var(--muted)}@media (prefers-reduced-motion:reduce){.radar-dot,.radar-sweep{animation:none}.reveal{opacity:1;transform:none;transition:none}}html{scroll-behavior:smooth}.landing-nav{display:flex;gap:1.25rem;font-size:.9rem}.landing-nav a{color:var(--muted);text-decoration:none;position:relative;padding-bottom:2px}.landing-nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.landing-nav a:hover{color:var(--text)}.landing-nav a:hover:after{transform:scaleX(1)}@media (max-width:640px){.landing-nav{display:none}}.hero-enter{opacity:0;transform:translateY(16px);animation:hero-in .6s ease forwards}.hero-enter.enter-1{animation-delay:50ms}.hero-enter.enter-2{animation-delay:.2s}.hero-enter.enter-3{animation-delay:.35s}.hero-enter.enter-4{animation-delay:.5s}@keyframes hero-in{to{opacity:1;transform:none}}.radar-ping{animation:radar-ping 3.5s ease-out infinite;transform-origin:100px 100px}@keyframes radar-ping{0%{transform:scale(.2);opacity:.7}70%{transform:scale(4);opacity:0}to{transform:scale(4);opacity:0}}.radar-data-poly{animation:poly-in .9s ease-out both;transform-origin:center;transform-box:fill-box}@keyframes poly-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.faq-item,.landing .card,.stat{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.landing .card:hover,.stat:hover{transform:translateY(-3px);border-color:var(--dusty-blue);box-shadow:0 12px 26px -18px rgba(61,57,53,.4)}.faq-item:hover{border-color:var(--dusty-blue)}.faq-item[open]{border-color:var(--terracotta)}.faq-item[open] p{animation:faq-open .26s ease}@keyframes faq-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.faq-item[open] p,.hero-enter,.radar-data-poly,.radar-ping{animation:none}.hero-enter{opacity:1;transform:none}.faq-item,.landing .card,.stat{transition:none}}@media print{.no-print,.site-footer{display:none!important}body{background:#fff}.card{border:1px solid #ccc;page-break-inside:avoid;break-inside:avoid}}