/* One scroll timeline controls the full cinematic opening. */
.case-atlas{margin:32px 0;background:#0b2235;color:#f2f5f7;border:1px solid #c8aa6c55}
.case-atlas-head{padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #ffffff20}
.case-atlas h3{font:400 34px/1.15 Georgia,serif;margin:12px 0 0;color:#fff}
.case-atlas .eyebrow{color:#ddc18e}
.case-map-filters{display:flex;gap:8px;flex-wrap:wrap}
.case-map-filters button{font-size:14px;min-height:44px;padding:10px 16px;background:transparent;color:#e6edf3;border:1px solid #73818c}
.case-map-filters button[aria-pressed=true]{background:#ddc18e;color:#0b2235;border-color:#ddc18e}
.case-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr)}
.case-map-surface{position:relative;min-width:0;overflow:hidden;background:#0a1e2e}
.case-map-surface svg{width:100%;height:auto;display:block}
.case-map-surface svg[hidden]{display:none}
.case-map-land path{fill:#1d394f;stroke:#5c7180;stroke-width:.6;transition:fill .4s}
.case-map-land .case-country-active{fill:#a48854;stroke:#e8c789;stroke-width:1.4}
.case-map-points g{cursor:pointer;outline:none}
.case-pin-hit{fill:transparent}
.case-pin-ring{fill:#e8c78922;stroke:#e8c789;stroke-width:1}
.case-pin-core{fill:#f0d59f}
.case-map-points text{fill:#edf2f6;font:16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;paint-order:stroke;stroke:#0a1e2e;stroke-width:4;stroke-linejoin:round}
.case-map-points g:hover .case-pin-ring,.case-map-points g[aria-pressed=true] .case-pin-ring,.case-map-points g:focus-visible .case-pin-ring{fill:#e8c78966;stroke-width:3}
.case-map-caption{display:block;font-size:11px;letter-spacing:.12em;color:#bac5ce;padding:12px 24px;line-height:1.6}
.case-map-story{padding:32px;border-left:1px solid #ffffff20;align-self:center}
.case-map-story h4{font:400 30px/1.2 Georgia,serif;color:#fff;margin:16px 0}
.case-map-story>p{font-size:16px;line-height:1.7;color:#d4dce3}
.case-map-story .case-map-note{font-size:12px;color:#aebbc6;margin-top:24px}
.case-map-status{padding:18px 32px;margin:0;border-top:1px solid #ffffff20;font-size:13px;color:#c9d2da;line-height:1.7}
.case-map-filters button:focus-visible{outline:2px solid #efd5a5;outline-offset:3px}
#cases .cases article[hidden]{display:none!important}
#cases .cases.case-filtered{grid-template-columns:1fr}
@media(max-width:850px){.case-atlas-head{align-items:flex-start;flex-direction:column}.case-map-layout{grid-template-columns:1fr}.case-map-story{border-left:0;border-top:1px solid #ffffff20}.case-map-points text{font-size:21px}}
@media(max-width:550px){.case-atlas-head,.case-map-story{padding:24px 20px}.case-map-status{padding:18px 20px}.case-map-filters button{padding:10px 12px;font-size:13px}.case-map-points text{font-size:25px}}
@media(prefers-reduced-motion:reduce){.case-map-land path{transition:none}}
.route-passport{margin-top:32px;border:1px solid #b79a6388;background:#fff;scroll-margin-top:110px}
.route-passport summary{padding:26px 28px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#10283d;color:#fff;font-size:22px;list-style:none}
.route-passport summary::-webkit-details-marker{display:none}
.route-passport summary span{font-size:14px;color:#10283d;background:#e0c28e;padding:12px 18px;white-space:nowrap}
.route-passport summary:hover span{background:#efdbb5}
.passport-body{padding:30px;border-top:1px dashed #b79a6377}
.passport-body h3{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:0 0 25px}
#passport-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:decimal-leading-zero;padding-left:24px;margin:24px 0 32px}
#passport-steps li{padding-left:6px;color:#9b7b42}
#passport-steps strong{color:#10283d;font-size:16px;font-weight:500}
#passport-steps p{font-size:14px;line-height:1.7;color:#596774;margin:10px 0}
.passport-body h4{font-size:18px;margin-bottom:14px}
#passport-questions{padding-left:20px;font-size:16px;line-height:1.8;color:#394d5f}
.passport-note,#passport-status{font-size:13px;line-height:1.7;color:#596774;margin:22px 0}
.route-passport summary:focus-visible{outline:2px solid #b79a63;outline-offset:3px}
@media(max-width:760px){#passport-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.route-passport summary{padding:20px;font-size:17px}.passport-body{padding:24px 20px}.passport-body h3{font-size:30px}}
@media(max-width:420px){#passport-steps{grid-template-columns:1fr}.route-passport summary{flex-wrap:wrap}}
.world-time{background:#f6f7f8;scroll-margin-top:90px}
.world-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}
.time-city{min-width:0;padding:24px;background:white;color:#10283d;border:1px solid #d7dde3;transition:background .5s,color .5s,border-color .5s}
.time-city-head,.time-city-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px}
.time-city-head{letter-spacing:.12em;color:#84632b;margin-bottom:20px}
.time-city-head span+span{letter-spacing:0}
.time-city h3{font-size:18px;font-weight:500;margin:0}
.time-face{max-width:160px;margin:22px auto 14px}
.time-face svg{width:100%;display:block;overflow:visible}
.clock-ring{fill:none;stroke:currentColor;opacity:.18;stroke-width:1}
.clock-tick{stroke:currentColor;opacity:.45;stroke-width:1}
.clock-hour{stroke:currentColor;stroke-width:4;stroke-linecap:round}
.clock-minute{stroke:#b18b4b;stroke-width:2;stroke-linecap:round}
.clock-center{fill:#b18b4b}
.time-digits{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;display:block;text-align:center;font-size:clamp(38px,4vw,64px);font-weight:300;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;letter-spacing:-.035em;line-height:1.15}
.time-date{text-align:center;font-size:14px;margin:10px 0 24px;opacity:.75}
.time-city-foot{border-top:1px solid #b6a88c55;padding-top:18px;font-size:12px}
.time-night{background:#0a2033;color:#f3f5f7;border-color:#1f394e}
.time-night .time-city-head{color:#e4c48c}
.time-night .clock-minute{stroke:#e4c48c}
.world-time-controls{margin-top:32px;padding:26px 30px;background:#fff;border:1px solid #d7dde3;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px}
.world-time-controls>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.world-time-controls output{font-variant-numeric:tabular-nums;color:#80602f}
#world-time-slider{grid-column:1;width:100%;height:44px;cursor:ew-resize;accent-color:#a38147;margin:0;background:transparent}
.time-range-labels{display:flex;justify-content:space-between;font-size:12px;color:#5b6774;grid-column:1}
#world-time-now{grid-column:2;grid-row:1/4;align-self:center;min-height:48px;padding:12px 20px;background:#0a2033;color:white;font-size:14px}
.time-note{font-size:12px;line-height:1.7;color:#5b6774;margin-top:18px;max-width:900px}
.world-time input:focus-visible,.world-time button:focus-visible{outline:2px solid #a38147;outline-offset:5px}
@media(max-width:1000px){.world-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-digits{font-size:50px}}
@media(max-width:550px){.world-time-grid{gap:10px}.time-city{padding:18px 12px}.time-city h3{font-size:16px}.time-city-head{font-size:11px}.time-face{max-width:115px}.time-digits{font-size:39px}.time-city-foot{font-size:11px;gap:6px}.world-time-controls{padding:20px 16px;display:block}.world-time-controls>div:first-child{flex-wrap:wrap}.time-range-labels{margin-bottom:18px}#world-time-now{width:100%}}
@media(prefers-reduced-motion:reduce){.time-city{transition:none}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cinematic-home{--cinema-header:76px}
.cinema{height:285svh;min-height:1700px;background:#061520;position:relative;--window-opacity:1;--window-scale:1;--city-scale:1.08;--copy-opacity:1;--copy-y:0px;--city-brightness:.78;--video-opacity:0;--night:0;--panel-left:0%;--panel-right:0%;--panel-opacity:1;--reveal-light:0}
.cinema-stage{position:sticky;top:var(--cinema-header);height:calc(100svh - var(--cinema-header));min-height:610px;overflow:hidden;background:#061520;color:#fff;isolation:isolate}
.cinema [hidden]{display:none!important}
.cinema-world,.cinema-window,.cinema-grade{position:absolute;inset:0;pointer-events:none}
.cinema-world{overflow:hidden}
.cinema-reveal{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cinema-panel{position:absolute;top:0;bottom:0;opacity:var(--panel-opacity,1);will-change:transform;backface-visibility:hidden}
.cinema-panel-left{left:0;width:66%;background:linear-gradient(100deg,#071724 25%,#102b40 85%,#213c4a);border-right:1px solid #e1c28eaa;transform:translate3d(var(--panel-left,0%),0,0);box-shadow:16px 0 40px #03101c55}
.cinema-panel-right{right:0;width:34%;background:linear-gradient(90deg,#213c4a,#102b40 20%,#071724);border-left:1px solid #e1c28eaa;transform:translate3d(var(--panel-right,0%),0,0);box-shadow:-16px 0 40px #03101c55}
.cinema-reveal-light{position:absolute;inset:0;background:radial-gradient(ellipse at 66% 44%,#fff1cf,transparent 65%);opacity:var(--reveal-light,0);mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){.cinema-reveal{display:none}}
.cinema-city{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 52%;transform:scale(var(--city-scale));filter:brightness(var(--city-brightness));will-change:transform}
.cinema-video{opacity:var(--video-opacity);z-index:1;transition:opacity .3s linear;filter:brightness(calc(var(--city-brightness) + .02)) saturate(1.04) contrast(1.02)}
.cinema-video:not(.is-ready){opacity:0!important;visibility:hidden}
.cinema-video.is-ready{visibility:visible}
.cinema-window{opacity:var(--window-opacity);transform:scale(var(--window-scale));transform-origin:66% 47%;will-change:transform,opacity}
.cinema-window img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.cinema-grade{background:linear-gradient(90deg,rgba(3,14,25,.79),rgba(3,14,25,.24) 63%,rgba(3,14,25,.09)),linear-gradient(0deg,rgba(3,14,25,.88),transparent 40%,rgba(3,14,25,.18) 83%);z-index:1}
.cinema-grade:after{content:'';position:absolute;inset:0;background:#061b36;mix-blend-mode:multiply;opacity:var(--night);transition:opacity 1.2s}
.cinema-frame-top{position:absolute;top:28px;left:5.4%;right:5.4%;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cinema-overline{font-size:11px;letter-spacing:.24em;color:#e5d5b7}
.cinema-city-switch{display:flex;border:1px solid #ffffff46;background:#05172855;backdrop-filter:blur(10px)}
.cinema-city-switch button{min-height:44px;background:transparent;color:#d7dce1;padding:9px 20px;font-size:13px;transition:background .25s,color .25s}
.cinema-city-switch button[aria-pressed=true]{background:#c1a16a;color:#071b2c}
.cinema-city-switch button:hover{background:#c1a16a44;color:white}
.cinema-city-switch button[aria-pressed=true]:hover{background:#d8b77a;color:#071b2c}
.cinema-copy{position:absolute;left:5.4%;top:45%;transform:translateY(calc(-50% + var(--copy-y)));opacity:var(--copy-opacity);z-index:2;width:min(780px,68%);text-shadow:0 2px 28px #07132155}
.cinema-chapter-kicker{display:block;font-size:12px;color:#e0c79a;letter-spacing:.18em;margin-bottom:26px}
.cinema-copy h1{font-size:clamp(60px,6.55vw,110px);line-height:.98;letter-spacing:-.045em;font-weight:400;margin-bottom:24px;color:#fff}
.cinema-copy h1 em{color:#e2c28b}
.cinema-copy p{max-width:580px;font-size:18px;line-height:1.65;color:#e4e8ed;margin-bottom:29px}
.cinema-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;text-shadow:none}
.cinema-actions .button{min-height:54px;font-size:14px;padding:16px 24px}
.cinema-actions .button span{color:#081f31}
.cinema-consult{font-size:14px;border-bottom:1px solid #d2ba9555;padding-bottom:6px;color:#fff}
.cinema-location{position:absolute;right:5.4%;top:49%;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:9px;opacity:.86;pointer-events:none}
.cinema-location>span{font-size:13px;letter-spacing:.45em;color:#fff}
.cinema-location small{font-size:10px;letter-spacing:.12em;color:#dacbad}
.cinema-secret{position:absolute;right:5.4%;top:61%;z-index:4;width:48px;height:48px;background:transparent;color:#e7ca91;font-size:30px;transition:transform .7s,color .4s}
.cinema-secret:hover{transform:rotate(90deg);color:#fff0cc}
.cinema-secret[aria-pressed=true]{transform:rotate(180deg);color:#fff0cc}
.cinema-player{position:absolute;bottom:24px;left:5.4%;right:5.4%;z-index:3;border-top:1px solid #c8b18a66;padding-top:12px;max-width:1440px}
.cinema-chapters{display:flex;gap:30px}
.cinema-chapters button{background:transparent;color:#b7c3cd;font-size:13px;min-height:42px;padding:5px 0;transition:color .25s;white-space:nowrap}
.cinema-chapters button>span{color:#b99c67;padding-right:9px;font-size:11px}
.cinema-chapters button[aria-pressed=true]{color:#fff}
.cinema-chapters button[aria-pressed=true]>span{color:#ffe0a0}
.cinema-timeline{display:flex;gap:23px;align-items:center}
#cinema-play{background:transparent;color:#f1d09a;min-width:110px;min-height:44px;font-size:14px;text-align:left;padding:7px 0}
#cinema-play span{margin-left:7px;color:#fff;font-size:13px}

.cinema-play-icon,.cinema-pause-icon{display:inline-block;width:18px;height:20px;color:#f1d09a;vertical-align:-5px;flex:0 0 auto;background:none;margin:0}
.cinema-scrub-label{flex:1;display:flex;align-items:center;min-width:60px}
#cinema-scrub{--flight-progress:0%;--plane:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e9c785' d='m21 16-8-5V5.5a1.5 1.5 0 0 0-3 0V11l-8 5v2l8-2.5V21l-2 1.5V24l3.5-1 3.5 1v-1.5L13 21v-5.5l8 2.5z' transform='rotate(90 12 12)'/%3E%3C/svg%3E");appearance:none;-webkit-appearance:none;width:100%;height:44px;margin:0;cursor:grab;background:transparent;border:0;border-radius:4px}
#cinema-scrub{touch-action:pan-y}
#cinema-scrub:active{cursor:grabbing}
#cinema-scrub:focus-visible{outline:2px solid #e9c785;outline-offset:4px}
#cinema-scrub::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#e9c785 0 var(--flight-progress),#ffffff40 var(--flight-progress) 100%);border-radius:2px}
#cinema-scrub::-moz-range-track{height:2px;background:#ffffff40;border:0;border-radius:2px}
#cinema-scrub::-moz-range-progress{height:2px;background:#e9c785}
#cinema-scrub::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:40px;height:40px;margin-top:-19px;border:0;background:var(--plane) center/32px 32px no-repeat;filter:drop-shadow(0 2px 3px #03101c) drop-shadow(0 0 7px #e9c78566)}
#cinema-scrub::-moz-range-thumb{width:40px;height:40px;border:0;border-radius:0;background:var(--plane) center/32px 32px no-repeat;filter:drop-shadow(0 2px 3px #03101c) drop-shadow(0 0 7px #e9c78566)}
#cinema-percent{font-size:12px;color:#e2d8c4;min-width:36px;font-variant-numeric:tabular-nums}
.cinema-skip{color:#eee;font-size:13px;padding:10px 0;min-height:44px;white-space:nowrap}
.cinema-instruction{font-size:11px;color:#bdc7d0;margin:3px 0 0;line-height:1.5}
.cinema-ambient .cinema-overline,.cinema-ambient .cinema-location,.cinema-ambient .cinema-copy{opacity:0!important;pointer-events:none;visibility:hidden}
.cinema-ambient .cinema-grade{background:linear-gradient(0deg,#03101ce0,transparent 40%)}
.cinema-ambient .cinema-secret{top:90px}
.cinema-handoff{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 5.4%;background:#fff;border-bottom:1px solid var(--line)}
.cinema-handoff p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.cinema-handoff strong{display:block;color:var(--navy);font-weight:500}
.cinema-handoff a{color:#977640;font-size:14px;white-space:nowrap}
.cinematic-home #services{scroll-margin-top:0}
@media(min-width:1600px){.cinema-copy h1{font-size:112px}.cinema-copy{max-width:940px}.cinema-stage{max-height:1100px}}
@media(max-width:1050px){.cinema-copy{width:74%}.cinema-copy h1{font-size:75px}.cinema-location{top:67%;right:5.4%;opacity:.65}.cinema-secret{top:60%}.cinema-overline{font-size:10px;letter-spacing:.16em}}
@media(max-width:760px){
 .cinema{height:265svh;min-height:1540px}
 .cinema-stage{min-height:660px;height:calc(100svh - 76px)}
 .cinema-frame-top{top:18px;left:6%;right:6%;align-items:flex-start;gap:10px;flex-direction:column}
 .cinema-overline{font-size:9px;max-width:none;letter-spacing:.15em;line-height:1.9}
 .cinema-city-switch button{padding:8px 10px;font-size:12px;min-height:42px}
 .cinema-copy{left:6%;width:88%;top:43%}
 .cinema-copy h1{font-size:clamp(47px,10.6vw,70px);line-height:1.02;letter-spacing:-.025em;margin-bottom:20px}
 .cinema-copy p{font-size:16px;line-height:1.65;max-width:340px;margin-bottom:23px}
 .cinema-chapter-kicker{font-size:10px;margin-bottom:20px;letter-spacing:.13em}
 .cinema-actions{gap:18px;align-items:flex-start;flex-direction:column}
 .cinema-actions .button{font-size:13px;padding:13px 18px;min-height:50px}
 .cinema-consult{font-size:12px;padding-bottom:3px}
 .cinema-location{display:none}
 .cinema-secret{right:5%;top:65%;font-size:24px}
 .cinema-player{left:6%;right:6%;bottom:18px;padding-top:10px}
 .cinema-chapters{gap:20px;justify-content:space-between}
 .cinema-chapters button{font-size:11px;min-height:40px}
 .cinema-chapters button>span{font-size:10px;padding-right:4px}
 .cinema-timeline{gap:12px}
 #cinema-play span{display:none}
 #cinema-percent{font-size:11px;min-width:31px}
 .cinema-skip{font-size:12px}
 .cinema-instruction{font-size:10px;line-height:1.6;max-width:320px}
 .cinema-window{transform-origin:68% 45%}
 .cinema-window img{object-position:64% 50%}
 .cinema-city{object-position:58% 50%}
 .cinema-grade{background:linear-gradient(90deg,#03101c99,#03101c25),linear-gradient(0deg,#03101cfa,transparent 60%)}
 .cinema-handoff{padding:25px 6%;align-items:flex-start;flex-direction:column;gap:14px}
 .cinema-handoff p,.cinema-handoff a{font-size:13px}
 .cinema-ambient .cinema-secret{top:80px}
}
@media(max-height:650px) and (min-width:761px){.cinema-stage{min-height:500px}.cinema-copy{top:43%}.cinema-copy h1{font-size:58px}.cinema-chapter-kicker{margin-bottom:12px}.cinema-copy p{font-size:15px;margin-bottom:18px}.cinema-actions .button{min-height:45px;padding:10px 18px}.cinema-frame-top{top:12px}.cinema-copy .cinema-consult{font-size:12px}.cinema-player{bottom:10px;padding-top:5px}.cinema-instruction{display:none}}
@media(prefers-reduced-motion:reduce){.cinema{height:auto;min-height:0}.cinema-stage{position:relative;top:0;min-height:740px}.cinema-window,.cinema-city{will-change:auto;transform:none!important}.cinema-copy{opacity:1;transform:translateY(-50%);transition:none}.cinema-secret:hover{transform:none}.cinema-video{display:none}}
