@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&display=swap');

:root{--white:#f4f3f0;--muted:#aaa8a3;--gold:#d5ac65;--line:rgba(255,255,255,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:#080b0c;color:var(--white);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 8vw),1500px);max-width:100%;margin-inline:auto}
.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#101517}
.hero__media{position:absolute;inset:-3%;z-index:-3;background:url('assets/photographer-hero.png') center/cover no-repeat;transform:scale(1.04);animation:slowZoom 18s ease-in-out infinite alternate;will-change:transform}
.hero__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,4,5,.9) 0%,rgba(3,5,6,.53) 34%,rgba(3,4,5,.08) 67%),linear-gradient(0deg,rgba(0,0,0,.43),transparent 40%),radial-gradient(circle at 70% 14%,transparent 0,rgba(0,0,0,.12) 63%)}
.camera-flash{position:absolute;inset:0;z-index:30;pointer-events:none;overflow:hidden;background:#fff;opacity:0;mix-blend-mode:screen;animation:flashScreen 1.8s .35s ease-out both}
.camera-flash:before{content:"";position:absolute;left:58.5%;top:47%;width:15px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 12px 5px #fff,0 0 55px 25px rgba(255,239,205,.95),0 0 150px 75px rgba(255,205,135,.55);animation:flashSource 1.8s .35s ease-out both}
.camera-flash__core{position:absolute;left:58.5%;top:47%;width:5px;aspect-ratio:1;border-radius:50%;background:white;transform:translate(-50%,-50%);box-shadow:0 0 35px 18px #fff;animation:flashCore 1.8s .35s ease-out both}
.camera-flash__ring{position:absolute;left:58.5%;top:47%;width:90px;aspect-ratio:1;border:2px solid rgba(255,236,198,.9);border-radius:50%;transform:translate(-50%,-50%) scale(.05);animation:flashRing 1.8s .38s cubic-bezier(.1,.7,.2,1) both}
.camera-flash__flare{position:absolute;border-radius:50%;background:rgba(255,218,153,.5);filter:blur(2px);opacity:0;animation:flareDot 1.8s .42s ease-out both}.camera-flash__flare--one{left:38%;top:55%;width:24px;height:24px}.camera-flash__flare--two{left:25%;top:61%;width:9px;height:9px;background:rgba(191,221,255,.7);animation-delay:.46s}
.hero:after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border:1px solid rgba(255,255,255,.08)}
.header{height:105px;display:flex;align-items:center;gap:40px;position:relative;z-index:20;animation:drop .8s both}
.logo{font-size:22px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.logo span{font-weight:300}
.nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px);margin:auto;font-size:11px;text-transform:uppercase;color:#9d9d9a}
.nav a{position:relative;transition:.25s}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;left:50%;top:28px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold)}
.contact{display:flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase}.contact__avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#806d59,#191d1f);font-size:10px;border:1px solid #79736c}
.menu{width:52px;height:52px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-content:center;gap:6px;background:rgba(255,255,255,.03);cursor:pointer;transition:.3s}.menu:hover{background:#fff;transform:rotate(8deg)}.menu i{display:block;width:18px;height:1px;background:#fff;transition:.3s}.menu:hover i{background:#111}.menu.open i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu.open i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:15;background:rgba(7,10,11,.96);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:clamp(26px,6vw,52px);font-weight:300;opacity:0;visibility:hidden;transition:.35s}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav a{transition:.2s}.mobile-nav a:hover{color:var(--gold);transform:translateX(8px)}
.hero__content{height:calc(100svh - 105px);padding-top:10vh;position:relative}.eyebrow{display:flex;align-items:center;gap:70px;color:var(--gold);font-size:11px}.eyebrow span:before{content:"•";margin-right:10px}.eyebrow b{font-weight:400;color:#9d9d99;text-transform:uppercase}
.title-wrap{position:relative;margin-top:9vh;width:min(740px,60vw)}
h1{font-size:clamp(70px,8vw,138px);font-weight:300;line-height:.8;letter-spacing:-.075em;margin:0;text-transform:uppercase;position:relative;z-index:2;text-shadow:0 2px 30px rgba(0,0,0,.35)}h1 span{display:block;animation:titleIn 1.1s cubic-bezier(.2,.8,.2,1) both}h1 span:last-child{margin-left:10vw;animation-delay:.12s}
.tagline{position:absolute;left:61%;top:104%;margin:0;text-transform:uppercase;font-size:14px;line-height:1.45;color:#c4c3bf;letter-spacing:.02em;animation:fade 1s .8s both}
.title-ghost{position:absolute;left:45%;top:-38%;font-size:270px;font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);z-index:0}.orbit{position:absolute;width:310px;height:310px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-3%;top:-45%;animation:float 7s ease-in-out infinite}.orbit:after{content:"";width:5px;height:5px;background:var(--gold);border-radius:50%;position:absolute;right:16%;top:10%;box-shadow:0 0 10px var(--gold)}
.actions{position:absolute;left:0;bottom:10vh;display:flex;align-items:center;gap:28px}.portfolio-btn{height:55px;min-width:280px;padding-left:28px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:11px;overflow:hidden;transition:.35s}.portfolio-btn i{height:100%;aspect-ratio:1;border-left:1px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:20px;transition:.35s}.portfolio-btn:hover{background:#fff;color:#111;transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,0,0,.4)}.portfolio-btn:hover i{transform:rotate(45deg)}
.play{width:64px;height:64px;border:1px solid var(--line);border-radius:50%;color:#fff;background:rgba(0,0,0,.16);display:grid;place-items:center;cursor:pointer;transition:.3s}.play span{font-size:13px;margin-left:3px}.play:hover{border-color:#fff;background:#fff;color:#111;transform:scale(1.08)}.showreel{text-transform:uppercase;color:#aaa;font-size:11px;line-height:1.4}
.socials{position:absolute;z-index:4;right:3vw;top:43%;display:flex;flex-direction:column;align-items:center;gap:23px;font-size:10px}.socials a{display:flex;flex-direction:column;align-items:center;gap:20px}.socials a:not(:last-child):after{content:"";width:28px;height:1px;background:rgba(255,255,255,.45)}.socials a:hover{color:var(--gold)}
.scroll{position:absolute;right:3vw;bottom:8vh;z-index:4;display:flex;flex-direction:column;align-items:center;gap:12px;text-transform:uppercase;font-size:10px}.scroll span{width:29px;height:48px;border:1px solid rgba(255,255,255,.6);border-radius:15px;position:relative}.scroll i{position:absolute;width:3px;height:8px;background:#fff;border-radius:2px;left:12px;top:9px;animation:scroll 1.8s infinite}.scroll b{font-weight:400}.after{height:45vh;display:grid;place-items:center;background:#0b0f10}.after p{font-size:clamp(28px,5vw,70px);font-weight:300;color:#c8c5bd}
.reveal{animation:fadeUp .9s .55s both}
.portfolio{min-height:100vh;background:#0a0c0c;padding:72px 0 90px;overflow:hidden}.portfolio__head{display:grid;grid-template-columns:1fr .85fr 1.45fr auto;align-items:start;gap:40px}.portfolio__title{display:flex;align-items:flex-start;gap:25px}.portfolio h2{font-size:clamp(38px,4.2vw,72px);line-height:1;font-weight:300;letter-spacing:-.065em;text-transform:uppercase;margin:0}.portfolio__title span{margin-top:7px;color:var(--gold);font-size:11px}.portfolio__intro{margin:0;color:#999894;font-size:12px;line-height:1.8}.filters{display:flex;gap:clamp(20px,2.6vw,48px);justify-content:center}.filters button{position:relative;padding:5px 0 22px;border:0;background:none;color:#777673;font:500 11px Manrope,sans-serif;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:.25s}.filters button:hover,.filters button.active{color:#d8bd86}.filters button.active:after{content:"";position:absolute;width:5px;height:5px;bottom:6px;left:50%;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}.portfolio__controls{display:flex;gap:12px}.portfolio__controls button{width:54px;height:54px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:none;color:#d4d3cf;font-size:24px;cursor:pointer;transition:.3s}.portfolio__controls button:hover{background:#eee;color:#111;transform:scale(1.05)}
.gallery-shell{margin-top:65px;padding-left:max(4vw,calc((100vw - 1500px)/2));position:relative}.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-right:4vw;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.work{position:relative;flex:0 0 clamp(280px,22vw,405px);height:clamp(440px,56vh,610px);overflow:hidden;border-radius:3px;scroll-snap-align:start;background:#171a1a;transition:opacity .35s,transform .35s}.work.hidden{display:none}.work img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.work__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 48%);transition:.4s}.work__info{position:absolute;left:24px;bottom:24px}.work small{display:block;color:#9b9993;font-size:10px;text-transform:uppercase;margin-bottom:7px}.work h3{font-size:19px;font-weight:400;text-transform:uppercase;margin:0;letter-spacing:-.02em}.work__open{position:absolute;right:22px;bottom:23px;width:30px;height:30px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-size:14px;transition:.35s}.work:hover img{transform:scale(1.045);filter:saturate(.95) contrast(1)}.work:hover .work__open{background:#fff;color:#111;transform:rotate(45deg)}
.work{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,31vw,500px);padding:clamp(18px,3vw,48px);background:rgba(3,5,5,.94);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.lightbox.open{opacity:1;visibility:visible}.lightbox__photo{min-width:0;display:grid;place-items:center;overflow:hidden;background:#080a0a;transform:scale(.94);opacity:0;transition:.6s cubic-bezier(.2,.8,.2,1)}.lightbox.open .lightbox__photo{transform:scale(1);opacity:1}.lightbox__photo img{display:block;width:100%;height:100%;object-fit:contain}.lightbox__panel{position:relative;padding:clamp(36px,5vw,78px) clamp(28px,4vw,62px);background:#101313;border-left:1px solid rgba(255,255,255,.1);transform:translateX(105%);transition:transform .65s .12s cubic-bezier(.16,.8,.2,1)}.lightbox.open .lightbox__panel{transform:none}.lightbox__close{position:absolute;right:clamp(28px,4.4vw,70px);top:clamp(28px,4vw,60px);z-index:3;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(9,11,11,.7);color:#fff;font-size:27px;font-weight:200;cursor:pointer;transition:.3s}.lightbox__close:hover{background:#fff;color:#111;transform:rotate(90deg)}.lightbox__status{font:10px/1.4 Consolas,monospace;color:#777f7a;letter-spacing:.1em;margin-bottom:min(15vh,130px)}.lightbox__status span{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#8fad72;box-shadow:0 0 9px #8fad72}.lightbox__category{color:var(--gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.lightbox__panel h2{font-size:clamp(35px,4vw,65px);font-weight:300;letter-spacing:-.06em;text-transform:uppercase;margin:12px 0 24px}.lightbox__line{height:1px;background:rgba(255,255,255,.14);margin-bottom:26px}.lightbox__text{min-height:7.5em;margin:0;color:#b1b3ae;font:13px/1.8 Consolas,'Courier New',monospace}.lightbox__text:after{content:"";display:inline-block;width:7px;height:14px;margin-left:4px;vertical-align:-2px;background:var(--gold);animation:terminalCursor .75s steps(1) infinite}.lightbox__meta{display:grid;gap:13px;margin:35px 0 0;padding-top:25px;border-top:1px solid rgba(255,255,255,.1);font:10px/1.3 Manrope,sans-serif;text-transform:uppercase}.lightbox__meta div{display:flex;justify-content:space-between;gap:20px}.lightbox__meta dt{color:#626763}.lightbox__meta dd{margin:0;color:#b1b3ae}.lightbox__counter{position:absolute;right:30px;bottom:25px;color:#555b57;font:10px Consolas,monospace}@keyframes terminalCursor{50%{opacity:0}}
.about{position:relative;min-height:100vh;background:#090b0b;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);isolation:isolate}.about__grid{min-height:100vh;display:grid;grid-template-columns:.9fr 1.25fr 1fr;align-items:center;gap:clamp(25px,4vw,75px);position:relative;z-index:2;padding-block:70px}.about__threads{position:absolute;z-index:0;left:22%;top:2%;width:58%;height:96%;opacity:.5}.about__threads svg{width:100%;height:100%;overflow:visible}.thread{fill:none;stroke:rgba(201,174,124,.2);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:8 15;transform-origin:center;animation:threadDrift 18s ease-in-out infinite alternate}.thread--2{stroke:rgba(255,255,255,.12);animation-duration:23s;animation-delay:-7s}.thread--3{stroke-dasharray:2 11;animation-duration:27s;animation-delay:-13s}.thread--4{stroke:rgba(130,145,140,.14);animation-duration:21s;animation-delay:-4s}.about__copy{opacity:0;transform:translateX(-35px);transition:.9s .1s}.about.in-view .about__copy{opacity:1;transform:none}.section-number{display:block;color:var(--gold);font-size:11px;margin-bottom:25px}.about h2{font-size:clamp(42px,4vw,68px);font-weight:300;line-height:1;text-transform:uppercase;letter-spacing:-.06em;margin:0 0 30px}.about__copy>p{max-width:380px;color:#92938f;font-size:13px;line-height:1.9;margin:0 0 38px}.about__copy ul{list-style:none;margin:0 0 42px;padding:0;display:grid;gap:20px;text-transform:uppercase;color:#bbbcb7;font-size:10px}.about__copy li{display:flex;align-items:center;gap:18px}.about__copy li span{width:22px;height:22px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.about__more{width:min(100%,310px);height:58px;padding-left:25px;border:1px solid rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:11px;overflow:hidden;transition:.3s}.about__more i{height:100%;aspect-ratio:1;border-left:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-style:normal;font-size:22px}.about__more:hover{background:#fff;color:#111;transform:translateY(-3px)}.about__person{align-self:end;height:min(84vh,820px);position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;opacity:0;transform:translateY(45px);transition:1.1s .2s cubic-bezier(.2,.8,.2,1)}.about.in-view .about__person{opacity:1;transform:none}.about__person>img{max-width:100%;max-height:100%;object-fit:contain;object-position:bottom;filter:saturate(.75) contrast(1.05);position:relative;z-index:2}.signature{position:absolute;z-index:3;left:13%;bottom:16%;width:75%;overflow:visible}.signature path{fill:none;stroke:rgba(235,231,220,.82);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1300;stroke-dashoffset:1300}.about.in-view .signature path{animation:writeSignature 3.2s 1.05s cubic-bezier(.5,0,.35,1) forwards}.about__facts{border:1px solid rgba(255,255,255,.15);border-radius:5px;padding:clamp(28px,3vw,55px);display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;opacity:0;transform:translateX(35px);transition:.9s .35s}.about.in-view .about__facts{opacity:1;transform:none}.fact strong{display:block;font-size:clamp(34px,3vw,53px);font-weight:300;line-height:1;margin-bottom:12px}.fact span{color:#777b77;font-size:10px;text-transform:uppercase}.about__story{position:relative;grid-column:1/-1;height:190px;overflow:hidden;border-radius:4px}.about__story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.12))}.about__story img{width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.about__story p{position:absolute;z-index:2;left:24px;bottom:17px;margin:0;font-size:11px;line-height:1.5;text-transform:uppercase}.story-play{position:absolute;z-index:3;left:24px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-size:12px}.about__story:hover img{transform:scale(1.04);transition:.7s}@keyframes threadDrift{0%{transform:translate3d(-12px,-8px,0) rotate(-2deg);stroke-dashoffset:0}50%{transform:translate3d(15px,12px,0) rotate(1deg)}100%{transform:translate3d(-5px,22px,0) rotate(3deg);stroke-dashoffset:-180}}@keyframes writeSignature{to{stroke-dashoffset:0}}
@media(max-width:1050px){.portfolio__head{grid-template-columns:1fr 1fr}.filters{justify-content:flex-start;order:3}.portfolio__controls{order:4;justify-content:flex-end}}
@media(max-width:680px){.portfolio{padding:55px 0 65px}.portfolio__head{display:flex;flex-direction:column;gap:25px}.portfolio__intro{font-size:11px}.filters{width:100%;overflow-x:auto;justify-content:flex-start;gap:25px;scrollbar-width:none}.portfolio__controls{display:none}.gallery-shell{margin-top:35px;padding-left:18px}.gallery{padding-right:18px}.work{flex-basis:82vw;height:58vh;min-height:430px}.work__info{left:20px;bottom:20px}.work__open{right:18px;bottom:18px}}
@media(max-width:760px){.lightbox{grid-template-columns:1fr;grid-template-rows:minmax(38vh,55vh) 1fr;padding:0;overflow-y:auto}.lightbox__photo{min-height:45vh}.lightbox__panel{border-left:0;border-top:1px solid rgba(255,255,255,.1);padding:30px 22px 42px;transform:translateY(100%)}.lightbox__close{position:fixed;right:16px;top:16px}.lightbox__status{margin-bottom:35px}.lightbox__panel h2{font-size:36px}.lightbox__text{min-height:8em}.lightbox__meta{margin-top:22px}}
@media(max-width:1000px){.about__grid{grid-template-columns:1fr 1fr}.about__person{grid-row:1/3;grid-column:2}.about__facts{grid-column:1/-1}.about__threads{left:35%;width:65%}}
@media(max-width:680px){.about__grid{display:flex;flex-direction:column;align-items:stretch;padding-block:60px}.about__copy{order:1}.about__person{order:2;width:100%;height:620px}.about__facts{order:3;padding:28px 22px;gap:35px 22px}.about__threads{left:-20%;top:25%;width:140%;height:50%}.about__story{height:165px}.signature{bottom:14%}}
@keyframes titleIn{from{opacity:0;transform:translateY(80px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes drop{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes slowZoom{to{transform:scale(1.09) translate3d(-.8%,.4%,0)}}@keyframes float{50%{transform:translateY(-12px) rotate(5deg)}}@keyframes scroll{0%{opacity:0;transform:translateY(0)}35%{opacity:1}100%{opacity:0;transform:translateY(18px)}}
@keyframes flashScreen{0%,8%{opacity:0}10%{opacity:.97}13%{opacity:.12}16%{opacity:.62}20%{opacity:.08}100%{opacity:0;visibility:hidden}}@keyframes flashSource{0%,8%{transform:translate(-50%,-50%) scale(0);opacity:0}10%{transform:translate(-50%,-50%) scale(1);opacity:1}17%{transform:translate(-50%,-50%) scale(.35);opacity:.7}35%,100%{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes flashCore{0%,8%{opacity:0;transform:translate(-50%,-50%) scale(0)}10%{opacity:1;transform:translate(-50%,-50%) scale(1)}28%,100%{opacity:0;transform:translate(-50%,-50%) scale(5)}}@keyframes flashRing{0%,10%{opacity:0;transform:translate(-50%,-50%) scale(.05)}12%{opacity:.9}55%,100%{opacity:0;transform:translate(-50%,-50%) scale(7)}}@keyframes flareDot{0%,10%{opacity:0;transform:scale(.2)}16%{opacity:.8;transform:scale(1)}65%,100%{opacity:0;transform:scale(2.5)}}
@media(max-width:1050px){.nav{display:none}.contact{margin-left:auto}.title-wrap{width:75vw}h1 span:last-child{margin-left:4vw}.hero__shade{background:linear-gradient(90deg,rgba(2,4,5,.86),rgba(2,4,5,.28) 75%),linear-gradient(0deg,rgba(0,0,0,.45),transparent)}.hero__media{background-position:62% center}}
@media(max-width:680px){.shell{width:min(calc(100% - 36px),1500px)}.header{height:78px}.logo{font-size:18px}.contact{display:none}.menu{margin-left:auto;width:44px;height:44px}.hero__content{height:calc(100svh - 78px);padding-top:11vh}.eyebrow{gap:25px;font-size:9px}.title-wrap{margin-top:10vh;width:100%}h1{font-size:clamp(55px,18vw,85px);line-height:.88}h1 span:last-child{margin-left:0}.title-ghost{font-size:165px;left:35%;top:-60%}.orbit{width:210px;height:210px;top:-50%;left:-20%}.tagline{position:static;margin:24px 0 0 4px;font-size:11px}.actions{bottom:8vh;gap:14px}.portfolio-btn{min-width:0;width:210px;padding-left:18px}.portfolio-btn i{font-size:17px}.play{width:55px;height:55px}.showreel{display:none}.socials{display:none}.scroll{right:18px;bottom:7vh}.hero__media{inset:-1%;background-position:66% center}.hero__shade{background:linear-gradient(90deg,rgba(2,4,5,.9),rgba(2,4,5,.26) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.camera-flash:before,.camera-flash__core,.camera-flash__ring{left:54%;top:47%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Soft portrait integration */
.about__person:after{content:"";position:absolute;z-index:3;left:-8%;right:-8%;bottom:-1px;height:40%;pointer-events:none;background:linear-gradient(0deg,#090b0b 0%,rgba(9,11,11,.94) 18%,rgba(9,11,11,.58) 48%,rgba(9,11,11,.18) 76%,transparent 100%)}
.about__person:before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,transparent 24%,rgba(9,11,11,.12) 54%,rgba(9,11,11,.52) 100%)}
.about__person>img{filter:brightness(.6) saturate(.48) contrast(1.06);opacity:.88;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 67%,rgba(0,0,0,.94) 76%,rgba(0,0,0,.62) 87%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 67%,rgba(0,0,0,.94) 76%,rgba(0,0,0,.62) 87%,transparent 100%)}
.signature{z-index:4;filter:brightness(.78);opacity:.82}
@media(max-width:680px){.about__person:after{height:34%}.about__person>img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.8) 84%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.8) 84%,transparent 100%)}}

@media(pointer:fine){body,body *,a,a *,button,button *,.work,.work *{cursor:none!important}.cursor-dot{position:fixed;z-index:9999;left:0;top:0;width:9px;height:9px;border-radius:50%;background:#e0b96f;box-shadow:0 0 12px rgba(224,185,111,.75),0 0 28px rgba(224,185,111,.25);pointer-events:none;will-change:transform;opacity:0;transition:width .25s,height .25s,background .25s,box-shadow .25s,opacity .2s}.cursor-dot.visible{opacity:1}.cursor-dot.active{width:34px;height:34px;background:rgba(224,185,111,.12);border:1px solid rgba(224,185,111,.8);box-shadow:0 0 24px rgba(224,185,111,.3)}.cursor-dot.pressed{width:22px;height:22px;background:rgba(255,255,255,.35)}}

/* Main page scrollbar */
html{scrollbar-width:thin;scrollbar-color:#caa665 #0a0c0c}
html::-webkit-scrollbar{width:11px}
html::-webkit-scrollbar-track{background:#0a0c0c;border-left:1px solid rgba(255,255,255,.055)}
html::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#e0bc78,#a9854c);border:3px solid #0a0c0c;border-radius:20px;min-height:70px}
html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#f0d092,#c49a58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 12px rgba(213,172,101,.3)}
html::-webkit-scrollbar-thumb:active{background:#f0d092}
html::-webkit-scrollbar-corner{background:#0a0c0c}

@media(min-width:761px){.reviews__head>p{transform:translateY(-6px)}}

.method{position:relative;padding:clamp(75px,9vw,140px) 0 110px;min-height:100vh;background:#090b0b;overflow:hidden;border-top:1px solid rgba(255,255,255,.055)}.method:before{content:"05";position:absolute;right:-.02em;top:-.18em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.025);font-size:clamp(260px,40vw,680px);font-weight:300;line-height:1}.method__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;position:relative;z-index:2}.method__head h2{margin:0;font-size:clamp(45px,5.2vw,82px);font-weight:300;line-height:.9;letter-spacing:-.07em;text-transform:uppercase}.method__head p{max-width:420px;margin:0 0 5px;padding-left:24px;border-left:1px solid rgba(213,172,101,.55);color:#8e908c;font-size:12px;line-height:1.8}.method__map{height:720px;margin-top:65px;position:relative}.method__route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.method__route path{fill:none;vector-effect:non-scaling-stroke}.method__route-shadow{stroke:rgba(255,255,255,.06);stroke-width:7}.method__route-line{stroke:rgba(213,172,101,.56);stroke-width:1;stroke-dasharray:2000;stroke-dashoffset:2000}.method.in-view .method__route-line{animation:drawRoute 2.8s .15s cubic-bezier(.3,.1,.3,1) forwards}.method__route-flow{stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 42;opacity:0;filter:drop-shadow(0 0 4px var(--gold))}.method.in-view .method__route-flow{opacity:.8;animation:routeFlow 5s 2.5s linear infinite}.method-step{position:absolute;width:min(275px,21vw);padding:26px 27px 25px;background:rgba(14,17,16,.9);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(10px);opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.75,.2,1)}.method.in-view .method-step{opacity:1;transform:none}.method.in-view .method-step--1{transition-delay:.35s}.method.in-view .method-step--2{transition-delay:.7s}.method.in-view .method-step--3{transition-delay:1.05s}.method.in-view .method-step--4{transition-delay:1.4s}.method.in-view .method-step--5{transition-delay:1.75s}.method-step:after{content:"";position:absolute;inset:5px;border:1px solid transparent;transition:.35s}.method-step:hover{border-color:rgba(213,172,101,.7);transform:translateY(-6px)!important;box-shadow:0 20px 55px rgba(0,0,0,.35)}.method-step:hover:after{border-color:rgba(213,172,101,.12)}.method-step__number{position:absolute;right:17px;top:12px;color:rgba(213,172,101,.15);font-size:54px;font-weight:300;letter-spacing:-.08em}.method-step>i{position:absolute;width:11px;height:11px;border:2px solid var(--gold);border-radius:50%;background:#090b0b;box-shadow:0 0 0 6px rgba(213,172,101,.08),0 0 16px rgba(213,172,101,.45)}.method-step small{display:block;color:var(--gold);font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:30px}.method-step h3{position:relative;margin:0 0 17px;font-size:20px;font-weight:400;line-height:1.25;letter-spacing:-.025em;text-transform:uppercase}.method-step p{margin:0;color:#757975;font-size:10px;line-height:1.75}.method-step--1{left:0;top:35px}.method-step--1>i{right:-11px;top:119px}.method-step--2{left:24%;top:178px}.method-step--2>i{left:-9px;top:46px}.method-step--3{left:47%;top:58px}.method-step--3>i{left:50%;bottom:-10px}.method-step--4{right:11%;top:220px}.method-step--4>i{left:-8px;top:34px}.method-step--5{right:0;bottom:15px}.method-step--5>i{left:-9px;top:31px}@keyframes drawRoute{to{stroke-dashoffset:0}}@keyframes routeFlow{to{stroke-dashoffset:-440}}
.method__manifesto{position:absolute;left:3%;bottom:55px;padding-left:21px;border-left:1px solid rgba(213,172,101,.42);opacity:0;transition:opacity .8s 2s}.method.in-view .method__manifesto,.method.in-view .method__camera,.method.in-view .method__coordinates{opacity:1}.method__manifesto span{color:var(--gold);font-size:8px;letter-spacing:.17em;text-transform:uppercase}.method__manifesto p{margin:12px 0 0;color:#777b77;font-size:13px;font-weight:300;line-height:1.65}.method__camera{position:absolute;right:1%;top:20px;display:grid;grid-template-columns:repeat(2,auto);gap:9px 24px;padding:15px 18px;border:1px solid rgba(255,255,255,.08);color:#5d625e;font:8px/1.2 Consolas,monospace;letter-spacing:.1em;opacity:0;transition:opacity .8s 1.6s}.method__coordinates{position:absolute;right:3%;bottom:55px;color:#464b47;font:8px Consolas,monospace;letter-spacing:.14em;opacity:0;transition:opacity .8s 2.2s}.method__ghost{position:absolute;z-index:-1;left:11%;bottom:1%;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.025);font-size:clamp(100px,13vw,210px);font-weight:300;letter-spacing:.06em;line-height:.8}.method-step--3{left:49%;top:40px}.method-step--4{right:0;top:205px}.method-step--5{left:49%;right:auto;bottom:0}.method-step--5>i{left:50%;top:-9px}
.method__photographer{position:absolute;z-index:0;left:3%;bottom:-18%;height:92%;width:auto;object-fit:contain;object-position:bottom;pointer-events:none;opacity:0;filter:grayscale(1) brightness(.42) contrast(1.04);mix-blend-mode:luminosity;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 12%,#000 30%,rgba(0,0,0,.68) 74%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 12%,#000 30%,rgba(0,0,0,.68) 74%,transparent 100%);transform:translateY(24px);transition:opacity 1.6s 1.1s,transform 1.6s 1.1s}.method.in-view .method__photographer{opacity:.25;transform:none}.method__route{z-index:1}.method-step,.method__manifesto,.method__camera,.method__coordinates{z-index:2}
@media(max-width:900px){.method__map{height:auto;margin-top:55px;padding-left:45px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.method__route{display:none}.method__map:before{content:"";position:absolute;left:13px;top:18px;bottom:18px;width:1px;background:linear-gradient(var(--gold),rgba(213,172,101,.15))}.method-step{position:relative!important;inset:auto!important;width:auto;min-height:230px}.method-step>i{left:-39px!important;right:auto!important;top:34px!important;bottom:auto!important}.method-step--5{grid-column:1/-1;width:calc(50% - 11px)}.method__manifesto,.method__camera,.method__coordinates,.method__ghost,.method__photographer{display:none}}
@media(max-width:620px){.method{padding-bottom:75px}.method__head{display:block}.method__head p{margin-top:28px}.method__map{display:flex;flex-direction:column;padding-left:34px}.method__map:before{left:8px}.method-step{min-height:0}.method-step--5{width:auto}.method-step>i{left:-32px!important}}

.footer{position:relative;padding:clamp(80px,10vw,150px) 0 28px;background:#0d0f0f;overflow:hidden;border-top:1px solid rgba(255,255,255,.07);isolation:isolate}.footer__glow{position:absolute;z-index:-1;width:55vw;height:55vw;right:-22vw;top:-28vw;border-radius:50%;background:radial-gradient(circle,rgba(213,172,101,.09),transparent 65%);filter:blur(30px)}.footer__top{display:grid;grid-template-columns:.8fr 2.2fr;gap:50px;align-items:start}.footer__eyebrow{display:flex;gap:35px;color:var(--gold);font-size:10px}.footer__eyebrow p{margin:0;color:#777a76;font-size:11px;line-height:1.7;text-transform:uppercase}.footer__cta>span{display:block;margin-bottom:7px;color:#898b87;font-size:clamp(30px,4.6vw,74px);font-weight:300;line-height:1;letter-spacing:-.06em;text-transform:uppercase}.footer__cta>a{display:flex;align-items:center;justify-content:space-between;color:#e4e2dc;font-size:clamp(38px,6vw,98px);font-weight:300;line-height:1.05;letter-spacing:-.075em;text-transform:uppercase;transition:.4s}.footer__cta>a i{flex:0 0 auto;width:clamp(58px,7vw,105px);aspect-ratio:1;margin-left:25px;border:1px solid rgba(213,172,101,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:clamp(25px,3vw,46px);font-style:normal;transition:.4s}.footer__cta>a:hover{color:var(--gold)}.footer__cta>a:hover i{background:var(--gold);color:#111;transform:rotate(45deg) scale(1.05);box-shadow:0 0 35px rgba(213,172,101,.24)}.footer__rule{height:1px;margin-top:clamp(55px,8vw,110px);background:rgba(255,255,255,.1);position:relative}.footer__rule span{position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:footerDot 8s ease-in-out infinite alternate}.footer__main{display:grid;grid-template-columns:1.5fr .8fr 1.1fr .75fr;gap:45px;padding-block:55px 70px}.footer__brand{align-self:start;font-size:26px;font-weight:600;letter-spacing:-.045em}.footer__brand>span{font-weight:300}.footer__brand small{display:block;margin-top:9px;color:#555a56;font-size:8px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}.footer__nav,.footer__contact,.footer__social{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer__main small{margin-bottom:10px;color:#565b57;font-size:8px;letter-spacing:.17em;text-transform:uppercase}.footer__main nav a,.footer__contact a,.footer__social a{position:relative;color:#a4a6a1;font-size:11px;text-transform:uppercase;transition:.25s}.footer__main nav a:hover,.footer__contact a:hover,.footer__social a:hover{color:var(--gold);transform:translateX(5px)}.footer__contact span{color:#5d625e;font-size:9px;text-transform:uppercase}.footer__social a{width:100%;display:flex;justify-content:space-between;gap:25px}.footer__social i{font-style:normal;color:#5d625e}.footer__bottom{padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;color:#4f5450;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.footer__bottom b{font-weight:400}.footer__time{display:flex;align-items:center;gap:7px}.footer__time i{width:5px;height:5px;border-radius:50%;background:#7ea16d;box-shadow:0 0 8px #7ea16d}.to-top{display:flex;align-items:center;gap:13px;color:#888b87}.to-top span{width:32px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;font-size:13px;transition:.3s}.to-top:hover{color:var(--gold)}.to-top:hover span{border-color:var(--gold);transform:translateY(-4px)}@keyframes footerDot{to{left:calc(100% - 5px)}}
@media(max-width:850px){.footer__top{grid-template-columns:1fr}.footer__eyebrow{gap:20px}.footer__main{grid-template-columns:1.2fr 1fr 1fr}.footer__brand{grid-column:1/-1}.footer__social a{width:auto}}
@media(max-width:560px){.footer{padding-top:70px}.footer__cta>a{align-items:flex-end}.footer__cta>a i{width:55px;margin-left:12px}.footer__main{grid-template-columns:1fr 1fr;gap:42px 25px;padding-block:45px}.footer__brand,.footer__contact{grid-column:1/-1}.footer__bottom{align-items:flex-start;gap:20px;flex-wrap:wrap}.footer__time{order:3;width:100%}}

.footer__bottom{position:relative}.footer__bottom:before{content:"";position:absolute;right:0;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:footerDotSecond 11s -3.5s ease-in-out infinite alternate}@keyframes footerDotSecond{to{right:calc(100% - 5px)}}

.studio-back{position:fixed;z-index:100;left:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:12px 17px;border:1px solid rgba(213,172,101,.58);border-radius:999px;background:rgba(8,11,12,.82);color:#e4e2dc;backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(0,0,0,.32);transition:color .3s,border-color .3s,background .3s,transform .3s}.studio-back b{font-size:10px;font-weight:400;letter-spacing:.09em;text-transform:uppercase}.studio-back:hover{color:#111;border-color:var(--gold);background:var(--gold);transform:translateY(-3px)}
@media(max-width:680px){.studio-back{left:18px;bottom:18px;width:46px;height:46px;padding:0;justify-content:center}.studio-back b{display:none}}


.reviews{padding:clamp(70px,9vw,135px) 0;background:#0d0f0f;overflow:hidden;border-top:1px solid rgba(255,255,255,.06)}.reviews__head{display:grid;grid-template-columns:max-content minmax(240px,1fr) auto;align-items:end;column-gap:clamp(28px,4vw,68px);margin-bottom:70px}.reviews__head h2{margin:0;font-size:clamp(45px,5vw,78px);font-weight:300;line-height:.9;letter-spacing:-.07em;text-transform:uppercase}.reviews__head p{max-width:330px;margin:0 0 2px;padding:2px 0 2px 24px;border-left:1px solid rgba(213,172,101,.55);color:#92938f;font-size:12px;line-height:1.8}.reviews__controls{display:flex;gap:12px}.reviews__controls button{width:55px;height:55px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;color:#ddd;font-size:23px;transition:.3s}.reviews__controls button:hover{background:var(--gold);border-color:var(--gold);color:#111;transform:scale(1.06)}.reviews__viewport{width:100%;overflow:hidden;padding:35px 0 45px}.reviews__track{display:flex;align-items:center;gap:22px;will-change:transform;transition:transform .72s cubic-bezier(.2,.78,.2,1)}.review-card{position:relative;flex:0 0 min(490px,38vw);min-height:350px;padding:38px 38px 34px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:linear-gradient(145deg,#121515,#0b0d0d);opacity:.38;transform:scale(.86);filter:blur(.25px);transition:transform .65s,opacity .65s,border-color .65s,box-shadow .65s,filter .65s}.review-card.active{opacity:1;transform:scale(1);filter:none;border-color:rgba(213,172,101,.9);box-shadow:0 0 0 1px rgba(213,172,101,.08),0 26px 80px rgba(0,0,0,.42),inset 0 0 45px rgba(213,172,101,.035)}.review-card.active:before{content:"";position:absolute;left:38px;right:38px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 13px rgba(213,172,101,.75)}.review-card__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:38px}.review-card__avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:#181b1a;color:#b9b9b4;font-size:11px}.review-card.active .review-card__avatar{border-color:rgba(213,172,101,.6);color:var(--gold)}.review-card__quote{color:#343936;font:74px/1 Georgia,serif;height:45px}.review-card.active .review-card__quote{color:rgba(213,172,101,.48)}.review-card blockquote{margin:0;min-height:125px;color:#b6b7b2;font-size:15px;font-weight:300;line-height:1.8}.review-card footer{display:flex;flex-direction:column;gap:7px;padding-top:27px;border-top:1px solid rgba(255,255,255,.09)}.review-card footer strong{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.review-card footer span{color:#656965;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.reviews__progress{width:180px;height:1px;margin:10px auto 0;background:rgba(255,255,255,.12);overflow:hidden}.reviews__progress span{display:block;width:20%;height:100%;background:var(--gold);transition:transform .55s ease;box-shadow:0 0 8px var(--gold)}
.review-card:not(.active){cursor:pointer}.review-card:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
@media(max-width:760px){.reviews__head{grid-template-columns:1fr auto;row-gap:22px;margin-bottom:35px}.reviews__head p{grid-column:1/-1;grid-row:2;max-width:370px;margin-left:3px;padding-left:18px}.reviews__controls button{width:47px;height:47px}.reviews__viewport{padding-block:25px}.reviews__track{gap:14px}.review-card{flex-basis:82vw;min-height:365px;padding:30px 25px;transform:scale(.91)}.review-card blockquote{font-size:14px;min-height:145px}.review-card.active:before{left:25px;right:25px}}
