@tailwind base;@tailwind components;@tailwind utilities;:root{--color-ink:#111111;--color-ink-muted:#525252;--color-ink-faint:#a3a3a3;--color-rule:#e5e5e5;--color-surface:#f5f5f5;--color-canvas:#ffffff;--color-inverse:#111111;--color-inverse-text:#ffffff;--color-accent:#991b1b;--color-accent-muted:#fef2f2;--font-display:'Playfair Display', Georgia, serif;--font-serif:'Lora', Georgia, serif;--font-sans:'DM Sans', system-ui, sans-serif;--text-banner:clamp(2rem,    8vw,   6rem);--text-h1:clamp(2rem,    5vw,   3.5rem);--text-h2:clamp(1.375rem,3vw,   2rem);--text-h3:clamp(1.125rem,2vw,   1.375rem);--text-lead:clamp(1rem,    1.5vw, 1.25rem);--text-body:1.125rem;--text-small:0.875rem;--text-label:0.6875rem;--tracking-label:0.12em;--tracking-nav:0.08em;--leading-tight:1.15;--leading-snug:1.35;--leading-body:1.75;--leading-loose:1.9;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--max-width-content:42rem;--max-width-wide:64rem;--gutter:1.5rem;--border-rule:1px solid var(--color-rule);--border-ink:2px solid var(--color-ink);--border-accent:4px solid var(--color-accent);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:350ms ease}@layer base{html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-ink-muted);background:var(--color-canvas);line-height:var(--leading-body)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}:focus:not(:focus-visible){outline:none}img{display:block;max-width:100%}}@layer utilities{.font-display{font-family:var(--font-display)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-banner{font-size:var(--text-banner)}.text-h1{font-size:var(--text-h1)}.text-h2{font-size:var(--text-h2)}.text-h3{font-size:var(--text-h3)}.text-lead{font-size:var(--text-lead)}.text-body{font-size:var(--text-body)}.text-small{font-size:var(--text-small)}.text-label{font-size:var(--text-label)}.text-ink{color:var(--color-ink)}.text-ink-muted{color:var(--color-ink-muted)}.text-ink-faint{color:var(--color-ink-faint)}.text-accent{color:var(--color-accent)}.section-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--space-3);margin-bottom:var(--space-10);border-bottom:var(--border-ink)}.label{font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-faint)}.label-accent{font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent)}}@layer components{.page-header{padding-top:var(--space-12);padding-bottom:var(--space-10);margin-bottom:var(--space-14);border-bottom:var(--border-rule)}.page-header__eyebrow{display:block;font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.page-header__title{font-family:var(--font-display);font-size:var(--text-h1);font-weight:900;line-height:var(--leading-tight);color:var(--color-ink)}.page-header__lead{font-family:var(--font-serif);font-size:var(--text-lead);color:var(--color-ink-faint);margin-top:var(--space-4);line-height:var(--leading-snug)}.standfirst{font-family:var(--font-serif);font-size:var(--text-lead);line-height:var(--leading-snug);color:var(--color-ink-muted);border-left:var(--border-accent);padding-left:var(--space-5)}.card-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.card-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;line-height:var(--leading-snug);color:var(--color-ink);transition:color var(--transition-base)}a:hover .card-title,.card-title:hover{color:var(--color-accent)}.card-excerpt{font-family:var(--font-serif);font-size:var(--text-small);color:var(--color-ink-faint);line-height:var(--leading-body);margin-top:var(--space-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tag{font-family:var(--font-sans);font-size:var(--text-label);font-weight:400;letter-spacing:var(--tracking-label);text-transform:uppercase;background:var(--color-surface);color:var(--color-ink-faint);padding:var(--space-1)var(--space-3);display:inline-block;transition:background var(--transition-fast),color var(--transition-fast)}.tag:hover{background:var(--color-rule);color:var(--color-ink-muted)}.sidebar-box{border:var(--border-rule);padding:var(--space-6)}.sidebar-box__label{display:block;font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:var(--space-4)}.cta-dark{background:var(--color-inverse);color:var(--color-inverse-text);padding:var(--space-6)}.cta-dark__eyebrow{display:block;font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:#fca5a5;margin-bottom:var(--space-3)}.btn{display:inline-block;font-family:var(--font-sans);font-size:var(--text-small);font-weight:500;padding:var(--space-3)var(--space-8);cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base);border:1px solid transparent;text-align:center}.btn-primary{background:var(--color-ink);color:var(--color-inverse-text);border-color:var(--color-ink)}.btn-primary:hover{background:var(--color-accent);border-color:var(--color-accent)}.btn-outline{background:0 0;color:var(--color-ink);border-color:var(--color-ink)}.btn-outline:hover{background:var(--color-ink);color:var(--color-inverse-text)}.btn-outline-inverse{background:0 0;color:var(--color-inverse-text);border-color:var(--color-inverse-text)}.btn-outline-inverse:hover{background:var(--color-inverse-text);color:var(--color-ink)}.link-rule{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-small);font-weight:500;color:var(--color-ink);border-bottom:2px solid var(--color-ink);padding-bottom:1px;transition:color var(--transition-base),border-color var(--transition-base)}.link-rule:hover{color:var(--color-accent);border-color:var(--color-accent)}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;font-family:var(--font-sans)}.page-item{margin:0;padding:0}.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-rule);color:var(--color-ink-muted);background:var(--color-canvas);font-size:var(--text-small);font-weight:500;line-height:1;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.page-link:hover{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-surface)}.page-item.active .page-link{border-color:var(--color-ink);color:var(--color-inverse-text);background:var(--color-ink)}.page-item.disabled .page-link{opacity:.38;pointer-events:none}.field-label{display:block;font-family:var(--font-sans);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:var(--space-2)}.field-input{width:100%;font-family:var(--font-sans);font-size:var(--text-small);color:var(--color-ink);background:var(--color-canvas);border:1px solid var(--color-rule);padding:var(--space-3)var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}.field-input:focus{outline:none;border-color:var(--color-ink);box-shadow:0 0 0 1px var(--color-ink)}.field-input::placeholder{color:var(--color-rule)}.thumb-wrap{overflow:hidden;background:var(--color-surface)}.thumb-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.group:hover .thumb-wrap img,.thumb-wrap:hover img{transform:scale(1.04)}.thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.thumb-placeholder span{font-family:var(--font-display);font-weight:900;color:var(--color-rule);font-size:clamp(2rem,5vw,4rem)}.interview-body,.page-body{font-family:var(--font-serif);font-size:var(--text-body);line-height:var(--leading-loose);color:var(--color-ink-muted)}.interview-body p,.page-body p{margin-bottom:var(--space-6)}.interview-body h2,.page-body h2{font-family:var(--font-display);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:700;color:var(--color-ink);line-height:var(--leading-tight);margin-top:var(--space-12);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border-rule)}.interview-body h3,.page-body h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--color-ink);line-height:var(--leading-snug);margin-top:var(--space-8);margin-bottom:var(--space-2)}.interview-body blockquote,.page-body blockquote{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;font-style:normal;color:var(--color-ink);line-height:var(--leading-snug);border-left:var(--border-accent);padding:var(--space-4)var(--space-6);margin:var(--space-10)0;background:var(--color-accent-muted)}.interview-body blockquote p,.page-body blockquote p{margin:0}.interview-body hr,.page-body hr{border:none;border-top:var(--border-rule);margin:var(--space-12)0}.interview-body a,.page-body a{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.interview-body a:hover,.page-body a:hover{color:var(--color-accent)}.interview-body .question{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--color-ink);line-height:var(--leading-snug);margin-top:var(--space-10);margin-bottom:var(--space-2)}.interview-body .question::before{content:"Q. ";color:var(--color-accent)}.interview-body .answer::before{content:"A. ";font-weight:600;color:var(--color-ink-faint)}.interview-body figcaption{font-family:var(--font-sans);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-faint);margin-top:var(--space-2)}}