@font-face{font-family:"Gotham Local";src:local("Gotham Bold"),local("Gotham-Bold");font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#080808;--ink:#f4f2f2;--muted:#bdb8b9;--line:#333031;--accent:#ff565f;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:5rem}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}body>footer.bar{flex-shrink:0;margin-top:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.45rem 5vw;border-bottom:1px solid var(--line);font-size:.8rem}header.bar{position:sticky;top:0;z-index:10;background:var(--bg)}.bar nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem)}.bar nav,footer.bar>span,.contact-categories{color:var(--muted);font-family:"Gotham Local",Gotham,"Century Gothic",Arial,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.3}.bar nav a{color:#fff;white-space:nowrap;text-underline-offset:.25em}.bar nav a:hover,.bar nav a:focus-visible{text-decoration:underline}.bar a:hover,.bar a[aria-current],#work-title a:hover span,#work-title a:focus-visible span{color:var(--accent)}.brand{font-weight:900;letter-spacing:-.04em;font-size:1.1rem;white-space:nowrap}.brand span{color:var(--muted);font-weight:400}
.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:clamp(32rem,76svh,56rem);overflow:hidden;background:#141213}.hero-copy{padding:4rem 6vw 5rem}.eyebrow,.section-kicker,.caption small,#gallery-count{font: .72rem/1.4 Consolas,monospace;letter-spacing:.12em}.dot{display:inline-block;width:.52rem;height:.52rem;border-radius:50%;background:var(--accent);margin-right:.45rem}.hero h1,.contact h1{font-size:clamp(4rem,10vw,10rem);letter-spacing:-.085em;line-height:.82;margin:1.4rem 0 2.25rem}.hero em{font-style:normal;color:var(--accent)}.accent{color:var(--accent)}
.wrap{width:min(89%,85rem);margin-inline:auto}.work{padding:clamp(3.5rem,8vw,8rem) 0}.section-kicker{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.9rem;color:var(--muted)}h2{font-size:clamp(3rem,7vw,7rem);line-height:.91;letter-spacing:-.075em;margin:1.8rem 0 .9rem}.intro,.contact section p{color:var(--muted);line-height:1.55}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:2.4rem}.collection{border:0;padding:0;background:none;text-align:left;min-width:0}.collection img{display:block;width:100%;height:clamp(14rem,29vw,32rem);object-fit:cover;background:#1b1819;filter:saturate(.8);transition:filter .25s}.collection:hover img{filter:saturate(1.1)}.caption{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:.25rem}.caption small{display:block;color:var(--muted);margin-bottom:.4rem}.caption strong{font-size:clamp(1.4rem,2.6vw,2.55rem);letter-spacing:-.06em}.placeholder-note{font-size:.75rem;color:var(--muted);margin-top:1rem}.callout{border-top:1px solid var(--line);padding:clamp(3rem,7vw,6rem) 0}.callout h2{margin-bottom:1.6rem}.action{text-transform:uppercase;display:inline-flex;justify-content:space-between;gap:1.5rem;align-items:center;background:var(--accent);color:#100708;border:0;padding:.9rem 1.1rem;font-weight:bold}.action:hover{background:#ff7a81}.action:disabled{background:#333031;color:#bdb8b9}footer.bar{display:grid;width:100%;height:calc(5.65rem + 1px);padding-block:.5rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.75rem;border-top:1px solid var(--line);border-bottom:0;color:var(--muted)}footer.bar .brand{color:#fff;justify-self:start}footer.bar .brand:hover,footer.bar .brand:focus-visible{color:var(--accent)}footer.bar>span{color:#fff;text-align:center}footer.bar .instagram{display:grid;place-items:center;justify-self:end;min-width:2.75rem;min-height:2.75rem}
.contact{padding:clamp(3rem,8vw,7rem) 0;min-height:78vh}.contact h1{margin-bottom:clamp(2.5rem,6vw,5rem)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(2rem,7vw,8rem);border-top:1px solid var(--line);padding-top:2rem}.contact section h2{font-size:clamp(1.5rem,3.2vw,3rem);margin-top:0;line-height:1.05}.contact dl{margin-top:2rem}.contact dt{color:var(--accent);font:.75rem Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.contact dd{margin:.5rem 0}.contact form{display:grid;gap:1.1rem}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact label{display:block;font-size:.9rem;font-weight:bold;min-width:0}.contact small,#form-status{color:var(--muted);font-weight:normal}input,select,textarea{width:100%;min-width:0;margin-top:.5rem;padding:.8rem;color:var(--ink);background:#171516;border:1px solid #565051;border-radius:0}textarea{resize:vertical}.contact .action{justify-self:start}#form-status{font-size:.85rem;margin:0}#form-status:empty{display:none}
dialog{width:min(94vw,70rem);padding:0;color:var(--ink);background:var(--bg);border:1px solid var(--line);max-height:94vh}dialog::backdrop{background:#000d}.gallery-bar{display:flex;justify-content:space-between;align-items:center;padding:.55rem 1rem}.gallery-bar h2{font-size:1.35rem;letter-spacing:-.03em;margin:0}.icon{background:transparent;border:1px solid var(--line);min-width:2.75rem;min-height:2.75rem;font-size:1.25rem}.icon:hover{color:var(--accent)}#gallery-image{display:block;width:100%;height:min(66vh,52rem);object-fit:contain;background:#080808}
@media(min-width:701px) and (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid,.contact-grid{grid-template-columns:1fr}.collection img,.pending-cover{height:clamp(14rem,66vw,25rem)}.grid{gap:1.6rem}.bar nav,footer.bar>span,.contact-categories{font-size:clamp(.82rem,2.5vw,1.1rem)}}
@media(max-width:420px){footer.bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:.3rem}footer.bar .brand{font-size:.8rem}.form-pair{grid-template-columns:1fr}.hero h1,.contact h1{font-size:3.8rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.pending-cover{display:grid;place-items:center;height:clamp(14rem,29vw,32rem);border:1px solid var(--line);background:#141213;color:var(--muted);font:.7rem Consolas,monospace;letter-spacing:.12em}

.about-grid img{display:block;width:min(100%,38rem);aspect-ratio:1;height:auto;object-fit:cover;object-position:center 15%;border-radius:50%;justify-self:center}.about-grid .action{margin-top:.6rem}.contact:has(.about-grid) h1{overflow-wrap:anywhere}@media(max-width:420px){header.bar{gap:.55rem}header.bar .brand{font-size:.9rem}.bar nav{gap:.65rem}}

.hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);background:radial-gradient(ellipse at 78% 45%,#25151b,#080808 67%);}
.camera-feature{min-width:0;margin:0;padding:2rem 5vw 2rem 0;}
.camera-illustration{display:block;width:100%;height:auto;overflow:visible;}
.camera-rig{transform-box:fill-box;transform-origin:center;transform:perspective(650px) rotateY(-9deg);}
.camera-part,.camera-body{transition:transform .85s cubic-bezier(.2,.7,.2,1);}
.camera-axis{opacity:0;transition:opacity .4s;}
.camera-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;color:var(--accent);font:.72rem/1.4 Consolas,monospace;letter-spacing:.1em;}
.camera-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;padding:0;margin:1rem 0 0;list-style:none;font-size:.82rem;line-height:1.35;}
.camera-key span{display:block;color:var(--muted);margin-top:.2rem;}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy{padding-bottom:1rem}.camera-feature{padding:0 6vw 2.5rem}}


.camera-rig{animation:camera-turn 8s ease-in-out infinite;}
.camera-body,.camera-part{animation:camera-separate 8s ease-in-out infinite;}
.camera-axis{animation:camera-axis 8s ease-in-out infinite;}
.camera-body{--camera-shift:-105px;}
.camera-sensor{--camera-shift:100px;--camera-scale:.64;}
.camera-shutter{--camera-shift:194px;--camera-scale:.64;}
.camera-mount{--camera-shift:301px;--camera-scale:.64;}
.camera-part{transform-origin:291px 220px;}
@keyframes camera-turn{0%,100%{transform:perspective(650px) rotateY(-9deg) rotateX(0deg)}14%{transform:perspective(650px) rotateY(-55deg) rotateX(-8deg)}29%{transform:perspective(650px) rotateY(35deg) rotateX(8deg)}42%,78%{transform:perspective(650px) rotateY(-9deg) rotateX(0deg)}60%{transform:perspective(650px) rotateY(-9deg) rotateX(-5deg)}}
@keyframes camera-separate{0%,35%,100%{transform:translateX(0) scaleX(1)}51%,76%{transform:translateX(var(--camera-shift)) scaleX(var(--camera-scale,1))}}
@keyframes camera-axis{0%,35%,100%{opacity:0}51%,76%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.camera-rig,.camera-body,.camera-part,.camera-axis{animation:none}.camera-body,.camera-part{transform:translateX(var(--camera-shift)) scaleX(var(--camera-scale,1))}.camera-axis{opacity:.55}}

.hero-copy h1{font-size:clamp(3.5rem,7.2vw,8.5rem);line-height:1.02;letter-spacing:-.055em}@media(min-width:851px){.hero-copy{padding-right:0}}.hero-copy .eyebrow{font-size:.66rem}@media(max-width:420px){.hero-copy h1{font-size:3.35rem}}
.portfolio-page h1{font-size:clamp(3.5rem,9vw,8rem);line-height:.95;letter-spacing:-.07em;margin:1rem 0 2rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.portfolio-grid .collection{position:relative;overflow:hidden}.portfolio-grid img{height:auto;aspect-ratio:1;filter:none;transition:filter .25s}.portfolio-grid .collection:hover img,.portfolio-grid .collection:focus-visible img{filter:brightness(1.1)}@media(prefers-reduced-motion:no-preference){.portfolio-grid .collection{transition:transform .25s ease}.portfolio-grid .collection:hover,.portfolio-grid .collection:focus-visible{transform:scale(1.04);z-index:1}}@media(max-width:700px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){header.bar{flex-wrap:wrap}.bar nav{gap:clamp(.55rem,3vw,1rem);flex-wrap:wrap}}

.hero-copy .hero-portfolio-cta{justify-content:center;min-height:3.5rem;padding:.85rem clamp(1.25rem,2.6vw,2rem);border:1px solid #ff838a;border-radius:.35rem;font-size:.9rem;letter-spacing:.075em;box-shadow:0 .25rem 1.35rem #ff565f35;transition:background-color .2s,box-shadow .2s,transform .2s}.hero-portfolio-cta:hover,.hero-portfolio-cta:focus-visible{background:#ff7a81;box-shadow:0 .4rem 1.7rem #ff565f55}@media(prefers-reduced-motion:no-preference){.hero-portfolio-cta:hover{transform:translateY(-2px)}}

@media(prefers-reduced-motion:no-preference){#work .collection{position:relative;transition:transform .25s ease}#work .collection:hover,#work .collection:focus-visible{transform:scale(1.04);z-index:1}}
#work .collection:hover .card-subject,#work .collection:focus-visible .card-subject{color:var(--accent)}
