/* A single city introduces the routes; the existing photographic hero is untouched. */
html:root body#top.sea-service-page.service-master #directions .sea-city-intro{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(24px,4vw,64px);margin:0 0 36px}
html:root body#top.sea-service-page.service-master #directions .sea-city-intro__copy{max-width:42ch;min-width:0}
html:root body#top.sea-service-page.service-master #directions .sea-city-intro__copy .svc-h2{margin:16px 0 24px!important;font-size:clamp(28px,2.8vw,42px)!important;line-height:1.14!important}
html:root body#top.sea-service-page.service-master #directions .sea-city-intro__copy p{margin:0 0 24px!important}
.sea-city-origin{font:500 12px/1.5 var(--ui-font);letter-spacing:.035em;color:var(--service-muted)}
.sea-city-visual{margin:0!important;min-width:0;width:100%;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.sea-city-stage{position:relative;width:100%;height:clamp(430px,34vw,560px);isolation:isolate;overflow:hidden;overflow:clip;background:transparent}
.sea-city-poster,.sea-city-poster img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.sea-city-poster{mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(0deg,transparent,#000 24%,#000 88%,transparent);mask-composite:intersect}
.sea-city-stage iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;background:transparent;border-radius:0;box-shadow:none;transform:none!important;translate:none!important}
.sea-city-visual:not([data-city-state=ready]) iframe{visibility:hidden}.sea-city-visual[data-city-state=ready] .sea-city-poster{visibility:hidden}
.sea-city-launch{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);min-height:44px;padding:10px 16px;border:1px solid #35383b;border-radius:4px;background:#fff;color:#17191a;font:500 14px/1.4 var(--ui-font);white-space:nowrap;cursor:pointer;box-shadow:none}
.sea-city-launch[hidden]{display:none}.sea-city-launch:hover{border-color:#e52629;color:#c61829}
.sea-city-status{position:absolute;inset:auto 12px 76px;max-width:40ch;margin:auto!important;padding:8px;text-align:center;background:#fff;color:#34383c;font:400 13px/1.5 var(--ui-font)}.sea-city-status:empty{display:none}
.sea-city-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:12px;font:400 12px/1.5 var(--ui-font);color:var(--service-muted)}.sea-city-caption strong{font-weight:500;color:var(--service-ink)}
.sea-city-attribution{margin-top:8px;background:transparent!important;font:400 11px/1.5 var(--ui-font);color:var(--service-muted)}.sea-city-attribution summary{cursor:pointer;width:fit-content;min-height:28px}.sea-city-attribution p{max-width:70ch;font:inherit!important;margin:6px 0 0!important}.sea-city-attribution a{color:inherit;text-decoration:underline;text-underline-offset:3px}
html:root body#top.sea-service-page.service-master #directions .sea-city-attribution{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
html:root body#top.sea-service-page.service-master #directions .sea-city-attribution summary{display:list-item!important;font:inherit!important;min-height:28px;padding:0!important;background:transparent!important;border:0!important}
html:root body#top.sea-service-page.service-master #directions .sea-city-attribution summary::before,html:root body#top.sea-service-page.service-master #directions .sea-city-attribution summary::after{display:none!important}
html:root body#top.sea-service-page.service-master #directions .sea-route{background:transparent!important}
html:root body#top.sea-service-page.service-master #directions .sea-route-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
html:root body#top.sea-service-page.service-master #directions #sea-routes{max-width:80ch;margin:0 0 32px!important;scroll-margin-top:160px}
.sea-city-launch:focus-visible,.sea-city-attribution summary:focus-visible{outline:2px solid var(--c-accent,#e52629);outline-offset:4px}
html[data-theme=dark] .sea-city-stage iframe{background:#080808}
@media(max-width:1100px){html:root body#top.sea-service-page.service-master #directions .sea-city-intro{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:20px}.sea-city-stage{height:440px}.sea-city-caption{flex-direction:column;gap:4px}}
@media(max-width:760px){html:root body#top.sea-service-page.service-master #directions .sea-city-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}html:root body#top.sea-service-page.service-master #directions .sea-city-intro__copy{max-width:60ch}html:root body#top.sea-service-page.service-master #directions .sea-city-intro__copy .svc-h2{font-size:30px!important;margin:12px 0 16px!important}.sea-city-stage{height:340px}.sea-city-caption{flex-direction:row;gap:12px}.sea-city-caption span{max-width:22ch}html:root body#top.sea-service-page.service-master #directions #sea-routes{scroll-margin-top:100px}}
@media(max-width:380px){.sea-city-stage{height:300px}.sea-city-caption{flex-direction:column;gap:4px}.sea-city-caption span{max-width:none}}

/* Credits stay outside the illustration; no card or technical caption. */
html:root body#top.sea-service-page.service-master #directions .sea-scene-credit{margin:20px 0 0!important;padding:0!important;background:transparent!important;border:0!important;font:400 11px/1.5 var(--ui-font);color:var(--service-muted)}
.sea-scene-credit a{color:inherit;text-underline-offset:3px}
