:root{--background:#080808;--surface:#181515;--ink:#f1f0ec;--muted:#aaa7a2;--line:#46403f;--accent:#ff3b30;--page:min(1180px, calc(100vw - 48px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);color:var(--ink);margin:0;font-family:Arial,sans-serif}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}::selection{background:var(--accent);color:var(--background)}.site-shell{min-height:100vh;overflow:hidden}.skip-link{z-index:20;background:var(--ink);color:var(--background);padding:12px 16px;font-weight:700;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar,.hero,.section,.contact,footer{width:var(--page);margin-inline:auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;display:flex}.wordmark{letter-spacing:-.03em;align-items:center;min-width:44px;min-height:44px;font-size:1.2rem;font-weight:750;text-decoration:none;display:inline-flex}.wordmark span{color:var(--accent)}nav{gap:clamp(18px,3vw,38px);display:flex}nav a,footer a,.contact-links a{min-height:44px;color:var(--muted);align-items:center;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .18s ease-out;display:inline-flex}nav a:hover,footer a:hover,.contact-links a:hover{color:var(--ink)}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(280px,400px);align-items:center;gap:clamp(52px,8vw,120px);min-height:calc(100svh - 84px);padding-block:clamp(64px,10vw,136px);display:grid}.hero-copy{z-index:1;animation:.52s cubic-bezier(.22,1,.36,1) both copy-in;position:relative}.hero-meta{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:600;line-height:1.5}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.04em;margin:10px 0 20px;font-size:clamp(4.6rem,15vw,6rem);font-weight:780;line-height:.84}.hero-line{letter-spacing:-.035em;text-wrap:balance;max-width:19ch;font-size:clamp(1.8rem,3.6vw,3.2rem);font-weight:680;line-height:1}.hero-detail{max-width:52ch;color:var(--muted);text-wrap:pretty;margin-top:22px;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.65}.text-link{min-height:44px;color:var(--ink);align-items:center;gap:8px;margin-top:24px;font-weight:700;transition:color .18s ease-out;display:inline-flex}.text-link:hover{color:var(--accent)}.text-link svg,footer svg{flex:none;transition:transform .18s ease-out}.text-link:hover svg{transform:translate(4px)}.portrait-wrap{justify-self:end;width:100%;max-width:400px;margin:0;animation:.6s cubic-bezier(.22,1,.36,1) 80ms both portrait-in;position:relative}.portrait-block{aspect-ratio:1;background:var(--accent);position:absolute;top:22px;left:22px;right:-22px}.portrait{background:var(--background);width:100%;height:auto;display:block;position:relative}.section{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:clamp(48px,9vw,132px);padding-block:clamp(92px,13vw,172px);display:grid}.section-heading h2{letter-spacing:-.04em;max-width:15ch;font-size:clamp(2.1rem,4.2vw,4rem);font-weight:700;line-height:.98}.practice-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.practice-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,.65fr) minmax(0,1fr);align-items:baseline;gap:clamp(16px,3vw,44px);padding-block:clamp(26px,4vw,40px);transition:color .18s ease-out,transform .18s ease-out;display:grid}.practice-list li:hover{color:var(--accent);transform:translate(8px)}.practice-list h3{letter-spacing:-.035em;font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:680}.practice-list p{color:var(--muted);text-wrap:pretty;line-height:1.6}.about-copy>p{text-wrap:pretty;max-width:48ch;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.35}.stack{color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin-top:40px;display:flex}.stack span{border-bottom:2px solid var(--line);padding-block:6px;font-weight:600}.contact{padding-block:clamp(112px,16vw,220px)}.contact h2{letter-spacing:-.04em;margin:0;font-size:clamp(4rem,12vw,6rem);font-weight:760;line-height:.9}.contact-intro{max-width:34rem;color:var(--muted);margin-top:24px;font-size:1.05rem;line-height:1.65}.contact-links{flex-wrap:wrap;gap:30px;margin-top:44px;display:flex}.contact-links a{gap:9px}.contact-links svg{fill:currentColor;flex:none;width:17px;height:17px}.contact-links a:first-child{overflow-wrap:anywhere}.contact-links a:first-child svg{fill:none}footer{border-top:1px solid var(--line);min-height:92px;color:var(--muted);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}footer a{gap:7px}footer a:hover svg{transform:translateY(-3px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes copy-in{0%{opacity:0;transform:translateY(20px)}}@keyframes portrait-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){:root{--page:calc(100vw - 40px)}.topbar{min-height:72px}nav{gap:16px}nav a{font-size:.82rem}.hero{grid-template-columns:1fr;gap:64px;min-height:auto;padding-block:72px 96px}h1{font-size:clamp(4.5rem,28vw,6rem)}.portrait-wrap{justify-self:start}.portrait-block{top:14px;left:14px;right:-14px}.section{grid-template-columns:1fr;gap:52px}.practice-list li{grid-template-columns:1fr}.practice-list p{grid-column:1}footer{min-height:112px}}@media (max-width:420px){.contact-links{gap:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
