:root{--tan:#dbc1a5;--paper:#f4f3f1;--ink:#000;--brown:#6b5a4a;--taupe:#554941;--rule:#00000029;--display:"Fraunces", Georgia, serif;--body:"Public Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--pad:clamp(1.25rem, 5vw, 5.5rem);--measure:34rem}.portfolio-root{background:var(--tan);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6;position:relative;overflow-x:hidden}.portfolio-root *,.portfolio-root :before,.portfolio-root :after{box-sizing:border-box}.portfolio-root:after{content:"";z-index:99;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.portfolio-root img,.portfolio-root video{max-width:100%;display:block}.portfolio-root a{color:inherit}.portfolio-root :focus-visible{outline:2px solid var(--ink);outline-offset:3px}.rail{z-index:50;padding:.7rem var(--pad);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e6;justify-content:space-between;align-items:center;gap:1rem;font-size:.68rem;display:flex;position:fixed;top:0;left:0;right:0}.rail nav{flex-wrap:wrap;gap:1.25rem;display:flex}.rail a{opacity:.62;cursor:pointer;text-decoration:none;transition:opacity .2s}.rail a:hover,.rail a:focus-visible{opacity:1}.rail .mark{opacity:1;letter-spacing:.2em}@media (width<=620px){.rail{padding:.6rem 1rem;font-size:.6rem}.rail nav{gap:.85rem}}.hero{min-height:100svh;padding:5rem var(--pad) 2rem;background:var(--ink);color:var(--paper);grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden}.hero-media{background:radial-gradient(95% 60% at 78% 8%,#dbc1a533 0%,#0000 60%),linear-gradient(#000 0%,#120e0b 26%,#2a2119 48%,#48392d 68%,#6b5a4a 84%,#8a7460 100%);place-items:start center;padding:19vh 1.25rem 0;display:grid;position:absolute;inset:0}.hero-media:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#00000073 0%,#00000038 42%,#0000001a 72%,#0000 100%);position:absolute;inset:0}.hero-media>.slot-media,.hero-media>.slot-placeholder{z-index:1;position:relative}.hero-media>.slot-media{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-media>.slot-media video,.hero-media>.slot-media img{object-fit:cover;width:100%;height:100%}.ph-note{z-index:1;text-align:center;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#f4f3f16b;background:0 0;border:1px dashed #f4f3f147;max-width:min(30rem,80vw);padding:1.5rem 1.75rem;font-size:.7rem;line-height:2;position:relative}.hero-inner{z-index:2;align-self:end;width:100%;position:relative}@media (width<=620px){.hero{padding-top:4rem}.hero-media{padding-top:15vh}.hero .ph-note{letter-spacing:.1em;padding:.9rem 1rem;font-size:.56rem;line-height:2.1}.eyebrow{letter-spacing:.14em;font-size:.6rem}.hero-foot{gap:.6rem 1.75rem;font-size:.62rem}}.eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--tan);margin-bottom:1.25rem;font-size:.7rem}.hero h1{font-family:var(--display);font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 144;letter-spacing:-.03em;margin-left:-.06em;font-size:clamp(3.2rem,13vw,10.5rem);font-weight:600;line-height:.84}.hero h1 em{color:var(--tan);letter-spacing:-.01em;margin-top:.28em;margin-left:.08em;font-size:.44em;font-style:normal;font-weight:300;display:block}.hero-foot{z-index:2;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#f4f3f1b3;border-top:1px solid #f4f3f133;flex-wrap:wrap;align-items:baseline;gap:1rem 2.5rem;margin-top:2.5rem;padding-top:1.1rem;font-size:.72rem;display:flex;position:relative}.portfolio-root section{padding:clamp(4rem, 10vw, 8rem) var(--pad)}.sec-head{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brown);border-bottom:1px solid var(--rule);align-items:baseline;gap:1rem;margin-bottom:clamp(2rem,5vw,3.5rem);padding-bottom:.7rem;font-size:.7rem;display:flex}.sec-head .n{color:var(--ink);opacity:.4}.about{background:radial-gradient(85% 65% at 92% 12%, #dbc1a557 0%, transparent 58%), radial-gradient(70% 55% at 2% 92%, #6b5a4a1f 0%, transparent 62%), var(--paper);position:relative;padding-top:clamp(6rem,13vw,10rem)!important}.about:before{content:"";pointer-events:none;background:linear-gradient(#8a7460 0%,#a08a75b8 26%,#cdbba86b 55%,#f4f3f100 100%);height:clamp(7rem,16vw,13rem);position:absolute;top:0;left:0;right:0}.about-grid{grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem);display:grid}.strip-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin-top:clamp(2.5rem,6vw,4rem);margin-bottom:1rem;font-size:.66rem}.strip-label+.portrait-strip{margin-top:0}.portrait-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.5rem,1.6vw,1rem);margin-top:clamp(2.5rem,6vw,4rem);display:grid}.about h2{font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 100;letter-spacing:-.02em;max-width:16ch;margin-bottom:1.5rem;font-size:clamp(2rem,4.5vw,3.1rem);font-weight:500;line-height:1.05}.about p{max-width:var(--measure);margin-bottom:1.1rem}.about p:first-of-type{color:var(--brown);font-size:1.18em;line-height:1.5}.kicker{font-family:var(--mono);border-left:2px solid var(--taupe);color:#000000b8;margin-top:2rem;padding-left:1rem;font-size:.78rem;line-height:1.9}.portrait{aspect-ratio:4/5;position:relative;overflow:hidden}.portrait.empty{border:1px dashed var(--rule);background:repeating-linear-gradient(135deg,#0000000d 0 2px,#0000 2px 14px),#0000000f;place-items:center;display:grid}.portrait .ph-note{color:#00000073;border-color:var(--rule)}.portrait .slot-media,.portrait .slot-media img,.portrait .slot-media video{object-fit:cover;width:100%;height:100%}.work{background:radial-gradient(95% 60% at 10% 4%, #f4f3f180 0%, transparent 58%), radial-gradient(80% 60% at 96% 96%, #6b5a4a2e 0%, transparent 62%), var(--tan)}.work-note{font-family:var(--mono);letter-spacing:.06em;color:#0000008c;max-width:34rem;margin-top:-1rem;margin-bottom:clamp(2rem,5vw,3rem);font-size:.7rem;line-height:1.9}.grid-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin-bottom:1rem;font-size:.66rem}.reel-grid,.still-grid{grid-template-columns:repeat(2,1fr);gap:clamp(.65rem,2vw,1.15rem);display:grid}.reel-grid{margin-bottom:clamp(2.5rem,6vw,4rem)}@media (width>=820px){.reel-grid,.still-grid{grid-template-columns:repeat(4,1fr)}}.tile{position:relative;overflow:hidden}.tile.empty{border:1px dashed var(--rule);background:repeating-linear-gradient(135deg,#0000000f 0 2px,#0000 2px 14px),#00000012;place-items:center;display:grid}.tile.vert{aspect-ratio:9/16}.tile.still{aspect-ratio:4/5}.tile .ph-note{color:#0000006b;border:none;padding:.5rem;font-size:.58rem;line-height:2}.tile .slot-media,.tile .slot-media img,.tile .slot-media video{object-fit:cover;width:100%;height:100%}.tile .slot-media,.portrait .slot-media{background:var(--ink);position:relative}.slot-media img,.slot-media video{border:2px solid var(--ink)}.video-loading{z-index:1;background:repeating-linear-gradient(135deg, #f4f3f114 0 2px, transparent 2px 14px), var(--ink);position:absolute;inset:0}.play-btn{z-index:2;cursor:pointer;background:0 0;border:none;place-items:center;padding:0;transition:opacity .2s;display:grid;position:absolute;inset:0}.play-btn.is-playing{opacity:0}.play-btn.is-playing:hover,.play-btn.is-playing:focus-visible{opacity:.65}.play-icon{background:#0000009e;border:1px solid #f4f3f18c;border-radius:50%;width:3.4rem;height:3.4rem;transition:transform .2s,background .2s;position:relative}.play-btn:hover .play-icon,.play-btn:focus-visible .play-icon{background:#000000c7;transform:scale(1.08)}.play-icon:after{content:"";border-style:solid;border-width:.55rem 0 .55rem .95rem;border-color:transparent transparent transparent var(--paper);position:absolute;top:50%;left:50%;transform:translate(-38%,-50%)}.contact{color:var(--paper);background:radial-gradient(90% 62% at 88% 92%,#dbc1a529 0%,#0000 62%),linear-gradient(#8a7460 0%,#5e4c3e 14%,#35291f 32%,#150f0b 56%,#000 78%);position:relative;padding-top:clamp(7rem,15vw,12rem)!important}.contact:before{content:"";pointer-events:none;background:linear-gradient(180deg, var(--tan) 0%, #bea48a8c 45%, #8a746000 100%);height:clamp(5rem,11vw,9rem);position:absolute;top:0;left:0;right:0}.contact>*{z-index:1;position:relative}.contact .sec-head{color:var(--tan);border-color:#f4f3f133}.contact .sec-head .n{color:var(--paper)}.contact h2{font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 144;letter-spacing:-.03em;max-width:14ch;margin-bottom:2.5rem;font-size:clamp(2.2rem,7vw,5rem);font-weight:400;line-height:.98}.contact h2 span{color:var(--tan)}.links{border-top:1px solid #f4f3f133;flex-wrap:wrap;gap:1.5rem 3rem;padding-top:1.5rem;display:flex}.links a{font-family:var(--mono);letter-spacing:.06em;border-bottom:1px solid #f4f3f159;padding-bottom:.2rem;font-size:.85rem;text-decoration:none;transition:border-color .2s,color .2s}.links a:hover,.links a:focus-visible{border-color:var(--tan);color:var(--tan)}.links .lbl{letter-spacing:.18em;text-transform:uppercase;color:#f4f3f173;border:none;margin-bottom:.35rem;font-size:.62rem;display:block}.portfolio-footer{padding:2rem var(--pad) 3rem;background:var(--ink);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#f4f3f159;font-size:.62rem}
