/* Project-led composition: all ten supplied photographs have a place. */
.hero{min-height:790px}.hero-inner{min-height:790px;padding-top:105px}.hero-copy{max-width:720px;position:relative;z-index:3}.hero h1{font-size:clamp(4.2rem,7vw,7.2rem);line-height:1.02}.hero-image{inset:-65px 0 -65px 48%;border-left:1px solid #ffffff16}.hero-image img{object-position:50% 54%;filter:saturate(.85)}.hero:before{background:linear-gradient(90deg,#111820 0%,#111820 36%,#111820bf 50%,#11182000 70%),linear-gradient(0deg,#111820cc,transparent 40%)}.hero-label{bottom:130px;right:35px;max-width:270px;background:#10182085;z-index:4}.hero-inset{position:absolute;left:52%;bottom:125px;width:172px;height:226px;border:6px solid #14191d;border-radius:16px;overflow:hidden;z-index:3;box-shadow:0 20px 60px #0006;transform:rotate(-4deg);transition:transform .5s var(--ease)}.hero-inset:hover{transform:rotate(0deg) translateY(-5px)}.hero-inset img{width:100%;height:100%;object-fit:cover}.hero-inset>span{position:absolute;left:0;right:0;bottom:0;padding:11px 9px;background:#101820d9;font-size:.75rem;line-height:1.4;text-align:center;letter-spacing:.03em;color:white}.hero-bottom{z-index:4}.photo-portfolio .gallery-toolbar{align-items:flex-start;gap:20px}.photo-portfolio .filters{gap:9px}.photo-portfolio .filters button{font-size:.875rem;padding:10px 15px}.photo-portfolio #gallery-count{white-space:nowrap;padding-top:11px}.photo-portfolio .project-grid,.photo-portfolio .project-grid.filtered{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}.photo-portfolio .project-card,.photo-portfolio .project-card:nth-child(2),.photo-portfolio .project-card:nth-child(4){padding-top:0;margin-top:0}.photo-portfolio .project-image,.photo-portfolio .filtered .project-image{height:auto;aspect-ratio:3/4}.photo-portfolio .project-image img{object-fit:cover;object-position:center}.photo-portfolio .project-caption{padding-top:21px}.photo-portfolio .project-caption h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.2}.photo-portfolio .project-caption p{font-size:.875rem;line-height:1.7;max-width:400px}.photo-portfolio .image-category{font-size:.75rem;letter-spacing:.04em;bottom:15px;left:15px;padding:7px 10px}.photo-portfolio .project-card:nth-child(3n+2){margin-top:50px}.photo-portfolio .filtered .project-card:nth-child(n){margin-top:0}.photo-portfolio .project-cta p{font-size:1.125rem}.work-comparison{background:#edf1f3}.comparison-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.comparison-grid>div:first-child>p:not(.kicker){margin-top:25px;max-width:430px;font-size:1rem}.comparison-legend{display:grid;gap:14px;margin-top:32px}.comparison-legend>span{display:flex;gap:17px;align-items:center;font-size:.9375rem}.comparison-legend b{font-size:.75rem;font-weight:400;color:var(--orange)}.comparison-grid .comparison-note{font-size:.8125rem!important;color:#7b8891}.comparison-grid .text-link{margin-top:25px}.comparison-widget{background:white;border-radius:17px;overflow:hidden;border:1px solid #dce3e6;box-shadow:0 18px 60px #1230430b}.comparison-images{position:relative;aspect-ratio:3/4;overflow:hidden;background:#26313a}.comparison-images>img,.compare-before,.compare-before>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;z-index:3;top:18px;padding:9px 12px;background:#111820bc;backdrop-filter:blur(8px);color:white;border:1px solid #ffffff30;border-radius:5px;font-size:.75rem;letter-spacing:.03em;pointer-events:none}.before-label{left:15px}.after-label{right:15px}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;z-index:2;pointer-events:none;box-shadow:0 0 18px #0005}.compare-divider b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--orange);color:var(--ink);border:3px solid white;border-radius:50%;box-shadow:0 5px 20px #0004;font-size:1.4rem}.compare-controls{padding:19px 25px 23px}.compare-controls label{margin:0;font-size:.875rem;font-weight:600}.compare-controls input[type=range]{appearance:auto;accent-color:var(--orange);width:100%;margin:16px 0 7px;padding:0;border:0;background:none;min-height:28px;cursor:ew-resize}.compare-controls>div{display:flex;justify-content:space-between;gap:20px;color:#7c8b93;font-size:.75rem}.project-dialog .dialog-photo{position:relative}.project-dialog .dialog-photo img{height:65dvh}.project-dialog .dialog-caption p{max-width:760px}
@media(min-width:1600px){.hero h1{font-size:7.6rem}.hero-inner,.hero{min-height:850px}.hero-copy{max-width:780px}.hero-image{left:49%}.hero-inset{left:54%}}
@media(max-width:1100px){.hero h1{font-size:6.8vw}.hero,.hero-inner{min-height:755px}.hero-copy{max-width:62%}.hero-inset{display:none}.hero-label{max-width:235px;bottom:100px}.comparison-grid{gap:55px}.photo-portfolio .project-grid,.photo-portfolio .project-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}.photo-portfolio .project-card:nth-child(n){margin-top:0}.photo-portfolio .project-card:nth-child(even){margin-top:45px}.photo-portfolio .filtered .project-card:nth-child(n){margin-top:0}.photo-portfolio .gallery-toolbar{flex-direction:column;gap:12px}.photo-portfolio #gallery-count{padding-top:0}}
@media(max-width:850px){.hero-copy{max-width:72%}.hero-image{left:40%}.hero:before{background:linear-gradient(90deg,#111820 0%,#111820e3 36%,#1118207d 70%,#1118200d),linear-gradient(0deg,#111820d9,transparent 65%)}.hero h1{font-size:7.5vw}.hero,.hero-inner{min-height:730px}.comparison-grid{gap:40px}.compare-label{font-size:.75rem;padding:7px 8px;top:13px}.before-label{left:10px}.after-label{right:10px}.comparison-grid h2{font-size:2.5rem}}
@media(max-width:760px){.hero-copy{max-width:100%}.hero h1{font-size:clamp(2.5rem,10.8vw,4.2rem);line-height:1.04}.hero,.hero-inner{min-height:665px}.hero-inner{padding-top:65px;padding-inline:22px}.hero-image{inset:0}.hero-image img{object-position:50% 53%;filter:saturate(.7)}.hero:before{background:linear-gradient(90deg,#111820ea,#11182096),linear-gradient(0deg,#111820f5,transparent 65%)}.hero .kicker{margin-bottom:25px}.hero .hero-copy>p:not(.kicker){font-size:1rem;max-width:310px}.hero .hero-bottom{margin-top:28px}.photo-portfolio .project-grid,.photo-portfolio .project-grid.filtered{grid-template-columns:1fr;gap:38px}.photo-portfolio .project-card:nth-child(n){margin:0}.photo-portfolio .project-image,.photo-portfolio .filtered .project-image{height:auto;aspect-ratio:3/4;max-height:none}.photo-portfolio .project-caption h3{font-size:1.7rem}.photo-portfolio .project-caption p{font-size:.9375rem}.photo-portfolio .filters{gap:7px}.photo-portfolio .filters button{font-size:.8125rem;padding:9px 12px}.photo-portfolio .project-cta p{font-size:1rem}.comparison-grid{grid-template-columns:1fr;gap:34px}.comparison-grid h2{font-size:2.5rem}.comparison-grid>div:first-child>p:not(.kicker){font-size:.9375rem}.comparison-legend{margin-top:24px;gap:12px}.comparison-images{aspect-ratio:3/4}.compare-controls{padding:18px 21px}.compare-controls>div{font-size:.75rem}.compare-divider b{width:42px;height:42px;font-size:1.2rem}.project-dialog .dialog-photo img{height:58dvh}.photo-portfolio .image-category{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.hero-inset{transform:none;transition:none}.project-image{transform:none!important}}

/* A single browsable row keeps every photograph without extending the page. */
.photo-portfolio.compact-gallery{padding-block:72px}
.compact-gallery .heading{margin-bottom:28px;gap:32px}
.compact-gallery .kicker{margin-bottom:16px}
.compact-gallery .gallery-toolbar{margin-bottom:20px}
.photo-portfolio.compact-gallery .project-grid,.photo-portfolio.compact-gallery .project-grid.filtered{position:relative;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8297a3 #ffffff0c;padding:6px 0 16px;scroll-padding:0}
.photo-portfolio.compact-gallery .project-card:nth-child(n){margin:0;padding:0;scroll-snap-align:start;scroll-margin-inline:0}
.photo-portfolio.compact-gallery .project-image,.photo-portfolio.compact-gallery .filtered .project-image{height:320px;aspect-ratio:auto;max-height:none;background:#222d34;transform:none}
.photo-portfolio.compact-gallery .project-image img{object-fit:contain;transform:none}
.compact-gallery .project-card:hover .project-image{box-shadow:inset 0 0 0 1px #ffffff26}
.photo-portfolio.compact-gallery .project-caption{padding-top:14px}
.photo-portfolio.compact-gallery .project-caption h3{font-size:1.25rem;line-height:1.25;margin-top:7px}
.photo-portfolio.compact-gallery .project-caption p{font-size:.875rem;line-height:1.6;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.photo-portfolio.compact-gallery .image-category{bottom:10px;left:10px;background:#10181de6}
.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}
.gallery-hint{font-size:.875rem;color:#a9bbc5}
.gallery-pagination{display:flex;align-items:center;gap:16px;flex-shrink:0}
.gallery-pagination button{min-height:44px;padding:9px 17px;border:1px solid #ffffff38;border-radius:7px;background:#ffffff08;color:white;font-size:.875rem;transition:background .2s}
.gallery-pagination button:hover:not(:disabled){background:#ffffff18;border-color:#ffffff80}
.gallery-pagination button:disabled{opacity:.4;cursor:default}
#projects-position{font-size:.875rem;color:#c2cdd3;font-variant-numeric:tabular-nums;min-width:90px;text-align:center}
.photo-portfolio.compact-gallery .project-cta{margin-top:24px;padding-top:24px;gap:20px}
.photo-portfolio.compact-gallery .project-cta p{font-size:1rem}
@media(max-width:1100px){
.photo-portfolio.compact-gallery .project-grid,.photo-portfolio.compact-gallery .project-grid.filtered{grid-auto-columns:calc((100% - 20px)/2)}
.photo-portfolio.compact-gallery .project-image,.photo-portfolio.compact-gallery .filtered .project-image{height:300px}
}
@media(max-width:760px){
.photo-portfolio.compact-gallery{padding-block:48px}
.compact-gallery .heading{gap:16px;margin-bottom:24px}
.compact-gallery .heading h2{font-size:clamp(1.85rem,8vw,2.5rem)}
.compact-gallery .heading>p{font-size:.9375rem}
.photo-portfolio.compact-gallery .gallery-toolbar{gap:10px}
.photo-portfolio.compact-gallery .filters{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:3px 2px 8px;scrollbar-width:thin;scrollbar-color:#8297a3 #ffffff0c}
.photo-portfolio.compact-gallery .filters button{flex-shrink:0;min-height:44px;font-size:.875rem;padding:9px 12px}
.photo-portfolio.compact-gallery .project-grid,.photo-portfolio.compact-gallery .project-grid.filtered{grid-auto-columns:86%;gap:16px}
.photo-portfolio.compact-gallery .project-image,.photo-portfolio.compact-gallery .filtered .project-image{height:270px}
.photo-portfolio.compact-gallery .project-caption h3{font-size:1.25rem}
.gallery-navigation{flex-direction:column;align-items:stretch;gap:12px}
.gallery-hint{text-align:center}
.gallery-pagination{justify-content:space-between;gap:10px}
.photo-portfolio.compact-gallery .project-cta{align-items:flex-start;gap:16px}
}

/* Fit the company slogan into the existing animated hero. */
.hero h1.hero-slogan{font-size:clamp(3rem,5vw,5.25rem);line-height:1.05;letter-spacing:-.045em}
@media(max-width:760px){.hero h1.hero-slogan{font-size:clamp(2rem,9vw,4rem);line-height:1.06}}

/* Gallery video and scroll-triggered project film. */
.work-video-widget{width:100%;max-width:360px;justify-self:center;overflow:hidden;border:1px solid #dce3e6;border-radius:17px;background:#111820;box-shadow:0 18px 60px #12304318}
.work-video-widget video{display:block;width:100%;height:auto;max-height:580px;object-fit:contain;background:#111820}
#work-video-error{padding:16px;color:white;font-size:.875rem}
#work-video-error a{color:white;text-decoration:underline}
@media(max-width:760px){.work-video-widget{max-width:min(100%,340px)}.work-video-widget video{max-height:62svh}}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 17px;min-height:48px;background:var(--orange);color:var(--ink);border:1px solid #ffffff60;border-radius:9px;box-shadow:0 8px 30px #0005;font-size:.875rem;font-weight:700}
.video-play>span{font-size:1.25rem}
.video-card:hover .video-play{background:#ff8655}
.project-dialog .dialog-photo video{display:block;width:100%;height:65dvh;object-fit:contain;background:#0c1317}
#video-error{font-size:.875rem;color:#d1d9df;padding-top:12px}
#video-error a{color:white;text-decoration:underline}
@media(max-width:760px){.project-dialog .dialog-photo video{height:58dvh}}
