/* StudyMind AI — shared styles for the legal pages (privacy / trademarks / license) */
@font-face{font-family:'Satoshi';src:url(Branding/fonts/12-KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url(Branding/fonts/14-7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url(Branding/fonts/16-GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Anton';src:url(Branding/fonts/2-1Ptgg87LROyAm3Kz-C8.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(Branding/fonts/8-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root {
    --bg: #ffffff; --bg2: #f8f9fa; --bg3: #f1f3f2;
    --bgc: rgba(255,255,255,0.96);
    --tx1: #171e19; --tx2: #4d5651;
    --ac1: #ffe17c; --ac2: #ffd65a; --ac3: #e8c65a;
    --on-accent: #171e19;
    --ok: #047857; --warn: #b45309; --err: #dc2626;
    --bd: rgba(23,30,25,0.1); --bd-hover: rgba(23,30,25,0.28);
    --r: 12px; --rs: 8px; --rx: 6px; --r-full: 9999px;
    --fs: 0.8rem; --fb: 0.95rem;
    --font-ui: 'Satoshi','Noto Sans Devanagari',system-ui,sans-serif;
    --font-display: 'Anton','Noto Sans Devanagari',Impact,sans-serif;
    --font-mono: 'JetBrains Mono','Fira Code',ui-monospace,monospace;
    --shadow-card: 0 10px 15px rgba(23,30,25,0.08);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body {
    font-family:var(--font-ui); color:var(--tx1); background:var(--bg);
    line-height:1.7; min-height:100vh; display:flex; flex-direction:column;
}
a { color:var(--tx1); }
kbd {
    font-family:var(--font-mono); font-size:0.8em; background:var(--bg3);
    border:1px solid var(--bd); border-bottom-width:2px; border-radius:4px; padding:0.05em 0.4em;
}
::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-track { background:var(--bg3); }
::-webkit-scrollbar-thumb { background:rgba(23,30,25,0.25); border-radius:10px; border:2px solid var(--bg3); }
::-webkit-scrollbar-thumb:hover { background:rgba(23,30,25,0.45); }
* { scrollbar-width:thin; scrollbar-color:rgba(23,30,25,0.25) var(--bg3); }

/* ===== Header ===== */
.site-head {
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
    padding:0.7rem clamp(0.9rem,3vw,1.6rem);
    background:var(--bgc); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--bd);
}
.brand { display:inline-flex; align-items:center; gap:0.55rem; text-decoration:none; }
.brand img { width:28px; height:28px; object-fit:contain; }
.brand span { font-family:var(--font-display); font-size:1rem; letter-spacing:0.06em; text-transform:uppercase; }
.legal-nav { display:flex; align-items:center; gap:0.35rem; flex-wrap:wrap; }
.legal-nav a {
    font-size:0.78rem; font-weight:700; text-decoration:none; color:var(--tx2);
    padding:0.32rem 0.7rem; border-radius:var(--r-full); border:1px solid transparent;
    transition:color .15s, border-color .15s, background .15s;
}
.legal-nav a:hover { color:var(--tx1); border-color:var(--bd); background:var(--bg3); }
.legal-nav a[aria-current="page"] { color:var(--tx1); background:var(--ac1); border-color:var(--ac1); }
.legal-nav a.cta { background:var(--tx1); color:var(--ac1); border-color:var(--tx1); }
.legal-nav a.cta:hover { background:var(--ac1); color:var(--tx1); border-color:var(--tx1); }

/* ===== Hero ===== */
.hero { width:100%; max-width:1080px; margin:0 auto; padding:clamp(1.6rem,4vw,2.8rem) clamp(0.9rem,3vw,1.6rem) 1rem; }
.eyebrow {
    display:inline-block; background:var(--ac1); color:var(--tx1);
    font-size:0.66rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
    padding:0.18em 0.55em; border-radius:4px;
}
.hero h1 {
    font-family:var(--font-display); font-weight:400; text-transform:uppercase;
    font-size:clamp(2.1rem,7vw,3.4rem); line-height:0.95; margin:0.6rem 0 0.5rem;
}
.hero .lede { color:var(--tx2); font-size:clamp(0.95rem,2.4vw,1.06rem); max-width:74ch; line-height:1.65; }
.meta-row { display:flex; flex-wrap:wrap; gap:0.45rem; margin-top:1rem; }
.meta-row span {
    font-size:0.72rem; color:var(--tx2); background:var(--bg3);
    border:1px solid var(--bd); border-radius:var(--r-full); padding:0.24rem 0.7rem;
}
.meta-row span.hot { background:rgba(255,225,124,0.35); border-color:rgba(23,30,25,0.18); color:var(--tx1); font-weight:700; }

/* ===== Layout ===== */
.layout {
    width:100%; max-width:1080px; margin:0 auto;
    padding:0.5rem clamp(0.9rem,3vw,1.6rem) 3rem;
    display:grid; grid-template-columns:230px minmax(0,1fr); gap:1.6rem; align-items:start;
}
.toc {
    position:sticky; top:70px; background:var(--bg3);
    border:1px solid var(--bd); border-radius:var(--r); padding:0.95rem;
}
.toc h2 { font-family:var(--font-ui); font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--tx2); margin-bottom:0.55rem; }
.toc ol { list-style:none; display:flex; flex-direction:column; gap:0.15rem; }
.toc a {
    display:block; font-size:0.78rem; color:var(--tx2); text-decoration:none;
    padding:0.24rem 0.45rem; border-radius:var(--rx); border-left:2px solid transparent;
}
.toc a:hover { color:var(--tx1); background:var(--bgc); border-left-color:var(--ac3); }
/* ===== Document body ===== */
.doc {
    background:var(--bgc); border:1px solid var(--bd); border-radius:var(--r);
    box-shadow:var(--shadow-card);
    padding:clamp(1.1rem,3.5vw,2.1rem); min-width:0;
}
.doc h2 {
    font-family:var(--font-ui); font-weight:700; font-size:1.22rem; line-height:1.3;
    margin:2rem 0 0.55rem; padding-bottom:0.3rem; border-bottom:1px solid var(--bd);
    scroll-margin-top:80px;
}
.doc h2:first-child { margin-top:0; }
.doc h3 { font-family:var(--font-ui); font-weight:700; font-size:1rem; margin:1.3rem 0 0.4rem; }
.doc p, .doc li { font-size:0.95rem; line-height:1.75; color:var(--tx1); }
.doc p + p { margin-top:0.7rem; }
.doc ul, .doc ol { list-style:disc; padding-left:1.3rem; margin:0.6rem 0; }
.doc ol { list-style:decimal; }
.doc li { margin:0.32rem 0; }
.doc li::marker { color:var(--ac3); font-weight:700; }
.doc strong { font-weight:700; }
.doc a { color:var(--tx1); text-decoration:underline; text-decoration-color:var(--ac3); text-underline-offset:2px; }
.doc a:hover { text-decoration-color:var(--tx1); }
.doc code { font-family:var(--font-mono); font-size:0.85em; background:var(--bg3); border:1px solid var(--bd); border-radius:4px; padding:0.05em 0.35em; word-break:break-word; }

.callout {
    background:rgba(255,225,124,0.22); border:1px solid rgba(23,30,25,0.16);
    border-left:4px solid var(--ac3); border-radius:var(--rs);
    padding:0.85rem 1rem; margin:1.1rem 0;
}
.callout p { margin:0; }
.callout p + p { margin-top:0.5rem; }
.callout .co-title { font-weight:700; display:block; margin-bottom:0.15rem; }
.callout.plain { background:var(--bg3); border-left-color:var(--tx1); }
.callout.danger { background:rgba(220,38,38,0.07); border-left-color:var(--err); }

table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:0.9rem; }
th, td { border:1px solid var(--bd); padding:0.55rem 0.65rem; text-align:left; vertical-align:top; line-height:1.55; }
th { background:var(--bg3); font-weight:700; font-size:0.82rem; }
td code { white-space:nowrap; }
.table-wrap { overflow-x:auto; }

.grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:0.8rem; margin:1rem 0; }
.mini { background:var(--bg3); border:1px solid var(--bd); border-radius:var(--rs); padding:0.8rem 0.9rem; }
.mini h4 { font-family:var(--font-ui); font-size:0.78rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:0.3rem; }
.mini p { font-size:0.85rem; color:var(--tx2); line-height:1.6; margin:0; }

.rules { counter-reset:rule; list-style:none; padding-left:0 !important; margin:1rem 0; }
.rules li {
    counter-increment:rule; position:relative; padding:0.75rem 0.9rem 0.75rem 3rem;
    background:var(--bg3); border:1px solid var(--bd); border-radius:var(--rs); margin:0.55rem 0;
}
.rules li::before {
    content:counter(rule); position:absolute; left:0.85rem; top:0.75rem;
    font-family:var(--font-display); font-size:1.1rem; line-height:1;
    background:var(--ac1); color:var(--tx1); border-radius:6px; padding:0.15em 0.4em;
}
.license-pre {
    font-family:var(--font-mono); font-size:0.76rem; line-height:1.6; color:var(--tx1);
    background:var(--bg2); border:1px solid var(--bd); border-radius:var(--rs);
    padding:1rem 1.1rem; overflow-x:auto; white-space:pre; margin:1.1rem 0;
    -webkit-overflow-scrolling:touch;
}
.src-note { font-size:0.75rem; color:var(--tx2); margin-top:2.2rem; padding-top:0.9rem; border-top:1px dashed var(--bd); }

.related { display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1.4rem; }
.related a {
    display:inline-flex; align-items:center; gap:0.4rem; text-decoration:none;
    font-size:0.82rem; font-weight:700; color:var(--tx1);
    background:var(--bg3); border:1px solid var(--bd); border-radius:var(--r-full);
    padding:0.45rem 0.95rem; transition:border-color .15s, background .15s;
}
.related a:hover { border-color:var(--tx1); background:var(--ac1); }

/* ===== Footer ===== */
.site-foot {
    margin-top:auto; text-align:center; padding:2rem 1rem;
    color:var(--tx2); font-size:0.8rem; border-top:1px solid var(--bd); background:var(--bg2);
}
.site-foot .foot-brand { font-family:var(--font-display); font-weight:700; letter-spacing:0.08em; text-transform:uppercase; font-size:0.78rem; color:var(--tx1); }
.site-foot .tm-note { max-width:640px; margin:0.55rem auto 0; font-size:0.72rem; opacity:0.9; }

/* ===== TRADEMARK — Quantivelle™ name & logo are view-only (linked, not copyable) ===== */
.tm-mark { display:inline-flex; align-items:center; gap:0.4rem; color:var(--tx1); font-weight:700; text-decoration:none; }
.tm-mark img { height:16px; width:auto; display:block; -webkit-user-drag:none; user-drag:none; }
.tm-mark, .tm-mark *, .brand, .brand *, .foot-brand {
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; -webkit-touch-callout:none;
}
.brand img, .tm-mark img { -webkit-user-drag:none; user-drag:none; }
.site-foot p { margin:0.45rem 0 0; }
.foot-links { display:flex; gap:1.25rem; justify-content:center; flex-wrap:wrap; margin-top:0.75rem; font-size:0.75rem; }
.foot-links a { color:var(--tx1); font-weight:600; text-decoration:underline; text-decoration-color:var(--ac1); text-underline-offset:3px; transition:text-decoration-color .2s; }
.foot-links a:hover { text-decoration-color:var(--tx1); }

@media (max-width:860px) {
    .layout { grid-template-columns:1fr; }
    .toc { position:static; }
    .toc ol { flex-direction:row; flex-wrap:wrap; gap:0.3rem; }
    .toc a { border-left:none; border:1px solid var(--bd); border-radius:var(--r-full); background:var(--bgc); padding:0.22rem 0.65rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

