/* Scoped Coast 4 presentation; booking controls and map overlays retain plugin CSS. */
body.nx-coast{--accent:#b83b20;--ink:#153b3e;--muted:#476263;--soft:#f0f6f3;--paper:#fffefa;--radius:20px}
.nx-coast .nx-shell{max-width:1240px}.nx-coast h1,.nx-coast h2,.nx-coast h3{overflow-wrap:anywhere}.nx-coast .custom-logo-link img{max-width:230px;max-height:68px;width:auto;height:auto}.nx-coast a:focus-visible,.nx-coast button:focus-visible,.nx-coast input:focus-visible,.nx-coast summary:focus-visible{outline:3px solid #bf4d16;outline-offset:4px}
.nx-coast .nx-btn{border-radius:12px;min-height:48px;color:white;background:#b83b20;line-height:1.45;white-space:normal}.nx-coast .nx-btn:hover{background:#8e2c17;color:white}.nx-coast .nx-header nav .nx-btn{border-radius:12px}.nx-coast .nx-header{z-index:100}.nx-coast .nx-header-row{min-width:0}
.tpp4-hero{background:linear-gradient(120deg,#eff6f2,#fffefa);padding:62px 0 58px}.tpp4-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}.tpp4-hero-copy h1{font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-.035em;margin:18px 0 25px}.tpp4-hero-copy h1 em{font-style:normal;color:#28716c}.tpp4-hero-copy>p:not(.nx-label){font-size:18px;line-height:1.75;color:#476263}.tpp4-hero-media{position:relative;min-width:0;padding-bottom:40px}.tpp4-hero-media>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px 24px 80px 24px}.tpp4-ticket{margin:-28px 22px 0;position:relative;background:#153b3e;color:#fff;border-radius:16px;padding:23px;display:grid;gap:10px;box-shadow:0 15px 35px #153b3e20}.tpp4-ticket>span{font-size:11px;letter-spacing:.08em}.tpp4-ticket>strong{font-size:20px;line-height:1.4}.tpp4-checks{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none;margin:25px 0 0;font-size:12px}.tpp4-checks li{background:#e1eee7;padding:8px 12px;border-radius:20px;color:#153b3e}
.nx-coast .nx-booking-section{padding-top:38px;scroll-margin-top:30px}.nx-coast .nx-booking-box{border-radius:20px;box-shadow:0 18px 45px #153b3e0c;border:1px solid #cedbd4;background:#fff}.tpp4-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tpp4-services article{padding:30px;border:1px solid #d6e2dc;border-radius:22px;background:#fff;display:flex;flex-direction:column}.tpp4-services h3{font-size:24px;margin:24px 0 12px}.tpp4-services p{font-size:15px;line-height:1.8;color:#476263}.tpp4-services a{margin-top:auto;font-weight:700;color:#92351f}.tpp4-icon{display:inline-flex;align-self:start;padding:13px;background:#edf4ee;border-radius:12px;font-weight:700;color:#23605a}.tpp4-soft{background:#f0f6f3}.tpp4-directory label{display:block;font-weight:700;margin:24px 0 8px}.tpp4-directory input[type=search]{width:100%;padding:16px;background:white;color:#153b3e;border:1px solid #829f9a;border-radius:12px;min-height:50px}.tpp4-directory [data-route-count]{color:#476263;font-size:14px}.tpp4-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.tpp4-route-card{display:flex;flex-direction:column;gap:15px;padding:25px;background:#fff;border:1px solid #d6e2dc;border-radius:18px;color:#153b3e;text-decoration:none;min-width:0}.tpp4-route-card>span{font-size:11px;letter-spacing:.07em;color:#476263}.tpp4-route-card>strong{font-size:19px;line-height:1.4}.tpp4-route-card>span:last-child{margin-top:auto;font-weight:700;color:#92351f;letter-spacing:0;font-size:13px}.tpp4-route-card:hover{border-color:#28716c;box-shadow:0 8px 24px #153b3e0d}.tpp4-route-card[hidden]{display:none!important}.tpp4-section-link{margin-top:28px}
.tpp4-dark{background:#153b3e;color:#fff}.tpp4-dark h2,.tpp4-dark strong,.tpp4-dark .nx-label,.tpp4-dark a{color:#fff}.tpp4-dark p{color:#e1ece8;line-height:1.8}.tpp4-plan{display:grid;grid-template-columns:1fr 1fr;gap:70px}.tpp4-plan ol{margin:0;padding-left:25px}.tpp4-plan li{padding:0 0 15px 10px;margin-bottom:15px;border-bottom:1px solid #ffffff38}.tpp4-plan strong{font-size:21px}.tpp4-editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px}.tpp4-editorial-columns p{line-height:1.85;color:#476263}.tpp4-editorial-columns h3{font-size:23px;margin-top:30px}.tpp4-editorial-columns a{text-decoration:underline;color:#92351f}
.nx-coast .nx-inner-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start}.nx-coast .nx-inner-layout.nx-wide{display:block}.nx-coast .nx-sidebar{top:24px;align-self:start}.admin-bar.nx-coast .nx-sidebar{top:56px}.nx-coast .nx-trip-card{background:#153b3e}.nx-coast .nx-trip-card h2,.nx-coast .nx-trip-card li,.nx-coast .nx-trip-card a{color:#fff}.nx-coast .nx-trip-card p{color:#e1ece8}.nx-coast .tpp4-editorial{padding:26px 0;border-bottom:1px solid #d6e2dc}.nx-coast .tpp4-editorial h2{font-size:26px}.nx-coast .tpp4-editorial p{font-size:16px;line-height:1.85}.nx-coast .bstx-fleet-card>img{object-fit:contain;background:#f5f8f6;padding:12px}.nx-coast .nx-route-art{height:100%;overflow:auto;background:#153b3e;color:#fff}.nx-coast .nx-route-art strong,.nx-coast .nx-route-art small,.nx-coast .nx-route-art em{color:#fff}.nx-coast .nx-inner-photo{height:auto;min-height:230px}.nx-coast .nx-route-connections{background:#eef5f1;padding:28px;border-radius:20px;margin-top:32px}.nx-coast .nx-route-connections li{padding:6px 0}.nx-coast .nx-prose .tpp4-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.tpp4-hero-grid{gap:28px}.tpp4-services,.tpp4-route-grid,.nx-coast .nx-prose .tpp4-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp4-plan{gap:35px}.nx-coast .nx-inner-layout{grid-template-columns:minmax(0,1fr) 250px;gap:28px}}
@media(max-width:760px){.tpp4-hero{padding:30px 0}.tpp4-hero-grid,.tpp4-plan,.tpp4-editorial-columns,.tpp4-services,.tpp4-route-grid,.nx-coast .nx-prose .tpp4-route-grid,.nx-coast .nx-inner-layout{grid-template-columns:minmax(0,1fr)}.tpp4-hero-copy h1{font-size:38px}.tpp4-hero-media{padding-bottom:8px}.tpp4-ticket{margin:-20px 12px 0;padding:20px}.tpp4-plan{gap:25px}.tpp4-services article{padding:25px}.nx-coast .nx-sidebar{position:static}.tpp4-editorial-columns{gap:0}.nx-coast .custom-logo-link img{max-width:190px}.nx-coast .nx-inner-heading{grid-template-columns:minmax(0,1fr)}.nx-coast .nx-inner-photo{min-height:180px}.nx-coast .nx-prose .bstx-booking-panel{padding:16px}}
