.hero-section { position: relative; min-height: 700px; overflow: hidden; color: var(--color-white); background: #1e2b2d; }
.hero-photo { position: absolute; z-index: 0; inset: 0; width: 100%; overflow: hidden; background: #1e2b2d; }
.hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; opacity: 1; filter: saturate(1.04) contrast(1.04); }
.hero-photo::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(12,31,38,.94) 0%, rgba(12,31,38,.82) 17%, rgba(12,31,38,.48) 39%, rgba(12,31,38,.13) 70%, rgba(12,31,38,.02) 100%), linear-gradient(0deg, rgba(7,24,31,.56) 0%, transparent 46%, rgba(7,24,31,.14) 100%); pointer-events: none; }
.hero-section::before { position: absolute; top: -38%; right: -12%; width: min(62vw, 760px); aspect-ratio: 1; border-radius: 50%; content: ''; background: radial-gradient(circle, rgba(159,225,220,.3) 0%, rgba(126,210,216,.12) 42%, transparent 70%); }
.hero-section::after { position: absolute; right: -8%; bottom: -34%; width: min(72vw, 820px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ''; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.018), 0 0 0 210px rgba(255,255,255,.01); pointer-events: none; }
.hero-wash { position: absolute; inset: 0; opacity: .12; mix-blend-mode: soft-light; background: linear-gradient(112deg, transparent 0 54%, rgba(255,255,255,.09) 54% 54.15%, transparent 54.15%), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), radial-gradient(circle at 16% 74%, rgba(111,209,216,.24), transparent 26%), radial-gradient(circle at 82% 10%, rgba(246,211,141,.1), transparent 18%); background-size: auto, 72px 72px, 72px 72px, auto, auto; mask-image: linear-gradient(90deg, black 0%, rgba(0,0,0,.72) 62%, transparent 100%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); min-height: 700px; padding-top: clamp(5.5rem, 8vw, 7rem); }
.hero-copy { max-width: 660px; }
.hero-copy .eyebrow-light { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; min-height: 28px; margin: 0 0 14px; padding: 6px 10px 5px 12px; border: 1px solid rgba(240,200,120,.46); border-left: 3px solid #f0c878; border-radius: 5px 999px 999px 5px; color: #9bc9c9; background: rgba(8,30,39,.72); font-size: clamp(.7rem, 2.8vw, .8rem); font-weight: 800; line-height: 1.25; letter-spacing: .13em; text-shadow: 0 1px 0 rgba(5,28,37,.42); box-shadow: 0 8px 18px rgba(4,28,39,.16), inset 0 1px 0 rgba(255,249,237,.1); }
.hero-copy h1 { max-width: 660px; overflow-wrap: anywhere; margin: 0; font: 500 clamp(3.5rem, 7vw, 7.4rem)/.94 var(--font-display); letter-spacing: -.055em; }
.hero-description { max-width: 490px; margin: 2rem 0 0; color: rgba(255,255,255,.78); font-size: 1rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-trust { display: flex; align-items: center; gap: .8rem; margin-top: 2.5rem; color: rgba(255,255,255,.68); font-size: .72rem; }
.trust-stars { color: #f5d38d; letter-spacing: .15em; }
.hero-panel { position: relative; align-self: center; width: min(100%, 470px); min-height: 0; margin: 2.5rem 0 0 auto; padding: clamp(1.1rem, 2.4vw, 1.45rem); overflow: hidden; border: 1px solid rgba(255,255,255,.78); border-radius: 28px; color: #102a43; background: linear-gradient(145deg, rgba(246,243,234,.88), rgba(217,235,233,.78)); backdrop-filter: none; box-shadow: 0 28px 70px rgba(4,25,39,.28), inset 0 1px 0 rgba(255,255,255,.92); }
.hero-panel::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; content: ''; background: linear-gradient(90deg, #168aad, #f0c878 62%, transparent); }
.hero-panel::after { position: absolute; right: -70px; bottom: -100px; width: 260px; height: 260px; border: 1px solid rgba(139,216,213,.18); border-radius: 50%; content: ''; box-shadow: 0 0 0 32px rgba(139,216,213,.035), 0 0 0 64px rgba(139,216,213,.02); pointer-events: none; }
.hero-panel-top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; }
.hero-panel-heading { min-width: 0; }
.panel-kicker { display: block; min-width: 0; overflow-wrap: anywhere; color: #147f9c; font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero-panel-route { display: block; margin-top: .4rem; color: rgba(16,42,67,.72); font-size: .7rem; }
.hero-panel-status { display: inline-flex; flex: none; align-items: center; gap: .5rem; align-self: flex-start; color: rgba(16,42,67,.72); font-size: .62rem; text-transform: uppercase; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #73d4a1; box-shadow: 0 0 0 5px rgba(115,212,161,.15); }
.hero-panel-title { position: relative; z-index: 1; max-width: 360px; margin: .35rem 0 0 -.16em; padding: .08em .16em; border-radius: 10px; color: #09263e; background: rgba(255,252,244,.88); box-shadow: 0 5px 18px rgba(7,28,45,.08); box-decoration-break: clone; -webkit-box-decoration-break: clone; font: 400 clamp(2rem, 3.6vw, 2.85rem)/.93 var(--font-display); letter-spacing: -.045em; }
.hero-panel-intro { position: relative; z-index: 1; max-width: 430px; margin: .75rem 0 0 -.2em; padding: .2rem .35rem; border-radius: 6px; color: #12384f; background: rgba(255,252,244,.86); box-decoration-break: clone; -webkit-box-decoration-break: clone; font-size: .78rem; font-weight: 550; line-height: 1.5; }
.hero-services-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.hero-service { position: relative; display: flex; min-width: 0; min-height: 58px; align-items: center; gap: .65rem; padding: .78rem 2.4rem .78rem .82rem; border: 1px solid rgba(9,38,62,.28); border-radius: 15px; color: #102a43; background: rgba(255,252,245,.98); backdrop-filter: blur(6px); box-shadow: 0 8px 18px rgba(4,25,39,.12), inset 0 1px 0 rgba(255,255,255,.9); text-decoration: none; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.hero-service:hover, .hero-service:focus-visible { transform: translateY(-2px); border-color: rgba(20,127,156,.56); background: #fff; box-shadow: 0 10px 22px rgba(7,28,45,.16); }
.hero-service.is-static { cursor: default; opacity: .84; }
.hero-service.is-static:hover { transform: none; border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.06); }
.hero-service-icon { display: grid; flex: 0 0 30px; width: 30px; height: 30px; padding: .45rem; place-items: center; border-radius: 10px; color: #168aad; background: rgba(22,138,173,.12); }
.hero-service-icon svg { display: block; width: 100%; height: 100%; }
.hero-service strong { min-width: 0; overflow-wrap: break-word; word-break: normal; hyphens: none; text-wrap: balance; color: #061d32; font-size: .76rem; font-weight: 750; line-height: 1.2; letter-spacing: -.01em; text-shadow: 0 1px 0 rgba(255,255,255,.92); }
.hero-service-arrow { position: absolute; top: 50%; right: .75rem; color: #c28e32; font-size: 1.05rem; font-weight: 800; transform: translateY(-50%); }
.hero-actions .button-primary { color: #102a43; background: #f0c878; box-shadow: 0 14px 30px rgba(112,76,20,.2); }
.hero-actions .button-primary:hover, .hero-actions .button-primary:focus { background: #f6d895; box-shadow: 0 16px 34px rgba(112,76,20,.25); }
.route-line { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; }
.route-line small { display: block; color: rgba(255,255,255,.55); font-size: .7rem; }
.route-line > div { min-width: 0; }
.route-line strong { display: block; overflow-wrap: anywhere; margin-top: .15rem; font-weight: 600; }
.route-point { width: 12px; height: 12px; border: 3px solid #8bd8d5; border-radius: 50%; }
.route-point-end { border-color: #f5d38d; }
.route-connector { width: 1px; height: 26px; margin: .2rem 0 .2rem 5px; background: rgba(255,255,255,.22); }
.quick-concierge { position: relative; padding: clamp(34px, 5vw, 64px) 0 14px; background: #edf1eb; }
.quick-concierge-card { position: relative; overflow: hidden; border: 1px solid #dce3dc; border-radius: 27px; background: #fffdf8; box-shadow: 0 25px 70px rgba(55,72,66,.1); }
.quick-concierge-accent { height: 5px; background: linear-gradient(90deg, #5f9690 0%, #82a99b 58%, #e8bd6a 100%); }
.quick-concierge-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 17px clamp(22px,4vw,42px); border-bottom: 1px solid rgba(41,67,76,.08); }
.quick-concierge-meta span { display: inline-flex; align-items: center; gap: .45rem; color: #5f9690; font-size: .64rem; font-weight: 750; letter-spacing: .035em; }
.quick-concierge-meta b { color: #e8bd6a; font-size: .9rem; }
.quick-concierge-meta span:last-child b { color: #5f9690; }
.quick-concierge-body { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(30px,5vw,70px); padding: clamp(28px,4.5vw,48px) clamp(22px,4vw,42px); }
.quick-concierge-intro, .quick-concierge-choice, .quick-concierge-option-copy { min-width: 0; }
.quick-concierge-intro h2 { max-width: 510px; margin: 14px 0 15px; color: var(--color-navy); font: 500 clamp(2.65rem,4.8vw,4.45rem)/.94 var(--font-display); letter-spacing: -.045em; }
.quick-concierge-description { max-width: 430px; margin: 0; color: var(--color-muted); font-size: .81rem; line-height: 1.65; }
.quick-concierge-trust { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-top: 24px; color: #7a8783; font-size: .65rem; }
.quick-concierge-trust-line { width: 25px; height: 2px; margin-right: .15rem; background: #e8bd6a; }
.quick-concierge-choice { padding: clamp(16px,2.4vw,23px); border: 1px solid rgba(41,67,76,.09); border-radius: 19px; background: #f0f3ed; }
.quick-concierge-choice-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 13px; }
.quick-concierge-choice-heading strong { color: var(--color-navy); font-size: .77rem; }
.quick-concierge-choice-heading span { color: #5f9690; font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.quick-concierge-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.quick-concierge-option { position: relative; display: grid; grid-template-columns: 24px 34px minmax(0,1fr); align-items: center; gap: 9px; min-height: 82px; padding: 12px 36px 12px 11px; border: 1px solid rgba(41,67,76,.09); border-radius: 13px; color: inherit; background: #fffdf8; box-shadow: 0 7px 15px rgba(55,72,66,.06); text-decoration: none; transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.quick-concierge-option:hover, .quick-concierge-option:focus-visible { transform: translateY(-3px); border-color: rgba(95,150,144,.42); outline: 3px solid rgba(95,150,144,.15); outline-offset: 2px; background: #fff; box-shadow: 0 13px 22px rgba(55,72,66,.1); }
.quick-concierge-option.is-static { cursor: default; opacity: .82; }
.quick-concierge-number { align-self: start; color: #d2a754; font-size: .56rem; font-weight: 800; }
.quick-concierge-icon { display: grid; width: 32px; height: 32px; padding: 7px; place-items: center; border-radius: 10px; color: #5f9690; background: #e1efeb; }
.quick-concierge-icon svg { width: 100%; height: 100%; }
.quick-concierge-option-copy { display: grid; gap: 4px; }
.quick-concierge-option-copy strong { overflow-wrap: anywhere; color: #29434c; font-size: .7rem; line-height: 1.22; }
.quick-concierge-option-copy small { display: -webkit-box; overflow: hidden; color: #7a8783; font-size: .57rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.quick-concierge-arrow { position: absolute; top: 10px; right: 9px; display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid #dfb45f; border-radius: 50%; color: #765b2b; background: #e8bd6a; box-shadow: 0 5px 11px rgba(111,79,27,.16); font-size: .9rem; line-height: 1; transition: transform .2s ease; }
.quick-concierge-option:hover .quick-concierge-arrow, .quick-concierge-option:focus-visible .quick-concierge-arrow { transform: translate(2px,-2px); }
.quick-concierge-footer { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; padding: 14px clamp(22px,4vw,42px); border-top: 1px solid rgba(25,55,74,.08); color: #7c8986; font-size: .58rem; }
.quick-concierge-footer-rule { width: 18px; height: 1px; background: #e8bd6a; }
.quick-concierge-footer strong { color: #5f9690; }
@keyframes quick-arrow-drift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(2px,-2px); } }
@keyframes card-arrow-drift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(2px,-2px); } }
@media (prefers-reduced-motion: no-preference) {
	.quick-concierge-arrow { animation: quick-arrow-drift 1.9s ease-in-out infinite; }
	.quick-concierge-option:nth-child(2) .quick-concierge-arrow { animation-delay: -.45s; }
	.quick-concierge-option:nth-child(3) .quick-concierge-arrow { animation-delay: -.9s; }
	.quick-concierge-option:nth-child(4) .quick-concierge-arrow { animation-delay: -1.35s; }
	.card-arrow { animation: card-arrow-drift 2.1s ease-in-out infinite; }
	.service-card:nth-child(2n) .card-arrow { animation-delay: -.65s; }
	.service-card:nth-child(3n) .card-arrow { animation-delay: -1.25s; }
}
@media (min-width: 761px) {
	.quick-concierge-choice { padding: 24px; border-radius: 22px; }
	.quick-concierge-option { grid-template-columns: 40px minmax(0,1fr); gap: 12px; min-height: 94px; padding: 14px 48px 14px 14px; }
	.quick-concierge-icon { width: 38px; height: 38px; border-radius: 12px; background: #e2f0eb; box-shadow: inset 0 0 0 1px rgba(40,124,131,.06); }
	.quick-concierge-option-copy { gap: 5px; }
	.quick-concierge-option-copy strong { font-size: .76rem; line-height: 1.2; }
	.quick-concierge-option-copy small { font-size: .6rem; line-height: 1.35; }
.quick-concierge-arrow { top: 50%; right: 14px; width: 28px; height: 28px; padding: 5px; border: 1px solid rgba(177,123,53,.2); border-radius: 50%; box-sizing: border-box; background: #e8bd6a; transform: translateY(-50%); }
	.quick-concierge-option:hover .quick-concierge-arrow, .quick-concierge-option:focus-visible .quick-concierge-arrow { transform: translate(2px,calc(-50% - 1px)); }
}
.section { position: relative; overflow: hidden; padding: var(--space-section) 0; }
.section-services { background: radial-gradient(circle at 92% 8%, rgba(71,169,175,.12), transparent 24%), linear-gradient(180deg, #f8f5ee, #f4f0e8); }
.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.service-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; padding: 1rem; border: 1px solid rgba(16,42,67,.09); border-radius: 24px; color: inherit; background: linear-gradient(155deg, rgba(255,255,255,.98), rgba(244,249,248,.92)); box-shadow: 0 10px 35px rgba(16,42,67,.055), inset 0 1px 0 rgba(255,255,255,.9); text-decoration: none; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.service-card:hover, .service-card:focus-visible { transform: translateY(-7px); border-color: rgba(22,138,173,.24); box-shadow: 0 24px 55px rgba(16,42,67,.13); }
.service-card.is-static { cursor: default; opacity: .86; }
.service-card.is-static:hover { transform: none; border-color: var(--color-line); box-shadow: none; }
.service-card-image { width: 100%; aspect-ratio: 1.45; overflow: hidden; border-radius: 15px; background: var(--color-sand); }
.service-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.service-card:hover .service-card-image img { transform: scale(1.035); }
.service-card-body { position: relative; min-width: 0; padding: .9rem 2.15rem .1rem .15rem; }
.service-card-title { display: flex; min-width: 0; align-items: center; gap: .65rem; }
.service-icon { position: relative; display: grid; flex: none; width: 36px; min-width: 36px; max-width: 36px; height: 36px; padding: 9px; place-items: center; overflow: hidden; border-radius: 11px; color: var(--color-sea); background: var(--color-sea-light); }
.service-icon svg, .proof-icon svg, .fleet-spec-icon svg { display: block; width: 100%; height: 100%; }
.service-card h3 { min-width: 0; overflow-wrap: anywhere; margin: 0; color: var(--color-navy); font: 500 1.35rem/1.08 var(--font-display); transition: color .22s ease; }
.service-card:hover h3, .service-card:focus-visible h3 { color: var(--color-sea); }
.service-card p { overflow-wrap: anywhere; margin: .55rem 0 0; color: var(--color-muted); font-size: .82rem; }
.card-arrow, .detail-inline-arrow { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(177,123,53,.2); border-radius: 50%; color: var(--color-brass-deep); background: #e8bd6a; box-shadow: 0 5px 11px rgba(111,79,27,.16); font-size: .9rem; line-height: 1; transition: transform .2s ease; }
.card-arrow { position: absolute; top: .86rem; right: .05rem; margin: 0; }
.service-card:hover .card-arrow, .service-card:focus-visible .card-arrow, .fleet-card:hover .card-arrow, .fleet-card:focus-visible .card-arrow { animation-play-state: paused; }
.detail-inline-arrow { position: relative; flex: 0 0 auto; width: 25px; height: 25px; font-size: .82rem; }
.detail-link:hover .detail-inline-arrow, .detail-link:focus-visible .detail-inline-arrow, .route-chip-link:hover .detail-inline-arrow, .route-chip-link:focus-visible .detail-inline-arrow { transform: translate(2px,-2px); }
.section-proof { background: radial-gradient(circle at 8% 12%, rgba(246,211,141,.2), transparent 28%), linear-gradient(135deg, #ebe3d6, #f4efe6 52%, #e9f2f0); }
.proof-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.proof-list { display: grid; gap: .75rem; }
.proof-item { display: flex; gap: 1rem; padding: 1.25rem; border: 1px solid rgba(16,42,67,.08); border-radius: 18px; background: rgba(255,255,255,.55); box-shadow: 0 10px 30px rgba(16,42,67,.045); backdrop-filter: blur(8px); transition: transform .22s ease, background .22s ease; }
.proof-item:hover { transform: translateX(4px); background: rgba(255,255,255,.78); }
.proof-icon { display: inline-grid; flex: 0 0 auto; width: 38px; height: 38px; padding: .6rem; place-items: center; overflow: hidden; border-radius: 50%; color: var(--color-navy); background: #e6d7bf; }
.proof-item h3 { margin: 0; color: var(--color-navy); font-size: .95rem; }
.proof-item p { margin: .25rem 0 0; color: var(--color-muted); font-size: .8rem; }
.section-fleet { background: linear-gradient(180deg, #f8f5ee, #eef5f3); }
.fleet-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fleet-card { position: relative; min-width: 0; overflow: hidden; padding: 1rem; border: 1px solid rgba(16,42,67,.09); border-radius: 24px; color: inherit; background: linear-gradient(155deg, #fff, #f5faf9); box-shadow: 0 10px 35px rgba(16,42,67,.055); text-decoration: none; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.fleet-card:hover { transform: translateY(-7px); border-color: rgba(22,138,173,.22); box-shadow: 0 24px 55px rgba(16,42,67,.13); }
.fleet-image-wrap { aspect-ratio: 1.45; overflow: hidden; border-radius: 15px; background: var(--color-sand); }
.fleet-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.fleet-image-wrap img.image-fallback, .fleet-image-wrap img.image-placeholder { object-fit: cover; }
.fleet-card-body { position: relative; padding: 1.1rem 2.35rem .2rem .15rem; }
.fleet-card h3 { margin: 0; color: var(--color-navy); font: 500 1.25rem var(--font-display); transition: color .22s ease; }
.fleet-card:hover h3 { color: var(--color-sea); }
.fleet-specs { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; color: var(--color-muted); font-size: .7rem; }
.fleet-specs span { display: inline-flex; min-width: 0; align-items: center; gap: .35rem; line-height: 1.35; }
.fleet-spec-icon { display: inline-grid; flex: 0 0 15px; width: 15px; height: 15px; place-items: center; overflow: hidden; color: var(--color-sea); }
.section-blog-preview { background: radial-gradient(circle at 88% 18%, rgba(71,169,175,.12), transparent 23%), linear-gradient(140deg, #ece4d7, #f6f1e8); }
.homepage-blog-grid .blog-card { padding: 1rem; }
.homepage-blog-grid .blog-card-image { border-radius: 15px; }
.homepage-blog-grid .blog-card-body { padding: 1.4rem .4rem .4rem; }
.homepage-blog-grid .blog-card-body h3 { margin: 1rem 0 .7rem; color: var(--color-navy); font: 500 1.55rem/1.15 var(--font-display); transition: color .22s ease; }
.homepage-blog-grid .blog-card-body h3 a { color: inherit; }
.homepage-blog-grid .blog-card:hover h3 a { color: var(--color-sea); }
.homepage-blog-grid .blog-card-body > p { min-height: 4.8em; margin: 0 0 1.25rem; color: var(--color-muted); font-size: .84rem; }
.homepage-blog-fallback { width: 100%; height: 100%; object-fit: cover; }
.section-route-preview { background: linear-gradient(180deg, #f8fbfa, #edf4f2); }
.route-preview { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.route-preview > div:first-child > p:not(.eyebrow) { max-width: 440px; margin: 1.4rem 0 1.6rem; color: var(--color-muted); }
.text-link.is-static { cursor: default; opacity: .58; }
.route-preview-visual { position: relative; min-width: 0; overflow: hidden; min-height: 430px; border: 8px solid rgba(255,255,255,.88); border-radius: 30px; background: var(--color-sand); box-shadow: 0 28px 70px rgba(16,42,67,.16); }
.route-preview-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-preview-visual::after { position: absolute; inset: 38% 0 0; content: ''; background: linear-gradient(transparent, rgba(7,28,45,.86)); }
.route-chips { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; flex-wrap: wrap; gap: .7rem; align-content: center; }
.route-chips > span, .route-chips > a { max-width: 100%; overflow-wrap: anywhere; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.35); border-radius: var(--radius-pill); color: var(--color-white); background: rgba(7,28,45,.7); backdrop-filter: blur(8px); font-size: .72rem; text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.route-chip-link { display: inline-flex; align-items: center; gap: .55rem; }
.route-chip-link .detail-inline-arrow { width: 22px; height: 22px; border-color: rgba(223,180,95,.72); font-size: .72rem; }
.route-chips a:hover, .route-chips a:focus-visible { border-color: rgba(255,255,255,.8); background: rgba(8,137,159,.88); }
.section-final-cta { position: relative; overflow: hidden; padding: clamp(3.5rem, 5vw, 5rem) 0; color: var(--color-white); background: linear-gradient(118deg, #0d6078, #23929f 54%, #58b8b4); }
.section-final-cta::before, .section-final-cta::after { position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ''; pointer-events: none; }
.section-final-cta::before { top: -180px; left: -100px; width: 420px; height: 420px; box-shadow: 0 0 0 50px rgba(255,255,255,.035); }
.section-final-cta::after { right: -90px; bottom: -230px; width: 500px; height: 500px; box-shadow: 0 0 0 70px rgba(255,255,255,.025); }
.section-final-cta .container { position: relative; z-index: 1; }
.final-cta { text-align: center; }
.final-cta h2 { max-width: 700px; margin: 0 auto 2rem; color: var(--color-white); }
.content-area { padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.page-entry { max-width: 920px; margin: auto; padding: clamp(1.75rem, 5vw, 4rem); border: 1px solid rgba(16,42,67,.09); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(243,248,246,.92)); box-shadow: 0 24px 70px rgba(16,42,67,.1); }
.page-entry h1, .empty-state h1 { overflow-wrap: anywhere; color: var(--color-navy); font: 400 clamp(3rem, 7vw, 6rem)/1 var(--font-display); }
.entry-content { color: var(--color-muted); font-size: 1.02rem; }
.entry-content h2, .entry-content h3 { color: var(--color-navy); font-family: var(--font-display); font-weight: 400; line-height: 1.15; }
.entry-content h2 { margin-top: 2.5rem; font-size: clamp(2rem, 4vw, 3rem); }
.entry-content h3 { margin-top: 2rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.entry-content blockquote { margin: 2rem 0; padding: 1.2rem 1.5rem; border-left: 4px solid var(--color-sea); border-radius: 0 16px 16px 0; color: var(--color-navy); background: var(--color-sea-light); font-family: var(--font-display); font-size: 1.3rem; }
.entry-content a { color: var(--color-sea); text-decoration: underline; text-underline-offset: .22em; }
.empty-state { min-height: 65vh; text-align: center; }
.empty-state p:not(.eyebrow) { color: var(--color-muted); }
.blog-archive { background: var(--color-cream); }
.blog-archive-hero { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 6.5rem) 0; color: var(--color-white); background: linear-gradient(118deg, #0b3048, #1d607c 52%, #47a9af); }
.blog-archive-hero::after { position: absolute; top: -60%; right: -8%; width: min(62vw, 720px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; box-shadow: 0 0 0 70px rgba(255,255,255,.03), 0 0 0 140px rgba(255,255,255,.02); }
.blog-archive-hero .container { position: relative; z-index: 1; }
.single-article-header { position: relative; overflow: hidden; padding: clamp(3.75rem, 7vw, 6.5rem) 0; color: var(--color-navy); border-bottom: 1px solid rgba(16,42,67,.1); background: linear-gradient(125deg, #fbf8f1 0%, var(--color-cream) 58%, #edf4f2 100%); }
.single-article-header::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; content: ''; background: linear-gradient(90deg, var(--color-sea), #8dc9c7 42%, rgba(141,201,199,0) 82%); }
.single-article-header::after { position: absolute; top: -55%; right: -12%; width: clamp(320px, 48vw, 720px); aspect-ratio: 1; border: 1px solid rgba(22,138,173,.08); border-radius: 50%; content: ''; box-shadow: 0 0 0 70px rgba(22,138,173,.025), 0 0 0 140px rgba(22,138,173,.018); pointer-events: none; }
.blog-archive-hero h1, .single-article-header h1 { max-width: 850px; overflow-wrap: anywhere; margin: 0; font: 400 clamp(3rem, 7vw, 6.5rem)/.98 var(--font-display); letter-spacing: -.05em; }
.single-article-header h1 { color: var(--color-navy); font-size: clamp(2.9rem, 6vw, 5.8rem); }
.blog-archive-hero p:not(.eyebrow) { max-width: 650px; margin: 1.5rem 0 0; color: rgba(255,255,255,.72); }
.single-excerpt { max-width: 650px; margin: 1.5rem 0 0; color: var(--color-muted); font-size: clamp(.95rem, 1.3vw, 1.08rem); line-height: 1.75; }
.blog-list-section { padding-top: var(--space-section); padding-bottom: var(--space-section); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.blog-card { min-width: 0; overflow: hidden; border: 1px solid rgba(16,42,67,.09); border-radius: 24px; background: linear-gradient(155deg, #fff, #f5faf9); box-shadow: 0 10px 35px rgba(16,42,67,.055); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.blog-card:hover { transform: translateY(-7px); border-color: rgba(22,138,173,.22); box-shadow: 0 24px 55px rgba(16,42,67,.13); }
.blog-card-image { display: block; aspect-ratio: 1.5; overflow: hidden; background: var(--color-sand); }
.blog-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.blog-card-image img.image-fallback, .blog-card-image img.image-placeholder { object-fit: cover; }
.blog-card:hover .blog-card-image img { transform: scale(1.035); }
.blog-card-body { min-width: 0; padding: 1.5rem; }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: .45rem 1rem; color: var(--color-sea); font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.blog-card-body h2 { overflow-wrap: anywhere; margin: 1rem 0 .7rem; color: var(--color-navy); font: 400 1.55rem/1.15 var(--font-display); }
.blog-card-body > p { min-height: 4.8em; overflow-wrap: anywhere; margin: 0 0 1.25rem; color: var(--color-muted); font-size: .84rem; }
.compact-empty { min-height: auto; padding: 4rem; border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-white); }
.single-article-header-inner { position: relative; z-index: 1; display: grid; gap: 1.2rem; }
.single-article-header-inner.has-detail-image { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(2.25rem, 6vw, 5.5rem); }
.single-article-header-copy { min-width: 0; }
.single-article-header-media { min-width: 0; overflow: hidden; padding: clamp(.45rem, .8vw, .7rem); border: 1px solid rgba(16,42,67,.1); border-radius: clamp(22px, 3vw, 32px); background: rgba(255,255,255,.84); box-shadow: 0 24px 70px rgba(16,42,67,.13); }
.single-article-header-image { display: block; width: 100%; aspect-ratio: 1.45; height: auto; object-fit: cover; border-radius: clamp(17px, 2.4vw, 25px); }
.single-article-header .blog-card-meta { color: #b8e4e7; }
.detail-type-kicker { display: inline-flex; width: max-content; max-width: 100%; align-items: center; gap: .55rem; margin: 0 0 1rem; padding: .5rem .8rem; border: 1px solid rgba(22,138,173,.16); border-radius: var(--radius-pill); color: var(--color-sea); background: rgba(255,255,255,.68); font-size: .65rem; font-weight: 800; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.detail-type-kicker::before { width: 7px; height: 7px; border-radius: 50%; content: ''; background: var(--color-sea); box-shadow: 0 0 0 4px rgba(22,138,173,.1); }
.fleet-detail-intro { max-width: 650px; }
.fleet-detail-intro p { margin: 0; }
.single-content-wrap { max-width: 880px; padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: var(--space-section); }
.single-entry-content { min-width: 0; color: var(--color-ink); font-size: 1.04rem; overflow-wrap: break-word; word-break: normal; }
.single-entry-content > * { min-width: 0; max-width: 720px; margin-right: auto; margin-left: auto; }
.single-entry-content h1, .single-entry-content h2, .single-entry-content h3, .single-entry-content h4 { overflow-wrap: anywhere; color: var(--color-navy); font-family: var(--font-display); font-weight: 400; line-height: 1.15; }
.single-entry-content h1, .single-entry-content h2 { margin-top: 2.8rem; font-size: clamp(2rem, 4vw, 3rem); }
.single-entry-content h1 strong, .single-entry-content h1 b, .single-entry-content h1 span, .single-entry-content h2 strong, .single-entry-content h2 b, .single-entry-content h2 span, .single-entry-content h3 strong, .single-entry-content h3 b, .single-entry-content h3 span { color: inherit !important; font: inherit !important; letter-spacing: inherit !important; }
.single-entry-content h3 { margin-top: 2rem; font-size: 1.65rem; }
.single-entry-content p, .single-entry-content li, .single-entry-content figcaption { overflow-wrap: anywhere; }
.single-entry-content img, .single-entry-content figure, .single-entry-content video, .single-entry-content iframe { max-width: 100%; }
.single-entry-content img, .single-entry-content video { height: auto; }
.single-entry-content iframe { width: 100%; }
.single-entry-content table { display: block; width: 100%; max-width: 720px; overflow-x: auto; border-collapse: collapse; -webkit-overflow-scrolling: touch; }
.single-entry-content pre { max-width: 720px; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.single-entry-content a { overflow-wrap: anywhere; color: var(--color-sea); text-decoration: underline; text-underline-offset: .2em; }
.related-posts { margin-top: clamp(3.25rem, 7vw, 5.5rem); padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--color-line); }
.related-posts-heading { max-width: 720px; margin: 0 auto 2rem; }
.related-posts-heading h2 { margin: .55rem 0 .7rem; color: var(--color-navy); font: 400 clamp(2.15rem, 4vw, 3.5rem)/1.05 var(--font-display); }
.related-posts-heading > p:last-child { max-width: 600px; margin: 0; color: var(--color-muted); }
.related-posts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.related-post-card .blog-card-body { padding: 1.25rem; }
.related-post-card .blog-card-body h3 { overflow-wrap: anywhere; margin: .8rem 0 .6rem; color: var(--color-navy); font: 400 1.3rem/1.15 var(--font-display); }
.related-post-card .blog-card-body > p { min-height: 4.1em; overflow-wrap: anywhere; margin: 0 0 1rem; color: var(--color-muted); font-size: .78rem; }
.detail-contact { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 1.5rem 3rem; overflow: hidden; margin-top: 2.5rem; padding: clamp(1.75rem, 4vw, 3rem); border: 1px solid rgba(255,255,255,.12); border-radius: 28px; color: var(--color-white); background: linear-gradient(125deg, #0b3048, #155d73 62%, #2f8e98); box-shadow: 0 28px 70px rgba(16,42,67,.18); }
.detail-contact::after { position: absolute; right: -110px; bottom: -180px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; box-shadow: 0 0 0 45px rgba(255,255,255,.025); pointer-events: none; }
.detail-contact > * { position: relative; z-index: 1; }
.detail-contact .eyebrow { color: #b8e4e7; }
.detail-contact h2 { margin: 0; font: 400 clamp(2.2rem, 5vw, 4rem)/1 var(--font-display); }
.detail-contact-copy > p:last-child { max-width: 500px; color: rgba(255,255,255,.7); }
.detail-contact-list { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.detail-contact-list li { display: grid; gap: .1rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.15); }
.detail-contact-list span { color: #b8e4e7; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.detail-contact .button-whatsapp { width: max-content; grid-column: 2; }
.page-entry + .detail-contact { max-width: 1000px; margin-right: auto; margin-left: auto; }