.hero-film{display:flex;flex-direction:column;background:#091623;max-width:500px;justify-self:end;width:100%;border-radius:18px;overflow:hidden;position:relative}
.hero-film video{display:block;width:100%;aspect-ratio:9/16;max-height:570px;object-fit:contain;background:#091623}
.hero-player{position:relative;width:100%}
.hero-video-start{position:absolute;inset:0 0 64px;width:100%;border:0;border-radius:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:white}
.hero-video-start[hidden],.hero-video-status[hidden]{display:none}
.hero-video-start>span{display:grid;place-items:center;width:64px;height:64px;border:2px solid white;border-radius:50%;background:#1686d8;box-shadow:0 4px 18px #00182b55;font-size:25px;padding-left:4px;transition:transform .18s,background .18s}
@media(hover:hover){.hero-video-start:hover>span{transform:scale(1.08);background:#113b66}}
.hero-video-start:focus-visible{outline:3px solid #85dbff;outline-offset:-5px}
.hero-video-status{position:absolute;bottom:70px;left:12px;right:12px;background:#113b66;color:white;padding:12px;font-size:14px;line-height:1.4}
@media(prefers-reduced-motion:reduce){.hero-video-start>span{transition:none}}
.hero-film figcaption{position:static!important;background:#113b66!important;padding:15px 19px!important;font-size:13px!important;color:white;line-height:1.5}
.hotel-references{background:#faf9f6}.reference-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:80px;margin-bottom:45px}.reference-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4vw,58px);color:#111b24;letter-spacing:-.04em;line-height:1.05}.reference-heading>p{font-size:17px;line-height:1.8}.hotel-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.hotel-reference{padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;background:white}.hotel-reference-mark{height:90px;display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.hotel-reference-mark img{width:100%;max-width:215px;height:65px;object-fit:contain;object-position:left center}.hotel-reference h3{font-size:21px;margin-bottom:15px;line-height:1.25;letter-spacing:-.025em}.hotel-reference p{font-size:14px;line-height:1.8}.independent-mark{font-size:25px;letter-spacing:-.035em;font-weight:750;color:#111b24}
.work-section{background:#f7fafc}.work-heading{display:flex;align-items:flex-end;gap:50px;justify-content:space-between;margin-bottom:30px}.work-heading .section-head{margin:0;max-width:740px}.work-heading>.text-link{flex-shrink:0}.work-sector-switch,.work-project-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.work-sector-switch button,.work-project-switch button{border:1px solid #b5c7d4;background:white;color:var(--navy);min-height:46px;padding:10px 18px;line-height:1.35;border-radius:7px;font-size:15px;font-weight:650}.work-sector-switch button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.work-project-switch button{font-size:14px;background:transparent}.work-project-switch button[aria-pressed=true]{background:#e4eef6;border-color:#1f5f9e;box-shadow:inset 0 -2px #1f5f9e}.work-project-switch [hidden]{display:none}.work-comparison{padding:25px;border:1px solid var(--line);border-radius:14px;background:white;max-width:1000px;margin-inline:auto}.work-comparison-title{margin-bottom:22px}.work-comparison-title .eyebrow{margin-bottom:8px}.work-comparison-title h3{font-size:26px}.work-slider{position:relative;aspect-ratio:4/3;isolation:isolate;overflow:hidden;background:#dfe7ed;border-radius:9px;--reveal:50%;touch-action:pan-y}.work-image-layer{position:absolute;inset:0}.work-image-layer img{width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none;background:#e8eef2}.work-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);z-index:1}.work-photo-label{position:absolute;top:18px;background:#0c2c48e8;color:white;padding:6px 12px;font-size:13px;z-index:2;border-radius:5px;pointer-events:none}.before-label{left:18px}.after-label{right:18px}.work-slider-line{position:absolute;top:0;bottom:0;width:3px;background:white;left:var(--reveal);transform:translateX(-50%);z-index:3;box-shadow:0 0 5px #112b4c7a;pointer-events:none}.work-slider-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border:3px solid white;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;gap:9px;color:white;font-size:26px;line-height:1;box-shadow:0 2px 12px #081b2d40}.work-slider-line i{height:22px;width:1px;background:#89b4d6}.work-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;padding:0;z-index:4;touch-action:pan-y}.work-slider:focus-within{outline:3px solid var(--blue);outline-offset:4px}.work-compare-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.work-compare-controls button{background:#edf4f8;color:var(--navy);border:1px solid #c3d5e2;border-radius:6px;min-height:44px;padding:8px 15px;font-size:13px;font-weight:650}.work-compare-controls>span{color:var(--blue)}.work-photo-note{font-size:14px;line-height:1.7;margin-top:18px;max-width:780px}
@media(min-width:1400px){.hero-film{max-width:500px}.hero-film video{max-height:580px}}
@media(max-width:1000px){.hotel-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-heading{gap:30px}.work-heading{display:block}.work-heading>.text-link{margin-top:18px}}
@media(max-width:680px){.hero-film{width:100%;max-width:390px;justify-self:center}.hero-film video{max-height:none}.hero-film figcaption{font-size:12px!important}.reference-heading{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:28px}.reference-heading h2{font-size:38px}.reference-heading>p{font-size:15px;line-height:1.7}.hotel-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-reference{padding:18px 14px}.hotel-reference-mark{height:70px;padding-bottom:14px;margin-bottom:18px}.hotel-reference-mark img{height:48px}.hotel-reference h3{font-size:19px}.hotel-reference p{font-size:13px;line-height:1.7}.independent-mark{font-size:18px}.work-comparison{padding:14px}.work-comparison-title h3{font-size:22px}.work-slider{aspect-ratio:3/4}.work-photo-label{top:10px;font-size:11px;padding:5px 9px}.before-label{left:10px}.after-label{right:10px}.work-sector-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.work-sector-switch button{font-size:12px;padding:10px 7px;min-height:46px}.work-project-switch{gap:7px}.work-project-switch button{font-size:13px;max-width:100%;padding:9px 12px;text-align:left}.work-compare-controls{gap:8px}.work-compare-controls button{font-size:12px;padding:8px;flex:1}.work-photo-note{font-size:13px}.work-slider-line>span{width:46px;height:46px}}
.work-image-layer img{object-fit:cover}.video-card.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.video-card.wide video{aspect-ratio:16/9;width:100%;height:auto;object-fit:contain}.video-card.wide figcaption{align-self:center}@media(max-width:680px){.video-card.wide{display:block}.video-card.wide video{aspect-ratio:16/9}.video-card.wide figcaption{padding:20px}}
.work-comparison{max-width:740px}.work-slider{max-width:620px;aspect-ratio:3/4;margin-inline:auto}.work-compare-controls{max-width:620px;margin-inline:auto}.work-photo-note{max-width:620px;margin-inline:auto;margin-top:18px}
.work-comparison[data-layout=panorama]{max-width:1060px}.work-slider[data-layout=panorama]{max-width:100%;aspect-ratio:16/9;background:#142d42}.work-slider[data-layout=panorama] .work-image-layer img{object-fit:contain;background:#142d42}.work-slider[data-layout=panorama] .work-before img{object-position:left center}.work-comparison[data-layout=panorama] .work-compare-controls,.work-comparison[data-layout=panorama] .work-photo-note{max-width:100%}@media(max-width:680px){.work-slider[data-layout=panorama]{aspect-ratio:4/3}}
