@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Italiana&display=swap');
:root{--bg:#111211;--story-blue:#141b23;--text:#f0efeb;--muted:#a7aaa4;--line:#363933;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #e3d4bc;outline-offset:7px}button:hover,a:hover{color:#d2c5af}.skip{position:fixed;top:-100px;z-index:99;background:#fff;color:#111;padding:15px}.skip:focus{top:5px}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;border-bottom:1px solid var(--line);position:relative;z-index:3}.wordmark{font-size:23px;font-weight:600;letter-spacing:-1px}.wordmark span{font-size:12px;vertical-align:top;margin-left:5px}.nav nav{display:flex;align-items:center;gap:39px;font-size:14px;line-height:1.5}.nav nav a:last-child{margin-left:24px}.nav nav span{padding-left:8px}.hero{position:relative;min-height:850px;height:calc(100svh - 94px);max-height:1120px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;padding:29px 4.5%;position:relative;z-index:3}.hero-top p,.hero-top button,.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:450;margin:0}.hero-top button{letter-spacing:.4px;color:var(--muted)}.hero-top button span{margin-left:9px}.hero-title{position:relative;margin:19px 0 0 8%;pointer-events:none;z-index:2}.hero h1{font-size:clamp(76px,8.8vw,142px);font-weight:450;letter-spacing:-6px;line-height:.96;margin:0}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-3px;font-style:normal}.hero-title>p{position:absolute;left:68%;top:40px;font-size:15px;line-height:1.7;color:#bfc1bb}.gallery{position:absolute;left:0;right:0;top:260px;bottom:90px;perspective:1500px;touch-action:pan-y}.gallery-space{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 1s ease}.gallery-card{position:absolute;left:50%;top:50%;width:42%;height:83%;max-width:660px;padding:0;overflow:hidden;box-shadow:0 25px 70px #0009;background:#292b27;transition:transform 1.3s cubic-bezier(.2,.7,.2,1),opacity 1s,filter 1s;will-change:transform}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform 8s linear;display:block}.gallery-card.active img{animation:breathe 16s ease-in-out infinite alternate}.gallery-card::after{content:'';position:absolute;inset:0;border:1px solid #ffffff15;pointer-events:none}.gallery-card .frame-caption{position:absolute;bottom:20px;left:24px;right:20px;display:flex;justify-content:space-between;text-align:left;font-size:12px;letter-spacing:.7px;text-shadow:0 1px 10px #000}.gallery-card.active .frame-caption{opacity:1}.gallery-card:not(.active) .frame-caption{opacity:0}.gallery-card .frame-caption span:last-child{font-size:24px}.hero-bottom{position:absolute;bottom:0;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;height:88px;border-bottom:1px solid var(--line);font-size:13px}.discover span{margin-left:25px}.location{font-size:11px;letter-spacing:1.3px;color:var(--muted)}.gallery-controls{display:flex;align-items:center;gap:10px}.gallery-controls>span{margin-right:20px;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.gallery-controls button,.viewer-nav button{width:42px;height:42px;border:1px solid #5b6057;border-radius:50%;font-size:20px}.section{padding:120px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.eyebrow{color:var(--muted);margin-bottom:28px}.section h2{font-size:clamp(40px,4.4vw,68px);font-weight:400;letter-spacing:-2.6px;line-height:1.08;margin:0}.section h2 em,.contact-title em{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-1.3px}.section-intro{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 4px 30px}.work-nav{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:75px}.work-nav a{flex:1;display:flex;align-items:center;justify-content:space-between;padding:22px 24px 22px 0;font-size:15px}.work-nav a+a{border-left:1px solid var(--line);padding-left:24px}.work-nav span{font-size:11px;color:var(--muted)}.subhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:25px}.subhead h3{font-size:25px;font-weight:400;letter-spacing:-.5px;margin:0}.subhead>span{font-size:11px;letter-spacing:1px;color:var(--muted)}.subhead>p{font-size:14px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px}.project{display:block;text-align:left;padding:0;width:100%}.project-image{overflow:hidden;position:relative;aspect-ratio:4/5;background:#262824}.project img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1s}.project:hover img{transform:scale(1.035)}.project .project-info{display:flex;justify-content:space-between;align-items:center;margin-top:17px;gap:20px}.project h4{font-size:17px;font-weight:450;margin:0 0 5px}.project p{font-size:12px;color:var(--muted);margin:0}.project-info>span{font-size:24px;font-weight:400}.photo-grid .project:nth-child(2){padding-top:110px}.photo-grid .project:nth-child(3){grid-column:span 2;width:75%;margin:auto}.photo-grid .project:nth-child(3) .project-image{aspect-ratio:16/10}.film-section{background:var(--story-blue)}.film-section .subhead{align-items:flex-end;margin-bottom:55px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.film-grid .project:first-child{grid-column:span 2}.film-grid .project-image{aspect-ratio:16/9}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #ffffff88;width:72px;height:72px;display:grid;place-items:center;background:#0002;backdrop-filter:blur(4px);font-size:20px;color:white}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0 4%}.social-grid .project-image{aspect-ratio:9/16}.social-grid .project:nth-child(2){padding-top:70px}.social-grid .project:nth-child(3){padding-top:140px}.about{border-top:1px solid var(--line)}.about-body{display:grid;grid-template-columns:1.15fr 1fr;gap:8%}.about-body p{font-size:17px;line-height:1.85;color:#b7bbb1;margin:0 0 22px}.text-link{display:inline-flex;gap:40px;padding-bottom:8px;border-bottom:1px solid #777e70;font-size:14px;margin-top:12px}.clients{margin-top:100px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:35px}.clients>span{font-size:10px;letter-spacing:1px;width:110px;color:var(--muted);line-height:1.6}.clients>div{font-size:19px;color:#babeb3;letter-spacing:.3px}.clients>div:nth-child(2){font-family:Georgia,serif;font-size:15px}.clients>div:nth-child(3){font-weight:700;font-style:italic}.clients>div:last-child{font-family:Georgia,serif;font-size:34px}footer{background:#e6e7e0;color:#23271f;padding-bottom:30px!important}footer .eyebrow{color:#555d50}.contact-title{display:block;font-size:clamp(46px,6.9vw,105px);font-weight:450;letter-spacing:-4px;line-height:1.05;position:relative;padding:10px 90px 85px 0}.contact-title>span{position:absolute;right:0;top:20px;font-size:70px}.contact-title:hover{color:#58634e}.footer-bottom{border-top:1px solid #b9beb2;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;letter-spacing:.7px}.footer-bottom>a{font-size:12px}dialog{position:fixed;inset:0;border:0;background:#111211;color:var(--text);width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:70px 5% 24px;overflow:auto}dialog::backdrop{background:#000d}.close-viewer{position:fixed;right:5%;top:20px;padding:10px;z-index:10;background:#111d;font-size:14px}#viewer-content{height:calc(100dvh - 170px);display:flex;align-items:center;justify-content:center}#viewer-content>img{max-width:100%;max-height:100%;object-fit:contain}#viewer-content iframe{width:100%;height:100%;border:0}#viewer-content video{width:100%;height:100%;object-fit:contain}.viewer-caption{position:relative;margin-top:18px;padding-right:130px}.viewer-caption h2{font-size:20px;font-weight:450;margin:0 0 8px}.viewer-caption p{font-size:13px;color:var(--muted);margin:0}.viewer-nav{position:absolute;right:0;top:0;display:flex;gap:10px}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .gallery-space{transform:none!important}.reveal{opacity:0;transform:translateY(25px);transition:opacity 1s ease,transform 1s ease}.reveal.visible{opacity:1;transform:none}@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(min-width:1600px){.hero-title{margin-top:45px}.gallery{top:320px}}@media(max-width:900px){.hero{min-height:740px;max-height:900px}.hero h1{letter-spacing:-4px}.hero-title{margin-top:30px}.hero-title>p{left:68%;font-size:13px}.gallery{top:275px;bottom:100px}.gallery-card{width:57%;height:83%}.location{display:none}.section{padding:85px 6%}.clients{flex-wrap:wrap;justify-content:center}.clients>span{width:100%;text-align:center}.about-body{gap:5%}.social-grid{padding:0;gap:20px}.section-intro br{display:none}.section-intro{max-width:230px}.contact-title{letter-spacing:-2px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:600px){.nav{height:76px;margin:0 6%}.wordmark{font-size:19px}.nav nav{gap:19px;font-size:12px}.nav nav a:last-child{margin-left:0}.nav nav a:first-child{display:block}.hero{height:calc(100svh - 76px);min-height:720px;max-height:950px}.hero-top{padding:25px 6%}.hero-top p{font-size:9px;letter-spacing:1px;max-width:190px;line-height:1.6}.hero-top button{font-size:11px}.hero-title{margin:30px 6% 0}.hero h1{font-size:74px;letter-spacing:-3px}.hero h1 em{letter-spacing:-2px}.hero-title>p{position:static;font-size:13px;line-height:1.6;margin-top:21px}.hero-title>p br{display:none}.gallery{top:305px;bottom:80px;perspective:1000px}.gallery-card{width:70%;height:88%}.hero-bottom{left:6%;right:6%;height:74px;font-size:12px}.gallery-controls>span{margin-right:0;font-size:11px}.gallery-controls{gap:7px}.gallery-controls button{width:34px;height:34px}.discover span{margin-left:12px}.section{padding:72px 6%}.section h2{font-size:41px;letter-spacing:-1.7px}.section-heading{display:block;margin-bottom:35px}.section-intro{margin:25px 0 0;max-width:100%;font-size:14px}.eyebrow{font-size:10px;margin-bottom:22px}.work-nav{margin-bottom:44px}.work-nav a{font-size:11px;padding:20px 10px 20px 0}.work-nav a+a{padding-left:10px}.work-nav span{font-size:9px;margin-left:7px}.subhead>span{font-size:9px;max-width:140px;text-align:right;line-height:1.6}.photo-grid{gap:35px 15px}.photo-grid .project:nth-child(2){padding-top:50px}.photo-grid .project:nth-child(3){width:100%}.project h4{font-size:14px}.project p{font-size:11px;line-height:1.5}.project-info>span{font-size:18px}.project .project-info{margin-top:12px;gap:5px}.film-section .subhead{display:block;margin-bottom:30px}.film-section .subhead>p{margin-top:20px}.film-grid{grid-template-columns:1fr;gap:32px}.film-grid .project:first-child{grid-column:auto}.play-icon{width:52px;height:52px;font-size:15px}.social-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 20px;gap:20px}.social-grid .project{min-width:76%;scroll-snap-align:start;padding-top:0!important}.about-body{display:block}.about-body h2{margin-bottom:30px}.about-body p{font-size:16px}.clients{margin-top:55px;gap:25px}.clients>div{font-size:16px}.contact-title{font-size:47px;padding:5px 0 70px;letter-spacing:-2px}.contact-title>span{font-size:40px;top:auto;bottom:20px}.footer-bottom{font-size:9px}.viewer-caption h2{font-size:16px}.gallery-card .frame-caption{left:16px;bottom:14px;font-size:10px}.reveal{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.gallery-space{transform:none!important}}
.viewer-nav[hidden]{display:none}

#viewer-content.vertical-player iframe{width:min(100%,calc((100dvh - 170px)*9/16));height:100%;aspect-ratio:9/16}#viewer-source{display:inline-block;margin-top:12px;font-size:13px;border-bottom:1px solid var(--muted);padding-bottom:4px}#viewer-source[hidden]{display:none}.social-grid .project h4{line-height:1.45}

.social-grid .project-image iframe{width:100%;height:100%;border:0;display:block}.reel-info{width:100%;padding:0;text-align:left}

/* Featured sequence: media, shade and copy are independent layers.
   Still mode has natural page scrolling. A future video sequence can pin
   feature-stage and drive these properties without changing its composition. */
.nav{position:absolute;top:0;left:4.5%;right:4.5%;margin:0;border-bottom-color:#ffffff30;z-index:5}
.feature-sequence{--feature-scale:1;--feature-y:0px;--feature-copy-opacity:1;position:relative;background:#101c29}
.feature-stage{position:relative;isolation:isolate;min-height:740px;height:100svh;overflow:hidden}
.feature-media,.feature-shade{position:absolute;inset:0;pointer-events:none}
.feature-media{z-index:-2;transform:translateY(var(--feature-y)) scale(var(--feature-scale));transform-origin:60% 65%}
.feature-media img,.feature-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:56% 50%}
.feature-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,13,23,.76),rgba(5,13,23,.45) 40%,transparent 73%),linear-gradient(180deg,rgba(5,13,23,.25),transparent 25%,transparent 70%,rgba(5,13,23,.64))}
.feature-copy{position:absolute;left:7%;right:7%;top:25%;opacity:var(--feature-copy-opacity);color:#f5f4f1}
.feature-kicker{font-size:12px;letter-spacing:1.7px;line-height:1.7;margin:0 0 33px;color:#e1e4e8}
.feature-copy h1{font-size:clamp(76px,8.8vw,142px);font-weight:450;letter-spacing:-6px;line-height:.97;margin:0;text-shadow:0 2px 24px #08132124}
.feature-copy h1 em{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-3px}
.feature-subtitle{margin:32px 0 0;font-size:17px;line-height:1.75;color:#eeefef}
.feature-bottom{position:absolute;left:4.5%;right:4.5%;bottom:0;height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff30;font-size:14px}
.feature-bottom .location{color:#dee1e5}
.selected-gallery{position:relative;height:clamp(480px,49vw,730px);margin:0 -8.15% 64px;overflow:hidden}
.selected-gallery .gallery{top:0;bottom:76px;perspective:1500px}
.selected-gallery .gallery-card{height:86%}
.selected-gallery-toolbar{position:absolute;bottom:0;left:7%;right:7%;height:65px;display:flex;align-items:center;justify-content:space-between}
.gallery-motion{font-size:13px;letter-spacing:.3px;color:var(--muted);padding:12px 0 12px 12px}
.gallery-motion span{margin-left:9px}
@media(min-width:1800px){.feature-copy{top:28%}}
@media(max-width:900px){.feature-stage{min-height:700px}.feature-copy{top:27%}.feature-copy h1{font-size:clamp(72px,10vw,95px);letter-spacing:-4px}.selected-gallery{height:520px;margin-left:-6.82%;margin-right:-6.82%}.selected-gallery .gallery{top:0;bottom:76px}.selected-gallery .gallery-card{height:85%}.feature-media img,.feature-media video{object-position:57% 50%}}
@media(max-width:600px){.nav{left:6%;right:6%;margin:0}.feature-stage{height:100svh;min-height:680px;max-height:1000px}.feature-copy{left:6%;right:6%;top:23%}.feature-kicker{font-size:10px;letter-spacing:clamp(.2px,.12vw,.7px);max-width:none;white-space:nowrap;margin-bottom:26px}.feature-copy h1{font-size:clamp(49px,13.5vw,79px);letter-spacing:-2.7px;line-height:1.04}.feature-copy h1 em{letter-spacing:-1.8px}.feature-subtitle{font-size:16px;margin-top:23px;line-height:1.7}.feature-media img,.feature-media video{object-position:59% 50%}.feature-shade{background:linear-gradient(90deg,rgba(5,13,23,.76),rgba(5,13,23,.45) 75%),linear-gradient(180deg,rgba(5,13,23,.2),transparent 23%,transparent 75%,rgba(5,13,23,.65))}.feature-bottom{left:6%;right:6%;height:80px;font-size:13px}.selected-gallery{height:420px;margin-bottom:32px}.selected-gallery .gallery{top:0;bottom:76px;perspective:1000px}.selected-gallery .gallery-card{height:92%}.selected-gallery-toolbar{left:6%;right:6%}}
@media(prefers-reduced-motion:reduce){.feature-media{transform:none}.feature-copy{opacity:1}}

/* Smaller vertical placements, with full-size reading and expanded playback. */
.social-grid .project{width:50%;justify-self:center}
.social-grid .project:nth-child(2){padding-top:35px}
.social-grid .project:nth-child(3){padding-top:70px}
@media(max-width:600px){.social-grid .project{width:38%;min-width:38%;flex:0 0 38%}}

.storytelling{border-top:1px solid var(--line);background:var(--story-blue)}
.contact-title{transition:color .25s ease}
.contact-title:hover,.contact-title:focus-visible{color:var(--story-blue)}
footer ::selection{background:var(--story-blue);color:#f0efeb}
@media(prefers-reduced-motion:reduce){.contact-title{transition:none}}


/* Sticky scene releases naturally once all scroll-mapped frames are reached. */
.feature-sequence[data-feature-mode="scrub"]{height:500svh;overflow:visible}
.feature-sequence[data-feature-mode="scrub"] .feature-stage{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
.feature-media .feature-poster,.feature-media [data-scrub-video]{position:absolute;inset:0;transform:none}
.feature-media [data-scrub-video]{opacity:0}
.film-ready .feature-media [data-scrub-video]{opacity:1}
.film-ready .feature-poster{visibility:hidden}
.feature-skip{font-size:13px;white-space:nowrap;border-bottom:1px solid #ffffff55;padding:8px 0}
.scroll-cue>span[aria-hidden]{margin-left:12px}
[data-scrub-status]{display:block;font-size:12px;color:#c6ccd5;line-height:1.6;margin-top:5px}
[data-scrub-status][hidden]{display:none}
@media(max-height:650px){.feature-sequence[data-feature-mode="scrub"] .feature-copy{top:21%}.feature-sequence[data-feature-mode="scrub"] .feature-kicker{margin-bottom:12px}.feature-sequence[data-feature-mode="scrub"] h1{font-size:clamp(42px,11svh,75px)}.feature-sequence[data-feature-mode="scrub"] .feature-subtitle{margin-top:14px;font-size:14px;line-height:1.5}.feature-sequence[data-feature-mode="scrub"] .feature-bottom{height:64px}}
@media(max-height:420px){.feature-sequence[data-feature-mode="scrub"] .feature-copy{top:95px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:25px;align-items:center}.feature-sequence[data-feature-mode="scrub"] .feature-kicker{display:none}.feature-sequence[data-feature-mode="scrub"] h1{font-size:44px;letter-spacing:-2px}.feature-sequence[data-feature-mode="scrub"] .feature-subtitle{margin:0}.feature-sequence[data-feature-mode="scrub"] .feature-bottom{height:50px}}

.film-group+.film-group{margin-top:76px;padding-top:34px;border-top:1px solid var(--line)}
.film-group>.eyebrow{font-weight:450;margin:0 0 28px;line-height:1.6}
.film-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.film-grid.three-up>.project:first-child{grid-column:auto}
.film-group .project h4{line-height:1.45}
.film-group .project-info{align-items:flex-start}
@media(max-width:900px){.film-grid.three-up{gap:20px}.film-grid.three-up .play-icon{width:52px;height:52px;font-size:16px}}
@media(max-width:600px){.film-group+.film-group{margin-top:52px;padding-top:28px}.film-grid.three-up{grid-template-columns:1fr;gap:32px}.film-group>.eyebrow{font-size:12px;letter-spacing:1.3px}}

.embed-preview-card{position:relative}
.passive-preview{display:block;width:100%;height:100%;border:0;pointer-events:none}
.project-open{position:absolute;inset:0;width:100%;height:100%;z-index:2;padding:0;background:transparent}
.embed-preview-card:hover h4{color:#d2c5af}

/* Keep every navigation link visible and aligned at narrow widths. */
@media(max-width:600px){
 .nav{height:auto;min-height:104px;padding:17px 0 13px;display:grid;grid-template-columns:1fr;gap:12px;align-content:center}
 .nav nav{width:100%;justify-content:space-between;gap:12px;font-size:14px;align-items:center}
 .nav nav a{white-space:nowrap;display:inline-flex;align-items:center;min-height:30px}
 .nav nav a:last-child{margin-left:0}
 .nav nav span{padding-left:5px}
}
/* Four compact film stills with room for readable titles. */
.social-grid{grid-template-columns:repeat(4,minmax(0,180px));justify-content:space-between;gap:28px;padding:0;max-width:1000px;margin:0 auto}
.social-grid .project{width:100%}
.social-grid .project:nth-child(4){padding-top:105px}
@media(max-width:900px){.social-grid{gap:20px}}
@media(max-width:600px){.social-grid{display:flex;gap:20px;padding-bottom:20px}.social-grid .project{width:38%;min-width:38%;flex:0 0 38%}}

.social-grid .play-icon{left:auto;top:auto;right:12px;bottom:12px;transform:none;width:36px;height:36px;font-size:14px;background:#0004}

/* An unobstructed, full-screen flower interlude with its own scroll timeline. */
.flower-sequence .feature-media img,.flower-sequence .feature-media video{object-position:50% 50%}
.flower-sequence .feature-bottom{border-top:0;text-shadow:0 1px 8px #000}
.flower-sequence .feature-bottom::before{content:'';position:absolute;inset:-55px -8vw 0;z-index:-1;background:linear-gradient(transparent,#07121bb3);pointer-events:none}

/* Editorial copy sits within each pinned scene, leaving the right side open. */
.story-sequence .feature-stage,.contact-sequence .feature-stage{display:flex;align-items:center}
.sequence-copy{position:relative;z-index:1;margin-left:7%;margin-right:7%;padding:48px 0 110px;color:#f5f4f1;text-align:left}
.sequence-copy .eyebrow{color:#e2e6ec;font-size:14px;line-height:1.6;letter-spacing:1.7px;margin:0 0 30px}
.story-copy{width:min(680px,58%)}
.story-copy h2{font-size:clamp(48px,5.8vw,88px);line-height:1.04;font-weight:450;letter-spacing:-3px;margin:0}
.story-copy h2 em{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:-1.7px}
.story-description{max-width:540px;font-size:20px;line-height:1.7;margin:30px 0 0;color:#e6e9ed}
.story-sequence .feature-shade{background:linear-gradient(90deg,#05101de8 0%,#05101db3 40%,#05101d24 77%),linear-gradient(0deg,#05101d80,transparent 30%)}
.contact-copy{width:86%}
.contact-sequence .feature-media img,.contact-sequence .feature-media video{object-position:50% 50%}
.contact-sequence .feature-shade{background:linear-gradient(90deg,#05101dcc,#05101d80 55%,#05101d24),linear-gradient(0deg,#05101d80,transparent 40%)}
.contact-sequence .contact-title{font-size:clamp(48px,6.9vw,105px);padding:0 90px 0 0;max-width:1150px;color:#f5f4f1}
.contact-sequence .contact-title:hover,.contact-sequence .contact-title:focus-visible{color:#b8d8ff}
.contact-sequence ::selection,.story-sequence ::selection{background:#b8d8ff;color:#141b23}
.site-footer{padding:30px 7%!important;background:var(--story-blue);color:#e6e9ed}
.site-footer .footer-bottom{border-top:0;padding-top:0}
@media(max-width:900px){.story-copy{width:75%}.story-description{font-size:19px}.sequence-copy{margin-left:6%;margin-right:6%}}
@media(max-width:600px){
 .sequence-copy{padding:30px 0 100px}
 .sequence-copy .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:24px}
 .story-copy{width:88%}.story-copy h2{font-size:clamp(36px,11vw,48px);letter-spacing:-1.7px}
 .story-description{font-size:18px;line-height:1.6;margin-top:24px}
 .story-sequence .feature-shade{background:linear-gradient(90deg,#05101de6,#05101db3)}
 .contact-copy{width:88%}.contact-sequence .contact-title{font-size:clamp(40px,11.7vw,64px);padding:0 0 62px}
 .contact-sequence .contact-title>span{top:auto;bottom:0}
 .site-footer{padding:26px 6%!important}
}
@media(max-height:600px) and (min-width:601px){
 .sequence-copy{padding:24px 0 74px}.story-copy{width:76%;max-width:820px}
 .sequence-copy .eyebrow{margin-bottom:14px}.story-copy h2{font-size:46px}.story-description{font-size:17px;line-height:1.5;margin-top:18px;max-width:680px}
 .contact-sequence .contact-title{font-size:60px}
}
@media(max-height:560px) and (max-width:600px){.story-copy h2{font-size:34px}.story-description{font-size:16px;line-height:1.5;margin-top:16px}.sequence-copy .eyebrow{margin-bottom:16px}}

/* Respect the complete composition of each portrait, spread and artwork. */
.selected-gallery .gallery-card{max-width:none;background:transparent}
.selected-gallery .gallery-card img{object-fit:contain;animation:none;transform:none}
.selected-gallery .gallery-card .frame-caption{left:0;right:0;bottom:0;padding:26px 16px 14px;background:linear-gradient(transparent,#000b);font-size:12px;line-height:1.5}

/* Mobile scenes use lightweight portrait footage and a shorter scroll journey. */
.feature-media picture{display:block;width:100%;height:100%}
@media(max-width:760px) and (orientation:portrait){
 .feature-sequence[data-feature-mode="scrub"]{height:400svh}
 .feature-media img,.feature-media video{object-position:50% 50%}
 .feature-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
 .story-copy{width:88%}
 .gallery-controls button{min-width:44px;min-height:44px}
 .gallery-motion{min-height:44px}
}

/* All vertical stories share aligned image tops and caption baselines. */
.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,180px));align-items:start;gap:42px 28px;overflow:visible;scroll-snap-type:none}
.social-grid .project:nth-child(n){width:100%;min-width:0;padding-top:0!important;align-self:start}
.social-grid .project-image{aspect-ratio:9/16}
.social-grid .project-info{align-items:flex-start}
@media(max-width:760px){.social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px}}
@media(max-width:600px){.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px;max-width:380px;padding:0}.social-grid .project:nth-child(n){width:100%;min-width:0;flex:initial}}
#viewer-content.instagram-player{overflow:auto;align-items:flex-start}
#viewer-content.instagram-player iframe{width:min(100%,400px);height:max(100%,680px);min-height:680px;aspect-ratio:auto;background:white}

.welcome-section{background:var(--bg);text-align:center;padding-top:clamp(36px,3.5vw,56px);padding-bottom:clamp(40px,4vw,64px)}
.welcome-composition{max-width:1050px;margin:0 auto}
.welcome-section h2{max-width:900px;margin:0 auto;font-weight:400;line-height:1.1;letter-spacing:-2px}
.welcome-lead{display:block;text-align:left;padding-left:7%;font-size:clamp(18px,1.8vw,26px);line-height:1.6;letter-spacing:-.3px;color:#b8bdbb;margin-bottom:15px}
.welcome-expression{display:flex;align-items:baseline;justify-content:center;gap:.22em;font-size:clamp(54px,7.6vw,112px);letter-spacing:-4px;line-height:1.08}
.welcome-expression em{color:#b8cce2;font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-2px}
.welcome-signature{display:block;text-align:right;padding-right:7%;font-size:clamp(23px,2.5vw,36px);line-height:1.5;letter-spacing:-.7px;margin-top:14px}
.welcome-section .welcome-roles{margin:30px 0 0;padding:20px 15px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:1.7px;line-height:1.9;color:var(--muted)}
.vertical-gallery{height:clamp(490px,49vw,700px);margin-bottom:0}
.vertical-gallery .gallery-card img{object-fit:cover}
.vertical-gallery .gallery-card .frame-caption{padding-top:50px;font-size:12px}
.vertical-gallery .gallery-card .frame-caption span:first-child{max-width:90%}
.vertical-gallery .gallery-card .play-icon{width:58px;height:58px}
.about-layout{grid-template-columns:minmax(0,.75fr) minmax(180px,1fr) minmax(0,1.6fr);column-gap:clamp(20px,2.6vw,44px);align-items:center}
.about-layout h2{font-size:clamp(32px,3.2vw,49px);line-height:1.14;letter-spacing:-1.5px}
.about-portrait{width:100%;max-width:360px;margin:0;justify-self:end;transform:translateX(10px)}
.about-portrait img{display:block;width:100%;height:auto}
@media(max-width:900px){.about-layout{grid-template-columns:minmax(160px,.8fr) minmax(0,1.5fr);gap:32px}.about-layout h2{grid-column:1/-1;max-width:480px;font-size:42px}.about-portrait{max-width:300px;transform:none}}
@media(max-width:600px){.vertical-gallery{height:510px}.about-layout{display:grid;grid-template-columns:1fr;gap:26px}.about-layout h2{font-size:36px;margin-bottom:0}.about-portrait{max-width:280px;justify-self:center}.vertical-gallery .gallery-card .play-icon{width:48px;height:48px}}

@media(max-width:600px){
  .welcome-lead{padding-left:0;font-size:18px;margin-bottom:20px}
 .welcome-expression{flex-direction:column;align-items:center;gap:0;font-size:clamp(56px,14vw,80px);letter-spacing:-2px}
 .welcome-expression em{align-self:flex-end;margin-right:8%;font-size:1.22em;line-height:1.05}
 .welcome-signature{padding-right:8%;font-size:24px;margin-top:18px}
 .welcome-section .welcome-roles{margin-top:26px;padding:18px 0 0;font-size:12px;letter-spacing:1.3px;line-height:2}
}

.about-bio p{font-size:17px;line-height:1.75}
@media(max-width:600px){.about-bio p{font-size:16px;line-height:1.75}}

@media(max-width:900px){#social .section-intro br{display:block}}

/* Equal navigation columns keep labels on one shared baseline. */
.nav nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(52vw,480px);gap:12px;align-items:center}
.nav nav a{display:flex;justify-content:center;align-items:center;min-height:44px;line-height:1.5;white-space:nowrap}
.nav nav a:last-child{margin-left:0}
@media(max-width:600px){.nav nav{width:100%;gap:8px;font-size:clamp(12px,3.3vw,14px)}.nav nav a:first-child{display:flex}}

@media(min-width:901px){.about-layout{grid-template-columns:minmax(min-content,.75fr) minmax(180px,1fr) minmax(0,1.6fr)}.about-title-line{white-space:nowrap}}
