/* R19.11 — app-like mobile shell. Desktop remains unchanged. */
.mobile-app-nav{display:none}
@media(max-width:760px){
 :root{--mobile-app-nav-height:70px;--mobile-app-safe-bottom:env(safe-area-inset-bottom,0px)}
 html{scroll-padding-top:72px;scroll-padding-bottom:calc(var(--mobile-app-nav-height) + var(--mobile-app-safe-bottom) + 12px)}
 body.customer-app{padding-bottom:calc(var(--mobile-app-nav-height) + var(--mobile-app-safe-bottom));background:#f5f9fb;-webkit-tap-highlight-color:transparent}
 body.mobile-keyboard-open{padding-bottom:0}body.mobile-keyboard-open .mobile-app-nav{display:none}
 .public-topbar{display:none!important}
 .header{position:sticky!important;top:0;z-index:70;min-height:62px!important;padding:8px 16px!important;border-bottom:1px solid #dce8ec;background:rgba(255,255,255,.96)!important;box-shadow:0 4px 18px rgba(4,47,67,.07);backdrop-filter:blur(14px)}
 .header .brand{min-width:0}.header .brand img{display:block;width:auto;max-width:176px;height:auto;max-height:40px}.header .brandmark{width:36px;height:36px}
 .header .nav-actions{display:none!important}.mobile-nav-toggle{width:44px!important;height:44px!important;margin-left:auto;border:1px solid #d4e3e7!important;border-radius:13px!important;background:#fff!important}
 .header nav[data-main-nav]{top:62px!important;max-height:calc(100dvh - 132px);overflow:auto;border-radius:0 0 18px 18px;box-shadow:0 18px 35px rgba(3,40,56,.16)}
 #main-content{min-height:calc(100dvh - 132px)}
 .wrap{width:min(100% - 32px,1180px)}
 :where(button,.button,input,select,textarea){font-size:16px} :where(button,.button,input,select){min-height:48px}
 .button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px}
 .mobile-app-nav{display:grid;position:fixed;z-index:85;right:0;bottom:0;left:0;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-app-nav-height) + var(--mobile-app-safe-bottom));padding:7px 6px calc(7px + var(--mobile-app-safe-bottom));border-top:1px solid #d7e5e9;background:rgba(255,255,255,.97);box-shadow:0 -10px 30px rgba(3,41,55,.11);backdrop-filter:blur(16px)}
 .mobile-app-nav a{display:flex;position:relative;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;color:#68808a;font-size:10px;font-weight:750;line-height:1.1;text-decoration:none}
 .mobile-app-nav a.active{background:#e7f7f6;color:#007b83}.mobile-app-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-app-nav a.active svg{stroke-width:2.15}
 .mobile-app-nav b{display:grid;position:absolute;top:2px;left:calc(50% + 7px);place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:99px;background:#e24b3f;color:#fff;font-size:9px}
 .travel-hero,.cms-banner-home_hero{min-height:310px!important}.travel-hero .hero-split,.cms-banner-home_hero .cms-banner-copy{min-height:310px!important;padding-top:34px;padding-bottom:50px}.travel-copy h1,.cms-banner-home_hero h1{font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.03}.travel-copy p,.cms-banner-home_hero .cms-banner-copy p{font-size:.95rem;line-height:1.55}.hero-cta{display:grid;grid-template-columns:1fr;gap:9px}.hero-cta .button{width:100%}
 .travel-search{position:relative;z-index:4;margin-top:-28px!important;padding:14px!important;border-radius:18px!important;box-shadow:0 16px 35px rgba(4,47,67,.14)!important}.search-tabs{display:flex!important;gap:6px!important;padding-bottom:8px;overflow-x:auto;scrollbar-width:none}.search-tabs::-webkit-scrollbar{display:none}.search-tabs a{flex:0 0 auto;min-height:44px;padding:8px 11px!important;border-radius:11px}.travel-search form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.travel-search form .button{width:100%}
 .service-shortcuts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:18px!important}.service-shortcuts a{min-height:82px!important;padding:10px 6px!important;border-radius:14px!important;font-size:.75rem;text-align:center}.service-shortcuts svg{width:22px;height:22px}
 .catalogue{padding-top:18px}.section{padding-block:34px!important}.section-head,.blog-section-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:start!important}.section-head h2,.blog-section-head h2{font-size:clamp(1.55rem,7vw,2rem)!important;line-height:1.14}.section-head .text-link,.blog-section-head .text-link{width:max-content}
 .blog-card-grid{grid-template-columns:1fr!important;gap:13px!important}.card,.blog-card{border-radius:17px!important;box-shadow:0 8px 24px rgba(5,55,75,.07)!important}
 .cards{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 11px)/2);gap:11px!important;padding:2px 1px 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}
 .cards .product-card{display:flex!important;min-width:0;min-height:330px;flex-direction:column;overflow:hidden;scroll-snap-align:start;border-radius:16px!important;box-shadow:0 7px 20px rgba(5,55,75,.08)!important}
 .cards .product-card .card-photo{height:142px!important;min-height:142px!important}.cards .product-card .card-photo img{width:100%!important;height:142px!important;object-fit:cover!important}.cards .product-card .pill{top:8px;left:8px;padding:5px 7px;font-size:9px}
 .cards .product-card .card-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:12px!important}.cards .product-card .card-body>small{display:block;overflow:hidden;color:#087985;font-size:8px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
 .cards .product-card h3{display:-webkit-box;min-height:2.65em;margin:7px 0 6px;font-size:.92rem!important;line-height:1.32;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cards .product-card .card-body>p{display:none!important}
 .cards .product-card .card-price{align-items:flex-end;gap:4px;margin-top:auto;padding-top:10px;border-top:1px solid #e1ebee}.cards .product-card .card-price>div{min-width:0}.cards .product-card .card-price small{font-size:9px}.cards .product-card .card-price strong{display:block;overflow-wrap:anywhere;font-size:1rem!important;line-height:1.15}.cards .product-card .arrow-circle{display:none!important}
 .trust-section,.why-travel,.home-blog-latest{padding-block:48px!important}.trust-grid,.why-grid{display:grid!important;grid-auto-flow:column;grid-auto-columns:min(84%,320px);grid-template-columns:none!important;gap:12px!important;padding-bottom:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.trust-grid::-webkit-scrollbar,.why-grid::-webkit-scrollbar{display:none}.trust-grid article,.why-grid article{min-height:190px;scroll-snap-align:start;border-radius:17px!important}
 .home-blog-latest .blog-card{display:grid!important;grid-template-columns:118px minmax(0,1fr);min-height:172px}.home-blog-latest .blog-card-image{height:100%!important;min-height:172px}.home-blog-latest .blog-card-body{min-width:0;padding:13px!important}.home-blog-latest .blog-card h3{font-size:1rem}.home-blog-latest .blog-card p{min-height:0;-webkit-line-clamp:2}.home-blog-latest .blog-card-meta{display:grid;gap:2px}.home-blog-latest .blog-card-foot{padding-top:9px}.home-blog-latest .blog-card-foot>span{display:none}
 .custom-banner{display:grid!important;gap:18px!important;margin-top:38px!important;margin-bottom:38px!important;padding:26px 22px!important;border-radius:20px!important}.custom-banner .button{width:100%}
 .public-footer{padding-bottom:calc(28px + var(--mobile-app-safe-bottom))!important}.public-footer>div{gap:26px}.public-footer .footer-bottom{padding-bottom:10px}
 .transport-catalog-search,.blog-searchbar{grid-template-columns:1fr!important}.transport-list-card{grid-template-columns:1fr!important}.transport-list-photo,.transport-list-photo img{height:210px!important;min-height:210px!important}.transport-list-action{grid-column:auto!important}.blog-catalog-hero h1{font-size:2.25rem!important}.blog-article-head h1{font-size:2.25rem!important}.blog-article-sidebar{grid-template-columns:1fr!important}.blog-article-main{border-radius:16px!important}
 .kj-calendar-dialog{width:100%!important;max-width:none!important;height:min(88dvh,760px);margin-top:auto;border-radius:22px 22px 0 0!important}.kj-calendar-months{grid-template-columns:1fr!important}
 /* R19.11.2 — two visible, swipeable cards across every public module. */
 :is(.tour-result-list,.hotel-catalog-results,.transport-catalog-results,.boat-schedule-list,.blog-card-grid){display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 11px)/2);gap:11px!important;padding:2px 1px 11px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;scrollbar-width:none}
 :is(.tour-result-list,.hotel-catalog-results,.transport-catalog-results,.boat-schedule-list,.blog-card-grid)::-webkit-scrollbar{display:none}
 :is(.tour-list-card,.hotel-list-card,.transport-list-card,.boat-schedule-card,.blog-card){min-width:0;scroll-snap-align:start;border-radius:16px!important;box-shadow:0 7px 20px rgba(5,55,75,.08)!important}
 :is(.tour-list-card,.hotel-list-card,.transport-list-card){display:flex!important;min-height:352px;flex-direction:column;overflow:hidden}
 :is(.tour-list-photo,.hotel-list-photo,.transport-list-photo),:is(.tour-list-photo,.hotel-list-photo,.transport-list-photo) img{display:block!important;width:100%!important;height:136px!important;min-height:136px!important;object-fit:cover!important}
 :is(.tour-list-content,.hotel-list-info,.transport-list-info){display:flex;min-width:0;flex:1;flex-direction:column;padding:11px!important}
 :is(.tour-list-meta,.hotel-list-meta,.transport-list-meta){display:flex!important;min-height:24px;flex-wrap:nowrap!important;gap:4px!important;overflow:hidden}
 :is(.tour-list-meta,.hotel-list-meta,.transport-list-meta) span{flex:0 0 auto;padding:4px 6px!important;font-size:8px!important;white-space:nowrap}
 :is(.tour-list-content,.hotel-list-info,.transport-list-info) h3{margin:7px 0 5px!important;font-size:.91rem!important;line-height:1.3}.tour-list-content h3 a,.hotel-list-info h3 a,.transport-list-info h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 :is(.tour-list-content,.hotel-list-info,.transport-list-info)>p:not(.tour-destination):not(.hotel-address){display:none!important}.tour-destination,.hotel-address{margin:0!important;overflow:hidden;font-size:9px!important;text-overflow:ellipsis;white-space:nowrap}
 :is(.tour-tags,.hotel-list-facts,.transport-list-facts){display:none!important}
 :is(.tour-list-action,.hotel-list-action,.transport-list-action){display:flex!important;grid-column:auto!important;min-height:132px;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:2px!important;padding:10px!important;border-top:1px solid #e1ebee!important;border-left:0!important;text-align:left!important}
 :is(.tour-list-action,.hotel-list-action,.transport-list-action)>small,:is(.tour-list-action,.hotel-list-action,.transport-list-action)>span{font-size:9px!important}:is(.tour-list-action,.hotel-list-action,.transport-list-action)>strong{margin:1px 0 6px!important;overflow-wrap:anywhere;font-size:1rem!important;line-height:1.15}:is(.tour-list-action,.hotel-list-action,.transport-list-action) .button{width:100%!important;min-height:40px!important;margin:0!important;padding:8px 6px!important;font-size:10px!important;white-space:normal}
 .boat-schedule-card{display:flex!important;min-height:285px;flex-direction:column;padding:11px!important}.boat-schedule-choice{display:flex!important;min-width:0;flex:1;flex-direction:column!important;align-items:stretch!important;gap:9px!important}.boat-vessel{min-width:0}.boat-vessel-mark{width:36px!important;height:36px!important}.boat-vessel strong{display:-webkit-box;font-size:.82rem!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.boat-route-time{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.boat-route-time strong{font-size:.95rem!important}.boat-start-price{text-align:left!important}.boat-start-price strong{font-size:.95rem!important}.boat-schedule-card .button{width:100%!important;min-height:40px!important;margin-top:auto!important;padding:8px 6px!important;font-size:10px!important}
 .blog-card-grid .blog-card{display:flex!important;min-height:330px;flex-direction:column!important;overflow:hidden}.blog-card-grid .blog-card-image{width:100%!important;height:136px!important;min-height:136px}.blog-card-grid .blog-card-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:11px!important}.blog-card-grid .blog-card-meta{display:block!important;overflow:hidden;font-size:8px!important;text-overflow:ellipsis;white-space:nowrap}.blog-card-grid .blog-card-meta time{display:none}.blog-card-grid .blog-card h3{display:-webkit-box;min-height:2.6em;margin:7px 0 5px;font-size:.91rem!important;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card-grid .blog-card p{display:none!important}.blog-card-grid .blog-card-foot{margin-top:auto;padding-top:9px;font-size:9px!important}.blog-card-grid .blog-card-foot>span{display:none}
 /* Compact vertical rhythm: content determines card height, so short cards do not gain large empty areas. */
 .cards,:is(.tour-result-list,.hotel-catalog-results,.transport-catalog-results,.boat-schedule-list,.blog-card-grid){align-items:start}
 .cards .product-card,:is(.tour-list-card,.hotel-list-card,.transport-list-card,.boat-schedule-card),.blog-card-grid .blog-card{height:auto!important;min-height:0!important}
 .cards .product-card .card-body,:is(.tour-list-content,.hotel-list-info,.transport-list-info),.blog-card-grid .blog-card-body{flex:0 0 auto!important}
 .cards .product-card .card-price{margin-top:8px!important;padding-top:8px!important}
 :is(.tour-list-action,.hotel-list-action,.transport-list-action){min-height:0!important;padding:9px 10px 10px!important}
 .boat-schedule-choice{flex:0 0 auto!important}.boat-schedule-card .button{margin-top:9px!important}
 .blog-card-grid .blog-card-foot{margin-top:7px!important;padding-top:7px!important}
 .section{padding-block:28px!important}.section-head,.blog-section-head{margin-bottom:14px!important;gap:7px!important}
 /* R19.11.3 — professional mobile type scale across every public module. */
 :root{--kj-type-page:clamp(1.65rem,7.2vw,2rem);--kj-type-section:clamp(1.3rem,5.7vw,1.55rem);--kj-type-subhead:1.05rem;--kj-type-body:.875rem;--kj-type-label:.75rem;--kj-type-meta:.625rem;--kj-leading-tight:1.18;--kj-leading-body:1.55}
 body.customer-app{font-size:15px;line-height:var(--kj-leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
 .customer-app main h1{font-size:var(--kj-type-page)!important;line-height:var(--kj-leading-tight)!important;letter-spacing:-.025em}
 .customer-app main h2{font-size:var(--kj-type-section)!important;line-height:1.22!important;letter-spacing:-.018em}
 .customer-app main h3{font-size:var(--kj-type-subhead);line-height:1.3;letter-spacing:-.01em}
 .customer-app main p,.customer-app main li{font-size:var(--kj-type-body);line-height:var(--kj-leading-body)}
 .customer-app :is(.eyebrow,.section-kicker,.overline,.breadcrumb,.breadcrumbs){font-size:.6875rem!important;line-height:1.4;letter-spacing:.055em}
 .header nav[data-main-nav] a{font-size:.875rem!important;line-height:1.3}.mobile-app-nav a{font-size:.625rem!important;line-height:1.15!important;letter-spacing:.005em}
 .customer-app :is(label,.field-label,.form-label){font-size:.75rem!important;line-height:1.35;font-weight:700}.customer-app :is(input,select,textarea){font-size:1rem!important;line-height:1.35}.customer-app :is(button,.button){font-size:.8125rem;line-height:1.25;font-weight:750}
 .search-tabs a,.service-shortcuts a{font-size:.75rem!important;line-height:1.25;font-weight:750}.travel-copy p,.cms-banner-home_hero .cms-banner-copy p,.catalog-hero p,.blog-catalog-hero p{font-size:.875rem!important;line-height:1.55!important}
 .section-head h2,.blog-section-head h2{font-size:var(--kj-type-section)!important}.section-head p,.blog-section-head p{font-size:.8125rem!important;line-height:1.5}.text-link{font-size:.75rem!important;line-height:1.35;font-weight:750}
 .cards .product-card .pill{font-size:.625rem!important;line-height:1.2}.cards .product-card .card-body>small{font-size:.625rem!important;line-height:1.35}.cards .product-card h3{font-size:.875rem!important;line-height:1.32!important}.cards .product-card .card-price small{font-size:.625rem!important;line-height:1.3}.cards .product-card .card-price strong{font-size:1rem!important;line-height:1.15!important}
 :is(.tour-list-meta,.hotel-list-meta,.transport-list-meta) span{font-size:.625rem!important;line-height:1.2}:is(.tour-list-content,.hotel-list-info,.transport-list-info) h3{font-size:.875rem!important;line-height:1.32!important}.tour-destination,.hotel-address{font-size:.625rem!important;line-height:1.35!important}
 :is(.tour-list-action,.hotel-list-action,.transport-list-action)>small,:is(.tour-list-action,.hotel-list-action,.transport-list-action)>span{font-size:.625rem!important;line-height:1.3}:is(.tour-list-action,.hotel-list-action,.transport-list-action)>strong{font-size:1rem!important;line-height:1.15!important}:is(.tour-list-action,.hotel-list-action,.transport-list-action) .button{font-size:.71875rem!important;line-height:1.25!important}
 .boat-vessel small,.boat-start-price small{font-size:.625rem!important;line-height:1.3}.boat-vessel strong{font-size:.8125rem!important;line-height:1.3!important}.boat-route-time strong,.boat-start-price strong{font-size:.9375rem!important;line-height:1.2!important}.boat-route-time span,.boat-vessel span{font-size:.6875rem!important;line-height:1.35}.boat-schedule-card .button{font-size:.71875rem!important;line-height:1.25!important}
 .blog-card-grid .blog-card-meta{font-size:.625rem!important;line-height:1.35}.blog-card-grid .blog-card h3{font-size:.875rem!important;line-height:1.32!important}.blog-card-grid .blog-card-foot{font-size:.6875rem!important;line-height:1.35}.home-blog-latest .blog-card h3{font-size:.9375rem!important;line-height:1.32!important}
 .custom-banner h2{font-size:1.375rem!important;line-height:1.2!important}.custom-banner p{font-size:.875rem!important;line-height:1.55!important}.public-footer{font-size:.8125rem;line-height:1.55}.public-footer h3,.public-footer h4{font-size:.9375rem!important;line-height:1.3!important}
 .blog-article-head h1{font-size:var(--kj-type-page)!important}.blog-article-head :is(p,time,.blog-card-meta){font-size:.75rem!important;line-height:1.45}.cms-prose{font-size:.9375rem!important;line-height:1.72!important}.cms-prose :is(p,li){font-size:.9375rem!important;line-height:1.72!important}.cms-prose h2{font-size:1.375rem!important;line-height:1.28!important}.cms-prose h3{font-size:1.125rem!important;line-height:1.35!important}.cms-prose figcaption{font-size:.6875rem!important;line-height:1.45!important}
 .kj-calendar-title{font-size:1rem!important;line-height:1.3}.kj-calendar-status{font-size:.75rem!important;line-height:1.4}.kj-calendar-month-label{font-size:.9375rem!important;line-height:1.3}.kj-calendar-week{font-size:.6875rem!important;line-height:1.25}.kj-calendar-day{font-size:.8125rem!important;line-height:1.2}.kj-calendar-actions button{font-size:.8125rem!important;line-height:1.25}
 }
@media(max-width:380px){.wrap{width:min(100% - 24px,1180px)}.mobile-app-nav a{font-size:9px}.service-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-blog-latest .blog-card{grid-template-columns:104px minmax(0,1fr)}.cards,:is(.tour-result-list,.hotel-catalog-results,.transport-catalog-results,.boat-schedule-list,.blog-card-grid){grid-auto-columns:calc((100% - 9px)/2);gap:9px!important}.cards .product-card .card-photo,.cards .product-card .card-photo img{height:126px!important;min-height:126px!important}.cards .product-card .card-body{padding:10px!important}.cards .product-card h3{font-size:.86rem!important}.cards .product-card .card-price strong{font-size:.92rem!important}:is(.tour-list-photo,.hotel-list-photo,.transport-list-photo),:is(.tour-list-photo,.hotel-list-photo,.transport-list-photo) img,.blog-card-grid .blog-card-image{height:122px!important;min-height:122px!important}:is(.tour-list-content,.hotel-list-info,.transport-list-info),.blog-card-grid .blog-card-body{padding:9px!important}:is(.tour-list-content,.hotel-list-info,.transport-list-info) h3,.blog-card-grid .blog-card h3{font-size:.84rem!important}}
/* R19.11.3.1 — boat schedules remain full-width and vertically stacked on mobile. */
@media(max-width:760px){
 .boat-schedule-list{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:12px!important;padding:2px 0 10px!important;overflow:visible!important;scroll-snap-type:none!important}
 .boat-schedule-card{width:100%!important;min-width:0!important;padding:14px!important;scroll-snap-align:none!important;border-radius:16px!important}
 .boat-schedule-choice{display:grid!important;grid-template-columns:44px minmax(0,1fr) minmax(116px,.78fr)!important;grid-template-areas:"mark vessel vessel" "route route route" "price price action";align-items:center!important;gap:12px 10px!important}
 .boat-vessel-mark{grid-area:mark;width:42px!important;height:42px!important}.boat-vessel{grid-area:vessel}.boat-vessel small{display:block;margin-bottom:2px}.boat-vessel strong{font-size:.9375rem!important}.boat-vessel span{display:block;margin-top:2px}
 .boat-route-time{grid-area:route;display:grid!important;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)!important;align-items:center;gap:8px!important;padding:10px 0!important;border-top:1px solid #e1ebee;border-bottom:1px solid #e1ebee}.boat-route-time>div:last-child{text-align:right}.boat-route-time i{display:block!important;width:100%;height:1px;background:#bfd1d7;position:relative}.boat-route-time i:after{content:"";position:absolute;right:-1px;top:-3px;border-width:3.5px 0 3.5px 5px;border-style:solid;border-color:transparent transparent transparent #91aab3}
 .boat-start-price{grid-area:price;text-align:left!important}.boat-start-price strong{display:block;font-size:1.0625rem!important}.boat-start-price span{display:block;font-size:.6875rem!important;line-height:1.35}
 .boat-schedule-card .button{grid-area:action;width:100%!important;min-height:44px!important;margin:0!important;padding:9px 10px!important;font-size:.75rem!important;white-space:nowrap}
 .boat-class-options{margin-top:12px!important}.boat-class-options header{gap:8px}.boat-class-option{font-size:.75rem!important;line-height:1.4}
}
@media(max-width:360px){.boat-schedule-choice{grid-template-columns:40px minmax(0,1fr) 108px!important;gap:10px 8px!important}.boat-schedule-card{padding:12px!important}.boat-route-time{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important}}
/* R19.11.4 — professional signed-in customer workspace on mobile. */
@media(max-width:760px){
 .account-page{min-height:calc(100dvh - 132px)!important;padding:16px 0 30px!important;background:#f4f8fa!important}.account-shell{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.account-content{min-width:0}
 .account-sidebar{position:static!important;overflow:hidden;border:1px solid #d8e6eb!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(4,47,67,.06)!important}.account-identity{display:grid!important;grid-template-columns:52px minmax(0,1fr);column-gap:12px;align-items:center;padding:14px 16px!important;text-align:left!important}.account-avatar{grid-row:1/3;width:50px!important;height:50px!important;margin:0!important;border-width:3px!important;font-size:1rem!important}.account-identity strong{font-size:.9375rem!important;line-height:1.3!important}.account-identity small{margin-top:2px!important;font-size:.6875rem!important;line-height:1.35!important}
 .account-sidebar>nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:8px!important}.account-sidebar>nav>a{min-width:0;min-height:62px;padding:7px 3px!important;gap:5px!important;border-radius:11px!important}.account-sidebar>nav>a>span{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:.75rem!important}.account-sidebar>nav>a strong{max-width:100%;font-size:.6875rem!important;line-height:1.2!important;text-align:center;overflow-wrap:anywhere}.account-sidebar>nav>a small,.account-stats,.account-sidebar>.button{display:none!important}
 .account-title{margin:2px 1px 13px!important}.account-title h1{margin:0 0 4px!important;font-size:1.5rem!important;line-height:1.18!important;letter-spacing:-.02em}.account-title p{margin:0!important;font-size:.8125rem!important;line-height:1.5!important}
 .account-panel{margin-bottom:12px!important;border-color:#d9e6eb!important;border-radius:16px!important;box-shadow:0 5px 18px rgba(4,47,67,.045)}.account-panel>header,.booking-detail-page .account-panel>header{padding:14px 15px!important}.account-panel>header h2,.booking-detail-page .account-panel>header h2{font-size:1.0625rem!important;line-height:1.3!important}.account-panel>header p,.booking-detail-page .account-panel>header p{margin-top:3px!important;font-size:.75rem!important;line-height:1.45!important}.account-panel .panel-body,.booking-detail-page .panel-body{padding:14px 15px!important}
 .account-form{padding:4px 15px 16px!important}.account-form .form-grid{grid-template-columns:1fr!important;gap:12px!important}.account-form label{font-size:.75rem!important;line-height:1.35!important}.account-form input,.account-form select,.account-form textarea{min-height:48px!important;font-size:1rem!important}.account-form small{font-size:.6875rem!important;line-height:1.4!important}.account-form .form-action{padding-top:4px!important}.account-form .form-action .button{width:100%!important;min-height:46px!important;font-size:.8125rem!important}
 .booking-tabs{display:flex!important;gap:7px!important;margin-bottom:12px!important;padding:7px!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.booking-tabs::-webkit-scrollbar{display:none}.booking-tabs a{flex:0 0 auto;min-width:104px!important;min-height:40px!important;padding:7px 9px!important;scroll-snap-align:start;font-size:.75rem!important;line-height:1.2!important}.booking-tabs a span{font-size:.625rem!important}
 .booking-list{gap:11px!important}.booking-list-card{border-radius:16px!important}.booking-list-head{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:9px 10px!important;padding:13px 14px!important}.booking-symbol{width:36px!important;height:36px!important;font-size:.9375rem!important}.booking-list-head h2{margin:0 0 3px!important;font-size:.9375rem!important;line-height:1.3!important}.booking-list-head p{font-size:.6875rem!important;line-height:1.4!important}.booking-status{grid-column:2!important;justify-self:start;padding:5px 8px!important;font-size:.625rem!important;line-height:1.25!important}.booking-list-head .button{grid-column:1/-1!important;width:100%!important;min-height:42px!important;padding:8px 11px!important;font-size:.75rem!important}.booking-list-details{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 14px!important;padding:12px 14px 14px!important}.booking-list-details div{padding:0!important;border:0!important}.booking-list-details small{margin-bottom:2px!important;font-size:.625rem!important;line-height:1.3!important}.booking-list-details strong{font-size:.75rem!important;line-height:1.4!important}.account-empty{padding:34px 18px!important;border-radius:16px!important}.account-empty h2{font-size:1.125rem!important}.account-empty p{font-size:.8125rem!important}
 .booking-detail-full{width:min(100% - 24px,720px)!important}.booking-detail-back{margin-bottom:9px!important}.booking-detail-back a{font-size:.75rem!important}.booking-detail-hero{margin-bottom:12px!important;padding:15px!important;border-radius:16px!important}.booking-detail-hero h1{margin:5px 0 4px!important;font-size:1.375rem!important;line-height:1.2!important}.booking-detail-hero p{font-size:.75rem!important;line-height:1.45!important}.booking-detail-hero>.booking-status{margin-top:10px!important}.booking-detail-grid{gap:12px!important}.booking-detail-side{position:static!important}
 .booking-next-step{gap:10px!important;margin-bottom:12px!important;padding:13px 14px!important;border-radius:14px!important}.booking-next-step>span{flex-basis:30px!important;height:30px!important}.booking-next-step strong{font-size:.8125rem!important}.booking-next-step p{margin-top:2px!important;font-size:.75rem!important;line-height:1.5!important}
 .booking-progress{margin-bottom:12px!important;padding:12px 11px!important;border-radius:14px!important}.booking-progress ol{gap:0!important;padding:4px 1px 8px!important}.booking-progress li{flex-basis:132px!important;gap:7px!important}.booking-progress li>span{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:.6875rem!important}.booking-progress li strong{font-size:.75rem!important;line-height:1.25!important}.booking-progress li small{font-size:.625rem!important;line-height:1.3!important}
 .summary-pair{gap:10px!important;padding:9px 0!important}.summary-pair span{font-size:.75rem!important;line-height:1.4!important}.summary-pair strong{font-size:.8125rem!important;line-height:1.35!important}.summary-pair.balance strong{font-size:1.0625rem!important}.booking-choice{padding-bottom:12px!important}.booking-choice+.booking-choice{padding-top:12px!important}.booking-choice-type{font-size:.625rem!important}.booking-choice h3{font-size:.9375rem!important}.booking-choice p{font-size:.75rem!important;line-height:1.5!important}.booking-choice>strong{font-size:.875rem!important}.booking-addon-list div{font-size:.75rem!important}.booking-grand-total{padding:12px 13px!important}.booking-grand-total span{font-size:.75rem!important}.booking-grand-total strong{font-size:1.125rem!important}
 .payment-history{gap:9px!important}.payment-history article{grid-template-columns:1fr!important;gap:7px!important;padding:12px!important;border-radius:12px!important}.payment-history article>div strong{font-size:.8125rem!important}.payment-history article>div small{font-size:.6875rem!important}.payment-history article>p{font-size:.75rem!important}.payment-state{justify-self:start;padding:5px 8px!important;font-size:.625rem!important}.booking-timeline time{font-size:.625rem!important}.booking-timeline p{font-size:.75rem!important;line-height:1.5!important}
 .booking-deadline{margin:11px 0!important;padding:11px 12px!important}.booking-deadline small,.booking-deadline p{font-size:.6875rem!important}.booking-deadline strong{font-size:.8125rem!important}.payment-method{margin-top:13px!important;padding-top:12px!important}.payment-method h3{font-size:.9375rem!important}.payment-method p,.payment-method label{font-size:.75rem!important}.payment-method small{font-size:.6875rem!important}.payment-method .button{width:100%!important;font-size:.8125rem!important}.button-explanation{font-size:.75rem!important;line-height:1.5!important}
 .document-buttons{gap:8px!important}.document-button{grid-template-columns:34px minmax(0,1fr) auto!important;min-height:66px!important;padding:10px!important;border-radius:12px!important}.document-button>div strong{font-size:.8125rem!important}.document-button>div small{font-size:.625rem!important}.booking-anchor-button,.booking-help-button{font-size:.75rem!important}.booking-cancel summary{font-size:.75rem!important}.booking-cancel p,.booking-cancel label{font-size:.6875rem!important}.booking-cancel .button{width:100%!important;font-size:.75rem!important}
 .participant-panel>p:first-of-type{font-size:.75rem!important;line-height:1.5!important}.participant-panel .bf-person{margin:10px 0!important;padding:12px!important;border-radius:12px!important}.note-grid{gap:9px!important}.note-grid div{padding:12px!important}.note-grid strong,.note-grid p{font-size:.75rem!important}
 .notification-title{display:block!important}.notification-title form{margin-top:10px!important}.notification-title .button{width:100%!important}.notification-list{gap:10px!important}.notification-card{grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;padding:13px!important;border-radius:15px!important}.notification-symbol{width:36px!important;height:36px!important;font-size:.8125rem!important}.notification-copy h2{font-size:.9375rem!important;line-height:1.3!important}.notification-copy>div>span{font-size:.625rem!important}.notification-copy p{font-size:.75rem!important;line-height:1.5!important}.notification-copy small{font-size:.6875rem!important;line-height:1.4!important}.notification-card form{grid-column:1/-1!important}.notification-card .button{width:100%!important;min-height:42px!important;font-size:.75rem!important}
 .bf-page{font-size:.875rem!important}.bf-page :is(.panel,.card,fieldset){border-radius:16px}.bf-page label,.bf-page p,.bf-page li{font-size:.8125rem!important;line-height:1.5!important}.bf-page small{font-size:.6875rem!important;line-height:1.4!important}.bf-page :is(input,select,textarea){font-size:1rem!important}.bf-count label,.bf-addon h3,.bf-person h3{font-size:.875rem!important}.bf-summary dt,.bf-summary dd{font-size:.8125rem!important}.bf-step button{font-size:1rem!important}
 .account-panel table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;white-space:nowrap;-webkit-overflow-scrolling:touch}.account-panel th{font-size:.6875rem!important}.account-panel td{font-size:.75rem!important}.account-panel :is(th,td){padding:10px 12px!important}.customer-app :is(.alert,.notice,.flash-message){border-radius:12px;font-size:.75rem!important;line-height:1.5!important}
}
@media(max-width:390px){.account-page .wrap{width:calc(100% - 20px)!important;padding-inline:0!important}.account-sidebar>nav{gap:3px!important;padding:6px!important}.account-sidebar>nav>a strong{font-size:.625rem!important}.booking-list-details{gap:10px!important}.booking-detail-full{width:calc(100% - 18px)!important}.document-button{grid-template-columns:32px minmax(0,1fr) auto!important}}
/* R19.11.4.1 — visual corrections from real signed-in mobile screens. */
@media(max-width:760px){
 .account-page .account-shell{width:calc(100% - 24px)!important;margin-inline:auto!important}
 .account-identity{display:block!important;position:relative;min-height:94px;padding:15px 16px 15px 80px!important;text-align:left!important}.account-identity .account-avatar{position:absolute;top:14px;left:16px;display:grid!important;width:50px!important;height:50px!important;margin:0!important}.account-identity>:not(.account-avatar){display:block;min-width:0;max-width:100%;overflow-wrap:normal!important;word-break:normal!important;white-space:normal}.account-identity>strong{font-size:.9375rem!important;line-height:1.3!important}.account-identity>small{margin-top:3px!important;font-size:.6875rem!important;line-height:1.35!important}.account-identity>small+small{margin-top:8px!important}.account-identity>small+strong{margin-top:1px!important;font-size:.75rem!important;font-weight:700}.account-identity>div:not(.account-avatar){font-size:.75rem!important;line-height:1.4!important}
 .account-sidebar>nav{align-items:stretch!important}.account-sidebar>nav>a{justify-content:center!important}.account-sidebar>nav>a div{align-items:center!important;min-width:0}.account-sidebar>nav>a.active{background:#e8f6f8!important;color:#00778f!important}
 .customer-app main .account-title h1{font-size:1.5rem!important;line-height:1.18!important}.customer-app main .account-title p{font-size:.8125rem!important;line-height:1.5!important}
 .customer-app main .account-panel>header h2,.customer-app main .booking-detail-page .account-panel>header h2{font-size:1.0625rem!important;line-height:1.3!important}.customer-app main .account-panel>header p,.customer-app main .booking-detail-page .account-panel>header p{font-size:.75rem!important;line-height:1.45!important}
 .customer-app main .booking-list-head h2{font-size:.9375rem!important;line-height:1.3!important}.customer-app main .account-empty h2{font-size:1.125rem!important}.customer-app main .booking-detail-hero h1{font-size:1.375rem!important;line-height:1.2!important}.customer-app main .booking-choice h3{font-size:.9375rem!important}.customer-app main .payment-method h3{font-size:.9375rem!important}
 .customer-app main .notification-title h1{font-size:1.5rem!important;line-height:1.18!important}.customer-app main .notification-copy h2{font-size:.9375rem!important;line-height:1.3!important;letter-spacing:-.01em}.customer-app main .notification-copy p{font-size:.75rem!important;line-height:1.5!important}.notification-card{align-items:start!important}.notification-copy>div{gap:6px!important}.notification-copy>div>span{flex:0 0 auto}.notification-card .button{margin-top:1px!important}
 .customer-app main .bf-count label,.customer-app main .bf-addon h3,.customer-app main .bf-person h3{font-size:.875rem!important;line-height:1.35!important}
 .account-form .form-grid{gap:14px!important;row-gap:14px!important}.account-form label{display:grid!important;gap:7px!important;margin:0!important}.account-form label :is(input,select,textarea){margin:0!important}.account-form small{margin-top:0!important}.account-panel{overflow:hidden!important}
}
@media(max-width:390px){.account-page .account-shell{width:calc(100% - 18px)!important}.account-identity{padding-left:75px!important}.account-identity .account-avatar{left:14px}.customer-app main .account-title h1,.customer-app main .notification-title h1{font-size:1.375rem!important}}
/* R19.11.5 — readable long-form articles on desktop and mobile. */
.customer-app .blog-article-main .cms-prose{max-width:780px;font-size:1.125rem!important;line-height:1.82!important;color:#244957}
.customer-app .blog-article-main .cms-prose :is(p,li,dd){font-size:1.125rem!important;line-height:1.82!important;color:#244957;overflow-wrap:break-word}
.customer-app .blog-article-main .cms-prose p{margin:0 0 1.3em!important}.customer-app .blog-article-main .cms-prose :is(ul,ol){margin:0 0 1.4em;padding-left:1.45em}.customer-app .blog-article-main .cms-prose li+li{margin-top:.45em}
.customer-app .blog-article-main .cms-prose h2{margin:1.75em 0 .65em!important;font-size:1.75rem!important;line-height:1.28!important;letter-spacing:-.018em;color:#082f49}.customer-app .blog-article-main .cms-prose h3{margin:1.55em 0 .6em!important;font-size:1.375rem!important;line-height:1.35!important;color:#0b4056}.customer-app .blog-article-main .cms-prose h4{margin:1.4em 0 .55em!important;font-size:1.125rem!important;line-height:1.4!important;color:#123f51}
.customer-app .blog-article-main .cms-prose :is(strong,b){font-weight:750;color:#123f51}.customer-app .blog-article-main .cms-prose a{color:#007a83;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.customer-app .blog-article-main .cms-prose blockquote{margin:1.6em 0;padding:1em 1.2em;border-left:4px solid #0b9298;border-radius:0 12px 12px 0;background:#eef8f8;font-size:1.0625rem;line-height:1.75}.customer-app .blog-article-main .cms-prose>span:empty{display:none}
.customer-app .blog-article-main .cms-prose :is(table,pre){max-width:100%;overflow-x:auto}.customer-app .blog-article-main .cms-prose table{display:block;font-size:1rem!important;line-height:1.55!important;-webkit-overflow-scrolling:touch}.customer-app .blog-article-main .cms-prose figcaption{font-size:.875rem!important;line-height:1.55!important}
.customer-app .blog-article-head>p{font-size:1.125rem!important;line-height:1.7!important}.customer-app .blog-article-meta{font-size:.8125rem!important;line-height:1.45!important}
@media(max-width:760px){.customer-app .blog-article-head>p{font-size:1rem!important;line-height:1.65!important}.customer-app .blog-article-main .cms-prose{padding:1.45rem 1.15rem 2.2rem!important;font-size:1.0625rem!important;line-height:1.76!important}.customer-app .blog-article-main .cms-prose :is(p,li,dd){font-size:1.0625rem!important;line-height:1.76!important}.customer-app .blog-article-main .cms-prose p{margin-bottom:1.2em!important}.customer-app .blog-article-main .cms-prose h2{margin-top:1.6em!important;font-size:1.5rem!important;line-height:1.3!important}.customer-app .blog-article-main .cms-prose h3{margin-top:1.45em!important;font-size:1.25rem!important;line-height:1.36!important}.customer-app .blog-article-main .cms-prose h4{font-size:1.0625rem!important}.customer-app .blog-article-main .cms-prose blockquote{font-size:1rem;line-height:1.7}.customer-app .blog-article-main .cms-prose figcaption{font-size:.8125rem!important}}
@media(max-width:390px){.customer-app .blog-article-main .cms-prose{padding:1.25rem 1rem 2rem!important}.customer-app .blog-article-main .cms-prose :is(p,li,dd){font-size:1.0625rem!important;line-height:1.74!important}}
