.dynamic-partners .partner-logo{background:#fff;overflow:hidden}
.partners-page-section{margin-top:0;padding-top:54px}
.partners-page-section .partner-category{padding:28px 30px 32px;background:#fff;border-top:5px solid var(--mint);box-shadow:0 12px 35px rgba(0,25,70,.08)}
.partners-page-section .partner-category+.partner-category{margin-top:30px}
.partners-page-section .partner-category h3{margin:0 0 22px;font-family:var(--font-body);font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.partners-page-section .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.partners-page-section .partner-logo{position:relative;min-height:150px;border:1px solid rgba(0,25,70,.12);padding:24px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.partners-page-section .partner-logo:hover{transform:translateY(-3px);border-color:var(--navy);box-shadow:0 10px 25px rgba(0,25,70,.1)}
.partners-page-section .partner-logo img{height:82px;margin-bottom:12px}
.partners-page-section .partner-name{font-size:12px;line-height:1.35;text-transform:none}
.hero-description{font-size:22px;line-height:1.55;max-width:720px;color:rgba(255,255,255,.86)}
.hero-carousel{background:var(--navy)}
.hero-carousel .carousel-item{transition:transform .75s ease-in-out}
.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{z-index:4;width:7%;opacity:.85}
.hero-carousel .carousel-control-prev-icon,.hero-carousel .carousel-control-next-icon{width:48px;height:48px;padding:12px;background-color:rgba(0,25,70,.72);background-size:50%;border:2px solid rgba(255,255,255,.7)}
.hero-carousel .carousel-indicators{z-index:5;gap:7px;margin-bottom:32px}
.hero-carousel .carousel-indicators [data-bs-target]{width:42px;height:5px;border:0;background-color:#fff;opacity:.55}
.hero-carousel .carousel-indicators .active{background-color:var(--mint);opacity:1}
@media(max-width:767px){.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{display:none}.hero-carousel .carousel-indicators{margin-bottom:18px}}
.dynamic-partners .partner-logo img{display:block;width:100%;height:76px;object-fit:contain}
.partner-category+.partner-category{margin-top:38px}
.cms-content{font-size:17px;line-height:1.75;color:#263247}
.cms-content img{max-width:100%;height:auto}
.cms-content table{width:100%;margin:24px 0;border-collapse:collapse}
.cms-content th,.cms-content td{padding:12px 14px;border:1px solid rgba(0,25,70,.15)}
.cms-content h2,.cms-content h3{color:var(--navy)}
.faq-list{display:grid;gap:14px;max-width:980px;margin:0 auto}
.faq-item{overflow:hidden;background:#fff;border:1px solid rgba(0,25,70,.12);border-left:5px solid var(--mint);box-shadow:0 8px 28px rgba(0,25,70,.07);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.faq-item:hover{border-color:rgba(0,25,70,.26);transform:translateY(-1px);box-shadow:0 12px 34px rgba(0,25,70,.1)}
.faq-item[open]{border-left-color:var(--navy)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;color:var(--navy);font-size:19px;font-weight:800;line-height:1.45;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--mint);font-size:18px;transition:transform .25s ease,background .25s ease,color .25s ease}
.faq-item[open] summary i{transform:rotate(45deg);background:var(--navy);color:#fff}
.faq-answer{padding:0 72px 24px 24px;color:#475569;line-height:1.75}
.faq-answer p:last-child,.faq-answer ul:last-child,.faq-answer ol:last-child{margin-bottom:0}
.faq-answer a{color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-color:var(--mint);text-decoration-thickness:2px;text-underline-offset:3px}
.home-partners-section{overflow:hidden;padding:68px 0}
.home-partners-section .section-head{margin-bottom:30px}
.home-partners-section .section-head h2{font-size:clamp(48px,5vw,76px)}
.partner-marquee{width:100%;overflow:hidden;padding:8px 0}
.partner-marquee-track{display:flex;width:max-content;animation:partner-scroll 28s linear infinite;will-change:transform}
.partner-marquee:hover .partner-marquee-track{animation-play-state:paused}
.partner-marquee-set{display:flex;align-items:center;gap:16px;padding-right:16px}
.partner-marquee-logo{display:grid;place-items:center;flex:0 0 190px;width:190px;height:96px;padding:15px 20px;background:#fff;border:1px solid rgba(0,25,70,.13);color:var(--navy);text-align:center;box-shadow:0 6px 18px rgba(0,25,70,.06)}
.partner-marquee-logo img{display:block;width:100%;height:64px;object-fit:contain}
.partner-marquee-logo strong{font-size:13px;line-height:1.3;text-transform:uppercase}
@keyframes partner-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.partner-marquee-track{animation:none}.partner-marquee{overflow-x:auto}}
.content-placeholder{padding:45px;background:var(--soft);border-left:7px solid var(--mint)}
.content-placeholder i{font-size:42px;color:var(--navy)}
.contact-feedback{display:none;margin-top:18px;padding:14px 16px;font-weight:800}
.contact-feedback.show{display:block}
.contact-feedback.success{background:#d8fbea;color:#075b3a}
.contact-feedback.error{background:#ffe2e2;color:#8c1d1d}
.contact-form.is-loading{opacity:.7;pointer-events:none}
.contact-form .hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.route-card>a{display:block}
.news-card>a.news-image-link{display:block;margin:0}
.news-card{display:flex;flex-direction:column}
.news-card .news-card-body{display:flex;flex:1;flex-direction:column;padding:25px}
.news-card h3 a{color:var(--navy)}
.news-card time{display:block;color:#728095;font-size:12px;font-weight:700;margin:-4px 0 12px}
.news-card .news-read-more{margin-top:auto;font-weight:900;color:var(--navy);text-transform:uppercase}
.news-archive{background:#f5f7f9}
.news-pagination{display:flex;justify-content:center;gap:8px;margin-top:42px}
.news-pagination a{display:grid;place-items:center;width:42px;height:42px;background:#fff;border:2px solid var(--navy);color:var(--navy);font-weight:900}
.news-pagination a.active,.news-pagination a:hover{background:var(--navy);color:#fff}
.news-detail{max-width:980px;margin:0 auto}
.news-detail header{margin-bottom:30px}
.news-detail header p{font-size:22px;line-height:1.65;color:#475569;max-width:850px}
.news-detail header time{display:block;color:#728095;font-size:13px;font-weight:800;margin:8px 0 18px}
.news-detail-image{display:block;width:100%;max-height:560px;object-fit:cover;margin-bottom:38px;border:3px solid var(--navy)}
.news-detail .cms-content{margin-bottom:35px}
.child-pages{margin-top:48px}
.child-pages h2{font-size:44px;color:var(--navy)}
.child-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.child-page-grid a{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--navy);color:#fff;font-weight:900;text-transform:uppercase}
.child-page-grid a:hover{background:var(--mint);color:var(--navy)}
.route-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.route-detail img{width:100%;max-height:520px;object-fit:cover}
.route-detail>div>span{font-family:var(--font-display);font-size:72px;color:var(--mint)}
.subpage-gallery{margin-top:0}
.contact-card a{overflow-wrap:anywhere}
@media(max-width:991px){.child-page-grid{grid-template-columns:repeat(2,1fr)}.route-detail{grid-template-columns:1fr}.partners-page-section .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.child-page-grid{grid-template-columns:1fr}.cms-content{font-size:16px}.faq-list{gap:10px}.faq-item summary{padding:17px 16px;font-size:16px;gap:14px}.faq-item summary i{flex-basis:32px;width:32px;height:32px}.faq-answer{padding:0 16px 18px}.partners-page-section{padding-top:30px}.partners-page-section .partner-category{padding:22px 16px}.partners-page-section .partner-grid{grid-template-columns:1fr}.partners-page-section .partner-logo{min-height:135px}.home-partners-section{padding:52px 0}.partner-marquee-set{gap:10px;padding-right:10px}.partner-marquee-logo{flex-basis:145px;width:145px;height:82px;padding:12px}.partner-marquee-logo img{height:56px}}
.site-footer{background:#001946ed;color:#fff;padding:75px 0 28px}
.site-header.scrolled .logo-top{display:block}.site-header.scrolled .logo-scroll{display:none}
@media(max-width:1199.98px){.brand-logo{height:52px;max-width:180px;margin-top:0}}
