:root{--paper: #efe6d2;--paper-warm: #f4ecd9;--ink: #1b1f2c;--ink-soft: #2a2d3a;--ink-muted: #6b6452;--accent: #8a2a2a;--rule: rgba(27, 31, 44, .22);--rule-soft: rgba(27, 31, 44, .12);--serif: "Newsreader", "Iowan Old Style", "Apple Garamond", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}body{background:radial-gradient(1200px 800px at 15% -10%,rgba(255,246,222,.85),transparent 60%),radial-gradient(900px 700px at 110% 110%,rgba(138,42,42,.06),transparent 65%),var(--paper);color:var(--ink);font-family:var(--serif);font-weight:380;font-optical-sizing:auto;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--paper-warm)}a{color:inherit}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.55;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.1  0 0 0 0 0.1  0 0 0 0.16 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.page{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:3.25rem 2.5rem 5rem}.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ink);margin-bottom:5.5rem}.masthead-col{display:flex;flex-direction:column;gap:.4rem}.masthead-col.center{align-items:center}.masthead-col.right{align-items:flex-end;text-align:right}.label{font-family:var(--mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--ink)}.label.muted{color:var(--ink-muted);font-weight:400}.label.accent{color:var(--accent)}.hero{margin-bottom:6rem}.hero h1{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(3.6rem,11vw,8.2rem);line-height:.9;letter-spacing:-.035em;color:var(--ink);display:flex;flex-direction:column;margin-bottom:2.5rem}.hero-first{display:inline-block}.hero-last{display:inline-block;padding-left:.6em;font-style:normal;font-weight:250;color:var(--ink-soft)}.hero-title{font-family:var(--serif);font-weight:380;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.45;color:var(--ink);max-width:38ch;display:flex;flex-direction:column}.hero-rule{display:block;width:3.5rem;height:1px;background:var(--accent);margin:1.4rem 0 1rem}.hero-meta{font-family:var(--mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted)}.block{margin-bottom:4.5rem}.block h2{display:flex;align-items:center;gap:1.1rem;margin-bottom:2.25rem;font-weight:400}.num{font-family:var(--mono);font-size:.78rem;font-weight:500;color:var(--ink-muted);letter-spacing:.08em}.h2-label{font-family:var(--mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--ink)}.rule{flex:1;height:1px;background:var(--rule)}.lede{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.5;font-weight:360;color:var(--ink);max-width:38ch;letter-spacing:-.005em}.body{font-size:1.15rem;line-height:1.6;max-width:60ch;color:var(--ink)}.footnote{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-muted);margin-top:1.25rem;max-width:50ch}.services{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 3rem}.service dt{font-family:var(--serif);font-style:italic;font-weight:420;font-size:1.25rem;color:var(--ink);margin-bottom:.55rem;letter-spacing:-.005em}.service dd{font-size:1.02rem;line-height:1.55;color:var(--ink-muted);font-weight:400}.timeline{display:flex;flex-direction:column;border-top:1px solid var(--rule-soft)}.timeline>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--rule-soft);transition:padding .4s ease}.timeline>div:hover{padding-left:.5rem}.timeline dt{font-size:1.1rem;font-weight:420;color:var(--ink)}.timeline dd{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);font-weight:500}.contact .email-line{margin-top:0}.contact a{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15rem;letter-spacing:-.005em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:.06em;transition:color .3s ease,border-color .3s ease}.contact a:hover{color:var(--accent);border-bottom-color:var(--accent)}.footer{margin-top:5rem;padding-top:1.25rem;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(8px);animation:reveal 1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--delay, 0ms)}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}.timeline>div:hover{padding-left:0}}@media(max-width:720px){.page{padding:2rem 1.5rem 3.5rem}.masthead{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:3.5rem}.masthead-col.center{display:none}.hero{margin-bottom:4rem}.hero-last{padding-left:0}.services{grid-template-columns:1fr;gap:2rem}.block{margin-bottom:3.5rem}}
