:root{--bg: #0e1110;--bg-2: #161a18;--ink: #f1eadc;--ink-soft: #d8d0c2;--muted: #9b9488;--line: #2a302c;--line-hover: #4a524c;--accent: #e0a06a;--accent-2: #c9844c;--on-accent: #1a120c;--nav-bg: rgb(14 17 16 / 88%);--photo-scrim: linear-gradient(180deg, rgb(14 17 16 / 0%) 55%, rgb(14 17 16 / 38%) 100%);--photo-glow: rgb(224 160 106 / 32%);--photo-shadow: rgb(0 0 0 / 55%);--page-pad: clamp(20px, 3.5vw, 40px);--content: 1180px;--rail: 0px;--sans: "Source Sans 3", system-ui, sans-serif;--display: "Source Serif 4", Georgia, "Times New Roman", serif;color-scheme:dark}html[data-theme=light]{--bg: #f4efe6;--bg-2: #ebe3d4;--ink: #1c1914;--ink-soft: #3f3a32;--muted: #6a6358;--line: #d4cbbd;--line-hover: #b9ae9e;--accent: #b45f28;--accent-2: #9a4e1e;--on-accent: #fffaf3;--nav-bg: rgb(244 239 230 / 90%);--photo-scrim: linear-gradient(180deg, rgb(244 239 230 / 0%) 55%, rgb(244 239 230 / 32%) 100%);--photo-glow: rgb(180 95 40 / 18%);--photo-shadow: rgb(48 32 16 / 28%);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;background:var(--bg);min-height:100dvh}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.scroll-progress{position:fixed;top:0;left:0;z-index:20;height:2px;width:100%;transform-origin:left center;background:var(--accent);pointer-events:none}body,#root{min-height:100dvh}#root{display:flex;flex-direction:column}body{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55}::selection{background:var(--accent);color:var(--on-accent)}a{color:inherit}.skip{position:absolute;left:12px;top:-40px;background:var(--accent);color:var(--on-accent);padding:8px 12px;z-index:20}.skip:focus{top:12px}.shell{flex:1;margin-left:var(--rail);min-width:0;min-height:100dvh;display:flex;flex-direction:column}.shell-main{flex:1 1 auto}.rail{display:none;position:fixed;top:0;left:0;bottom:0;z-index:15;width:var(--rail);flex-direction:column;align-items:center;gap:18px;padding:22px 0 24px;background:var(--bg-2);border-right:1px solid var(--line);overflow:visible}.rail-mark{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}.rail-list{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;list-style:none;margin:0;padding:0}.rail-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--muted);background:var(--bg);border:1px solid var(--line);text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.rail-btn svg{width:18px;height:18px}.rail-btn:hover,.rail-btn:focus-visible{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.rail-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rail-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translate(-8px,-50%);padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:12px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.rail-btn:hover .rail-tip,.rail-btn:focus-visible .rail-tip{opacity:1;transform:translateY(-50%)}button.rail-btn{cursor:pointer;padding:0;font:inherit}.rail-foot{display:flex;flex-direction:column;align-items:center;gap:10px}.nav{position:sticky;top:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:max(12px,env(safe-area-inset-top)) max(var(--page-pad),env(safe-area-inset-right)) 12px max(var(--page-pad),env(safe-area-inset-left));background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-end{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}.burger{width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);color:var(--ink);display:grid;place-items:center;cursor:pointer}.burger__lines{display:grid;gap:5px;width:18px}.burger__lines span{display:block;height:2px;border-radius:99px;background:currentColor;transform-origin:center;transition:transform .25s ease,opacity .2s ease}.burger_open .burger__lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger_open .burger__lines span:nth-child(2){opacity:0}.burger_open .burger__lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:31;display:flex;align-items:center;justify-content:center;padding:88px var(--page-pad) 40px;background:#0e1110f5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}html[data-theme=light] .nav-drawer{background:#f4efe6f5}.nav-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto}.nav-drawer__list{list-style:none;margin:0;padding:0;display:grid;gap:4px;text-align:center;width:min(100%,320px)}.nav-drawer a{display:block;padding:12px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;color:var(--muted);border-radius:10px}.nav-drawer a:hover,.nav-drawer a.active{color:var(--accent);background:var(--bg-2)}.mark{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em;text-decoration:none}.theme-switch{width:52px;height:28px;padding:3px;border:1px solid var(--line);border-radius:999px;background:transparent;cursor:pointer;flex-shrink:0}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-switch__track{display:block;width:100%;height:100%;border-radius:inherit;background:#121816;position:relative;overflow:hidden;transition:background .55s cubic-bezier(.22,1,.36,1)}html[data-theme=light] .theme-switch__track{background:linear-gradient(180deg,#f2d7a0,#e8b86a)}.theme-switch__stars{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;pointer-events:none;transition:opacity .4s ease;background:radial-gradient(circle 1.2px at 68% 32%,#f1eadc 100%,transparent 100%),radial-gradient(circle 1px at 78% 62%,#f1eadc 100%,transparent 100%),radial-gradient(circle 1px at 60% 70%,rgb(241 234 220 / 70%) 100%,transparent 100%)}html[data-theme=light] .theme-switch__stars{opacity:0}.theme-switch__knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#f1eadc;box-shadow:inset -3px -2px 0 1px #2a3530;transition:transform .55s cubic-bezier(.22,1,.36,1),background .45s ease,box-shadow .45s ease}html[data-theme=light] .theme-switch__knob{transform:translate(24px);background:#fff8e8;box-shadow:0 0 0 2px #ffd27866,0 0 12px #ffb43c8c}.theme-wipe{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;clip-path:circle(0px at var(--theme-x) var(--theme-y));transition:clip-path .72s cubic-bezier(.22,1,.36,1)}.theme-wipe[data-to=light]{background:#f4efe6}.theme-wipe[data-to=dark]{background:#0e1110}.theme-wipe.is-on{clip-path:circle(150vmax at var(--theme-x) var(--theme-y))}.wrap{width:100%;max-width:var(--content);margin-inline:auto;padding-inline:max(var(--page-pad),env(safe-area-inset-left),env(safe-area-inset-right))}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:40px;padding:56px 0 64px;border-bottom:1px solid var(--line)}.kicker{margin:0 0 18px;color:var(--accent);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.hero-copy{min-width:0}.hero h1{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(36px,4.6vw,56px);line-height:1.15;letter-spacing:-.02em}.type-line{margin:14px 0 0;font-size:clamp(20px,2.4vw,28px);color:var(--muted);font-weight:500;min-height:1.45em;max-width:100%;overflow-wrap:anywhere}.type-line__word{color:var(--accent);font-family:var(--display);font-weight:600;animation:titleSwap .4s ease}.type-line__caret{display:inline-block;width:2px;height:.85em;margin-left:5px;background:var(--accent);vertical-align:-.08em;animation:caret .9s step-end infinite}@keyframes caret{50%{opacity:0}}@keyframes titleSwap{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}.hero-social{display:flex;gap:10px;margin-top:20px}.hero-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--accent);background:var(--bg-2);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.hero-social a svg{width:16px;height:16px}.hero-social a:hover,.hero-social a:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:translateY(-2px)}.lede{max-width:min(42rem,100%);margin:20px 0 0;font-size:18px;color:var(--ink-soft)}.meta{margin:18px 0 0;color:var(--muted);font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.portrait{margin:0;justify-self:end;width:100%;max-width:300px;overflow:hidden}.portrait__stage{position:relative}.portrait__offset{position:absolute;top:16px;right:8px;bottom:-8px;left:16px;border:1px solid var(--accent);pointer-events:none}.portrait__clip{position:relative;z-index:1;overflow:hidden;aspect-ratio:3 / 4;background:var(--bg-2)}.portrait__clip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--photo-scrim);pointer-events:none}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:saturate(.88) contrast(1.06);transform:scale(1.04);transition:transform .7s cubic-bezier(.16,1,.3,1)}.portrait:hover img{transform:scale(1.08)}html[data-theme=light] .portrait img{filter:saturate(.94) contrast(1.02)}.portrait__tick{position:absolute;z-index:2;width:18px;height:18px;border:1px solid var(--accent);pointer-events:none}.portrait__tick--tl{top:10px;left:10px;border-right:0;border-bottom:0}.portrait__tick--tr{top:10px;right:10px;border-left:0;border-bottom:0}.portrait__tick--bl{bottom:10px;left:10px;border-right:0;border-top:0}.portrait__tick--br{bottom:10px;right:10px;border-left:0;border-top:0}.portrait figcaption{margin-top:22px;padding-left:22px;font-size:14px;color:var(--ink-soft)}.portrait figcaption span{display:block;margin-bottom:4px;color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.btn{display:inline-flex;align-items:center;text-decoration:none;border:1px solid var(--line);padding:11px 16px;font:inherit;font-size:14px;font-weight:500;color:inherit;background:transparent;cursor:pointer;border-radius:999px;transition:border-color .25s ease,color .25s ease,background .25s ease,transform .25s ease}.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--on-accent)}section{padding:80px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:160px 1fr;gap:24px;margin-bottom:40px}.section-head h2{margin:0;font-family:var(--display);font-size:32px;font-weight:600;letter-spacing:-.03em}.section-head p{margin:0;color:var(--muted)}.page{padding:56px 0 80px}.page-head{padding-bottom:36px;border-bottom:1px solid var(--line);margin-bottom:36px}.page-head h1,.article h1{font-family:var(--display);font-weight:600;letter-spacing:-.02em;font-size:clamp(28px,3.6vw,42px);line-height:1.2;margin:0 0 16px}.post-card{padding:0;border:1px solid var(--line);background:var(--bg-2);overflow:hidden}.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.post-card__visual{display:block;aspect-ratio:16 / 10;background:var(--bg);border-bottom:1px solid var(--line)}.post-card__body{padding:22px 22px 24px}.cover{display:block;width:100%;height:100%;color:var(--ink)}.cover__ground{fill:var(--bg)}.cover__line{stroke:var(--line);fill:none}.cover__line-fill{fill:var(--line)}.cover__soft{fill:var(--bg-2);stroke:var(--line)}.cover__accent,.cover__accent-fill{fill:var(--accent);stroke:var(--accent)}.cover__accent-stroke{fill:none;stroke:var(--accent)}.article__visual{margin:8px 0 28px;border:1px solid var(--line);background:var(--bg-2);aspect-ratio:16 / 9;overflow:hidden}.post-card h2{margin:8px 0 12px;font-family:var(--display);font-size:22px;letter-spacing:-.03em}.post-card h2 a{text-decoration:none}.post-card h2 a:hover,.text-link{color:var(--accent)}.article{max-width:none}.article h2{font-family:var(--display);font-size:24px;margin:36px 0 12px;letter-spacing:-.03em}.article p,.article li{color:var(--ink-soft);max-width:85ch}.article ol,.article ul{padding-left:20px}.article li+li{margin-top:10px}.article code{font-size:.92em;background:var(--bg-2);padding:1px 6px;border-radius:4px}.article-end{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:36px 0}.offer-grid h2,.page-block h2{font-family:var(--display);letter-spacing:-.03em}.offer-grid ul{padding-left:18px;color:var(--ink-soft)}.offer-grid li+li{margin-top:8px}.page-block{padding-bottom:24px}@media(max-width:860px){.offer-grid{grid-template-columns:1fr}}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px)}.project{background:var(--bg-2);border:1px solid var(--line);padding:0;display:grid;overflow:hidden;transition:border-color .3s ease,transform .35s cubic-bezier(.16,1,.3,1)}.project:hover{border-color:var(--line-hover);transform:translateY(-3px)}.project__visual{aspect-ratio:3 / 2;background:var(--bg);border-bottom:1px solid var(--line)}.project__body{display:grid;gap:10px;padding:20px 22px 22px}.project__tag{margin:0;color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.project h3{margin:0;font-family:var(--display);font-size:22px;letter-spacing:-.03em}.project p{margin:0;color:var(--muted);font-size:15px}.project__links{display:flex;gap:18px;margin-top:8px}.project__links a{color:var(--accent)}.impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(12px,1.5vw,20px)}.stat{background:var(--bg-2);border:1px solid var(--line);padding:28px 24px;min-height:210px;transition:border-color .3s ease,transform .35s cubic-bezier(.16,1,.3,1)}.stat:hover{border-color:var(--line-hover);transform:translateY(-4px)}.stat strong{display:block;font-family:var(--display);font-size:42px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--accent)}.stat span{display:block;margin:14px 0 8px;font-weight:600}.stat p{margin:0;color:var(--muted);font-size:14px}.job{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:clamp(20px,3vw,48px);padding:28px 0;border-top:1px solid var(--line)}.job:first-of-type{border-top:0;padding-top:0}.job h3{margin:0;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.03em}.job .company{margin:6px 0 0;color:var(--accent)}.job .dates{margin:8px 0 0;color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.job ul{margin:0;padding-left:18px;color:var(--ink-soft)}.job li+li{margin-top:8px}.layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(12px,1.5vw,20px)}.layer{border:1px solid var(--line);padding:22px;background:var(--bg-2);transition:border-color .3s ease,transform .35s cubic-bezier(.16,1,.3,1)}.layer:hover{border-color:var(--line-hover);transform:translateY(-3px)}.layer h3{margin:0 0 14px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.layer ul{margin:0;padding:0;list-style:none}.layer li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(88px,1fr);align-items:center;gap:10px 12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}.layer li:last-child{border-bottom:0}.layer .skill-meter{min-width:0}.focus{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:10px}.focus li{color:var(--ink-soft);padding-left:16px;border-left:2px solid var(--accent)}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px)}.about-grid p{margin:0;font-size:18px;color:var(--ink-soft)}.ed label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.ed strong{display:block;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.03em}.contact-row{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:36px}.contact-row a{color:var(--accent)}#contact{scroll-margin-top:84px}.contact-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr);gap:clamp(28px,5vw,72px);align-items:start}.contact-copy h2{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(32px,4.2vw,48px);line-height:1.15;letter-spacing:-.03em}.contact-copy .lede{margin-top:16px}.contact-form{display:grid;gap:16px;padding:clamp(20px,3vw,32px);background:var(--bg-2);border:1px solid var(--line)}.contact-form_done h3{margin:8px 0 12px;font-family:var(--display);font-size:28px;letter-spacing:-.03em}.contact-form_done p{margin:0 0 20px;color:var(--ink-soft)}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px;margin:0;border:0;padding:0;min-width:0}.field span,.field legend{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}.field abbr{text-decoration:none;color:var(--accent)}.field em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}.field input:not([type=radio]),.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:12px 14px;border-radius:8px}.field textarea{resize:vertical;min-height:140px}.field input:not([type=radio]):focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.reply-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reply-pick{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--ink)}.reply-pick:has(input:checked){border-color:var(--accent)}.reply-pick input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;padding:0;border:1.5px solid var(--muted);border-radius:50%;background:transparent;box-shadow:none;outline:none;flex-shrink:0}.reply-pick input:checked{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 4.5px,transparent 5px)}.reply-pick input:focus,.reply-pick input:focus-visible{outline:none;box-shadow:none}.reply-pick span{font-size:14px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink)}.contact-error{margin:0;color:#c45c4a;font-size:14px}.field-error{font-size:13px;letter-spacing:0;text-transform:none;font-weight:500;color:#c45c4a}.field_invalid input:not([type=radio]),.field_invalid select,.field_invalid textarea{border-color:#c45c4a}html[data-theme=light] .field-error,html[data-theme=light] .contact-error{color:#9b2f22}html[data-theme=light] .field_invalid input:not([type=radio]),html[data-theme=light] .field_invalid select,html[data-theme=light] .field_invalid textarea{border-color:#9b2f22}.contact-form .btn.primary{justify-content:center;width:100%;margin-top:4px}.skill-meter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-width:0}.skill-meter__track{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.skill-meter__track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.skill-meter em{font-style:normal;font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}.resume-pair{display:inline-flex;align-items:center;gap:8px}.resume-dl{display:grid;place-items:center;width:22px;height:22px;color:var(--accent)}.resume-dl svg{width:16px;height:16px}.back-top{position:fixed;right:22px;bottom:22px;z-index:16;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px #00000047;transition:transform .25s ease}.back-top svg{width:20px;height:20px}.back-top:hover{transform:translateY(-3px)}.foot{padding:28px 0 48px;margin-top:auto;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px}.foot-visits{font-variant-numeric:tabular-nums;letter-spacing:.02em}@media(max-width:1100px)and (min-width:861px){.projects,.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:861px){:root{--rail: 80px}.rail{display:flex}.nav,.nav-drawer{display:none}}@media(min-width:1600px){:root{--content: 1420px;--page-pad: 48px}.hero{grid-template-columns:minmax(0,1fr) 340px;gap:56px}.portrait{max-width:340px}.hero h1{font-size:52px}.section-head h2{font-size:36px}}@media(min-width:1920px){:root{--content: 1600px;--page-pad: 56px}.hero{grid-template-columns:minmax(0,1fr) 360px}.portrait{max-width:360px}}@media(min-width:2400px){:root{--content: 1760px}}@media(max-width:860px){:root{--page-pad: clamp(20px, 6vw, 28px)}.hero,.section-head,.job,.about-grid,.contact-layout,.field-row,.reply-picks,.offer-grid{grid-template-columns:1fr}.hero{justify-items:center;text-align:center;gap:28px;padding:28px 0 40px}.hero-copy{display:flex;flex-direction:column;align-items:center}.hero h1{font-size:clamp(30px,9vw,42px)}.lede,.meta{max-width:36rem}.hero-social,.actions{justify-content:center}.portrait{order:-1;justify-self:center;max-width:240px}.portrait figcaption{padding-left:0;text-align:center}.section-head{text-align:center;margin-bottom:28px;gap:8px}.section-head .kicker{margin-bottom:0}.section-head h2{font-size:clamp(26px,7vw,32px)}section{padding:56px 0}.page{padding:36px 0 64px}.page-head{text-align:center}.page-head .actions,.page-head .lede,.page-head .meta{margin-inline:auto}.contact-copy{text-align:center}.contact-copy .lede,.contact-copy .meta{margin-inline:auto}.contact-form{padding:20px}.stat{min-height:0}.impact,.projects,.posts{grid-template-columns:1fr}.layer li{grid-template-columns:1fr;gap:6px}.job ul{padding-left:18px;text-align:left}.about-grid,.article p,.article li{text-align:left}.contact-row{justify-content:center;text-align:center}.foot{flex-direction:column;text-align:center;justify-content:center;padding:24px 0 max(28px,env(safe-area-inset-bottom))}.back-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}@media(max-width:480px){.hero h1{font-size:clamp(28px,8.5vw,36px)}.type-line{width:100%;font-size:18px;min-height:2.6em;line-height:1.35}.contact-form{padding:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy>*,[data-reveal]{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}.stat:hover,.layer:hover,.project:hover,.btn:hover,.portrait:hover img{transform:none}.theme-switch__track,.theme-switch__knob,.theme-switch__stars,.theme-wipe{transition:none!important}.type-line__caret,.type-line__word{animation:none}.back-top:hover{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.hero-copy>*{opacity:1}@media(prefers-reduced-motion:no-preference){.hero-copy>*{opacity:0;animation:rise .85s cubic-bezier(.16,1,.3,1) forwards}.hero-copy>*:nth-child(1){animation-delay:.05s}.hero-copy>*:nth-child(2){animation-delay:.14s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.34s}.hero-copy>*:nth-child(5){animation-delay:.44s}}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--d, 0ms)}[data-reveal].is-visible{opacity:1;transform:none}
