.demo-mobile-navigation { display:none; }
.public-site { --site-bg:#0b0e19; --site-panel:#131827; --site-line:#293147; --site-muted:#adb6cb; --site-ink:#f3f5fb; --site-accent:#baa8ff; color:var(--site-ink); background:var(--site-bg); min-height:100vh; font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; line-height:1.65; }
.public-site * { box-sizing:border-box; }
.public-site a { color:var(--site-accent); text-decoration:none; }
.public-site a:hover { text-decoration:underline; text-underline-offset:4px; }
.public-site a:focus-visible, .public-site summary:focus-visible { outline:3px solid #ccbaff; outline-offset:5px; border-radius:4px; }
.public-site h1,.public-site h2,.public-site h3 { line-height:1.2; letter-spacing:-.025em; color:var(--site-ink); }
.public-site h1 { font-size:clamp(2rem,4vw,3.7rem); margin:.3rem 0 1rem; }
.public-site h2 { font-size:1.4rem; margin:0 0 1rem; }
.public-site h3 { font-size:1.15rem; margin:.6rem 0; }
.public-site p { color:var(--site-muted); margin:0 0 1.2rem; }
.public-site .skip-link { position:absolute; left:1rem; top:-10rem; padding:.7rem 1rem; background:var(--site-panel); z-index:100; }
.public-site .skip-link:focus { top:1rem; }
.public-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 3vw; border-bottom:1px solid var(--site-line); }
.public-brand { display:flex; align-items:center; gap:.7rem; font-size:1.15rem; font-weight:750; color:var(--site-ink)!important; white-space:nowrap; }
.public-brand img { border-radius:9px; }
.public-header nav { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:1rem; font-size:.9rem; }
.public-button { display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.05rem; border:1px solid #9380cb; border-radius:9px; color:#fff!important; font-weight:650; background:#4f3779; font-size:.9rem; min-height:44px; }
.public-button:hover { background:#624493; text-decoration:none!important; }
.public-kicker { display:block; text-transform:uppercase; font-size:.7rem; letter-spacing:.14em; font-weight:750; color:var(--site-accent)!important; margin-bottom:.55rem!important; }
.public-lead { font-size:1.1rem; max-width:70ch; line-height:1.85; }
.demo-layout { display:grid; grid-template-columns:245px minmax(0,1fr); max-width:1480px; margin:auto; }
.demo-sidebar { border-right:1px solid var(--site-line); padding:2rem 1.1rem; background:#101422; }
.demo-project-heading { display:block; padding:0 .65rem 1.3rem; border-bottom:1px solid var(--site-line); margin-bottom:1rem; }
.demo-project-heading strong { display:block; color:var(--site-ink); line-height:1.3; font-size:1.1rem; }
.demo-sidebar nav { display:flex; flex-direction:column; gap:.25rem; }
.demo-sidebar nav>a { padding:.6rem .7rem; border-radius:7px; color:#cbd2e3; line-height:1.4; font-size:.9rem; }
.demo-sidebar nav>a:hover { background:#20273b; text-decoration:none; }
.demo-sidebar nav>a[aria-current="page"] { background:#2c2445; color:#e3d6ff; border-left:3px solid #a98af1; }
.demo-nav-label { color:#929db6; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:1rem .7rem .35rem; }
.demo-nav-kind { display:block; color:#99a4ba; font-size:.65rem; margin-bottom:.1rem; }
.demo-readonly { margin:2rem .65rem 0!important; padding-top:1rem; border-top:1px solid var(--site-line); font-size:.8rem; }
.demo-content { min-width:0; padding:2rem clamp(1.2rem,4vw,4.5rem) 3rem; }
.public-breadcrumb { color:#8790a9; font-size:.8rem; margin-bottom:1.8rem; }
.demo-title { padding-bottom:.8rem; }
.demo-content>section,.demo-content>article>section { margin-bottom:2rem; }
.demo-callout { border:1px solid #44345b; background:linear-gradient(120deg,#211932,#151b29); padding:1.4rem; border-radius:12px; margin:1.7rem 0; }
.demo-callout h2 { font-size:1.05rem; }
.demo-callout p { margin-bottom:.5rem; }
.public-section-heading { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:.7rem; margin:2rem 0 1rem; }
.public-section-heading h2 { margin:0; }
.public-section-heading>span { color:#99a4ba; font-size:.75rem; }
.demo-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.demo-card { padding:1.4rem; border:1px solid var(--site-line); border-radius:12px; background:var(--site-panel); }
.demo-card h2 { font-size:1.1rem; }
.demo-card h3 a { color:var(--site-ink); }
.demo-card p { font-size:.91rem; }
.demo-card p:last-child { margin:0; }
.public-text-link { font-size:.83rem; font-weight:650; }
.demo-chapter-preview { margin:2rem 0; padding:2rem; border:1px solid #474154; border-radius:12px; background:linear-gradient(130deg,#252139,#131827); }
.demo-chapter-preview blockquote { border-left:2px solid #bda3ed; padding-left:1rem; margin:1.4rem 0; color:#d0c8df; font-family:Georgia,serif; font-size:1.1rem; }
.demo-fields { display:grid; gap:.8rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:2rem 0; }
.demo-fields>div { background:var(--site-panel); border:1px solid var(--site-line); border-radius:9px; padding:1.2rem; }
.demo-fields dt { color:#c4aff5; font-size:.73rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.55rem; }
.demo-fields dd { color:#d2d9e8; margin:0; font-size:.95rem; }
.demo-prose { max-width:70ch; margin:2rem 0; }
.demo-related { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.6rem; }
.demo-related a { display:inline-flex; border:1px solid var(--site-line); background:var(--site-panel); border-radius:6px; padding:.45rem .7rem; font-size:.82rem; }
.demo-story-context { padding:1rem; background:var(--site-panel); border:1px solid var(--site-line); border-radius:9px; margin:2rem 0; }
.demo-story-context>strong { font-size:.8rem; color:#b6a4d7; }
.demo-story-paragraph { font-family:Georgia,'Times New Roman',serif; color:#dce1ec!important; font-size:1.17rem; line-height:1.95; max-width:66ch; }
.demo-links { display:grid; gap:1rem; }
.demo-link-nodes { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.demo-link-nodes a { padding:.6rem 1rem; border:1px solid #65507e; border-radius:8px; background:#2a203c; font-weight:650; }
.demo-link-nodes>span { color:#7d8caa; font-size:1.5rem; }
.demo-timeline { list-style:none; padding:0; position:relative; }
.demo-timeline li { display:flex; gap:1.1rem; padding:0 0 2rem; }
.demo-timeline-marker { display:flex; align-items:center; justify-content:center; height:36px; width:36px; border-radius:50%; background:#392951; border:1px solid #8b6ba8; flex:none; color:#e9dafc; }
.demo-timeline article { padding:1.3rem; border:1px solid var(--site-line); border-radius:10px; background:var(--site-panel); flex:1; min-width:0; }
.demo-timeline h2 { font-size:1.1rem; }
.demo-final-cta { border-top:1px solid var(--site-line); margin:3rem 0 0; padding:2rem 0; }
.demo-final-cta>a { margin-right:1rem; }
.public-footer { border-top:1px solid var(--site-line); display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:1.5rem; padding:1.5rem; font-size:.8rem; color:var(--site-muted); }
.marketing-site main { max-width:1080px; margin:auto; padding:3rem 1.5rem; }
.public-hero { padding:2rem 0 3rem; max-width:750px; }
.public-hero h1 { font-size:clamp(2.5rem,6vw,4.8rem); }
.public-hero h1 span { color:var(--site-accent); }
.public-hero>.public-button { margin-bottom:.7rem; }
.public-faq-group { margin:2.5rem 0; }
.public-faq-group details { border:1px solid var(--site-line); background:var(--site-panel); padding:1rem 1.2rem; margin:.7rem 0; border-radius:9px; }
.public-faq-group summary { cursor:pointer; font-weight:650; }
.public-faq-group details p { margin-top:1rem; white-space:pre-line; }
@media(max-width:900px) {
  .demo-layout { grid-template-columns:205px minmax(0,1fr); }
  .demo-entry-grid,.demo-fields { grid-template-columns:1fr; }
  .demo-content { padding:1.5rem; }
}
@media(max-width:650px) {
  .demo-desktop-navigation { display:none; }
  .demo-mobile-navigation { display:block; }
  .demo-mobile-navigation summary { cursor:pointer; padding:.65rem .8rem; border:1px solid var(--site-line); border-radius:7px; min-height:44px; font-size:.85rem; color:var(--site-accent); }
  .demo-mobile-navigation[open] nav { margin-top:.8rem; }
  .public-header { align-items:flex-start; padding:1rem; flex-wrap:wrap; }
  .public-header nav { font-size:.82rem; justify-content:flex-start; width:100%; gap:.9rem; }
  .demo-layout { display:block; }
  .demo-sidebar { border-right:0; border-bottom:1px solid var(--site-line); padding:1rem; }
  .demo-project-heading { padding:0 0 .9rem; }
  .demo-sidebar nav { display:flex; flex-direction:row; flex-wrap:wrap; gap:.4rem; }
  .demo-sidebar nav>a { border:1px solid var(--site-line); font-size:.77rem; padding:.55rem .65rem; }
  .demo-nav-label { display:none; }
  .demo-nav-kind { font-size:.6rem; }
  .demo-sidebar nav>a[aria-current="page"] { border:1px solid #9675c9; }
  .demo-readonly { margin:1rem 0 0!important; padding-top:.7rem; }
  .demo-content { padding:1.5rem 1.1rem; }
  .demo-chapter-preview { padding:1.3rem; }
  .demo-story-paragraph { font-size:1.07rem; }
  .public-footer { gap:1rem; }
}
