:root{--bg:#080808;--fg:#f1f0ed;--muted:#9b9b9b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.nav{position:fixed;z-index:20;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;background:rgba(8,8,8,.86);backdrop-filter:blur(16px);border-bottom:1px solid #222}.brand{font-family:Manrope,sans-serif;font-size:15px;font-weight:700;letter-spacing:.18em}.brand span{display:block;font-size:9px;letter-spacing:.47em;font-weight:400;margin-top:4px}.links{display:flex;gap:36px;font-size:10px;letter-spacing:.19em}.links a:hover,.contact a:hover{color:#6fe4ff}.menu{display:none;background:none;border:0;color:white;font-size:11px;letter-spacing:.2em}.hero{min-height:100vh;position:relative;padding:100px 4.5% 40px;display:grid;grid-template-columns:46% 54%;align-items:center;overflow:hidden}.hero-art{position:relative;align-self:center}.hero-art img{width:115%;max-width:none;display:block;transform:translateX(-7%);mix-blend-mode:screen}.hero-copy{position:relative;z-index:1;margin-left:-6%}.eyebrow{font-size:10px;letter-spacing:.16em;color:#b6b6b6;display:flex;align-items:center;gap:12px}.eyebrow .right{margin-left:auto}.dot{width:6px;height:6px;border-radius:50%;background:#00d5ff;box-shadow:0 0 10px #00d5ff}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-.07em;line-height:.97}h1{font-size:clamp(56px,7.4vw,126px);margin:45px 0 52px}h1 em,h2 i{font-weight:300;font-style:normal;color:#aaa}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:14px;line-height:1.8;color:#bcbcbc}.circle-link{width:64px;height:64px;border:1px solid #777;border-radius:50%;display:grid;place-items:center;font-size:28px;transition:.3s}.circle-link:hover{background:white;color:black}.colorline{height:2px;background:linear-gradient(90deg,#00cfff,#6e4adf,#ec2c91,#ffad3c)}.hero>.colorline{position:absolute;bottom:0;left:0;right:0}.section{padding:130px 4.5%}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:30px;margin-bottom:70px}.section-heading>span,.about>div>span,.contact>span{font-size:11px;letter-spacing:.18em;color:#aaa}.section-heading h2,.about h2{font-size:clamp(64px,7vw,118px);margin:0}.section-heading p{font-size:14px;color:#aaa;line-height:1.8}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 25px}.project .media{overflow:hidden;background:#151515}.project .media img,.project video{width:100%;height:100%;object-fit:cover;display:block}.project.feature .media{aspect-ratio:1.55}.project.tall .media{aspect-ratio:.83}.project img{transition:transform .8s}.project:hover img{transform:scale(1.035)}.project-meta{padding-top:19px}.project-meta span{font-size:10px;color:#999;letter-spacing:.14em}.project-meta h3{font-size:22px;font-weight:500;letter-spacing:-.03em;margin:10px 0 5px}.project-meta p{color:#999;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:85px}.gallery img{width:100%;height:340px;object-fit:cover}.manifesto{padding:140px 4.5% 0;background:#111;text-align:center}.manifesto>span{font-size:11px;letter-spacing:.3em;color:#aaa}.manifesto h2{font-size:clamp(60px,9vw,150px);margin:50px 0 120px}.services .section-heading{grid-template-columns:1fr 3fr}.service-list{border-top:1px solid #444}.service-list>div{display:grid;grid-template-columns:8% 37% 1fr 30px;align-items:center;gap:25px;padding:35px 0;border-bottom:1px solid #444}.service-list span{color:#999;font-size:12px}.service-list h3{font-weight:500;font-size:clamp(21px,2.4vw,38px);margin:0;letter-spacing:-.04em}.service-list p{font-size:14px;line-height:1.7;color:#aaa;margin:0;max-width:400px}.service-list b{font-weight:300;font-size:23px}.about{background:#141414;display:grid;grid-template-columns:1fr 1fr;gap:60px}.about h2{margin:60px 0}.about-copy{padding-top:75px}.about-copy p{font-size:clamp(20px,2.1vw,30px);line-height:1.5;letter-spacing:-.03em}.about-copy p+p{font-size:17px;color:#aaa}.about-copy span{font-size:10px;letter-spacing:.17em;color:#888;display:block;margin-top:55px}.contact{text-align:center;padding:170px 4.5%}.contact h2{font-size:clamp(60px,9vw,140px);margin:40px 0 70px}.contact>a{display:inline-block;border:1px solid #888;padding:19px 28px;font-size:11px;letter-spacing:.2em}.contact p{font-size:13px;color:#888;margin-top:24px}footer{border-top:1px solid #333;padding:30px 4.5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;color:#aaa}footer>div:last-child{display:flex;gap:30px}@media(max-width:850px){.nav{padding:20px 5%}.menu{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:#111;padding:28px 5%;flex-direction:column;gap:26px}.links.open{display:flex}.hero{padding:115px 5% 60px;display:flex;flex-direction:column;justify-content:center}.hero-art{width:100%}.hero-art img{width:100%;transform:none}.hero-copy{margin:0;width:100%}h1{font-size:clamp(53px,11vw,85px);margin:25px 0 35px}.eyebrow{font-size:8px}.hero-bottom p{font-size:12px}.section{padding:85px 5%}.section-heading{display:block}.section-heading h2{margin:30px 0}.section-heading p{max-width:420px}.work-grid{gap:40px 14px}.project-meta h3{font-size:16px}.gallery{grid-template-columns:repeat(2,1fr);margin-top:55px}.gallery img{height:260px}.manifesto{padding:100px 5% 0}.manifesto h2{margin-bottom:90px}.service-list>div{grid-template-columns:30px 1fr 25px;gap:12px}.service-list p{grid-column:2;grid-row:2}.service-list b{grid-column:3;grid-row:1}.about{grid-template-columns:1fr}.about-copy{padding-top:0}.contact{padding:110px 5%}}@media(max-width:540px){.work-grid{grid-template-columns:1fr}.project.tall .media{aspect-ratio:1.1}.project.feature .media{aspect-ratio:1.4}.gallery img{height:210px}.hero-art{margin-top:25px}.hero-bottom .circle-link{width:49px;height:49px}.section-heading h2,.about h2{font-size:64px}footer{gap:25px;flex-wrap:wrap}}

/* Additional editorial photography */
.series-heading{margin:100px 0 25px;display:flex;align-items:baseline;gap:35px;flex-wrap:wrap}.series-heading span{font-size:10px;letter-spacing:.18em;color:#999}.series-heading h3{font-family:Manrope,sans-serif;font-size:clamp(28px,3.5vw,52px);font-weight:400;letter-spacing:-.05em;margin:0}.series-heading p{color:#999;font-size:13px;margin:0;line-height:1.6}.new-series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.new-series figure{margin:0;min-width:0}.new-series img{display:block;width:100%;height:460px;object-fit:cover}.new-series figcaption{padding:14px 0;color:#aaa;font-size:10px;letter-spacing:.18em}@media(max-width:850px){.new-series img{height:340px}}@media(max-width:540px){.series-heading{margin-top:65px}.new-series{grid-template-columns:1fr;gap:22px}.new-series img{height:auto;max-height:520px;object-fit:cover}.new-series figcaption{padding:10px 0}}

/* Keep the subject’s head visible in the Behind the Frame editorial crop. */
.project.behind-frame .media img{object-position:center top;}

/* Keep the entire vertical Vito's film visible; never crop to fill its wide project frame. */
.project.feature .media:has(video){background:#000;}
.project.feature .media video{width:100%;height:100%;object-fit:contain;object-position:center;background:#000;}
/* Vito's vertical film: larger player without cropping the footage. */
.project.feature .media:has(video){aspect-ratio:0.8;background:#000;}
.project.feature .media video{width:100%;height:100%;object-fit:contain;object-position:center;}
@media(max-width:540px){.project.feature .media:has(video){aspect-ratio:0.8;}}

/* Keep the photographer and subject heads visible in the studio behind-the-scenes gallery image. */
.gallery img:first-child{object-position:center top;}

/* Two clear contact paths, preserving the existing minimal aesthetic. */
.contact-options{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.contact-options a{display:inline-block;border:1px solid #888;padding:19px 28px;font-size:11px;letter-spacing:.2em;transition:color .2s,border-color .2s}.contact-options a:hover{color:#6fe4ff;border-color:#6fe4ff}.contact .contact-email{margin-top:12px;color:#bcbcbc;font-size:12px;letter-spacing:.05em;overflow-wrap:anywhere}@media(max-width:540px){.contact-options{flex-direction:column;align-items:stretch;max-width:340px;margin:auto}.contact-options a{width:100%}}
