﻿:root{--bg: #06080c;--surface: rgba(12, 15, 22, 0.82);--surface-2: rgba(20, 27, 38, 0.88);--text: #eef4ff;--muted: #9ba7b8;--border: rgba(179, 194, 220, 0.18);--border-strong: rgba(179, 194, 220, 0.3);--accent: #7bf0d6;--accent-2: #ff5aa6;--accent-soft: rgba(123, 240, 214, 0.12);--shadow: 0 12px 30px rgba(0, 0, 0, 0.24);--max-width: 800px;--font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif}html{background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;isolation:isolate}*{box-sizing:border-box}::selection{background:rgba(19,102,214,0.18);color:var(--text)}a{color:var(--accent);text-decoration-color:rgba(19,102,214,0.28);text-underline-offset:0.18em;text-decoration-thickness:1px}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img,svg,video{max-width:100%;height:auto}img{display:block}.splash-page{min-height:100vh;overflow:hidden;background:#808080}.splash{display:grid;min-height:100vh;align-content:center;place-items:center;gap:18px;padding:24px;text-align:center}.splash-text{display:flex;flex-wrap:wrap;justify-content:center;column-gap:0.32em;width:100%;max-width:760px;margin:0;color:#111;font-weight:900;font-style:italic;line-height:0.95}.splash-text__word{display:inline-flex;white-space:nowrap}.splash-text--title{font-size:clamp(2.4rem, 8vw, 5rem);letter-spacing:-0.06em}.splash-text--contact{flex-wrap:nowrap;column-gap:0.22em;width:auto;max-width:calc(100vw - 32px);overflow:visible;font-size:clamp(0.38rem, 1.45vw, 0.95rem);letter-spacing:-0.04em;line-height:1.18;white-space:nowrap}.splash-text__letter{position:relative;display:inline-block;transform-origin:center 70%;animation:title-letter-drift 5.4s ease-in-out infinite,title-letter-glitch 8.2s steps(1, end) infinite,title-letter-flicker 4s steps(1, end) infinite;animation-delay:calc(var(--i, 0) * 70ms),calc(var(--i, 0) * 120ms),calc(var(--i, 0) * 42ms);will-change:transform, filter, opacity}.splash-text__letter:nth-child(odd){animation-duration:6.24s, 8.52s, 4.08s}.splash-text__letter:nth-child(3n){animation-duration:4.92s, 6.96s, 2.88s}.splash-text__letter:nth-child(5n){animation-name:title-letter-drop, title-letter-glitch, title-letter-flicker}.splash-text--contact .splash-text__letter{animation-name:contact-letter-wave, title-letter-glitch, title-letter-flicker;animation-duration:3.8s, 12s, 7s;animation-timing-function:ease-in-out,steps(1, end),steps(1, end);animation-iteration-count:infinite;animation-delay:calc(var(--i, 0) * 58ms),calc(var(--i, 0) * 48ms),calc(var(--i, 0) * 18ms)}.app-background{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.app-background::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,8,10,0.14), rgba(8,8,10,0.74)),radial-gradient(circle at top, rgba(15,118,110,0.12), transparent 40%),linear-gradient(90deg, rgba(8,8,10,0.72), rgba(8,8,10,0.28))}.app-background img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.08);filter:saturate(0.7) contrast(1.25) brightness(0.58);image-rendering:pixelated}.glitch-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0.92;background:linear-gradient(180deg, rgba(255,255,255,0.01) 0%, rgba(255,255,255,0) 12%, rgba(0,255,204,0.02) 13%, rgba(255,0,120,0.02) 14%, rgba(255,255,255,0) 18%),repeating-linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 2px, rgba(0,0,0,0.24) 3px),repeating-linear-gradient(90deg, rgba(255,255,255,0.01) 0px, rgba(255,255,255,0.01) 2px, rgba(0,0,0,0.12) 3px);mix-blend-mode:normal;animation:glitch-shift 21.6s steps(1, end) infinite}.glitch-overlay::before,.glitch-overlay::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 4px, rgba(15,118,110,0.04) 5px, rgba(255,0,120,0.02) 6px);mix-blend-mode:soft-light;opacity:0.42}.glitch-overlay::before{clip-path:inset(0 0 52% 0);transform:translateX(-2px);animation:glitch-jitter-a 7.2s steps(1, end) infinite}.glitch-overlay::after{clip-path:inset(48% 0 0 0);transform:translateX(2px);animation:glitch-jitter-b 8.4s steps(1, end) infinite}.glitch-pixels{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen;filter:contrast(1.05) saturate(1.05)}.glitch-pixel{position:absolute;display:block;background:linear-gradient(90deg, rgba(255,255,255,0.78), rgba(0,255,204,0.36), rgba(255,0,120,0.55));box-shadow:0 0 8px rgba(0,255,204,0.18),0 0 14px rgba(255,0,120,0.12);animation:glitch-pixel-flicker 2.16s steps(1, end) infinite,glitch-pixel-shift 5.4s steps(1, end) infinite;border-radius:0}.site-page{--bg: #f4f4f1;--surface: #ffffff;--surface-2: #e7e7e2;--text: #111111;--muted: #666661;--border: #1d1d1b;--border-strong: #111111;--accent: #111111;--accent-2: #77776f;--accent-soft: rgba(17, 17, 17, 0.08);background:linear-gradient(90deg, rgba(17,17,17,0.05) 1px, transparent 1px),linear-gradient(180deg, rgba(17,17,17,0.04) 1px, transparent 1px),var(--bg);background-size:84px 84px}body>main{width:calc(100% - 40px);max-width:980px;margin:0 auto;padding:28px 0 180px;position:relative;z-index:3}.site-header{width:calc(100% - 40px);max-width:1180px;margin:0 auto;padding:24px 20px 18px;position:relative;z-index:3}.site-brand{position:relative;display:inline-flex;color:var(--text);text-decoration:none;z-index:1}.site-title{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0;white-space:pre;font-size:clamp(2.1rem, 8.6vw, 7.2rem);line-height:0.92;font-weight:900;font-style:italic;letter-spacing:-0.1em;transform-origin:left center;animation:title-pop 700ms cubic-bezier(0.2, 1, 0.3, 1) both,title-float 9s ease-in-out infinite}.site-title__letter{position:relative;display:inline-block;transform-origin:center 70%;animation:title-letter-drift 4.8s ease-in-out infinite,title-letter-glitch 7.68s steps(1, end) infinite,title-letter-flicker 3.36s steps(1, end) infinite;animation-delay:calc(var(--i, 0) * 120ms),calc(var(--i, 0) * 180ms),calc(var(--i, 0) * 70ms);will-change:transform, filter, opacity}.site-title__letter:nth-child(odd){animation-duration:6.24s, 8.52s, 4.08s}.site-title__letter:nth-child(3n){animation-duration:4.92s, 6.96s, 2.88s}.site-title__letter:nth-child(4n){animation-delay:calc(var(--i, 0) * 132ms),calc(var(--i, 0) * 180ms),calc(var(--i, 0) * 66ms)}.site-title__letter:nth-child(5n){animation-name:title-letter-drop, title-letter-glitch, title-letter-flicker}.site-title__letter--space{width:0.38em}.site-brand__art{position:fixed;right:18px;bottom:12px;width:240px;height:auto;border:0;border-radius:0;box-shadow:none;transform-origin:50% 60%;animation:art-creep 14s ease-in-out infinite;pointer-events:none;user-select:none;z-index:0}.site-kicker{margin:8px 0 0;color:var(--accent);font-size:0.76rem;font-weight:800;letter-spacing:0.22em;text-transform:uppercase;position:relative;z-index:1}.site-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative;z-index:1}.site-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--border);border-radius:0;background:rgba(244,244,241,0.88);color:var(--text);font-size:0.78rem;font-weight:800;line-height:1;text-decoration:none;text-transform:uppercase;backdrop-filter:blur(16px)}@media (max-width: 540px){.site-header{width:calc(100% - 32px);padding-inline:16px}.site-brand{padding-right:0}.site-brand__art{width:170px;right:8px;bottom:8px}body>main{width:calc(100% - 32px);padding-top:20px}}h1,h2,h3,h4,h5,h6{margin:0 0 0.65rem;color:var(--text);line-height:1.06;letter-spacing:-0.05em;text-wrap:balance}h1{font-size:clamp(2rem, 8vw, 3.35rem);font-weight:900}h2{margin-top:1.6rem;font-size:clamp(1.4rem, 4.5vw, 2rem);font-weight:800}h3{margin-top:1.35rem;font-size:clamp(1.1rem, 3.5vw, 1.35rem);font-weight:800}p,li{font-size:1.04rem}p{margin:0 0 1rem}strong,b{font-weight:800;color:var(--text)}em{color:var(--accent-2);font-style:italic}ul,ol{margin:0 0 1rem 1.25rem;padding:0}li+li{margin-top:0.45rem}article,section,.panel{margin-bottom:20px}article>:last-child,section>:last-child,.panel>:last-child{margin-bottom:0}article header{margin-bottom:clamp(24px, 5vw, 46px);padding-bottom:18px;border-bottom:1px solid var(--border)}.eyebrow{margin-bottom:10px;color:var(--accent);font-size:0.78rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase}.listing-page,.content-page{max-width:900px}.listing-page h1,.content-page h1{max-width:920px;font-size:clamp(3.2rem, 11vw, 7rem);line-height:0.9;letter-spacing:-0.07em}.listing-intro{max-width:680px;margin:0 0 clamp(28px, 5vw, 54px);color:var(--muted)}.listing-intro p{font-size:clamp(1.12rem, 2vw, 1.35rem);line-height:1.48}.content-page>section{max-width:740px}.posts-page>section{font-size:1.15rem}.content-page>section p,.content-page>section li{font-size:clamp(1.1rem, 1.7vw, 1.22rem);line-height:1.72}.content-page>section p{margin-bottom:1.18rem}.content-page>section a{color:var(--text);text-decoration-color:var(--accent-2);text-decoration-thickness:2px}.content-page>section img{margin:1.35rem 0;border:1px solid var(--border)}.lede{font-size:1.08rem;color:var(--muted)}.small{color:var(--muted);font-size:0.9rem}.story-list{margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.story-list li{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:18px;align-items:baseline;margin:0;padding:18px 0;border-bottom:1px solid var(--border)}.story-list li:first-child{padding-top:18px}.story-link{display:inline-block;margin-bottom:0;color:var(--text);font-size:clamp(1.35rem, 3vw, 2.45rem);font-weight:900;line-height:0.98;letter-spacing:-0.045em;text-decoration:none}.story-meta{color:var(--muted);font-size:0.76rem;font-weight:900;letter-spacing:0.12em;line-height:1.2;text-align:right;text-transform:uppercase}.page-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.feature-image{margin:0 0 1rem}.feature-image img,.ingredient-card img{display:block;width:100%;object-fit:cover;border-radius:0}.feature-image img{aspect-ratio:16 / 9;border:1px solid var(--border);box-shadow:0 12px 28px rgba(17,24,39,0.12)}.feature-image figcaption{margin-top:0.45rem;color:var(--muted);font-size:0.84rem;font-weight:700}.feature-image figcaption a{color:inherit}.ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:14px;margin:1rem 0 0;padding:0;list-style:none}.ingredient-card{display:grid;gap:8px;height:100%;padding:0;text-decoration:none}.ingredient-card img{aspect-ratio:4 / 3;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 24px rgba(17,24,39,0.08)}.ingredient-card__title{color:var(--text);font-size:0.98rem;font-weight:800;line-height:1.15}.ingredient-card__summary{color:var(--muted);font-size:0.9rem;line-height:1.35}.pagination{display:flex;gap:12px;margin-top:1.4rem;font-size:0.9rem;font-weight:800;text-transform:uppercase}article blockquote{margin:1.6rem 0;padding:0.2rem 0 0.2rem 1.1rem;border-left:4px solid var(--border);color:var(--muted)}article table{width:100%;border-collapse:collapse;margin:1rem 0}article th,article td{padding:0.55rem 0.6rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}article th{color:var(--accent-2);font-size:0.8rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}.resume-page{max-width:860px}.resume-body .site-brand__art{display:none}.resume-page header{margin-bottom:10px}.resume-page h1,.resume-page h2,.resume-page h3{letter-spacing:0}.resume-page h1{font-size:clamp(2.25rem, 7vw, 3.1rem)}.resume-page h2{margin-top:2rem;padding-bottom:0.35rem;border-bottom:1px solid var(--border-strong);color:var(--accent);font-size:clamp(1.25rem, 4vw, 1.65rem)}.resume-page h3{margin-top:1.25rem;margin-bottom:0.15rem;font-size:1.08rem;line-height:1.22}.resume-page p,.resume-page li{font-size:1rem;line-height:1.58}.resume-page ul{margin-left:1.05rem}.resume-page .resume-contact{display:flex;flex-wrap:wrap;gap:0.35rem 0.6rem;margin-bottom:1.15rem;color:var(--muted);font-size:0.95rem;font-weight:700}.resume-page .resume-meta{margin-bottom:0.55rem;color:var(--text);font-size:0.94rem;line-height:1.38}.resume-page .resume-date{color:var(--muted);font-size:0.9rem;font-weight:700}.resume-page h2+h3{margin-top:1rem}@media (max-width: 640px){.story-list li{grid-template-columns:1fr;gap:8px}.story-meta{text-align:left}.content-page>section p,.content-page>section li{line-height:1.68}}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tag-cloud a,.tag-link{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--accent-2);font-size:0.84rem;font-weight:700;text-decoration:none}.gallery-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin-top:1rem}.gallery-item{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;text-align:left;appearance:none}.gallery-item img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:0;box-shadow:0 10px 24px rgba(17,24,39,0.08)}.gallery-item:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:0}.gallery-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:clamp(12px, 3vw, 32px);opacity:0;pointer-events:none}.gallery-modal[hidden]{display:none}.gallery-modal.is-open{opacity:1;pointer-events:auto}.gallery-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 16%, rgba(123,240,214,0.12), transparent 34%),rgba(3,5,9,0.88);backdrop-filter:blur(14px) saturate(1.08);opacity:0}.gallery-modal.is-open .gallery-modal__backdrop{opacity:1}.gallery-modal__dialog{position:relative;z-index:1;width:100%;max-width:1120px;max-height:86vh;margin:0;padding:clamp(10px, 1.8vw, 18px);border:1px solid rgba(238,244,255,0.16);background:rgba(6,8,12,0.72);box-shadow:0 34px 90px rgba(0,0,0,0.55),inset 0 1px 0 rgba(255,255,255,0.08);opacity:0}.gallery-modal.is-open .gallery-modal__dialog{opacity:1}.gallery-modal__image{width:100%;max-height:calc(86vh - 78px);object-fit:contain;border-radius:0;background:rgba(255,255,255,0.04);box-shadow:0 0 0 1px rgba(238,244,255,0.08);opacity:1}.gallery-modal.is-loading .gallery-modal__image{opacity:0}.gallery-modal__caption{min-height:1.6em;margin-top:12px;color:var(--muted);font-size:0.9rem;line-height:1.45}.gallery-modal__close{position:absolute;top:12px;right:12px;z-index:2;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(238,244,255,0.18);border-radius:999px;background:rgba(6,8,12,0.72);color:#fff;font:inherit;font-size:1.85rem;line-height:1;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,0.34)}.gallery-modal__loader{position:absolute;top:50%;left:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border:2px solid rgba(238,244,255,0.2);border-top-color:var(--accent);border-radius:999px;opacity:0;pointer-events:none;animation:gallery-loader-spin 780ms linear infinite}.gallery-modal.is-loading .gallery-modal__loader{opacity:1}body.gallery-modal-open{overflow:hidden}@keyframes gallery-loader-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.gallery-modal{align-items:center;padding:10px}.gallery-modal__dialog{width:100%;max-height:90vh;padding:8px}.gallery-modal__image{max-height:calc(90vh - 72px)}.gallery-modal__caption{font-size:0.84rem}}@media (prefers-reduced-motion: reduce){.gallery-modal,.gallery-modal__backdrop,.gallery-modal__dialog,.gallery-modal__image,.gallery-modal__close,.gallery-modal__loader{animation:none}}.cta{text-align:center;background:#fff;padding:1em;box-shadow:0 0 2px}.cta a{padding:10px;border:1px solid}.embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.home-page{--bg: #f4f4f1;--surface: #ffffff;--surface-2: #e7e7e2;--text: #111111;--muted: #666661;--border: #1d1d1b;--border-strong: #111111;--accent: #111111;--accent-2: #77776f;--accent-soft: rgba(17, 17, 17, 0.08);background:linear-gradient(90deg, rgba(17,17,17,0.05) 1px, transparent 1px),linear-gradient(180deg, rgba(17,17,17,0.04) 1px, transparent 1px),var(--bg);background-size:84px 84px;color:var(--text)}.home-page>main.portfolio-home{width:calc(100% - 32px);max-width:1180px;margin:0 auto;padding:0 0 42px}.portfolio-splash{position:relative;display:grid;min-height:92vh;margin:0 0 clamp(32px, 7vw, 84px);align-items:center}@supports (min-height: 100svh){.portfolio-splash{min-height:92svh}}.portfolio-splash__inner{display:grid;grid-template-columns:minmax(0, 1fr) minmax(260px, 0.38fr);gap:clamp(28px, 6vw, 86px);align-items:end;width:100%;padding:clamp(60px, 10vw, 120px) 0 clamp(76px, 11vw, 136px)}.portfolio-splash__copy{display:grid;gap:clamp(18px, 2vw, 26px);align-content:end}.portfolio-splash h1{max-width:860px;margin:0;color:var(--text);font-size:clamp(4.8rem, 14vw, 12.5rem);font-weight:900;font-style:normal;line-height:0.84;letter-spacing:-0.085em}.portfolio-splash__tagline{max-width:760px;margin:0;color:var(--muted);font-size:clamp(1.28rem, 2.35vw, 2.15rem);font-weight:700;line-height:1.12;letter-spacing:-0.04em}.portfolio-splash__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.portfolio-splash__meta a,.portfolio-splash__meta span{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid var(--border);background:rgba(255,255,255,0.52);color:var(--text);font-size:0.78rem;font-weight:900;letter-spacing:0.11em;line-height:1;text-decoration:none;text-transform:uppercase}.portfolio-splash__meta span{color:var(--muted)}.portfolio-portrait-card{align-self:center;margin:0;border:1px solid var(--border);background:var(--surface);box-shadow:10px 10px 0 rgba(17,17,17,0.08)}.portfolio-portrait-card img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.portfolio-portrait-card figcaption{display:grid;gap:6px;padding:14px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:0.74rem;font-weight:900;letter-spacing:0.1em;line-height:1.3;text-transform:uppercase}.portfolio-portrait-card strong{color:var(--text)}.portfolio-scroll-cue{position:absolute;bottom:clamp(16px, 4vw, 34px);left:0;display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid var(--border);color:var(--text);font-size:0.72rem;font-weight:900;letter-spacing:0.14em;line-height:1;text-decoration:none;text-transform:uppercase}.portfolio-scroll-cue::after{content:"↓";margin-left:10px;font-size:1rem;line-height:1}.portfolio-scroll-cue:focus-visible{outline:3px solid var(--text);outline-offset:8px}.portfolio-nav{position:sticky;top:12px;z-index:20;display:flex;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto clamp(34px, 6vw, 74px);padding:7px;border:1px solid var(--border);background:rgba(244,244,241,0.88);backdrop-filter:blur(16px)}.portfolio-nav a,.portfolio-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:0.82rem;font-weight:800;line-height:1;text-decoration:none;text-transform:uppercase}.portfolio-button--primary{background:var(--text);color:var(--surface)}.portfolio-intro{display:grid;grid-template-columns:minmax(0, 0.94fr) minmax(340px, 1.06fr);gap:clamp(24px, 5vw, 70px);align-items:end;margin-bottom:clamp(54px, 10vw, 120px)}.portfolio-label{margin:0 0 14px;color:var(--muted);font-size:0.78rem;font-weight:900;letter-spacing:0.14em;text-transform:uppercase}.portfolio-intro h2,.portfolio-section h2,.portfolio-about h2{margin:0;color:var(--text);font-size:clamp(2.35rem, 6.2vw, 5.7rem);font-weight:900;line-height:0.91;letter-spacing:-0.055em}.portfolio-intro p:not(.portfolio-label),.portfolio-about__copy p,.portfolio-footer p{max-width:620px;color:var(--muted);font-size:clamp(1.06rem, 1.7vw, 1.28rem);line-height:1.48}.portfolio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.portfolio-hero-card{position:relative;margin:0;border:1px solid var(--border);background:var(--surface)}.portfolio-hero-card img{width:100%;aspect-ratio:1.08 / 1;object-fit:cover}.portfolio-hero-card figcaption{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:0.78rem;font-weight:800;letter-spacing:0.08em;line-height:1.35;text-transform:uppercase}.portfolio-hero-card strong{color:var(--text);text-align:right}.portfolio-section{margin-bottom:clamp(58px, 10vw, 126px);scroll-margin-top:96px}.portfolio-section__header{display:grid;grid-template-columns:minmax(0, 0.82fr) minmax(260px, 0.38fr);gap:clamp(22px, 4vw, 64px);align-items:end;margin-bottom:clamp(22px, 4vw, 42px);border-top:1px solid var(--border);padding-top:18px}.portfolio-section__dek{max-width:440px;margin:0 0 0 auto;color:var(--muted);font-size:clamp(1rem, 1.45vw, 1.18rem);line-height:1.52}.work-grid{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:clamp(14px, 2vw, 22px)}.work-card{position:relative;grid-column:span 3;min-height:100%;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:10px 10px 0 rgba(17,17,17,0.08);transition:transform 180ms ease, box-shadow 180ms ease}.work-card--feature{grid-column:1 / -1}.work-card--wide{grid-column:span 4}.work-card--full{grid-column:1 / -1}.work-card--feature a,.work-card--full a{grid-template-columns:minmax(0, 1.2fr) minmax(320px, 0.8fr);grid-template-rows:auto}.work-card a{display:grid;grid-template-rows:auto 1fr;min-height:100%;color:inherit;text-decoration:none}.work-card a:focus-visible{outline:4px solid var(--text);outline-offset:-7px}.work-card:hover{transform:translate(-3px, -3px);box-shadow:14px 14px 0 rgba(17,17,17,0.12)}.work-card__media{position:relative;overflow:hidden;border-bottom:1px solid var(--border);background:#d9dedf}.work-card--feature .work-card__media{border-right:1px solid var(--border);border-bottom:0}.work-card__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg, transparent 70%, rgba(17,17,17,0.11)),linear-gradient(90deg, rgba(255,255,255,0.22), transparent 28%);mix-blend-mode:multiply}.work-card img{display:block;width:100%;height:100%;aspect-ratio:1.55 / 1;object-fit:cover;object-position:top center}.work-card--feature img{aspect-ratio:1.42 / 1}.work-card--contain img{object-fit:contain;padding:clamp(18px, 3vw, 34px);background:#eff1f0}.work-card__body{display:grid;align-content:start;gap:12px;padding:clamp(18px, 2.4vw, 30px)}.work-card__body span,.portfolio-writing__list span,.portfolio-stats dt{color:var(--muted);font-size:0.74rem;font-weight:900;letter-spacing:0.13em;line-height:1.2;text-transform:uppercase}.work-card h3{max-width:11ch;margin:0;color:var(--text);font-size:clamp(1.48rem, 3.2vw, 3.2rem);line-height:0.95;letter-spacing:-0.055em}.work-card:not(.work-card--feature) h3{max-width:13ch;font-size:clamp(1.38rem, 2.4vw, 2.25rem)}.work-card p{margin:0;color:var(--muted);font-size:0.98rem;line-height:1.48}.work-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 0;padding:0;list-style:none}.work-card__tags li{padding:7px 9px;border:1px solid rgba(17,17,17,0.16);background:var(--accent-soft);color:var(--text);font-size:0.68rem;font-weight:900;letter-spacing:0.1em;line-height:1;text-transform:uppercase}.portfolio-about{display:grid;grid-template-columns:minmax(0, 0.95fr) minmax(280px, 0.75fr);gap:clamp(24px, 5vw, 72px);align-items:start;margin-bottom:clamp(58px, 10vw, 126px);padding:clamp(26px, 5vw, 58px);border:1px solid var(--border);background:#111111;color:#f4f4f1;scroll-margin-top:96px}.portfolio-about .portfolio-label,.portfolio-about__copy p,.portfolio-about .portfolio-stats dt{color:#aaa9a0}.portfolio-about h2,.portfolio-about .portfolio-stats dd{color:#f4f4f1}.portfolio-about__copy{display:grid;gap:14px}.portfolio-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1px;margin:0;border:1px solid #4b4a45;background:#4b4a45}.portfolio-stats div{padding:18px;background:#111111}.portfolio-stats dd{margin:8px 0 0;font-size:clamp(1rem, 1.8vw, 1.26rem);font-weight:800;line-height:1.2}.portfolio-writing__list{display:grid;margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.portfolio-writing__list li{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:18px;align-items:baseline;margin:0;padding:18px 0;border-bottom:1px solid var(--border)}.portfolio-writing__list a{color:var(--text);font-size:clamp(1.2rem, 2.6vw, 2rem);font-weight:900;line-height:1;letter-spacing:-0.04em;text-decoration:none}.portfolio-footer{display:flex;justify-content:space-between;gap:24px;align-items:end;padding-top:22px;border-top:1px solid var(--border)}.portfolio-footer p{margin:0}.portfolio-footer a{color:var(--text);font-size:clamp(1.3rem, 3vw, 2.8rem);font-weight:900;line-height:0.95;letter-spacing:-0.055em;text-decoration:none}@media (max-width: 860px){.portfolio-splash__inner,.portfolio-intro,.portfolio-about,.portfolio-section__header{grid-template-columns:1fr}.work-grid,.portfolio-stats{grid-template-columns:1fr 1fr}.portfolio-section__dek{max-width:680px;margin-left:0}.work-card,.work-card--wide{grid-column:span 1}.work-card--feature,.work-card--full{grid-column:span 2}.work-card--feature a,.work-card--full a{grid-template-columns:1fr}.work-card--feature .work-card__media{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width: 640px){.home-page>main.portfolio-home{width:calc(100% - 20px)}.portfolio-splash{min-height:auto}.portfolio-splash__inner{padding:54px 0 82px}.portfolio-splash h1{font-size:clamp(4.6rem, 26vw, 7.4rem);letter-spacing:-0.08em}.portfolio-splash__meta a,.portfolio-splash__meta span{width:100%;justify-content:center;text-align:center}.portfolio-portrait-card{max-width:360px}.portfolio-scroll-cue{bottom:10px;font-size:0.64rem}.portfolio-nav{position:static;width:100%;flex-wrap:wrap}.portfolio-nav a{flex:1 1 calc(50% - 8px)}.portfolio-hero-card figcaption,.portfolio-writing__list li,.portfolio-footer{display:grid;grid-template-columns:1fr}.portfolio-hero-card strong{text-align:left}.work-grid,.portfolio-stats{grid-template-columns:1fr}.work-card,.work-card--feature,.work-card--full{grid-column:span 1}.portfolio-about{padding:22px}}article pre,article code{font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}article :not(pre)>code{padding:0.12rem 0.38rem;border:1px solid rgba(123,240,214,0.18);background:rgba(9,12,18,0.94);color:#d7fff4;font-size:0.94em;white-space:break-spaces;box-decoration-break:clone;-webkit-box-decoration-break:clone}article pre,.highlight,.chroma{overflow-x:auto;margin:1rem 0;border:1px solid rgba(179,194,220,0.24);border-radius:0;background:linear-gradient(180deg, rgba(7,10,16,0.98), rgba(9,12,18,0.94)),#091018}article pre{padding:14px 16px;color:#e8f1ff;line-height:1.65;tab-size:2}.highlight>pre,.chroma>pre{margin:0;padding:14px 16px;background:transparent;color:inherit}.highlight table,.chroma table,.highlight .lntable,.chroma .lntable{width:100%;border-collapse:collapse;border-spacing:0;margin:0}.highlight td,.chroma td{padding:0;border:0;vertical-align:top}.highlight code,.chroma code{font-family:inherit;font-size:0.95rem;color:inherit;background:transparent}.highlight .ln,.highlight .lnt,.chroma .ln,.chroma .lnt{color:rgba(155,167,184,0.72);margin-right:0.8em;padding-right:0.8em;border-right:1px solid rgba(179,194,220,0.16);user-select:none}.highlight .hl,.chroma .hl{display:block;width:100%;background:rgba(123,240,214,0.08)}.chroma .err{color:#ffd6d6;background:rgba(255,90,166,0.18)}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kr{color:#7bf0d6;font-weight:700}.chroma .kt{color:#8fbfff;font-weight:700}.chroma .na,.chroma .nc,.chroma .nd,.chroma .ne,.chroma .nf,.chroma .nn,.chroma .nt,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi{color:#9cc2ff}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .s1,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss,.chroma .dl{color:#ffd29d}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#b7f5ff;font-weight:700}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:rgba(155,167,184,0.74);font-style:italic}.chroma .o,.chroma .ow,.chroma .p,.chroma .x{color:#e8f1ff}.chroma .gd{color:#ffd6d6;background:rgba(255,90,90,0.14)}.chroma .gi{color:#e7fff6;background:rgba(123,240,214,0.1)}.chroma .go,.chroma .gp,.chroma .gr,.chroma .gh,.chroma .gu,.chroma .gt{color:#d7e6ff}article pre code{padding:0;background:transparent;color:inherit}article .highlight{position:relative}article .highlight::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg, rgba(123,240,214,0.14), rgba(255,90,166,0.22), rgba(123,240,214,0.14));pointer-events:none}@keyframes contact-letter-wave{0%,100%{transform:translateY(0)}35%{transform:translateY(-4px)}70%{transform:translateY(1px)}}@media (max-width: 540px){.gallery-grid{grid-template-columns:1fr}h1{font-size:clamp(1.8rem, 12vw, 2.8rem)}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important}.app-background img{transform:scale(1.14)}}@keyframes title-pop{0%{opacity:0;transform:translateY(16px) scale(0.96) rotate(-1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes title-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(0.5deg)}}@keyframes title-letter-drift{0%,100%{transform:translateY(0) scale(1) rotate(0deg)}18%{transform:translateY(-6px) scale(1.03) rotate(-2deg)}38%{transform:translateY(2px) scale(0.98) rotate(1deg)}62%{transform:translateY(-3px) scale(1.06) rotate(2deg)}}@keyframes title-letter-drop{0%,100%{transform:translateY(0) scale(1) rotate(0deg)}20%{transform:translateY(7px) scale(1.04) rotate(-1deg)}45%{transform:translateY(-2px) scale(0.96) rotate(2deg)}70%{transform:translateY(4px) scale(1.08) rotate(-3deg)}}@keyframes title-letter-glitch{0%,88%,100%{filter:none;text-shadow:none;opacity:1}89%{filter:hue-rotate(12deg) contrast(1.2);text-shadow:1px 0 0 rgba(123,240,214,0.42),-1px 0 0 rgba(255,0,120,0.34)}90%{filter:hue-rotate(-16deg) contrast(1.35);transform:translateX(1px) scaleX(1.08)}91%{opacity:0.82;transform:translateX(-1px) skewX(6deg)}}@keyframes title-letter-flicker{0%,94%,100%{opacity:1}95%{opacity:0.55}96%{opacity:1}97%{opacity:0.88}}@keyframes art-creep{0%,100%{transform:translate(0, 0) rotate(-3deg) scale(1)}50%{transform:translate(-12px, -10px) rotate(2deg) scale(1.03)}25%{transform:translate(-18px, 4px) rotate(1deg) scale(1.02)}75%{transform:translate(8px, -6px) rotate(-1.5deg) scale(1.04)}}@keyframes glitch-shift{0%,100%{transform:translate3d(0, 0, 0)}25%{transform:translate3d(-1px, 0, 0)}50%{transform:translate3d(1px, -1px, 0)}75%{transform:translate3d(0, 1px, 0)}}@keyframes glitch-jitter-a{0%,100%{transform:translateX(-2px)}50%{transform:translateX(5px)}}@keyframes glitch-jitter-b{0%,100%{transform:translateX(2px)}50%{transform:translateX(-6px)}}@keyframes glitch-pixel-flicker{0%,35%,100%{opacity:0}36%{opacity:1}38%{opacity:0.15}40%{opacity:0.95}68%{opacity:0}70%{opacity:0.85}72%{opacity:0.05}85%{opacity:1}88%{opacity:0}}@keyframes glitch-pixel-shift{0%,100%{transform:translate(0, 0) scaleX(1)}30%{transform:translate(2px, -1px) scaleX(1.2)}55%{transform:translate(-3px, 1px) scaleX(0.8)}80%{transform:translate(1px, 2px) scaleX(1.1)}}
