/* Tellbrief design system: one palette, one type scale, self-hosted OFL fonts
   (Newsreader for display, Hanken Grotesk for text; licenses in /assets/fonts).
   Pages map their own variables onto these tokens so every screen shares the same
   ink, ground and brass. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/newsreader-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url(/assets/fonts/newsreader-latin-wght-italic.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/hanken-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/hanken-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Metric-matched stand-ins, so text doesn't jump when the real fonts arrive on a slow
   connection. Sizes measured against the real faces; vertical metrics from the font files. */
@font-face{font-family:"Newsreader Fallback";src:local("Georgia");size-adjust:95.27%;ascent-override:77.15%;descent-override:27.82%;line-gap-override:0%}
@font-face{font-family:"Hanken Fallback";src:local("Arial"),local("Helvetica"),local("Helvetica Neue");size-adjust:100.65%;ascent-override:99.35%;descent-override:30.10%;line-gap-override:0%}

:root{
  /* Ink: deep navy for brand, headings and primary actions */
  --lw-ink:#0b1b2e;--lw-ink-2:#15304b;--lw-text:#16222f;
  /* Neutrals (on the ground: body 7.6:1, muted 5.3:1; muted on ground-2 4.9:1) */
  --lw-body:#454f5a;--lw-muted:#5d6670;--lw-faint:#8b939b;
  /* Surfaces: a cool, navy-tinted ground; paper is for documents and inputs */
  --lw-ivory:#f1f4f7;--lw-ivory-2:#e8ecf1;--lw-paper:#fcfdfe;--lw-white:#ffffff;
  --lw-line:#dde3ea;--lw-line-2:#c6cfda;
  /* Brass: small accents only; brass-text is the readable variant (5.5:1) */
  --lw-brass:#b08a3e;--lw-brass-text:#7d5d1d;--lw-brass-soft:#ead9b2;--lw-highlight:#f3e7c9;
  /* Status */
  --lw-green:#2a6546;--lw-green-bg:#e4efe7;--lw-red:#9a3626;--lw-red-bg:#f7e3dd;
  --lw-amber:#875811;--lw-amber-bg:#f7ebd3;--lw-blue:#264c74;--lw-blue-bg:#e3ebf4;
  /* Type */
  --lw-serif:"Newsreader","Newsreader Fallback","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --lw-sans:"Hanken Grotesk","Hanken Fallback",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  /* Shape: small radii read as crafted; pills are kept for nothing but tags */
  --lw-r-sm:6px;--lw-r:10px;--lw-r-lg:14px;
  /* Depth: documents sit on the ground with one soft shadow */
  --lw-shadow-sm:0 1px 2px rgba(11,27,46,.06),0 2px 8px rgba(11,27,46,.04);
  --lw-shadow:0 1px 2px rgba(11,27,46,.05),0 18px 48px -12px rgba(11,27,46,.16);
  --lw-ease:cubic-bezier(.2,.7,.2,1);
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
/* Quick taps through answers never zoom the page on a phone. */
a,button,summary,label,input,select,textarea{touch-action:manipulation}
body{font-feature-settings:"kern","liga";font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--lw-brass-soft);color:var(--lw-ink)}

/* Display type: Newsreader at medium weight with tight tracking reads confident, not delicate.
   The :is() bump outranks each page's own element-level heading rules. */
html :is(h1,h2,.h2){font-weight:500;letter-spacing:-.022em}
html :is(h3){font-weight:500}

/* Placeholder text at readable contrast (4.8:1 on ivory, 5.3:1 on white) */
input::placeholder,textarea::placeholder{color:var(--lw-muted);opacity:1}

/* Wordmark: set in type, so a rename is a text change */
.lw-word{font-family:var(--lw-serif);font-weight:560;font-size:23px;letter-spacing:-.025em;color:var(--lw-ink);text-decoration:none;line-height:1;display:inline-flex;align-items:baseline;gap:1px}
.lw-word i{font-style:normal;color:var(--lw-brass)}
.lw-word small{font-family:var(--lw-sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lw-muted);margin-left:9px;transform:translateY(-2px)}

/* Buttons */
.lw-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--lw-ink);border-radius:var(--lw-r-sm);background:var(--lw-ink);color:#fff;font:600 16px/1 var(--lw-sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background .18s var(--lw-ease),border-color .18s var(--lw-ease),color .18s}
.lw-btn:hover{background:var(--lw-ink-2);border-color:var(--lw-ink-2)}
.lw-btn .arr{transition:transform .18s var(--lw-ease)}.lw-btn:hover .arr{transform:translateX(3px)}
.lw-btn.ghost{background:transparent;color:var(--lw-ink);border-color:var(--lw-line-2)}
.lw-btn.ghost:hover{border-color:var(--lw-ink);background:transparent}
.lw-btn:disabled{opacity:.4;cursor:not-allowed}
.lw-link{color:var(--lw-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--lw-brass);text-decoration-thickness:1px;text-underline-offset:4px}
.lw-link:hover{text-decoration-thickness:2px}

/* Fields: visible labels, never placeholder-only */
.lw-field{display:grid;gap:7px;min-width:0;align-content:start}
.lw-label{font:600 14px/1.3 var(--lw-sans);color:var(--lw-text)}
.lw-label small{font-weight:400;color:var(--lw-muted);font-size:13px;margin-left:6px}
.lw-help{font-size:13.5px;line-height:1.45;color:var(--lw-muted)}
.lw-input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--lw-line-2);border-radius:var(--lw-r-sm);background:var(--lw-white);color:var(--lw-text);font:400 16px/1.4 var(--lw-sans);transition:border-color .15s,box-shadow .15s}
textarea.lw-input{min-height:96px;resize:vertical;line-height:1.55}
select.lw-input{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235d6670' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.lw-input:hover{border-color:var(--lw-faint)}
.lw-input:focus{outline:none;border-color:var(--lw-ink);box-shadow:0 0 0 3px rgba(11,27,46,.10)}
.lw-input[aria-invalid="true"]{border-color:var(--lw-red)}

/* Answer rows: a list a founder can scan, with number keys on desktop */
.lw-choices{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.lw-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--lw-line-2);border-radius:var(--lw-r-sm);background:var(--lw-white);color:var(--lw-text);font:500 16px/1.35 var(--lw-sans);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
@media (hover:hover){.lw-choice:hover{border-color:var(--lw-ink)}}
.lw-choice .key{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--lw-line-2);border-radius:5px;font:600 12px/1 var(--lw-sans);color:var(--lw-muted);background:var(--lw-paper)}
.lw-choice[aria-pressed="true"],.lw-choice.active{border-color:var(--lw-ink);background:var(--lw-ink);color:#fff;box-shadow:none}
.lw-choice[aria-pressed="true"] .key,.lw-choice.active .key{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}

/* Shared motion preferences */
/* Headings break into even lines, and paragraphs avoid a lone last word, on every page. */
h1,h2,h3,h4,legend{text-wrap:balance}p,li,dd,dt,blockquote{text-wrap:pretty}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

.lw-word:before{content:"";flex:none;align-self:center;width:1.15em;height:1.15em;margin-right:.32em;background:url(/favicon.svg) center/contain no-repeat}
