:root{--paper:#f1f2ef;--ink:#17191a;--muted:#656969;--line:#d2d5d2;--dark:#101112;--silver:#c3c8c7;--sans:'DM Sans',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;--gutter:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border:0;background:none;cursor:pointer}button{touch-action:manipulation}img,video{max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#b7c1be;color:#101112}.section-shell{width:min(1440px,calc(100% - var(--gutter)*2));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}em{font-family:var(--serif);font-weight:400}h2{font-size:clamp(42px,5.2vw,80px);line-height:1.02;letter-spacing:-.045em;margin:0}h2 em{font-size:1.13em;letter-spacing:-.025em}.section-kicker,.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;margin:0 0 25px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:60px}.section-side-note{font-size:14px;color:var(--muted);max-width:330px;margin:0;line-height:1.7}.section-intro{color:var(--muted);font-size:16px;line-height:1.7;margin:24px 0 0}.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:14px;min-height:46px;padding:12px 20px;border:1px solid var(--line);transition:background .2s,color .2s}.button-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.outline-button:hover{background:var(--ink);color:var(--paper)}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:14px;padding:6px 0}.site-header{position:absolute;left:0;top:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:30px var(--gutter);gap:30px;color:#f6f7f4}.wordmark .brand-name{display:block;width:150px;height:auto;flex-shrink:0}.site-header nav{display:flex;gap:32px;margin-left:auto}.site-header nav a{font-size:14px;color:#d7d9d6}.header-cta{font-size:14px;border-bottom:1px solid #909591;padding:8px 0;margin-left:24px;white-space:nowrap}.header-cta span{margin-left:18px}.site-header a:hover{color:#fff}
/* A cinematic opening, with the original square film kept prominent. */
.hero{position:relative;isolation:isolate;min-height:720px;min-height:max(720px,100svh);background:#101112;color:#f1f2ef;display:flex;align-items:center;padding:150px var(--gutter) 135px;overflow:hidden}.hero-film{position:absolute;z-index:-3;inset:0 0 0 auto;width:74%;background:#181a19}.hero-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#101112 0%,rgba(16,17,18,.95) 18%,rgba(16,17,18,.6) 40%,rgba(16,17,18,.06) 68%),linear-gradient(0deg,rgba(16,17,18,.85),transparent 28%,transparent 76%,rgba(16,17,18,.3))}.hero-copy{width:min(730px,70%)}.hero .eyebrow{color:#bfc7c5;margin-bottom:30px}.hero h1{font-size:clamp(74px,9.2vw,150px);line-height:.94;letter-spacing:-.075em;margin:0 0 34px}.hero h1 em{font-size:1.12em;letter-spacing:-.035em;white-space:nowrap}.hero-lede{font-size:17px;line-height:1.7;color:#c9cecb;margin-bottom:35px}.film-link{display:flex;align-items:center;gap:16px;color:#f2f3f0;font-size:14px;padding:0;min-height:50px}.film-play{width:46px;height:46px;display:grid;place-items:center;border:1px solid #969d98;border-radius:50%;font-size:24px;line-height:1;transition:background .2s}.film-link:hover .film-play{background:#f1f2ef;color:#111}.film-duration{font-size:12px;color:#aeb7b2;margin-left:14px}.hero-bottom{position:absolute;bottom:32px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;font-size:13px}.hero-bottom>a{display:flex;gap:42px;align-items:center}.hero-bottom>a span{font-size:20px}.hero-credit{color:#b5bfba;font-size:12px;margin-left:auto}.hero-bottom button{font-size:12px;color:#e0e4e0;padding:10px 0 10px 16px;min-height:44px}
/* Services are the first scroll: visual introductions, with clear starting rates. */
.services{--ink:#f1f2ef;--muted:#a9afac;--line:#343836;width:100%;max-width:none;background:var(--dark);color:var(--ink);padding:105px var(--gutter) 115px}.services .section-heading{align-items:flex-start;display:grid;grid-template-columns:1fr 2fr;gap:50px}.services .section-kicker{padding-top:10px}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.offer{display:block;min-width:0}.offer-image{position:relative;aspect-ratio:1.28;overflow:hidden;background:#222624}.offer-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .7s}.offer:hover img{transform:scale(1.035)}.offer-image>span{position:absolute;left:16px;top:16px;background:#111b;color:#fff;backdrop-filter:blur(8px);font-size:12px;padding:3px 9px}.offer-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:24px 0 12px}.offer-meta h3{font-family:var(--serif);font-size:32px;line-height:1.1;letter-spacing:-.02em;margin:0}.offer-meta>span{font-size:13px;white-space:nowrap;color:#d2d7d3}.offer p{color:var(--muted);font-size:16px;max-width:370px;margin:0 0 24px}.offer-link{display:block;font-size:14px;border-top:1px solid var(--line);padding-top:15px}.offer:hover .offer-link{color:#fff}
/* Large, uncropped portfolio images with restrained captions. */
.work{padding:115px 0}.work .section-heading h2{max-width:750px}.work-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,7vw,120px);align-items:center}.image-trigger{display:block;position:relative;padding:0;text-align:left;overflow:hidden}.image-trigger img{transition:transform .65s;display:block;width:100%}.image-trigger:hover img{transform:scale(1.025)}.feature-image{width:100%;background:#dfe5ef}.feature-image img{aspect-ratio:1;object-fit:contain}.image-open{position:absolute;bottom:20px;right:20px;background:#fff;color:#111;padding:10px 14px;font-size:12px}.feature-copy .number{font-size:12px;border-top:1px solid var(--line);padding:16px 0;margin:0 0 36px;color:var(--muted)}.feature-copy .eyebrow{margin-bottom:20px}.feature-copy h3{font-size:clamp(34px,3.4vw,54px);line-height:1.05;letter-spacing:-.045em;margin:0 0 26px}.feature-copy h3 em{font-size:1.12em;letter-spacing:-.025em}.feature-copy>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.8;margin:0 0 28px}.tag-row{display:flex;flex-wrap:wrap;gap:9px 18px;margin-bottom:30px}.tag-row span{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px}.feature-copy .outline-button{padding:12px 18px}.listing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:28px}.listing-grid img{aspect-ratio:1;object-fit:contain}.listing-grid span,.poster-grid span{display:block;font-size:12px;color:var(--muted);padding:14px 0}.poster-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;padding:105px 0 36px;border-bottom:1px solid var(--line)}.poster-intro h3{font-family:var(--serif);font-size:clamp(36px,4vw,60px);line-height:1.05;letter-spacing:-.025em;margin:0;max-width:650px}.poster-intro>p{font-size:16px;color:var(--muted);max-width:440px;margin:0}.poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:30px;align-items:start}.poster-large{grid-column:span 2;grid-row:span 2}.poster-grid img{width:100%;height:auto;object-fit:contain}.poster-grid .image-trigger{width:100%}
.motion-work,.video-work{--ink:#f1f2ef;--muted:#a9afac;--line:#343836;width:100%;max-width:none;background:var(--dark);color:var(--ink);padding:110px var(--gutter)}.motion-work .section-heading{align-items:end}.motion-intro{font-size:16px;max-width:350px;color:var(--muted);margin:0}.motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.motion-card{min-width:0}.motion-card>.image-trigger{width:100%;aspect-ratio:1}.motion-card>.image-trigger img{height:100%;object-fit:contain}.motion-caption{padding:24px 0 0}.motion-caption h3{font-family:var(--serif);font-size:36px;line-height:1.1;letter-spacing:-.025em;margin:0 0 10px}.motion-caption p{font-size:14px;color:var(--muted);margin:0 0 24px}.motion-actions{display:flex;flex-wrap:wrap;gap:12px}.motion-actions .button{background:#e8ebe7;color:#141615;border-color:#e8ebe7}.motion-actions .outline-button{padding:12px 18px}.motion-package-link{margin-top:34px}.video-work{padding-top:20px}.video-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;border-top:1px solid var(--line);padding-top:85px;margin-bottom:52px}.video-heading>p{font-size:16px;color:var(--muted);max-width:380px;margin:0}.video-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px}.video-card-large{grid-column:1/-1;aspect-ratio:2}.video-card{display:block;position:relative;width:100%;padding:0;overflow:hidden;background:#252b28;text-align:left;aspect-ratio:1.3;color:#fff;grid-column:span 2}.video-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s}.video-card:hover img{transform:scale(1.035)}.video-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75))}.video-card-meta{position:absolute;z-index:1;bottom:26px;left:26px;right:80px;display:flex;flex-direction:column;gap:6px}.video-card-meta b{font-size:25px;font-family:var(--serif);font-weight:400;line-height:1.1}.video-card-meta small{font-size:12px;color:#d4ddd5}.play-circle{position:absolute;z-index:2;bottom:28px;right:24px;border:1px solid #d5dfd5;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:12px;padding-left:2px;backdrop-filter:blur(6px)}.video-footnote{display:flex;align-items:center;gap:16px;margin-top:28px;font-size:12px;color:var(--muted)}.footnote-line{width:30px;height:1px;background:var(--muted)}
/* Keep listing images proportional to their rendered width, overriding HTML heights. */
.listing-feature .feature-image{align-self:start;background:transparent;aspect-ratio:1}
.listing-feature .feature-image img,.listing-grid img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.listing-grid{align-items:start}
.listing-grid .image-trigger{width:100%;min-width:0}
.listing-grid span{font-size:14px;line-height:1.5;padding:12px 0 0}
.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1440px;margin-inline:auto}
.video-grid .video-card{grid-column:auto}
.video-card img[src="assets/reclining-chair.jpg"]{object-position:center 35%}
/* Simple editorial pricing, without sales badges or oversized price numerals. */
.pricing{padding:115px 0 100px}.pricing-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:60px}.pricing-heading>p{max-width:440px;font-size:16px;color:var(--muted);margin:0}.pricing-group-title{font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:18px;margin:50px 0 0}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.price-card{position:relative;min-width:0;padding:32px 32px 30px 0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.price-card+.price-card{padding-left:32px;border-left:1px solid var(--line)}.price-label{font-family:var(--serif);font-size:29px;line-height:1.15;letter-spacing:-.015em;margin:0 0 25px;min-height:64px}.price{font-size:40px;line-height:1;letter-spacing:-.055em;margin:0 0 24px}.price sup{font-size:13px;letter-spacing:0;vertical-align:top;margin-right:7px;position:relative;top:6px}.price span{font-size:24px;margin-left:3px;color:var(--muted)}.price-desc{font-size:16px;color:var(--muted);min-height:78px;margin:0 0 20px}.price-card ul{padding:0;margin:0 0 20px;list-style:none}.price-card li{padding:9px 0;font-size:14px;border-top:1px solid var(--line);line-height:1.6}.price-link{margin-top:auto;display:inline-block;font-size:14px;padding-top:18px;text-decoration:underline;text-underline-offset:6px}.price-card:target{background:#e1e5df;box-shadow:0 0 0 12px #e1e5df}.project-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:44px}.project-notes p{font-size:14px;color:var(--muted);margin:0}.project-notes strong{display:block;font-size:16px;color:var(--ink);font-weight:500;margin-bottom:12px}.price-note{font-size:12px;color:var(--muted);margin:30px 0 0}.closing{--ink:#f1f2ef;--muted:#a9afac;--line:#343836;width:100%;max-width:none;background:var(--dark);color:var(--ink);padding:90px var(--gutter) 35px}.closing h2{font-size:clamp(48px,7.8vw,124px);margin:38px 0 70px}.closing-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:35px}.closing-bottom>p{max-width:360px;font-size:16px;color:var(--muted);margin:0}.contact-block{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.contact-block>a:not(.button){font-size:14px;overflow-wrap:anywhere}.contact-block .button{background:var(--ink);color:var(--dark);border-color:var(--ink);margin-top:14px}.closing-bottom>span{font-size:12px;color:var(--muted);white-space:nowrap}.media-dialog{width:min(1040px,calc(100% - 32px));max-width:1040px;max-height:94dvh;border:1px solid #454b46;padding:18px;background:#101112;color:#f1f2ef;overflow:auto}.media-dialog::backdrop{background:rgba(7,9,8,.92);backdrop-filter:blur(8px)}.media-dialog img,.media-dialog video{display:block;width:100%;max-height:80dvh;object-fit:contain}.media-dialog p{font-size:13px;line-height:1.4;margin:15px 0 0;padding-right:40px;color:#c6ccc7}.dialog-close{position:sticky;top:0;float:right;margin-bottom:-42px;z-index:5;width:42px;height:42px;border:1px solid #858c87;background:#101112e6;color:#fff;border-radius:50%;font-size:28px;line-height:1}.video-dialog{width:min(960px,calc(100% - 32px))}
.wordmark{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.wordmark .brand-mark{display:block;width:50px;height:50px;flex-shrink:0}.footer-identity img{display:block;width:44px;height:44px;flex-shrink:0}.footer-identity{display:flex;align-items:center;gap:16px}.footer-identity .section-kicker{margin:0}
@media(min-width:1700px){.hero-copy{margin-left:calc((100vw - 1530px)/2)}.hero-film{width:65%}.offer-grid{max-width:1440px;margin:auto}.services .section-heading{max-width:1440px;margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.hero h1{font-size:10vw}.hero-film{width:80%}.offer-meta{flex-direction:column;gap:10px}.offer-meta h3{font-size:30px}.offer-grid{gap:22px}.price-card{padding-right:22px}.price-card+.price-card{padding-left:22px}.motion-actions{flex-direction:column}.motion-actions>*{width:100%}.price-label{font-size:26px}.closing-bottom{flex-wrap:wrap}.closing-bottom>span{width:100%}}
@media(max-width:760px){:root{--gutter:24px}.site-header{padding-top:24px;gap:16px}.site-header nav{display:none}.header-cta{margin-left:auto}.wordmark .brand-name{width:138px}.wordmark .brand-mark{width:46px;height:46px}.wordmark{gap:12px}.hero{min-height:830px;min-height:max(760px,100svh);padding:385px var(--gutter) 125px;align-items:flex-end}.hero-film{width:100%;height:auto;inset:0 0 auto;aspect-ratio:1}.hero-film video{object-fit:contain}.hero-shade{background:linear-gradient(0deg,#101112 0%,#101112 9%,rgba(16,17,18,.97) 22%,rgba(16,17,18,.35) 53%,transparent 78%,rgba(16,17,18,.35))}.hero-copy{width:100%}.hero h1{font-size:clamp(64px,13vw,97px);line-height:.97;margin-bottom:22px}.hero .eyebrow{font-size:12px;margin-bottom:21px}.hero-lede{font-size:16px;margin-bottom:25px}.hero-bottom{bottom:22px;font-size:12px;gap:12px;padding-top:15px}.hero-credit{display:none}.hero-bottom>a{gap:20px}.services,.motion-work,.video-work,.closing{padding-left:var(--gutter);padding-right:var(--gutter)}.services{padding-top:70px;padding-bottom:75px}.services .section-heading{display:block}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:40px}.section-side-note{max-width:100%}.offer-grid{grid-template-columns:1fr;gap:40px}.offer-image{aspect-ratio:1.3}.offer-meta{flex-direction:row;gap:18px;margin-top:20px}.offer-meta h3{font-size:32px}.offer p{max-width:none}.offer-link{padding-top:13px}.work{padding-top:75px;padding-bottom:75px}.work-feature{grid-template-columns:1fr;gap:32px}.feature-copy .number{display:none}.feature-copy h3{font-size:42px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:35px}.poster-intro{grid-template-columns:1fr;gap:24px;padding-top:70px}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.poster-large{grid-column:span 2;grid-row:auto}.motion-work{padding-top:75px;padding-bottom:70px}.motion-work .section-heading{align-items:flex-start}.motion-intro{max-width:100%}.motion-grid{grid-template-columns:1fr;gap:40px}.motion-actions{flex-direction:row}.motion-actions>*{width:auto}.video-work{padding-top:0;padding-bottom:75px}.video-heading{grid-template-columns:1fr;gap:25px;padding-top:65px;margin-bottom:35px}.video-grid{grid-template-columns:1fr;gap:22px}.video-card,.video-card-large{grid-column:auto;aspect-ratio:1.2}.pricing{padding-top:75px;padding-bottom:75px}.pricing-heading{grid-template-columns:1fr;gap:28px;margin-bottom:38px}.price-grid{grid-template-columns:1fr}.price-card,.price-card+.price-card{border-left:0;padding:30px 0}.price-label{font-size:32px;min-height:0;margin-bottom:18px}.price-desc{min-height:0}.price-card ul{margin-bottom:6px}.price-link{padding:15px 0 5px}.project-notes{grid-template-columns:1fr;gap:26px}.closing{padding-top:70px}.closing h2{font-size:clamp(43px,9vw,66px);margin:30px 0 50px}.closing-bottom{flex-direction:column;align-items:flex-start;gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.image-trigger:hover img,.offer:hover img,.video-card:hover img{transform:none}}

@media(max-width:380px){.site-header{padding-inline:18px;gap:12px}.wordmark{gap:10px}.wordmark .brand-name{width:128px}.wordmark .brand-mark{width:44px;height:44px}.header-cta span{margin-left:8px}}
