:root { --ink:#182235; --muted:#5e6b7e; --line:#dce3eb; --paper:#fff; --wash:#f4f7fa; --accent:#0b5c9e; --max-width:1120px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
.container { width:min(calc(100% - 2.5rem),var(--max-width)); margin:0 auto; }
.site-header { padding:5.5rem 0 4rem; color:#fff; background:linear-gradient(125deg,#102f4b,#0b5c9e); }
.eyebrow { margin:0 0 .45rem; color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.site-header .eyebrow { color:#b9daf4; } h1,h2,h3 { margin:0; line-height:1.2; } h1 { max-width:850px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.15rem,6vw,4.25rem); letter-spacing:-.03em; } h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.65rem,3vw,2.25rem); } h3 { font-size:1.15rem; }
.subtitle { max-width:650px; margin:1.15rem 0 .45rem; font-size:1.15rem; color:#e4eff8; } .subtitle.dark { color:var(--muted); }.citation { margin:0; color:#b9daf4; font-size:.93rem; }
main.container:not(.admin-page) { padding:4rem 0 5rem; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.75rem; }.section-heading>p { max-width:320px; margin:0; color:var(--muted); font-size:.94rem; }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }.video-card { overflow:hidden; border:1px solid var(--line); border-radius:.65rem; background:#fff; box-shadow:0 7px 20px rgb(16 47 75/.06); } video { display:block; width:100%; aspect-ratio:16/9; background:#172b3d; }.card-body { padding:1.2rem 1.25rem 1.35rem; }.video-label { margin:0 0 .25rem; color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.card-body h3+p { margin:.65rem 0 0; color:var(--muted); font-size:.94rem; }.empty-state { padding:2rem; border:1px dashed var(--line); color:var(--muted); text-align:center; }
.analysis-documents { margin-top:4.5rem; }.document-group-list { display:grid; gap:2.25rem; }.document-group { padding-top:1.5rem; border-top:1px solid var(--line); }.document-group:first-child { padding-top:0; border-top:0; }.document-group > h3 { margin-bottom:1rem; color:var(--accent); font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; }.document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }.document-card { display:flex; min-height:210px; flex-direction:column; align-items:flex-start; padding:1.5rem; border:1px solid var(--line); border-radius:.65rem; background:var(--wash); }.document-type { margin:0 0:.4rem; color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.document-card h3 { overflow-wrap:anywhere; font-size:1.05rem; }.document-card h3 + p { margin:.7rem 0 1.25rem; color:var(--muted); font-size:.94rem; }.document-link { margin-top:auto; color:var(--accent); font-weight:700; text-decoration:none; }.document-link:hover { text-decoration:underline; }.notes { margin-top:4.5rem; padding:1.65rem 1.75rem; border-left:4px solid var(--accent); background:var(--wash); }.notes p { margin:.5rem 0 0; color:var(--muted); }.site-footer { padding:1.75rem 0; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.admin-page { max-width:720px; padding:5rem 0; }.upload-form { display:grid; gap:1rem; margin:2rem 0; padding:1.5rem; border:1px solid var(--line); border-radius:.65rem; background:var(--wash); }.upload-form label { display:grid; gap:.35rem; font-weight:650; }.hint { color:var(--muted); font-size:.8rem; font-weight:400; } input,textarea { width:100%; padding:.7rem .75rem; border:1px solid #b8c5d2; border-radius:.35rem; font:inherit; } button { padding:.75rem 1rem; border:0; border-radius:.35rem; background:var(--accent); color:white; font:inherit; font-weight:700; cursor:pointer; } button:disabled { opacity:.6; cursor:wait; }.status { min-height:1.5rem; margin:0; color:var(--muted); }
@media (max-width:820px) { .video-grid,.document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:580px) { .site-header { padding:4rem 0 3rem; } main.container:not(.admin-page) { padding-top:3rem; }.section-heading { display:block; }.section-heading>p { margin-top:.75rem; }.video-grid,.document-grid { grid-template-columns:1fr; } }
