:root{--bg: #f4efe6;--bg-2: #ece5d6;--ink: #1a1714;--ink-2: #4a4038;--accent: #c2410c;--rule: rgba(26, 23, 20, .12);--serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--max: 1200px}@media (prefers-color-scheme: dark){:root{--bg: #14110e;--bg-2: #1c1814;--ink: #f2ece0;--ink-2: #b7ad9e;--accent: #f97316;--rule: rgba(242, 236, 224, .14)}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{min-height:100vh;background-image:radial-gradient(1200px 600px at 80% -10%,rgba(194,65,12,.08),transparent 60%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.05;margin:0}h1{font-size:clamp(2.8rem,8vw,6.5rem)}h2{font-size:clamp(2rem,5vw,3.6rem)}h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}p{margin:0 0 1rem;color:var(--ink-2);max-width:62ch}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 1.5rem}.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.rule{height:1px;background:var(--rule);border:0;margin:0}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.4rem;background:var(--ink);color:var(--bg);border-radius:999px;font-weight:500;font-size:.95rem;border:1px solid var(--ink);transition:transform .18s ease,background .18s ease,color .18s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}header.site{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--rule)}header.site .inner{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;max-width:var(--max);margin:0 auto}header.site nav a{margin-left:1.6rem;font-size:.92rem;color:var(--ink-2);position:relative}header.site nav a:hover{color:var(--ink)}header.site nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .26s ease}header.site nav a:hover:after{transform:scaleX(1)}.brand{font-family:var(--serif);font-size:1.35rem}.hero{padding:9rem 0 6rem;position:relative}.hero .eyebrow{margin-bottom:2rem;display:inline-flex;align-items:center;gap:.6rem}.hero .eyebrow .dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent);animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.hero h1 em{font-style:italic;color:var(--accent)}.hero .lede{margin-top:2rem;font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:56ch}.hero .cta{margin-top:2.5rem;display:flex;gap:.8rem;flex-wrap:wrap}.hero-grid{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}.hero-photo img{width:clamp(220px,26vw,360px);display:block;border-radius:24px;filter:drop-shadow(0 8px 32px rgba(26,23,20,.12))}@media (max-width: 820px){.hero-grid{grid-template-columns:1fr}.hero-photo{display:none}}section{padding:6rem 0;border-top:1px solid var(--rule)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem}@media (max-width: 720px){.section-head{grid-template-columns:1fr;gap:1rem}}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 820px){.services{grid-template-columns:1fr}}.card{padding:2rem;border:1px solid var(--rule);border-radius:18px;background:color-mix(in srgb,var(--bg-2) 70%,transparent);transition:transform .26s ease,border-color .26s ease}.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ink) 30%,transparent)}.card .num{font-family:var(--mono);font-size:.75rem;color:var(--accent)}.card h3{margin:.8rem 0 .6rem}.subscribe{background:var(--ink);color:var(--bg);border-radius:24px;padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center}@media (max-width: 820px){.subscribe{grid-template-columns:1fr}}.subscribe h2{color:var(--bg)}.subscribe p{color:color-mix(in srgb,var(--bg) 75%,transparent)}.subscribe form{display:flex;gap:.5rem;background:color-mix(in srgb,var(--bg) 10%,transparent);padding:.4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--bg) 18%,transparent)}.subscribe input{flex:1;background:transparent;border:0;outline:0;color:var(--bg);font:inherit;padding:.7rem 1rem}.subscribe input::placeholder{color:color-mix(in srgb,var(--bg) 55%,transparent)}.subscribe button{background:var(--bg);color:var(--ink);border:0;border-radius:999px;padding:.75rem 1.2rem;font-weight:600;cursor:pointer;transition:transform .18s ease}.subscribe button:hover{transform:translateY(-2px)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 820px){.contact{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.field input,.field textarea{background:var(--bg-2);border:1px solid var(--rule);border-radius:12px;padding:.9rem 1rem;font:inherit;color:var(--ink);outline:0;transition:border-color .18s ease}.field input:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.form-status{margin-top:.8rem;font-size:.9rem;color:var(--ink-2);min-height:1.4em}footer.site{border-top:1px solid var(--rule);padding:4rem 0 3rem;margin-top:4rem}footer.site .inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}@media (max-width: 720px){footer.site .inner{grid-template-columns:1fr}}footer.site h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 0 1rem}footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin-bottom:.5rem}footer.site a:hover{color:var(--accent)}footer.site .colophon{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-family:var(--mono);font-size:.72rem;color:var(--ink-2)}.recent-posts{list-style:none;padding:0;margin:0 0 2rem;border-top:1px solid var(--rule)}.recent-post a{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid var(--rule);transition:color .2s ease}.recent-post a:hover{color:var(--accent)}.recent-post a:hover .recent-post-arrow{transform:translate(4px)}.post-date{color:var(--ink-2);white-space:nowrap}.recent-post-title{font-family:var(--serif);font-size:1.15rem;line-height:1.3}.recent-post-arrow{color:var(--ink-2);transition:transform .2s ease}.blog-header{padding:7rem 0 4rem;border-bottom:1px solid var(--rule)}.blog-header .mono{margin-bottom:1.2rem}.blog-header h1{font-size:clamp(2.4rem,6vw,5rem);margin-bottom:1.5rem}.blog-header .lede{font-size:1.1rem}.blog-list-section{padding:4rem 0 6rem}.post-list{list-style:none;padding:0;margin:0 0 4rem;border-top:1px solid var(--rule)}.post-item{border-bottom:1px solid var(--rule)}.post-link{display:block;padding:2rem 0;transition:color .2s ease}.post-link:hover{color:var(--accent)}.post-meta{color:var(--ink-2);margin-bottom:.5rem}.post-title{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400;margin:0 0 .5rem;line-height:1.2}.post-desc{font-size:.95rem;max-width:64ch;margin:0 0 .8rem}.post-cta{font-family:var(--mono);font-size:.78rem;color:var(--accent);letter-spacing:.05em}.draft-badge{display:inline-block;margin-left:.6rem;padding:.1em .5em;border-radius:4px;background:var(--bg-2);color:var(--ink-2);font-size:.7rem;vertical-align:middle}.subscribe-nudge{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:2rem 0;border-top:1px solid var(--rule)}.subscribe-nudge p{margin:0;color:var(--ink-2)}.post-article{padding:4rem 0 8rem}.back-link{display:inline-block;margin-bottom:3rem;color:var(--ink-2);transition:color .2s ease}.back-link:hover{color:var(--ink)}.post-header{margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--rule)}.post-header .mono{margin-bottom:1rem;color:var(--ink-2)}.post-header h1{font-size:clamp(2rem,5vw,3.8rem);margin-bottom:1.2rem}.post-lede{font-size:1.15rem;max-width:58ch;color:var(--ink-2);margin:0}.post-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--rule);display:flex;gap:1rem;flex-wrap:wrap}.prose{max-width:68ch;font-size:1.05rem;line-height:1.8}.prose p{color:var(--ink-2);margin-bottom:1.4rem;max-width:none}.prose h2{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2rem);font-weight:400;margin:2.5rem 0 1rem;color:var(--ink)}.prose h3{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;margin:2rem 0 .8rem;color:var(--ink)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose a:hover{text-decoration:none}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.4rem;color:var(--ink-2)}.prose li{margin-bottom:.4rem}.prose ol{list-style:decimal}.prose blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding:.2rem 1.2rem;color:var(--ink-2);font-style:italic}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-2);border:1px solid var(--rule);border-radius:5px;padding:.1em .4em}.prose pre{background:var(--bg-2);border:1px solid var(--rule);border-radius:12px;padding:1.2rem 1.4rem;overflow-x:auto;margin:1.5rem 0}.prose pre code{background:none;border:none;padding:0;font-size:.9rem}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}
