:root{color-scheme:light dark;--bg:#f4f0e8;--surface:#fbf8f1;--surface-2:#ece6da;--ink:#171812;--muted:#63645a;--line:#d6cfc1;--accent:#a3482a;--accent-soft:#f0d9cd;--shadow:0 24px 60px -38px #1c181273;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;--max-width:72rem;--radius:14px;--ease:cubic-bezier(.22, .61, .36, 1)}@media (prefers-color-scheme:dark){:root{--bg:#121310;--surface:#191b16;--surface-2:#20231c;--ink:#eeeae0;--muted:#a3a194;--line:#33362c;--accent:#e09a78;--accent-soft:#3a2a21;--shadow:0 24px 60px -38px #000c}}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6rem}body{background-color:var(--bg);background-image:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 42rem);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;font-size:1rem;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;background:var(--ink);color:var(--bg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;border-radius:0 0 8px 8px;padding:.75rem 1rem;font-size:.7rem;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:0}.page{min-height:100dvh;max-width:var(--max-width);flex-direction:column;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.75rem);display:flex}.main{flex:1}.site-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:1rem 2rem;padding-block:1.15rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;font-size:1.4rem;font-weight:600;text-decoration:none}.brand span{color:var(--accent)}.site-nav{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:clamp(.9rem,2.4vw,1.75rem);font-size:.68rem;display:flex}.site-nav a{color:var(--muted);transition:color .18s var(--ease), border-color .18s var(--ease);border-bottom:1px solid #0000;padding-block:.35rem;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--ink);color:var(--ink)}.site-nav .nav-contact{border:1px solid var(--line);color:var(--ink);transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:999px;padding:.5rem .85rem}.site-nav .nav-contact:hover{border-color:var(--ink);background:var(--ink);color:var(--bg)}.eyebrow,.section-kicker,.page-note{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.7rem}.eyebrow{color:var(--ink);align-items:center;gap:.6rem;display:flex}.eyebrow:before{content:"";background:var(--accent);width:.5rem;height:.5rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;flex:none}.section-kicker{color:var(--accent)}.section-title,.page-title{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-weight:500;line-height:1.02}.section-title{margin-top:.65rem;font-size:clamp(2rem,4.4vw,3.25rem)}.page-title{margin-top:.65rem;font-size:clamp(3rem,8vw,6rem)}.button,.button-ghost{transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.2rem;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button{background:var(--ink);color:var(--bg)}.button:hover{background:var(--accent);color:var(--bg)}.button-ghost{border-color:var(--line);color:var(--ink)}.button-ghost:hover{border-color:var(--ink);background:var(--surface)}.hero{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.65fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding-block:clamp(3.5rem,9vw,7.5rem) clamp(3rem,7vw,6rem);display:grid}.hero h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin-top:1.5rem;font-size:clamp(3.2rem,8.2vw,7rem);font-weight:500;line-height:.93}.hero h1 em{color:var(--accent);font-style:italic}.lede{max-width:36rem;color:var(--muted);margin-top:1.75rem;font-size:clamp(1.05rem,1.6vw,1.25rem)}.hero-actions,.page-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.portrait{justify-self:end;width:min(100%,21rem);position:relative}.portrait:before{content:"";border:1px solid var(--line);border-radius:var(--radius);position:absolute;inset:1rem -1rem -1rem 1rem}.portrait img{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);filter:saturate(.9)contrast(1.02);object-fit:cover;position:relative}.portrait figcaption{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:1.25rem;font-size:.65rem;position:relative}.section{border-top:1px solid var(--line);padding-block:clamp(3.5rem,7vw,6rem);scroll-margin-top:5rem}.section-head{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.section-note{max-width:24rem;color:var(--muted);text-align:right;font-size:.95rem}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);flex-direction:column;gap:1rem;padding:clamp(1.4rem,3vw,2rem);display:flex}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:var(--shadow);transform:translateY(-3px)}.project-top{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.65rem;display:flex}.project-index{color:var(--accent)}.project-title{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.55rem,2.5vw,2rem);font-weight:500;line-height:1.1}.project-title a{align-items:baseline;gap:.4rem;text-decoration:none;display:inline-flex}.project-title .arrow{color:var(--muted);font-family:var(--font-sans);transition:color .18s var(--ease), transform .18s var(--ease);font-size:.8em}.project-title a:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.project-desc{color:var(--muted);flex:1;font-size:.95rem}.tag-list{flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:.28rem .55rem;font-size:.62rem}.about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);display:grid}.about-copy{color:var(--muted);font-size:1.02rem}.about-copy p+p{margin-top:1rem}.about-copy strong{color:var(--ink);font-weight:600}.fact-list{gap:.9rem;margin-top:2rem;padding:0;list-style:none;display:grid}.fact-list li{border-top:1px solid var(--line);grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;padding-top:.9rem;font-size:.9rem;display:grid}.fact-list span:first-child{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);padding-top:.2rem;font-size:.62rem}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.contact-copy{max-width:28rem;color:var(--muted);margin-top:1.25rem}.contact-links{gap:.6rem;margin-top:2rem;padding:0;list-style:none;display:grid}.contact-links a{border-bottom:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;transition:border-color .18s var(--ease), color .18s var(--ease);gap:.45rem;padding-bottom:.3rem;font-size:.7rem;text-decoration:none;display:inline-flex}.contact-links a:hover{border-color:var(--accent);color:var(--accent)}.contact-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.62rem}.field input,.field textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:.7rem .8rem;font-size:.95rem}.field textarea{resize:vertical;min-height:8rem}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 25%, transparent);outline-offset:1px}.contact-form .button{cursor:pointer;justify-self:start;margin-top:.25rem}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.page-header{padding-block:clamp(3.5rem,8vw,6.5rem) clamp(2.5rem,5vw,4rem)}.page-lede{max-width:40rem;color:var(--muted);margin-top:1.5rem;font-size:clamp(1.05rem,1.6vw,1.2rem)}.page-note{letter-spacing:.08em;margin-top:1.25rem}.page-note a{color:var(--accent);text-underline-offset:3px}.pdf-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);height:clamp(32rem,78vh,70rem);box-shadow:var(--shadow);overflow:hidden}.pdf-frame iframe{border:0;width:100%;height:100%;display:block}.domain-list{border-top:1px solid var(--line);padding:0;list-style:none}.domain-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:1.2rem;display:flex}.domain-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.35rem,3vw,2rem);text-decoration:none}a.domain-name:hover{color:var(--accent)}.domain-status{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:999px;flex:none;padding:.28rem .6rem;font-size:.6rem}.domain-status.active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);color:var(--accent)}.not-found{padding-block:clamp(4rem,12vw,9rem)}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-block:2rem 2.5rem;font-size:.62rem;display:flex}.site-footer a{border-bottom:1px solid #0000;text-decoration:none}.site-footer a:hover{border-color:var(--muted)}.footer-links{gap:1rem;display:flex}@media (width<=900px){.hero,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.portrait{order:-1;justify-self:start;width:min(100%,15rem)}.hero h1{max-width:15ch}.about-grid,.contact-grid{gap:2.25rem}.section-head{display:block}.section-note{text-align:left;margin-top:1.25rem}}@media (width<=720px){.site-header{flex-wrap:wrap;gap:.65rem}.site-nav{letter-spacing:.08em;justify-content:space-between;gap:.5rem;width:100%;font-size:.6rem}.work-grid,.form-row{grid-template-columns:minmax(0,1fr)}.fact-list li{grid-template-columns:minmax(0,1fr);gap:.25rem}.site-footer{gap:.6rem;display:grid}}@media (width<=420px){.site-nav .nav-contact{padding-inline:.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{color:#000;background:#fff}.page{max-width:none}.site-header,.site-footer,.skip-link,.pdf-frame,.page-actions{display:none}}
