:root{--bg:#000000;--text:#f0eee7;--muted:#a7aaa1;--line:#363832;--accent:#d5ef88}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1320px,90%);margin-inline:auto}header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:24px;font-weight:700;letter-spacing:-1px}nav{display:flex;gap:32px;font-size:13px}nav a:last-child{color:var(--accent)}.hero{padding-top:68px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;line-height:1.8}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin:28px 0 55px}h1,h2,h3,p{margin:0}h1{font-size:clamp(64px,7.8vw,114px);font-weight:500;letter-spacing:-.065em;line-height:1.01}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--accent);letter-spacing:-.055em}.intro{max-width:300px;margin-bottom:9px}.intro p{font-size:15px;color:var(--muted);line-height:1.7}.text-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:18px 0;border-bottom:1px solid #686e5c;margin-top:17px}.featured{display:block;position:relative;height:580px;background:#000;overflow:hidden}.featured>img{object-position:center 47%;transition:transform .7s}.featured:hover>img{transform:scale(1.02)}.featured:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 35%,rgba(0,0,0,.7))}.featured-top,.featured-bottom{position:absolute;left:32px;right:32px;z-index:2;display:flex;justify-content:space-between}.featured-top{top:28px;font-size:10px;letter-spacing:1.5px}.featured-bottom{bottom:32px;align-items:flex-end}.featured h2{font-size:44px;line-height:1.08;font-weight:500;letter-spacing:-1.5px;margin-top:12px}.round-play{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--bg);font-size:21px;padding-left:4px}.feature-caption{display:flex;justify-content:space-between;padding:17px 0;font-size:11px;color:var(--muted)}.feature-caption span:first-child{color:var(--text)}.section{padding-top:110px;padding-bottom:20px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:24px}h2{font-size:clamp(34px,4vw,54px);font-weight:400;letter-spacing:-2px;line-height:1.1}.section-head h2{margin-top:16px}.count{font:11px Arial;vertical-align:top;display:inline-block;margin:8px 0 0 14px;border:1px solid var(--line);border-radius:20px;padding:5px 8px}.section-head p{font-size:13px;color:var(--muted);line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.project-image{position:relative;display:block;aspect-ratio:4/5;background:#000;overflow:hidden}.project-image img{transition:transform .6s}.project-image:hover img{transform:scale(1.035)}.project-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5));z-index:1;pointer-events:none}.play{position:absolute;z-index:2;right:17px;bottom:17px;width:39px;height:39px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;font-size:21px}.watch{position:absolute;left:18px;bottom:30px;font-size:9px;letter-spacing:1.6px;z-index:2;color:white}.project-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}.project h3{font-size:20px;font-weight:400;letter-spacing:-.5px}.project p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}.services,.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:90px;border-top:1px solid var(--line);padding-top:65px}.services h2,.about h2{margin:18px 0 24px}.muted{font-size:15px;line-height:1.8;color:var(--muted)}.service-list>div{position:relative;padding:0 0 27px 40px;margin-bottom:27px;border-bottom:1px solid var(--line)}.service-list>div>span{position:absolute;left:0;top:5px;font-size:10px;color:var(--muted)}.service-list h3{font-size:22px;font-weight:400;margin-bottom:12px;letter-spacing:-.5px}.service-list p{color:var(--muted);font-size:13px;line-height:1.7;max-width:370px}.about-lead{font-size:25px;line-height:1.45;letter-spacing:-.5px;margin-bottom:22px}.tools{margin-top:35px}.tools ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}.tools li{font-size:11px;padding:11px 14px;border:1px solid #4b4e44;border-radius:30px}.contact{margin-top:95px;border-top:1px solid var(--line);padding-top:64px;padding-bottom:74px}.contact h2{font-size:clamp(50px,8vw,110px);letter-spacing:-5px;line-height:1.05;margin:28px 0 45px}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px}.contact-bottom p{font-size:14px;line-height:1.8;color:var(--muted)}.contact-placeholder,.email{font-size:20px;border-bottom:1px solid var(--accent);padding-bottom:9px;display:inline-block}small{display:block;font-size:10px;color:var(--muted);margin-top:12px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:28px 0 35px}footer span,footer>a:last-child{font-size:10px;color:var(--muted)}.skip{position:absolute;left:16px;top:-90px;background:var(--accent);color:var(--bg);padding:12px;z-index:9}.skip:focus{top:10px}dialog{color:var(--text);background:#000;border:1px solid var(--line);width:min(780px,94vw);max-height:94dvh;padding:20px}dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(8px)}.player-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.player-head h2{font-size:19px;letter-spacing:-.5px}.player-head button{background:none;color:var(--text);border:1px solid var(--line);padding:10px;white-space:nowrap}video{display:block;max-height:72dvh;width:100%;background:#000}#download-film{display:inline-block;margin-top:15px;font-size:12px;color:var(--accent)}#video-error{font-size:12px;margin-top:12px}.playing{overflow:hidden}
/* Monochrome covers; playback media retains its original color. */
.featured>img,.project-image img{filter:grayscale(100%)}
.featured:after{z-index:1;pointer-events:none}
@media(min-width:1100px){.project:last-child{grid-column:2}}@media(max-width:900px){.hero-heading{gap:28px}.intro{max-width:250px}.featured{height:490px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services,.about{gap:6%}.contact h2{letter-spacing:-3px}}@media(max-width:600px){header{height:85px}.wordmark{font-size:20px}nav{gap:18px;font-size:11px}.hero{padding-top:42px}.hero-heading{display:block;margin-top:22px;margin-bottom:30px}h1{font-size:64px}.intro{margin-top:26px;max-width:100%}.intro p{max-width:320px;font-size:14px}.text-link{max-width:250px}.featured{height:510px}.featured>img{object-position:center}.featured-top,.featured-bottom{left:20px;right:20px}.featured-top span:last-child{display:none}.featured h2{font-size:33px}.round-play{width:53px;height:53px;font-size:16px}.feature-caption{font-size:9px;gap:12px}.section{padding-top:70px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px;font-size:12px}.project-grid{gap:34px 16px}.project h3{font-size:16px;line-height:1.3}.project p{font-size:11px}.project-meta{font-size:8px;letter-spacing:0;gap:8px}.project-meta span:last-child{display:none}.watch{display:none}.play{width:32px;height:32px;right:10px;bottom:10px}.services,.about{grid-template-columns:1fr;gap:30px;margin-top:60px;padding-top:40px}.about-lead{font-size:23px}.contact{margin-top:60px;padding-top:40px;padding-bottom:45px}.contact h2{font-size:51px;letter-spacing:-2.5px}.contact-bottom{align-items:start;flex-direction:column}.contact-placeholder,.email{font-size:19px}footer{flex-wrap:wrap}footer span{display:none}.player-head h2{font-size:15px}dialog{padding:13px}.player-head button{font-size:12px}video{max-height:70dvh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.alternate-cut{display:inline-block;color:var(--accent);font-size:12px;padding:8px 0}.landscape .project-image img{object-fit:contain}.landscape .project-image{background:#000}

.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.behance-link{display:inline-flex;align-items:center;gap:14px;color:var(--accent);font-size:14px;padding-block:8px}.behance-link:hover{text-decoration:underline;text-underline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Green text accents and a restrained glass finish on jet black. */
body{background:#000}
.hero,.about,.contact{position:relative;isolation:isolate}



.accent-word{color:var(--accent)}
h1 em,.contact h2 em{background:linear-gradient(110deg,#e3f5b6 0%,#c6e98b 55%,#99cfb3 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero>.eyebrow,.section-head .eyebrow,.services>div>.eyebrow,.about>div>.eyebrow,.contact>.eyebrow{color:#bdd58e}
.wordmark{position:relative}.wordmark:after{content:'';display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #bdd58e33}
nav a{transition:color .2s}nav a:hover{color:var(--accent)}
.intro{padding:22px 24px;background:linear-gradient(125deg,rgba(220,241,197,.055),rgba(255,255,255,.018));border:1px solid rgba(212,237,182,.13);border-radius:16px;box-shadow:inset 0 1px rgba(255,255,255,.04),0 12px 38px rgba(0,0,0,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-width:325px}
.intro p{font-size:14px}.text-link{color:var(--accent);border-color:rgba(213,239,136,.3);font-size:12px}.text-link span{font-size:16px}
.featured{border:1px solid rgba(222,244,198,.12)}
.round-play{background:linear-gradient(145deg,#e0f3b1,#b8da7d);box-shadow:0 0 35px rgba(213,239,136,.12),inset 0 1px rgba(255,255,255,.6)}
.play{background:rgba(24,29,22,.58);color:#e4f6bc;border:1px solid rgba(225,247,187,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .25s,border-color .25s}
.project-image:hover .play{background:rgba(66,82,43,.8);border-color:rgba(225,247,187,.65)}
.project h3 a{transition:color .2s}.project h3 a:hover{color:var(--accent)}.project-meta>span:first-child{color:#b4c49e}
.count{color:var(--accent);border-color:rgba(213,239,136,.22);background:rgba(213,239,136,.035)}
.service-list>div>span{color:#c6df9a}.service-list>div{border-color:rgba(199,224,161,.16)}

.tools>.eyebrow{color:#c3d89f}.tools li{background:linear-gradient(135deg,rgba(208,233,173,.075),rgba(255,255,255,.02));border-color:rgba(208,233,173,.19);color:#dce9cb;box-shadow:inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

.contact-links{padding:22px 25px;border:1px solid rgba(208,233,173,.14);border-radius:16px;background:linear-gradient(130deg,rgba(208,233,173,.055),rgba(255,255,255,.015));box-shadow:inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);gap:13px}
.email{border-color:rgba(213,239,136,.4)}.behance-link{font-size:13px}
@media(max-width:900px){.intro{max-width:270px;padding:19px}}
@media(max-width:600px){.intro{max-width:100%;padding:20px;margin-top:28px}.intro p{max-width:none}.text-link{max-width:none}.contact-links{max-width:100%;padding:19px 20px}.email{font-size:clamp(15px,4.4vw,19px);overflow-wrap:anywhere}.contact-bottom{align-items:stretch}}
@media(prefers-reduced-motion:reduce){nav a,.text-link,.play,.project h3 a{transition:none}}
@media(max-width:900px){}

/* Very light neutral glass, without background graphics or ambient glows. */
.intro,.contact-links{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 65%,rgba(255,255,255,.025));border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px rgba(255,255,255,.045)}
.tools li{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border-color:rgba(255,255,255,.16)}
.play{background:rgba(0,0,0,.62)}.project-image:hover .play{background:rgba(0,0,0,.85)}
.round-play{box-shadow:inset 0 1px rgba(255,255,255,.4)}.wordmark:after{box-shadow:none}
/* Quiet motion and optical glass accents. */
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}nav a[aria-current="page"]{color:var(--accent)}.eyebrow,.service-list h3{color:var(--accent)}.intro p strong{color:var(--accent)}.archive-invite{margin-top:90px;padding:38px;border:1px solid #ffffff22;border-radius:18px;background:linear-gradient(115deg,#ffffff0c,#ffffff02 60%,#d5ef8808);backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff16;display:flex;align-items:center;justify-content:space-between;gap:35px}.archive-invite h2{margin:14px 0 20px}.archive-invite p{font-size:13px;color:var(--muted);line-height:1.7;max-width:450px}.glass-button{display:inline-flex;align-items:center;gap:35px;padding:18px 24px;border:1px solid #d5ef8840;border-radius:40px;background:linear-gradient(120deg,#ffffff12,#ffffff03);backdrop-filter:blur(16px);color:var(--accent);font-size:13px;transition:transform .3s,background .3s,border-color .3s}.glass-button:hover{transform:translateY(-3px);background:#d5ef8812;border-color:#d5ef8870}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}dialog[open]{animation:open-player .3s ease}@keyframes open-player{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:600px){header{height:auto;min-height:100px;gap:20px;flex-wrap:wrap;padding:24px 0}nav{gap:18px;font-size:12px}.archive-invite{flex-direction:column;align-items:start;padding:25px;gap:24px}.glass-button{gap:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
/* Rihaan's portrait: monochrome, softly dissolved into the black About section. */
.about{min-height:560px;padding-bottom:55px;overflow:hidden}.about::before{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:48%;height:100%;background:url('assets/rihaan-portrait-hq.jpg') center bottom/contain no-repeat;filter:grayscale(1);opacity:.42;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 4%,#000 28%,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 4%,#000 28%,#000 72%,transparent 100%)}.about>div{position:relative;z-index:1}@media(max-width:600px){.about{min-height:0;padding-bottom:42px}.about::before{width:100%;height:520px;top:55px;bottom:auto;background-position:center top;opacity:.2;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 55%,transparent 100%)}.about .muted{color:#b8bbb2}}
/* A single portrait backdrop behind the name and biography. */
.about::before{inset:0;width:100%;height:100%;background-position:center 38%;background-size:cover;opacity:.23;filter:grayscale(1);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 72%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 72%,transparent)}.about>div{text-shadow:0 2px 14px #000}.about .muted{color:#bdc0b7}@media(max-width:600px){.about::before{inset:0;width:100%;height:100%;background-position:center;background-size:auto 100%;opacity:.19;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 75%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 75%,transparent)}}
@media(min-width:601px){.about::before{background-position:center top}}
/* Keep the entire portrait, including the head, inside the backdrop. */
.about::before{inset:0;width:100%;height:100%;background-position:center center;background-size:contain;opacity:.25;mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%)}.about{padding-top:70px;padding-bottom:70px;min-height:610px}.reach-out{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:60px 0 70px;border-top:1px solid var(--line)}.reach-out h2{margin:16px 0 22px}.reach-out p{max-width:470px;font-size:14px;line-height:1.8;color:var(--muted)}.reach-out .glass-button{flex-shrink:0}#ambient-particles{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}body{isolation:isolate}.instagram-section{padding:75px 0;border-top:1px solid var(--line)}.instagram-section .section-head a{color:var(--accent);font-size:13px}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.instagram-grid a{display:block;aspect-ratio:1;overflow:hidden;background:#000;border:1px solid #ffffff18;border-radius:4px}.instagram-grid img{object-fit:cover;filter:grayscale(1);opacity:.8;transition:transform .6s,opacity .6s}.instagram-grid a:hover img{transform:scale(1.035);opacity:1}.instagram-section>p{color:var(--muted);font-size:12px;line-height:1.7;margin-top:18px}@media(max-width:600px){.about{min-height:0;padding-top:45px;padding-bottom:50px}.about::before{background-size:contain;background-position:center 30%;opacity:.19}.reach-out{display:block;padding:45px 0}.reach-out .glass-button{margin-top:26px}.instagram-grid{gap:8px}.instagram-section{padding:45px 0}}

/* Softer, slightly more compact video covers with readable foreground labels. */
.featured{height:540px;border-radius:18px}
.project-image{aspect-ratio:4/4.6;border-radius:14px}
.featured:after{background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.18) 35%,rgba(0,0,0,.76))}
.project-image:after{inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 45%,rgba(0,0,0,.55))}
@media(max-width:900px){.featured{height:455px}}
@media(max-width:600px){.featured{height:465px;border-radius:14px}.project-image{border-radius:11px}}

/* Behance photo stories. */
.photography-section{padding:80px 0;border-top:1px solid var(--line);margin-top:70px}.photo-intro{font-size:14px;line-height:1.8;color:var(--muted);max-width:520px;margin:-15px 0 32px}.photography-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.photo-story-cover{position:relative;aspect-ratio:1.28;overflow:hidden;border-radius:14px;background:#101010}.photo-story-cover img{filter:grayscale(1);transition:transform .6s,filter .6s}.photo-story-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#0009);pointer-events:none}.photo-story-cover>span{position:absolute;bottom:18px;left:18px;z-index:1;font-size:10px;letter-spacing:.8px}.photo-story:hover img,.photo-story:focus-visible img{filter:grayscale(0);transform:scale(1.025)}.photo-category{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-size:9px;margin:18px 0 9px}.photo-story h3{font-size:19px;line-height:1.4;font-weight:400}.photography-section .section-head{align-items:center}@media(max-width:900px){.photography-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photography-section{padding:50px 0;margin-top:40px}.photography-grid{gap:28px 14px}.photo-story h3{font-size:15px}.photo-story-cover{border-radius:11px}.photo-story-cover>span{font-size:8px;left:12px;bottom:12px}.photo-category{font-size:8px}.photo-intro{margin:0 0 25px}}


/* Brighter portrait and colour reveals. */
.about::before{opacity:.43;transition:filter .65s ease,opacity .65s ease}
.about:hover::before,.about:focus-within::before{filter:grayscale(0);opacity:.68}
.about>div{text-shadow:0 2px 16px #000,0 1px 5px #000}
.instagram-grid img{transition:transform .6s,opacity .6s,filter .6s}
.instagram-grid a:hover img,.instagram-grid a:focus-visible img{filter:grayscale(0);opacity:1;transform:scale(1.035)}
@media(max-width:600px){.about::before{opacity:.34}.about:hover::before,.about:focus-within::before{opacity:.5}}


/* Shared proportions and hover behaviour for video and photography cards. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.project:last-child{grid-column:auto}
.project-image{aspect-ratio:1.28;border-radius:14px}
.project-image img,.landscape .project-image img{object-fit:cover;object-position:center}
.project h3{font-size:19px;line-height:1.4}
.featured>img,.project-image img{transition:filter .6s ease,transform .6s ease;filter:grayscale(1)}
.project:hover .project-image img,.project:focus-within .project-image img,.featured:hover>img,.featured:focus-visible>img{filter:grayscale(0);transform:scale(1.025)}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-grid{gap:28px 14px}.project-image{border-radius:11px}.project h3{font-size:15px}}


/* A quiet moving contact sheet across disciplines. */
.creative-ribbon{margin-top:46px}.ribbon-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.ribbon-heading .eyebrow{font-size:9px;color:var(--muted)}#ribbon-pause{border:0;background:transparent;color:var(--muted);font-size:10px;padding:8px 0}#ribbon-pause:hover{color:var(--accent)}.ribbon-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ribbon-track{display:flex;width:max-content;animation:ribbon-drift 64s linear infinite;will-change:transform}.ribbon-group{display:flex;gap:14px;padding-right:14px}.creative-glimpse{position:relative;display:block;flex:0 0 176px;width:176px;height:132px;overflow:hidden;border-radius:12px;background:#080808;border:1px solid #ffffff1a}.creative-glimpse img{filter:grayscale(1);transition:filter .55s,transform .55s;object-fit:cover}.creative-glimpse:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#000c);pointer-events:none}.glimpse-caption{position:absolute;left:12px;right:10px;bottom:12px;z-index:1;line-height:1.35;font-size:11px}.glimpse-caption small{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin:0 0 5px}.creative-glimpse:hover img,.creative-glimpse:focus-visible img{filter:grayscale(0);transform:scale(1.045)}.creative-ribbon:hover .ribbon-track,.creative-ribbon:focus-within .ribbon-track,.creative-ribbon.is-paused .ribbon-track{animation-play-state:paused}.creative-glimpse:focus-visible{outline-offset:-3px}.creative-ribbon+#work{padding-top:75px}@keyframes ribbon-drift{to{transform:translateX(-50%)}}@media(max-width:600px){.creative-ribbon{margin-top:32px}.creative-glimpse{width:142px;flex-basis:142px;height:112px}.ribbon-group{gap:10px;padding-right:10px}.glimpse-caption{font-size:10px}.ribbon-heading .eyebrow{font-size:8px}.creative-ribbon+#work{padding-top:55px}}@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;transform:none;will-change:auto}.ribbon-window{overflow-x:auto;mask-image:none}.ribbon-group[aria-hidden]{display:none}#ribbon-pause{display:none}}

/* Touch devices keep thumbnail covers monochrome, including sticky hover states. */
@media(hover:none){body .project .project-image img,body .featured>img,body .photo-story .photo-story-cover img,body .instagram-grid a img,body .creative-glimpse img{filter:grayscale(1)}}

/* Preserve the complete cover: portrait subjects must not be cropped by landscape cards. */
body .project-image img,body .landscape .project-image img,body .featured>img,body .photo-story-cover img,body .instagram-grid img,body .creative-glimpse img{object-fit:contain;object-position:center;transform:none}
.project-image,.photo-story-cover,.instagram-grid a,.creative-glimpse{background:#000}
/* Touch hover/focus must not leave the marquee paused after a tap. */
@media(hover:none){.creative-ribbon:not(.is-paused) .ribbon-track{animation-play-state:running}}

/* Reveal the archive invitation from left to right as it enters view. */
@media(prefers-reduced-motion:no-preference){.archive-invite.reveal{opacity:0;transform:translateX(-24px);transition:opacity .6s,transform 1s}.archive-invite.reveal>*{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}.archive-invite.reveal.is-visible{opacity:1;transform:none}.archive-invite.reveal.is-visible>*{clip-path:inset(0 0 0 0)}}

.service-area{padding:55px 0;border-top:1px solid var(--line)}.service-area h2{font-size:clamp(28px,4vw,48px);margin:18px 0;letter-spacing:-1px}.service-area p{max-width:680px;font-size:14px;line-height:1.85;color:var(--muted)}.service-area .text-link{max-width:260px}

/* Vector video arrows stay crisp and never render as mobile emoji. */
.play{color:var(--accent)}.play svg{display:block;width:19px;height:19px;pointer-events:none}
@media(max-width:600px){.play svg{width:17px;height:17px}}

/* Consistent Spotlight-style vector arrows across navigation and links. */
.site-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;color:#d5ef88;flex-shrink:0;pointer-events:none}.site-arrow-down{transform:rotate(135deg)}

.site-arrow-up{transform:rotate(-45deg)}

/* A slow tonal shift keeps the original italic lettering and green palette. */
.hero h1 em{background:linear-gradient(110deg,#d5ef88 0%,#a9cd78 28%,#edf5c8 50%,#b6d98a 72%,#d5ef88 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:hero-tone 12s ease-in-out infinite alternate}
@keyframes hero-tone{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.hero h1 em{animation:none}}
.contact .contact-locations{font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:520px}
.project-image{aspect-ratio:1;border-radius:14px}
body .project-image img{object-fit:cover;object-position:center 25%;transform:none}
body img[src$="brun.webp"]{object-position:center 16%}
body img[src$="brun-art.webp"]{object-position:center 45%}
body img[src$="ember.webp"]{object-position:center 5%}
body img[src$="tiramisu.webp"],body img[src$="product.webp"]{object-position:center 64%}
body img[src$="sport.webp"]{object-position:center 48%}
body img[src$="buyers-guide.webp"]{object-position:center 12%}
body img[src$="aroma.webp"],body img[src$="big-muscle.webp"],body img[src$="machismo.webp"]{object-position:center 60%}
body .project-image img[src$="teaser.webp"]{object-fit:contain;object-position:center}
@media(max-width:600px){
 .intro p{font-size:16px}.project h3,.photo-story h3{font-size:16px}.project p{font-size:14px}
 .about p,.service p{font-size:16px}nav{font-size:14px;gap:18px}.text-link{font-size:14px}
 .project-grid{gap:30px 12px}.project-image{border-radius:12px}
}

/* Ten photography highlights, in even rows on desktop and mobile. */
.photography-grid,.behance-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.behance-project[hidden]{display:none!important}
#behance-more{display:block;margin:30px auto 0}
@media(max-width:1000px){.photography-grid,.behance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body .project-image img[src$="teaser.webp"]{object-fit:cover;object-position:35% center}

#behance-more[hidden]{display:none}
