/* chaio.app. Semantic tokens only (from /css/chaio-design/styles.css); no hex, no primitives. */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;display:flex;flex-direction:column;font-size:var(--text-body-lg)}
main{flex:1}

.page{padding-inline:var(--space-6)}
@media (max-width:599px){.page{padding-inline:var(--space-4)}}

a:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px;border-radius:2px}

/* Header: the logo, nothing else. The file follows the surface it sits on. */
.site-header{padding-block:var(--space-6)}
.site-header a{display:inline-flex;min-height:44px;align-items:center}
.site-header img{display:block;height:36px;width:auto}

/* Home */
.hero{padding-block:var(--space-12) var(--space-16)}
.hero h1{margin:0;max-width:20ch;font-size:var(--text-display);line-height:var(--leading-display-tight);letter-spacing:var(--tracking-display);font-weight:var(--weight-bold);color:var(--text-primary)}
@media (min-width:900px){.hero h1{font-size:var(--text-display-xl);line-height:var(--leading-display)}}
.hero .gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p{margin:var(--space-6) 0 0;max-width:60ch;color:var(--text-secondary);line-height:var(--leading-body)}

.section-title{margin:0 0 var(--space-4)}

.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin:0;padding:0;list-style:none}
.card{min-width:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:var(--space-6)}
.card h2,.card h3{margin:0;font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}
.card p,.card li{color:var(--text-secondary);line-height:var(--leading-body);max-width:75ch}
.card p{margin:var(--space-2) 0 0}
.card ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}

.app-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-muted);white-space:nowrap}

/* Privacy and terms: a title block, then the sections as cards that fill the width. */
.doc-head{padding-block:var(--space-8)}
.doc-head h1{margin:0;font-size:var(--text-display);line-height:var(--leading-display-tight);letter-spacing:var(--tracking-display);font-weight:var(--weight-bold);color:var(--text-primary)}
.doc-head p{margin:var(--space-3) 0 0;max-width:75ch;color:var(--text-secondary)}
.doc-head .meta{color:var(--text-muted);font-size:var(--text-body)}

/* Footer: on every page. */
.site-footer{margin-top:var(--space-16);border-top:1px solid var(--border);padding-block:var(--space-6);color:var(--text-muted);font-size:var(--text-body)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);align-items:center}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.site-footer .copyright{margin-left:auto}
@media (max-width:599px){.site-footer .copyright{margin-left:0;width:100%}}
