.App{width:min(1120px,calc(100% - 32px));min-height:100vh;margin:0 auto}.navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 .8rem;border-bottom:1px solid var(--line)}.brand-lockup{display:flex;flex-direction:column;gap:.1rem;margin:0}.brand-lockup span{color:var(--muted);font-size:.78rem}.mark-brand{color:var(--ink);font-weight:800;letter-spacing:0}.mark-brand span{font-style:italic}.nav-links{display:flex;align-items:center;gap:1rem}.blog-link,.nav-cta{display:inline-flex;align-items:center;min-height:2.25rem;padding:0;border-radius:0;color:var(--muted);font-size:.92rem;font-weight:650}.nav-cta{padding:0 .75rem;border:1px solid var(--ink);border-radius:6px;color:var(--ink);background:var(--surface)}.hero-section{display:grid;gap:1.15rem;padding:4rem 0 3rem}.eyebrow{margin:0;width:-moz-fit-content;width:fit-content;padding:.12rem .32rem;color:var(--ink);background:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.subheading{display:block;max-width:70ch;color:var(--muted);font-size:1rem;font-style:italic;font-weight:350;line-height:1.55}.blog-hero h1,.hero-section h1{max-width:900px;margin:0;font-size:3.35rem;line-height:1.03;letter-spacing:0}.profile-summary{max-width:72ch;margin:0;color:var(--muted);font-size:1.2rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.primary-link,.secondary-link,.text-link{display:inline-flex;align-items:center;min-height:2.75rem;border-radius:8px;font-weight:750}.primary-link{padding:0 1rem;color:var(--ink);background:var(--accent)}.secondary-link{padding:0 1rem;border:1px solid var(--line);background:var(--surface)}.text-link{color:var(--accent-strong)}.section-block{padding:3.5rem 0;border-top:1px solid var(--line)}.section-heading{display:grid;gap:.5rem;margin-bottom:1.25rem}.section-heading h2,.split-section h2{max-width:720px;margin:0;font-size:2rem;line-height:1.12;letter-spacing:0}.inline-heading,.split-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);align-items:start;gap:2rem}.work-section{display:grid;grid-template-columns:1fr;gap:1rem}.work-boxes{display:grid;grid-template-columns:minmax(220px,.74fr) minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.work-image{display:block;width:100%;height:100%;min-height:210px;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;background:var(--surface-strong);border-right:1px solid var(--line)}.generated-visual{display:grid;place-items:center;padding:1rem}.generated-visual.letters{color:oklch(96% .02 92);background:oklch(23% .06 276)}.letter-card-preview{display:grid;align-content:center;gap:1rem;width:min(82%,280px);aspect-ratio:1;padding:1.25rem;border:1px dashed oklch(82% .18 104);background:oklch(31% .09 276)}.letter-card-preview span{width:-moz-fit-content;width:fit-content;padding:.1rem .35rem;color:var(--ink);background:var(--accent);font-size:.85rem;font-weight:800}.letter-card-preview p{margin:0;font-family:Georgia,serif;font-size:1.65rem;line-height:1.08}.work-copy{display:grid;gap:.65rem;align-content:center;padding:1.25rem}.work-copy h3{margin:0;font-size:1.25rem;line-height:1.2}.work-signal{width:-moz-fit-content;width:fit-content;margin:0;padding:.22rem .5rem;border-radius:4px;color:var(--accent-strong);background:var(--accent-soft);font-size:.72rem;font-weight:800}.work-desc{max-width:58ch;margin:0;color:var(--muted);line-height:1.65}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.tag-row span{padding:.24rem .5rem;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:.78rem}.blog-grid,.post-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.blog-card a,.post-preview{display:grid;min-height:11rem;align-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.blog-card span,.post-preview span{color:var(--accent-strong);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.blog-card h2,.post-preview h3{margin:0;color:var(--ink);font-size:1.18rem;line-height:1.24}.blog-card p,.post-preview p{margin:0;color:var(--muted);font-size:.88rem}.contact-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:2rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft)}.contact-strip p{max-width:74ch;margin:0;line-height:1.65}.contact-strip div{display:flex;flex-wrap:wrap;gap:.5rem}.contact-strip a{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .75rem;border-radius:6px;color:var(--ink);background:var(--accent);font-weight:750}.blog-hero{display:grid;gap:1rem;max-width:900px;padding:5rem 0 2.5rem}.blog-hero p:last-child{max-width:68ch;margin:0;color:var(--muted);font-size:1.1rem;line-height:1.75}.article-shell{width:min(780px,calc(100% - 32px));margin:0 auto;padding:1.1rem 0 3rem}.go-back-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;margin:2rem 0 2.5rem;color:var(--muted);font-weight:700}.go-back-btn svg{width:1.1rem;height:1.1rem}.article-header{display:grid;gap:.8rem;margin-bottom:2.5rem}.article-header h1{margin:0;font-size:3rem;line-height:1.05;letter-spacing:0}.article-header p:last-child{margin:0;color:var(--muted)}.article-content{max-width:none;line-height:1.85}.article-content pre{border-radius:8px}.highlight{background-color:oklch(88% .16 102)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:3rem;padding:1.5rem 0 2rem;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line)}canvas{max-width:100%;height:auto}.letters-page{width:min(1120px,calc(100% - 32px));min-height:100vh;margin:0 auto}.letters-page h1{margin:3rem 0 1rem;text-align:center;font-size:2.5rem;line-height:1}.editArea{display:grid;justify-items:center;gap:1rem}.thumbnailSection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;width:min(100%,900px)}.thumbnail-button{overflow:hidden;width:100%;aspect-ratio:16/9;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.thumbnail-button:hover{border-color:var(--ink)}.bg-thumbnail{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.letters-page canvas{width:min(100%,900px);border:1px solid var(--line);border-radius:8px;background:oklch(58% .18 28)}.letters-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:min(100%,520px)}.letters-controls label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.letters-controls input,.letters-controls select,.letters-page input[type=text]{width:100%;min-height:2.5rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);font:inherit}.letters-controls input{padding:.2rem}.letters-controls select,.letters-page input[type=text]{padding:0 .75rem}.letters-page input[type=text]{width:min(100%,520px)}.download-button{min-height:2.5rem;padding:0 1rem;color:var(--ink);background:var(--accent);font-weight:800}@media (max-width:860px){.blog-hero h1,.hero-section h1{font-size:2.7rem}.blog-grid,.contact-strip,.inline-heading,.post-preview-grid,.split-section,.work-boxes,.work-section{grid-template-columns:1fr}.work-image{height:auto;border-right:0;border-bottom:1px solid var(--line)}.thumbnailSection{grid-template-columns:1fr}}@media (max-width:560px){.App,.article-shell,.letters-page{width:min(100% - 24px,1120px)}.navbar{align-items:flex-start;flex-direction:column}.nav-links{width:100%;justify-content:space-between}.blog-link,.nav-cta{flex:1;justify-content:center}.hero-section{padding-top:3.25rem}.article-header h1,.blog-hero h1,.hero-section h1{font-size:2.15rem}.profile-summary{font-size:1.05rem}.letters-controls{grid-template-columns:1fr}}