@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/38f8abefb8f859c4.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/4da63a1b968e240d.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/a699af1dea30b799.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/e45972c7e9f24dc3.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/87e867b52640b3b3.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/6f49e1b28bce7339.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/2f6c206f7c744148.woff2) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/861da2b4255e09a6.woff2) format('truetype');
}

:root{--black:#080a08;--panel:#111510;--white:#eef2e9;--muted:#9ca99b;--line:#344033;--green:#a5ff52;--gutter:clamp(20px,3.4vw,62px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}::selection{background:var(--green);color:#071007}.mono,.section-marker,.footer-kicker{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.07em;line-height:1.6}.green,.spark{color:var(--green)}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:76px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:0;background:transparent;backdrop-filter:none}.brand{font-size:clamp(25px,2.5vw,36px);letter-spacing:-.08em;font-weight:800;white-space:nowrap;line-height:1}.brand-knife{color:var(--green)}.brand-fall{color:var(--green);font-style:italic;font-weight:400;letter-spacing:-.1em}.brand-studio{color:var(--white);font-weight:800}.top-nav{display:flex;align-items:center;gap:clamp(18px,3vw,48px);font-family:'DM Mono',monospace;font-size:11px}.top-nav a:hover,.footer-meta a:hover{color:var(--green)}.top-nav span{color:var(--green)}.nav-contact{border:1px solid var(--green);padding:11px 14px;color:var(--green)}.menu-toggle{display:none;background:none;border:1px solid var(--green);color:var(--green);padding:9px 12px;font:11px 'DM Mono',monospace;cursor:pointer}.menu-toggle span{margin-left:12px}.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.hero-media,.hero-shade,.project-cover,.project-overlay{position:absolute;inset:0}.hero-media img,.project-cover img{width:100%;height:100%;object-fit:cover}.hero-media{opacity:.72;animation:heroEnter 1.5s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 75%),linear-gradient(0deg,#080a08 0%,transparent 60%),linear-gradient(180deg,rgba(0,0,0,.55),transparent 30%)}.hero-top{position:absolute;z-index:2;top:115px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;color:var(--white)}.hero-top span:last-child{align-self:start}.hero-copy{position:relative;z-index:2;padding:0 var(--gutter) 5.5vh}.hero-eyebrow{color:var(--green);margin-bottom:20px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);margin-right:7px}.hero h1{margin:0;font-size:clamp(72px,12.4vw,225px);line-height:.79;letter-spacing:-.095em;font-weight:800;max-width:1400px}.hero h1 span{display:block}.hero h1 em{display:block;color:var(--green);font-style:normal}.hero-bottom{margin-top:clamp(34px,6vw,95px);display:flex;align-items:end;justify-content:space-between;max-width:760px}.hero-bottom p{font-size:clamp(15px,1.4vw,22px);line-height:1.5;margin:0}.circle-link{width:64px;height:64px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font-size:28px;color:var(--green);transition:.25s}.circle-link:hover{background:var(--green);color:var(--black)}.hero-side{position:absolute;right:var(--gutter);bottom:7vh;z-index:3;writing-mode:vertical-rl;color:var(--muted)}.section-pad{padding:clamp(90px,10vw,170px) var(--gutter)}.intro{display:grid;grid-template-columns:1fr 3fr;gap:30px;border-bottom:1px solid var(--line)}.section-marker{color:var(--green)}.intro-statement{margin:0;max-width:1350px;font-size:clamp(38px,6.6vw,110px);line-height:1.05;letter-spacing:-.07em;font-weight:500}.intro-statement em,.closing-statement em,.simple-hero em{font-style:normal;color:var(--green)}.intro-aside{display:flex;justify-content:space-between;gap:40px;margin-top:80px;padding-top:26px;border-top:1px solid var(--line);color:var(--muted)}.intro-aside p{max-width:480px;margin:0;font-size:17px;line-height:1.6;color:var(--white)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading h2{font-size:clamp(52px,9vw,150px);letter-spacing:-.09em;line-height:.85;margin:18px 0 0}.section-count{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,6vw,110px) 20px}.feature-card:nth-child(2n){transform:translateY(90px)}.feature-image{position:relative;overflow:hidden;aspect-ratio:1.37;background:#1d231d}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1)}.feature-card:hover img{transform:scale(1.06)}.card-arrow{position:absolute;right:18px;bottom:18px;border-radius:50%;height:46px;width:46px;display:grid;place-items:center;background:var(--green);color:var(--black);font-size:24px;transform:translateY(75px);transition:.3s}.feature-card:hover .card-arrow{transform:translateY(0)}.card-info{padding-top:18px}.card-info .mono{color:var(--green)}.card-info h3{font-size:clamp(22px,2.4vw,39px);line-height:1.15;letter-spacing:-.045em;margin:10px 0 0;max-width:650px}.all-projects{margin-top:70px}.filters{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:12px 16px;cursor:pointer;font:11px 'DM Mono',monospace}.filters button:hover,.filters button.active{background:var(--green);color:var(--black);border-color:var(--green)}.filters sup{font-size:9px;margin-left:5px}.index-list{border-top:1px solid var(--line)}.index-row{position:relative;display:grid;grid-template-columns:70px 1fr 180px 35px;align-items:center;gap:16px;min-height:94px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.index-row:hover{background:#151d11;padding:0 14px}.row-num,.row-category{color:var(--muted)}.row-name{font-size:clamp(21px,2.5vw,38px);letter-spacing:-.05em;line-height:1.15}.row-arrow{font-size:24px;color:var(--green)}.row-preview{position:absolute;z-index:3;right:15%;bottom:55%;width:220px;aspect-ratio:1.4;object-fit:cover;pointer-events:none;opacity:0;transform:rotate(-5deg) scale(.9);transition:.25s;box-shadow:0 15px 30px #0009}.index-row:hover .row-preview{opacity:1;transform:rotate(3deg) scale(1)}.index-row[hidden]{display:none}.empty-state{font-family:'DM Mono',monospace;color:var(--muted)}.closing-statement{min-height:70vh;background:var(--green);color:var(--black);display:flex;flex-direction:column;justify-content:space-between}.closing-statement p{font-size:clamp(52px,8vw,140px);line-height:.98;letter-spacing:-.08em;font-weight:600;margin:35px 0}.closing-statement em{color:var(--black);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:9px}.closing-statement .text-link{border-color:var(--black)}.text-link{align-self:flex-start;border-bottom:1px solid var(--green);padding-bottom:9px;font:12px 'DM Mono',monospace}.site-footer{padding:90px var(--gutter) 30px}.footer-kicker{color:var(--green)}.footer-big{display:block;font-size:clamp(70px,13vw,230px);line-height:.85;letter-spacing:-.1em;font-weight:700;margin:45px 0 110px}.footer-big em{font-style:normal;color:var(--green)}.footer-big span{color:var(--green);font-size:.5em;vertical-align:top;margin-left:.3em}.footer-meta{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font:11px 'DM Mono',monospace}.footer-meta div{display:flex;gap:24px}.project-hero{height:min(850px,90svh);min-height:560px;position:relative;display:flex;align-items:end}.project-cover{background:#1a2018}.project-overlay{background:linear-gradient(0deg,#080a08,transparent 75%),linear-gradient(90deg,#0008,transparent)}.project-heading{position:relative;padding:130px var(--gutter) 55px;width:100%}.back-link{display:inline-block;margin-bottom:12vh}.project-tag{color:var(--green)}.project-heading h1{font-size:clamp(56px,9.5vw,160px);line-height:.92;letter-spacing:-.08em;max-width:1350px;margin:14px 0 40px;text-transform:uppercase}.project-intro{display:grid;grid-template-columns:1fr 2fr;gap:30px}.project-intro h2{font-size:clamp(34px,5vw,78px);letter-spacing:-.06em;line-height:1.02;margin:0 0 45px;text-transform:uppercase}.project-description{font-size:clamp(17px,1.65vw,25px);line-height:1.55;max-width:870px;color:#c7d0c3}.project-description p{margin:0 0 25px}.project-gallery{padding:0 var(--gutter);display:grid;gap:clamp(16px,3vw,50px)}.gallery-item{margin:0;position:relative;background:#151a15}.gallery-item img,.gallery-item video{width:100%;height:auto;max-height:95vh;object-fit:contain}.gallery-item figcaption{position:absolute;left:15px;bottom:14px;background:#080a08bb;padding:5px 8px;color:var(--green)}.next-project{display:grid;grid-template-columns:1fr 3fr 40px;gap:30px;align-items:center;margin-top:90px;border-top:1px solid var(--line)}.next-project strong{font-size:clamp(36px,6vw,98px);letter-spacing:-.07em;line-height:1;text-transform:uppercase}.next-project:hover strong,.next-arrow{color:var(--green)}.next-arrow{font-size:45px}.simple-hero{min-height:90svh;padding-top:160px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line)}.simple-hero h1{font-size:clamp(80px,13vw,230px);letter-spacing:-.1em;line-height:.84;margin:50px 0}.simple-bottom{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.about-copy,.contact-body{display:grid;grid-template-columns:1fr 2fr;gap:40px}.about-copy h2{font-size:clamp(50px,7vw,120px);line-height:.95;letter-spacing:-.075em;margin:0 0 55px}.about-copy p{max-width:830px;font-size:clamp(18px,1.8vw,27px);line-height:1.6;color:#c6d0c2}.about-copy .text-link{display:inline-block;margin-top:50px}.contact-body{min-height:400px}.contact-body p{font-size:26px}.contact-body a{display:inline-block;font-size:clamp(22px,3.8vw,63px);letter-spacing:-.06em;overflow-wrap:anywhere}.contact-body a:hover{color:var(--green)}.social-links{display:flex;gap:30px;margin-top:100px}.social-links a{font:12px 'DM Mono',monospace}.reveal{opacity:1}@keyframes heroEnter{from{transform:scale(1.05);opacity:.25}to{transform:scale(1);opacity:.72}}@media(max-width:800px){.site-header{height:64px}.brand{font-size:25px}.brand-note{display:none}.menu-toggle{display:block}.top-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--black);padding:20px var(--gutter) 30px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);font-size:16px}.top-nav.open{display:flex}.hero-top{top:95px}.hero-top span:last-child{display:none}.hero h1{font-size:clamp(62px,13vw,110px)}.hero-bottom{align-items:end}.hero-side{display:none}.intro,.project-intro,.about-copy,.contact-body{grid-template-columns:1fr}.intro-statement{margin-top:30px}.intro-aside{margin-top:50px}.feature-card:nth-child(2n){transform:none}.index-row{grid-template-columns:40px 1fr 22px}.row-category{display:none}.row-preview{display:none}.footer-meta{flex-wrap:wrap}.next-project{grid-template-columns:1fr 30px}.next-project .mono{grid-column:1/-1}.simple-hero h1{font-size:clamp(70px,12vw,120px)}}@media(max-width:600px){.hero{min-height:760px;max-height:980px}.hero-media img{object-position:55% center}.hero-copy{padding-bottom:38px}.hero h1{font-size:clamp(57px,13.5vw,82px)}.hero-bottom p{font-size:13px}.circle-link{width:48px;height:48px;flex:none}.hero-top{font-size:9px}.section-pad{padding:85px var(--gutter)}.intro-aside{display:block}.intro-aside p{margin-top:22px;font-size:15px}.section-heading{align-items:start}.section-heading h2{font-size:clamp(50px,14vw,80px)}.section-count{display:none}.feature-grid{grid-template-columns:1fr;gap:45px}.feature-image{aspect-ratio:1.2}.all-projects{margin-top:0}.filters button{font-size:9px;padding:10px}.index-row{min-height:76px;gap:10px}.row-name{font-size:20px}.row-num{font-size:9px}.closing-statement{min-height:500px}.closing-statement p{font-size:clamp(52px,12vw,80px)}.site-footer{padding-top:70px}.footer-big{font-size:clamp(61px,12vw,95px);margin-bottom:80px}.footer-meta{display:grid;line-height:1.6}.footer-meta div{flex-wrap:wrap}.project-hero{height:78svh;min-height:500px}.project-heading{padding-bottom:30px}.project-heading h1{font-size:clamp(49px,12vw,84px)}.project-intro h2{font-size:42px}.project-gallery{gap:15px}.simple-hero{min-height:700px}.simple-hero h1{font-size:clamp(64px,14vw,90px)}.simple-bottom{display:block}.simple-bottom span{display:block;margin-top:8px}.contact-body a{font-size:clamp(22px,6vw,36px)}.social-links{margin-top:60px}.social-links a{font-size:11px}}

/* WebGL knife rain: full-bleed canvas behind the hero content. */
.hero-webgl{opacity:1;animation:none;background:radial-gradient(circle at 74% 34%,#192d19 0%,#0b100e 38%,#050706 75%)}.hero-webgl canvas{display:block;width:100%;height:100%;touch-action:pan-y}.hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.47),rgba(0,0,0,.06) 75%),linear-gradient(0deg,#080a08 0%,transparent 38%),linear-gradient(180deg,rgba(0,0,0,.38),transparent 28%)}@media(max-width:600px){.brand{font-size:25px}.hero .hero-shade{background:linear-gradient(90deg,#0008,#0003),linear-gradient(0deg,#080a08,transparent 40%)}}

.knife-fallback{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.83}.falling-knife{position:absolute;left:var(--x);top:-40%;width:var(--w);filter:drop-shadow(0 12px 16px #0009) drop-shadow(0 0 12px #7eea5527);animation:knife-fall var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}.falling-knife svg{width:100%;height:auto;display:block}.hero-webgl.webgl-ready .knife-fallback{display:none}@keyframes knife-fall{from{transform:translate3d(0,-35vh,0) rotate(var(--r)) rotateY(-35deg)}to{transform:translate3d(5vw,180vh,0) rotate(calc(var(--r) + 70deg)) rotateY(35deg)}}@media(max-width:600px){.falling-knife{width:calc(var(--w) * .65)}.knife-fallback{opacity:.65}}@media(prefers-reduced-motion:reduce){.falling-knife{animation:none;top:var(--x);transform:rotate(var(--r))}}

/* Horizontal portfolio frames use a consistent 16:9 proportion. */
.feature-image{aspect-ratio:16/9}.gallery-item.image.landscape{aspect-ratio:16/9}.gallery-item.image.landscape img{width:100%;height:100%;max-height:none;object-fit:contain}.gallery-item.video video{aspect-ratio:16/9;object-fit:contain}

.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-word{display:block;line-height:1}.brand-credit{font:500 8px 'DM Mono',monospace;letter-spacing:.22em;color:#e7eee3;opacity:.8;margin-left:2px}.site-intro{position:fixed;inset:0;z-index:1000;background:var(--green);color:#091109;display:grid;place-items:center;transition:opacity .65s ease,visibility .65s ease}.site-intro.is-done{opacity:0;visibility:hidden;pointer-events:none}.intro-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.intro-knife{width:118px;height:160px;position:relative;display:grid;place-items:center}.intro-knife canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.intro-knife svg{width:70px;height:150px;filter:drop-shadow(4px 8px 4px #315b2188);animation:intro-turn 2.5s ease-in-out infinite}.intro-knife.webgl-ready svg{display:none}.intro-center strong{font-size:clamp(27px,3vw,42px);font-weight:800;letter-spacing:-.08em;line-height:1}.intro-by{font:500 9px 'DM Mono',monospace;letter-spacing:.24em}.intro-loading{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:.18em}.intro-dots{display:inline-block;animation:blink 1.1s steps(3,end) infinite}@keyframes intro-turn{0%,100%{transform:rotateY(-32deg) rotateZ(-12deg)}50%{transform:rotateY(32deg) rotateZ(12deg)}}@keyframes blink{50%{opacity:.15}}@media(max-width:600px){.brand-credit{font-size:7px}.intro-knife{width:105px;height:145px}}@media(prefers-reduced-motion:reduce){.intro-knife svg,.intro-dots{animation:none}.site-intro{transition-duration:.1s}}

/* The fallback uses a render of the exact supplied GLB when WebGL is disabled. */
.falling-knife{width:calc(var(--w) * 1.7)}
.falling-knife img{display:block;width:100%;height:auto;object-fit:contain;filter:brightness(2.7) contrast(1.15) saturate(.82)}
.intro-knife img{width:118px;height:160px;object-fit:contain;filter:drop-shadow(4px 8px 4px #315b2188);animation:intro-turn 2.5s ease-in-out infinite}
.intro-knife.webgl-ready img{display:none}
@media(prefers-reduced-motion:reduce){.intro-knife img{animation:none}}
@media(max-width:600px){.falling-knife{width:calc(var(--w) * 1.05)}}
/* Consistent horizontal media presentation */
.gallery-item.image.landscape{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}
.gallery-item.image.landscape img{width:100%;height:100%;max-height:none;object-fit:contain}

.bio-aside{align-self:start}.bio-portrait{position:relative;width:min(100%,288px);margin:68px 0 0 14px;isolation:isolate}.bio-portrait::before{content:"";position:absolute;z-index:-1;right:-12px;bottom:21px;width:48%;height:38%;background:var(--green)}.bio-portrait img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;filter:contrast(1.08)}.bio-portrait figcaption{padding-top:15px;color:var(--green)}@media(max-width:800px){.bio-aside{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.bio-portrait{width:min(34vw,180px);margin:0 12px 25px 0}.bio-portrait::before{right:-9px;bottom:22px}}@media(max-width:520px){.bio-aside{display:block}.bio-portrait{width:150px;margin:28px 12px 34px 0}}
/* Adobe Portfolio's own 16:9 cover crops, no additional crop. */
.feature-image{aspect-ratio:16/9}
.feature-image img,.row-preview{object-fit:contain}
.row-preview{aspect-ratio:16/9}
.project-hero{height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.project-cover img{width:100%;height:100%;object-fit:contain}
/* Project media keep their original proportions. */
.gallery-item.image.landscape{aspect-ratio:auto;display:block;overflow:visible}
.gallery-item.image.landscape img,.gallery-item img,.gallery-item video{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:800px){
  .project-hero{aspect-ratio:auto;display:block;overflow:visible}
  .project-cover{position:relative;aspect-ratio:16/9}
  .project-cover img{width:100%;height:100%;object-fit:contain}
  .project-overlay{display:none}
  .project-heading{padding:38px var(--gutter) 55px;background:var(--black)}
  .project-heading h1{font-size:clamp(40px,9vw,76px)}
  .back-link{margin-bottom:28px}
}
/* Original Adobe Portfolio cover crops, with no further clipping. */
.feature-image{aspect-ratio:16/9}
.feature-image img,.row-preview{object-fit:contain}
.row-preview{aspect-ratio:16/9}
.project-hero{height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.project-cover img{width:100%;height:100%;object-fit:contain}
/* Each project image and video is displayed at its own aspect ratio. */
.gallery-item.image.landscape{aspect-ratio:auto;display:block;overflow:visible}
.gallery-item.image.landscape img,.gallery-item img,.gallery-item video{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:800px){
  .project-hero{aspect-ratio:auto;display:block;overflow:visible}
  .project-cover{position:relative;aspect-ratio:16/9}
  .project-cover img{width:100%;height:100%;object-fit:contain}
  .project-overlay{display:none}
  .project-heading{padding:38px var(--gutter) 55px;background:var(--black)}
  .project-heading h1{font-size:clamp(40px,9vw,76px)}
  .back-link{margin-bottom:28px}
}
/* Preserve intrinsic aspect and keep portrait work comfortably readable. */
.project-gallery .gallery-item.portrait{width:min(100%,720px);justify-self:center}
.project-gallery .gallery-item.portrait img,.project-gallery .gallery-item.portrait video{width:100%;height:auto}
/* Desktop hero: 20% smaller to clear the eyebrow. Project names use source case. */
@media(min-width:801px){.hero h1{font-size:clamp(58px,9.9vw,180px)}}
.project-heading h1,.project-intro h2,.next-project strong{text-transform:none}
/* Project covers are presented without overlaid titles or gradients. */
.project-intro{grid-template-columns:1fr 2fr;align-items:start}
.project-back{grid-column:1;grid-row:1;display:inline-block;justify-self:start;color:var(--green);border-bottom:1px solid currentColor;padding-bottom:5px}
.project-intro>.section-marker{grid-column:1;grid-row:2;margin-top:22px}
.project-intro>div{grid-column:2;grid-row:1 / span 2}
@media(max-width:800px){.project-intro{grid-template-columns:1fr}.project-back,.project-intro>.section-marker,.project-intro>div{grid-column:1;grid-row:auto}.project-intro>div{margin-top:20px}}
/* Project detail starts with its title and description below the transparent header. */
.project-intro{padding-top:clamp(145px,15vw,230px)}
@media(max-width:800px){.project-intro{padding-top:125px}}
.contact-form-section{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line)}
.contact-form-wrap{max-width:890px}.contact-form-wrap h2{font-size:clamp(52px,7vw,112px);line-height:.95;letter-spacing:-.075em;margin:0 0 25px}.contact-form-wrap h2 em{font-style:normal;color:var(--green)}
.contact-form-intro{font-size:clamp(17px,1.7vw,23px);color:var(--muted);margin:0 0 70px}
#contact-form{display:grid;gap:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.form-field{display:flex;flex-direction:column;gap:12px;min-width:0}
.form-field>span{font:11px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--white)}.form-field b{color:var(--green);font-weight:400}.form-field small{color:var(--muted);font-size:10px}
.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);border-radius:0;background:#101610;color:var(--white);font:18px Inter,Arial,sans-serif;padding:18px 19px;width:100%;min-height:62px;outline:none;transition:border-color .2s,background .2s}
.form-field textarea{resize:vertical;min-height:190px;line-height:1.5}.form-field input::placeholder,.form-field textarea::placeholder{color:#738273}.form-field select:invalid{color:#738273}.form-field select option{background:#101610;color:var(--white)}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{border-color:var(--green);background:#132015;box-shadow:0 0 0 2px #a5ff5222}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:14px}.form-actions p{max-width:400px;color:var(--muted);font:11px/1.6 'DM Mono',monospace}.form-actions button{flex:none;border:1px solid var(--green);background:var(--green);color:var(--black);padding:20px 25px;cursor:pointer;font:12px 'DM Mono',monospace;letter-spacing:.07em}.form-actions button span{margin-left:28px;font-size:18px}.form-actions button:hover,.form-actions button:focus-visible{background:transparent;color:var(--green)}#contact-form-status{min-height:1em;margin:0;color:var(--green);font:11px 'DM Mono',monospace}
@media(max-width:800px){.contact-form-section{grid-template-columns:1fr}.contact-form-wrap{margin-top:30px}}
@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:35px}.form-actions{align-items:stretch;flex-direction:column}.form-actions button{align-self:stretch;text-align:left}.contact-form-intro{margin-bottom:45px}}

/* Bio portrait: original 2:3 image, fully visible in a compact editorial column. */
.bio-portrait{width:min(100%,240px);margin:40px 0 0;isolation:isolate}
.bio-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:none}
.bio-portrait::before{right:-12px;bottom:32px;width:42%;height:30%}
@media(max-width:800px){.bio-aside{display:block}.bio-portrait{width:min(100%,210px);margin:28px 12px 42px 0}}
@media(max-width:520px){.bio-portrait{width:min(58vw,190px);margin:25px 12px 35px 0}}
/* Loading monogram follows the Knife / Fall / Studio logo treatment. */
.intro-mark{display:flex;align-items:baseline;gap:.02em}
.intro-mark em{font-style:italic;font-weight:400;letter-spacing:-.1em}
.intro-mark span:last-child{color:#fff}

.about-copy h2 em{color:var(--green);font-style:normal}
