
:root{--ink:#12273d;--muted:#7a8892;--red:#c91e32;--snow:#faf9f7;--soft:#efefeb;--paper:#fff;--rounded:23px;--mobile-gutter:18px;--ease:cubic-bezier(.2,.7,.17,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--snow);color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.64}a{color:inherit;text-decoration:none}img{max-width:100%}[hidden]{display:none!important}input,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d93145;outline-offset:3px}svg{display:block}body.locked{overflow:hidden}.topbar{height:69px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 17px;background:rgba(255,255,255,.92);backdrop-filter:blur(25px);position:relative;z-index:80}.brand{display:flex;align-items:center;gap:7px;min-width:0}.brandmark{width:55px;flex-shrink:0}.brand>span{display:flex;flex-direction:column;line-height:1.03;white-space:nowrap}.brand strong{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.005em;font-size:18px}.brand small{font-weight:800;font-size:8.7px;letter-spacing:.18em;margin-top:5px}.header-actions{display:flex;gap:8px;align-items:center}.lang-control{display:flex;align-items:center;gap:3px;padding:0 8px;border:1px solid #d7dce0;border-radius:30px;height:37px;background:white}.lang-control select{border:0;background:transparent;font-size:12px;font-weight:800;max-width:46px;color:var(--ink);appearance:none;cursor:pointer}.lang-globe{font-size:18px;color:var(--ink)}.menu-button{height:38px;border:0;background:var(--ink);color:white;border-radius:30px;padding:0 14px;display:flex;align-items:center;gap:5px;font-weight:600;font-size:11px;letter-spacing:.01em}.menu-button i{display:block;width:16px;height:1.6px;background:white;position:absolute;transform:translateY(-4px)}.menu-button i+i{transform:translateY(2px);width:11px}.menu-button span{margin-left:23px}.hero{height:clamp(430px,64svh,660px);min-height:430px;position:relative;overflow:hidden;isolation:isolate;background:#3b566f;perspective:1000px;transform-style:preserve-3d}.hero-depth{position:absolute;inset:-40px;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),-45px) scale(1.065);will-change:transform;transition:transform .45s ease-out}.hero-slide{position:absolute;inset:0;opacity:0;background-image:var(--photo);background-position:center;background-size:cover;transform:scale(1.09);transition:opacity 1.4s ease,transform 9s ease;will-change:opacity,transform}.hero-slide.current{opacity:1;transform:scale(1.0)}@media(max-width:679px){.hero-slide[data-hero="0"]{background-position:75% 55%}.hero-slide[data-hero="1"]{background-position:53% 56%}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,31,.75),rgba(3,16,36,.4) 55%,rgba(3,12,28,.1)),linear-gradient(0deg,rgba(6,16,31,.48),transparent 40%);z-index:1}.hero-ring{position:absolute;z-index:2;pointer-events:none;border-radius:50%;border:1px solid rgba(255,255,255,.2);width:240px;height:240px;right:-125px;top:17%;transform:rotateX(67deg) rotateY(18deg);box-shadow:inset 0 0 35px rgba(255,255,255,.04),0 0 25px rgba(255,255,255,.08);animation:orbit 18s linear infinite}.hero-ring-two{width:310px;height:310px;top:8%;right:-171px;animation-direction:reverse;opacity:.7}.hero-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.28) .5px,transparent .65px);background-size:4px 4px;mix-blend-mode:overlay}.hero-inside{position:relative;z-index:4;display:flex;flex-direction:column;height:100%;padding:27px var(--mobile-gutter) 120px;color:white}.hero-topline{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.18em}.norway-flag{width:29px;height:20px;display:inline-block;position:relative;background:#ba1e32;border-radius:3px;box-shadow:0 4px 12px #0002;overflow:hidden;flex-shrink:0}.norway-flag:before{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 31%,white 31%,white 50%,transparent 50%),linear-gradient(to bottom,transparent 39%,white 39%,white 63%,transparent 63%)}.norway-flag:after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 37%,#173e75 37%,#173e75 44%,transparent 44%),linear-gradient(to bottom,transparent 47%,#173e75 47%,#173e75 56%,transparent 56%)}.hero-star{font-size:21px;margin-left:auto;color:#fff8}.hero-copy{margin:auto 0;transform:translateZ(52px);max-width:510px}.hero-overline{font-size:10px;font-weight:800;letter-spacing:.23em;opacity:.86}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,14vw,86px);line-height:1.045;letter-spacing:-.065em;margin:14px 0 7px;font-weight:800;text-shadow:0 12px 50px rgba(0,0,0,.12)}.hero h1 em{font-weight:500;letter-spacing:-.08em;font-style:normal;color:#fff}.hero-copy p{font-size:13px;font-weight:500;margin:0 0 22px;color:#fffde;letter-spacing:.02em}.hero-cta{width:max-content;display:inline-flex;align-items:center;gap:20px;color:var(--ink);background:#fff;border:1px solid #ffffff8c;border-radius:30px;padding:13px 14px 13px 21px;box-shadow:0 14px 35px #06182e4a;font-size:13px;font-weight:800;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}.hero-cta:hover{transform:translateY(-4px) translateZ(8px);box-shadow:0 20px 40px #06182e6a}.hero-cta span:last-child{width:27px;height:27px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:white;font-size:18px;font-weight:500}.hero-base{position:absolute;bottom:92px;left:var(--mobile-gutter);right:var(--mobile-gutter);display:flex;align-items:center;gap:11px;font-size:10px;font-weight:800;letter-spacing:.06em}.hero-count{white-space:nowrap}.hero-count i{opacity:.48;font-style:normal}.hero-progress{flex:1;height:2px;background:#ffffff4b;overflow:hidden}.hero-progress span{display:block;background:#fff;height:100%;width:0;transition:width .2s linear}.hero-location{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.booking-section{position:relative;z-index:10;margin:-80px auto 0;padding:0 13px;max-width:610px;scroll-margin-top:100px}.booking-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e7e8e9;border-radius:25px;box-shadow:0 18px 70px rgba(15,38,60,.16),0 2px 4px rgba(15,38,60,.06);padding:20px 17px 17px;transform:translateZ(0)}.booking-card:before{content:'';position:absolute;inset:0 auto auto 15%;height:1px;width:70%;background:linear-gradient(90deg,transparent,#fff,#c0c8d0,transparent)}.book-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:#7e8b96;font-size:10px;font-weight:800;letter-spacing:.15em}.tiny-red{width:16px;height:2px;background:var(--red);display:inline-block;border-radius:2px}.book-head h2{font-size:30px;margin:2px 0 0;letter-spacing:-.07em;font-family:Manrope,sans-serif;font-weight:800}.location-circle{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #dce1e4;background:#f4f5f6;color:var(--ink);box-shadow:0 5px 15px #152b4010}.location-circle svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.location-fields{border:1px solid #e0e4e8;border-radius:16px;position:relative;padding-left:37px;overflow:hidden;background:#fbfcfd}.route-line{position:absolute;left:21px;top:23px;bottom:22px;width:1px;border-left:1.5px dashed #8795a2}.route-line i{width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--red);position:absolute;left:-4.5px;top:0}.route-line i+i{bottom:0;top:auto;background:var(--red)}.ride-input{display:block;padding:11px 9px 11px 3px;min-width:0}.ride-input+.ride-input{border-top:1px solid #e9edf0}.ride-input>span{display:block;font-weight:800;font-size:8.5px;letter-spacing:.14em;color:#8c98a3;margin-bottom:2px}.ride-input input{border:0;width:100%;font-size:13px;font-weight:700;color:var(--ink);background:transparent;text-overflow:ellipsis;padding:3px 0}.ride-input input::placeholder{color:#87929c;font-weight:500}.ride-options{display:grid;grid-template-columns:1fr 1fr 1.08fr;gap:6px;margin-top:9px}.ride-mini{min-width:0;border-radius:12px;background:#f5f6f7;border:1px solid #e6e9ed;padding:8px 7px 7px;display:block}.ride-mini>span{color:#87929e;display:block;font-size:9px;font-weight:800;margin-bottom:4px}.ride-mini input{width:100%;min-width:0;border:0;background:transparent;font-size:11px;font-weight:700;color:var(--ink);padding:1px 0;height:23px}.passengers-mini{min-width:0}.stepper{display:flex;align-items:center;justify-content:space-between;height:25px;min-width:0}.stepper button{height:23px;width:23px;border:0;border-radius:6px;color:var(--ink);background:#fff;font-size:18px;font-weight:500;display:grid;place-items:center;padding:0}.stepper output{font-size:14px;font-weight:800;padding:0 2px}.main-cta{border:0;color:#fff;background:linear-gradient(125deg,#bb162c,#d7273e 55%,#b40f28);box-shadow:0 12px 23px rgba(186,18,43,.21),inset 0 1px rgba(255,255,255,.3);display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:13px;min-height:49px;padding:0 16px 0 20px;font-weight:800;font-size:13px;margin-top:12px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.main-cta>span:last-child{font-size:23px;font-weight:400}.main-cta:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(186,18,43,.3)}.quiet-note{color:#86939d;font-size:10px;text-align:center;margin-top:9px;min-height:14px}.error-msg{font-size:12px;color:#b31d30;background:#fff0f0;padding:10px;border-radius:10px;margin:8px 0 0}.quote-result{margin-top:12px;padding:18px;border:1px solid #e0e6e8;border-radius:14px;background:linear-gradient(145deg,#f8f9fa,#f1f3f5)}.quote-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.1em;color:#7b8896}.quote-price{font-size:37px;letter-spacing:-.05em;font-weight:800;margin:6px 0}.quote-car{font-size:12px;font-weight:700}.quote-result p{color:#7c8996;font-size:10px;line-height:1.5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:0 20px}.section-heading h2{font:800 clamp(27px,8vw,46px)/1.1 Manrope,sans-serif;letter-spacing:-.063em;margin:10px 0 0}.section-heading h2 i{font-style:normal;color:#6b7a87}.link-button{white-space:nowrap;display:flex;align-items:center;gap:5px;border:0;background:none;padding:0 0 3px;color:var(--red);font-weight:800;font-size:10px}.link-button>span:last-child{font-size:19px;font-weight:400}.discover-section{padding:48px 0 20px;overflow:hidden;position:relative}.coverflow-stage{position:relative;height:340px;margin-top:10px;perspective:1200px;overflow:hidden;touch-action:pan-y}.coverflow-glow{position:absolute;left:10%;right:10%;bottom:3px;height:48px;background:radial-gradient(ellipse,rgba(43,69,90,.2),transparent 75%);filter:blur(12px)}.coverflow-cards{position:absolute;inset:0;transform-style:preserve-3d}.destination-card{position:absolute;top:10px;left:50%;width:min(75vw,310px);height:293px;padding:0;background:#18324f;border:none;border-radius:21px;overflow:hidden;box-shadow:0 15px 36px rgba(20,40,61,.15),0 32px 56px rgba(27,44,59,.16);transform-origin:center center;transform:translateX(-50%) scale(.75);opacity:0;filter:brightness(.9);transition:transform .75s var(--ease),opacity .6s ease,filter .7s ease,box-shadow .7s ease;will-change:transform;pointer-events:none;text-align:left}.destination-card[data-position="0"]{transform:translateX(-50%) translateZ(65px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1);opacity:1;z-index:5;filter:brightness(1);pointer-events:auto;box-shadow:0 18px 28px rgba(17,36,54,.18),0 36px 65px rgba(17,36,54,.22)}.destination-card[data-position="-1"]{transform:translateX(calc(-50% - 67vw)) translateZ(-95px) rotateY(32deg) scale(.82);opacity:.82;z-index:3;pointer-events:auto}.destination-card[data-position="1"]{transform:translateX(calc(-50% + 67vw)) translateZ(-95px) rotateY(-32deg) scale(.82);opacity:.82;z-index:3;pointer-events:auto}.destination-card[data-position="-2"]{transform:translateX(calc(-50% - 126vw)) translateZ(-160px) rotateY(42deg) scale(.7);opacity:0;z-index:1}.destination-card[data-position="2"]{transform:translateX(calc(-50% + 126vw)) translateZ(-160px) rotateY(-42deg) scale(.7);opacity:0;z-index:1}.destination-card img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 5s ease}.destination-card[data-position="0"] img{transform:scale(1)}.card-fade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,10,25,.82) 0,rgba(2,16,30,0) 60%)}.destination-card .card-bottom{position:absolute;bottom:17px;left:17px;right:13px;color:white;display:flex;align-items:end;justify-content:space-between;gap:5px}.card-bottom strong{display:block;font:800 24px/1.08 Manrope,sans-serif;letter-spacing:-.04em;max-width:220px}.card-bottom small{display:block;font-size:10px;font-weight:700;margin-top:6px;color:#fff9}.card-bottom em{height:34px;width:34px;border:1px solid #fffa;border-radius:50%;font-size:21px;font-style:normal;display:grid;place-items:center;flex-shrink:0;background:rgba(255,255,255,.2);backdrop-filter:blur(8px)}.carousel-ui{display:flex;align-items:center;justify-content:center;gap:14px;padding:0 20px}.carousel-ui button{height:36px;width:36px;border-radius:50%;border:1px solid #d2d9dd;background:white;font-size:20px;color:var(--ink)}.progress-track{width:84px;height:3px;background:#d6dce0;border-radius:3px;overflow:hidden}.progress-track div{width:10%;height:100%;background:var(--red);transition:width .4s ease}.categories-section{padding:46px 18px 52px;max-width:1200px;margin:auto}.section-heading.slim{padding:0 2px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}.category-grid button{position:relative;text-align:left;display:flex;flex-direction:column;justify-content:space-between;min-height:114px;background:#fff;border:1px solid #e6e9eb;border-radius:16px;padding:15px;box-shadow:0 9px 20px rgba(24,39,53,.045);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);transform-style:preserve-3d}.category-grid button:hover{transform:translateY(-5px) rotateX(4deg);box-shadow:0 22px 36px #1c385225;border-color:#becbd3}.category-symbol{font-size:23px;line-height:1;color:var(--ink)}.category-grid b{font-size:15px;letter-spacing:-.025em;font-weight:800;margin-top:16px}.category-arrow{position:absolute;right:14px;top:13px;color:#9cabb4;font-size:18px}.escape-section{min-height:430px;height:56svh;position:relative;overflow:hidden;isolation:isolate;background:#465870}.escape-image{position:absolute;inset:-10%;background:url('../img/hero-mountains.webp') 65% center/cover;transform:translate3d(0,var(--mountain-y,0),0) scale(1.1);will-change:transform;filter:saturate(.95)}.escape-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,35,.82),rgba(6,19,35,.33) 68%,rgba(6,19,35,.1))}.escape-content{position:relative;z-index:2;color:white;padding:85px 25px;max-width:650px}.escape-content .eyebrow{color:#fff9}.escape-content h2{max-width:100%;font:800 clamp(51px,13vw,90px)/1.04 Manrope,sans-serif;letter-spacing:-.065em;margin:12px 0 20px}.escape-btn{background:#fff;color:var(--ink);border:0;border-radius:40px;padding:14px 20px;font-weight:800;font-size:12px;box-shadow:0 16px 35px #0003}.escape-decor{position:absolute;right:-30px;bottom:-104px;font-size:480px;line-height:1;font-weight:800;color:#fff2;pointer-events:none;transform:rotate(-9deg)}.fleet-section{padding:60px 0 64px;overflow:hidden}.fleet-carousel{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding:23px 18px 26px;scrollbar-width:none}.fleet-carousel::-webkit-scrollbar{display:none}.fleet-card{flex:0 0 min(75vw,315px);scroll-snap-align:center;border-radius:19px;background:linear-gradient(160deg,#fff,#e9eef1);box-shadow:0 15px 27px #192e4115;border:1px solid #e8ecee;padding:15px;transform:perspective(900px) rotateY(-2deg);transition:transform .5s var(--ease)}.fleet-card:hover{transform:perspective(900px) rotateY(5deg) translateY(-5px)}.fleet-art{height:170px;display:grid;place-items:center;overflow:hidden}.fleet-art img{width:105%;max-width:none;filter:drop-shadow(0 12px 7px #112b3e2e);transform:translateY(4px);transition:transform .5s var(--ease)}.fleet-card:hover .fleet-art img{transform:translateY(-3px) scale(1.05)}.fleet-card>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.fleet-card strong{font:800 16px Manrope,sans-serif}.fleet-card span{font-size:9px;color:#8795a1;letter-spacing:.1em}.closing{background:#12283e;color:#fff;text-align:center;padding:70px 16px 75px;position:relative;overflow:hidden}.closing:before{content:'';position:absolute;left:-15%;bottom:-105px;width:130%;height:200px;transform:rotate(7deg);border-top:1px solid #ffffff17;box-shadow:0 0 120px #ffffff10;pointer-events:none}.closing-flag{margin:auto;transform:rotate(-10deg)}.closing h2{font:800 clamp(45px,13vw,75px)/1.08 Manrope,sans-serif;letter-spacing:-.07em;margin:22px 0}.closing-cta{display:inline-flex;border-radius:50px;background:white;color:var(--ink);font-size:13px;font-weight:800;padding:15px 27px}.footer-wrap{max-width:1150px;margin:auto;padding:43px 22px 32px}.footer-wrap>div:first-child strong{font-size:17px;letter-spacing:-.025em;font-weight:800}.footer-wrap>div:first-child p{font-size:10px;letter-spacing:.2em;color:#7f8e98;margin-top:8px}.footer-links{display:flex;flex-wrap:wrap;gap:13px 19px;margin:28px 0 30px}.footer-links a,.footer-links button{font-size:12px;font-weight:700;background:none;border:0;padding:0;color:var(--ink)}.footer-bottom{border-top:1px solid #e3e6e7;padding-top:20px;display:flex;justify-content:space-between;gap:14px;align-items:end}.footer-bottom p{margin:0;color:#6c7a86;font-size:10px;line-height:1.8}.footer-bottom small{color:#98a5ad;font-size:8px;text-align:right}.floating-book{display:none;position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:30;border-radius:40px;border:1px solid #ffffff8a;background:rgba(18,39,61,.91);color:white;box-shadow:0 12px 35px #112a4355;backdrop-filter:blur(15px);padding:8px 23px 8px 8px;align-items:center;gap:10px;white-space:nowrap;font-weight:800;font-size:12px}.floating-book>span:first-child{background:var(--red);height:31px;width:31px;border-radius:50%;display:grid;place-items:center;font-size:17px}.floating-book.show{display:flex}.menu-overlay{position:fixed;inset:0;z-index:200;opacity:0;pointer-events:none;background:#152c42;overflow:hidden;transition:opacity .35s ease}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-photo{position:absolute;inset:-60px;background:url('../img/hero-oslo.webp') center/cover;filter:saturate(.85);opacity:.4;transform:scale(1.14) rotate(-2deg);transition:transform 1.1s var(--ease)}.menu-overlay.open .menu-photo{transform:scale(1.02) rotate(0)}.menu-wash{position:absolute;inset:0;background:linear-gradient(135deg,#091d31e8,#12263bc2 72%,#12263b77)}.menu-inner{position:relative;color:white;padding:25px 25px 38px;height:100%;display:flex;flex-direction:column}.menu-top{display:flex;align-items:center;justify-content:space-between;letter-spacing:.15em;font-size:10px;font-weight:800}.menu-top button,.guide-sheet header button,.modal-close{background:#ffffff20;color:inherit;border:1px solid #ffffff50;border-radius:50%;width:43px;height:43px;font-size:18px}.menu-inner nav{margin:auto 0;perspective:800px}.menu-inner nav a{display:flex;align-items:baseline;gap:16px;padding:17px 0;border-bottom:1px solid #ffffff3a;transition:transform .25s var(--ease),color .25s var(--ease)}.menu-inner nav a:hover{transform:translateX(10px);color:#fff}.menu-inner nav a span{font-size:10px;opacity:.4}.menu-inner nav a b{font:800 clamp(27px,7vw,53px)/1.1 Manrope,sans-serif;letter-spacing:-.05em}.menu-inner nav a em{margin-left:auto;font-size:18px;font-style:normal}.menu-footer{font-size:9px;letter-spacing:.2em;font-weight:800;color:#ffffff9c}.menu-footer span{color:#c62238}.guide-overlay,.modal{position:fixed;inset:0;z-index:180;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .28s ease,visibility .28s ease}.guide-overlay.open,.modal.open{visibility:visible;pointer-events:auto;opacity:1}.guide-backdrop,.modal-backdrop{position:absolute;inset:0;background:#071a2ab5;backdrop-filter:blur(10px)}.guide-sheet{position:absolute;bottom:0;left:0;right:0;height:90svh;background:#fcfbfa;border-radius:28px 28px 0 0;padding:14px 18px 0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -20px 55px #0316285c;transform:translateY(100%);transition:transform .48s var(--ease)}.guide-overlay.open .guide-sheet{transform:translateY(0)}.guide-handle{height:4px;width:45px;border-radius:8px;background:#cad1d4;margin:0 auto 20px;flex-shrink:0}.guide-sheet header{display:flex;align-items:center;justify-content:space-between}.guide-sheet header h2{margin:5px 0 17px;letter-spacing:-.06em;font:800 32px Manrope,sans-serif}.guide-sheet header button{background:#edf0f1;color:var(--ink);border-color:#e3e7e9;flex-shrink:0}.guide-search{border:1px solid #dfe5e7;background:white;border-radius:13px;display:flex;align-items:center;gap:9px;padding:12px;color:#8795a2;box-shadow:0 5px 15px #152d4010}.guide-search input{font-size:13px;border:0;width:100%;font-weight:600;min-width:0}.guide-list{margin-top:14px;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(35px,env(safe-area-inset-bottom));scrollbar-width:thin}.guide-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 0;border-bottom:1px solid #e7eaec}.guide-info{flex:1;min-width:0}.guide-info strong{font-size:14px;letter-spacing:-.015em;display:block}.guide-info p{font-size:11px;line-height:1.5;margin:5px 0;color:#81909b}.guide-links{display:flex;gap:8px;flex-wrap:wrap}.guide-links a{font-size:10px;color:#4d667a;font-weight:700;text-decoration:underline;text-underline-offset:3px}.guide-go{align-self:center;flex-shrink:0;border-radius:11px;border:0;background:var(--ink);color:white;font-weight:700;font-size:11px;padding:11px 12px}.guide-empty{padding:15px;color:#758691;font-size:13px}.modal{z-index:220;display:flex;align-items:end;justify-content:center}.modal-sheet{background:#fff;border-radius:26px 26px 0 0;position:relative;padding:25px 21px 35px;width:100%;max-height:95svh;overflow-y:auto;transform:translateY(100%);transition:transform .42s var(--ease)}.modal.open .modal-sheet{transform:translateY(0)}.modal-close{position:absolute;top:17px;right:17px;color:var(--ink);background:#f0f2f3;border-color:#e0e4e6}.modal-sheet h2{font:800 30px Manrope,sans-serif;letter-spacing:-.05em;margin:9px 0}.modal-sheet>p{color:#748390;font-size:12px;line-height:1.5}.modal-sheet form label:not(.privacy-check):not(.bot-field){display:block;margin:12px 0}.modal-sheet form label>span{display:block;font-size:11px;color:#647987;font-weight:700;margin-bottom:4px}.modal-sheet form input:not([type=checkbox]),.modal-sheet textarea{width:100%;border:1px solid #e1e6e8;border-radius:11px;padding:12px;font-size:13px;background:#f9fafb}.privacy-check{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:#687987;font-size:11px}.privacy-check span{margin:0!important;font-size:11px!important;font-weight:500!important}.privacy-check input{margin-top:1px}.bot-field{position:absolute;left:-9999px}.success{background:#e5f3ed;color:#195a3d;border-radius:10px;padding:20px;margin-top:15px;font-size:13px}.reservation-fine{color:#a0a8af;font-size:10px;text-align:center}.modal-sheet .main-cta{margin-top:15px}
@keyframes orbit{from{transform:rotateX(67deg) rotateY(18deg) rotateZ(0)}to{transform:rotateX(67deg) rotateY(18deg) rotateZ(360deg)}}
@media (max-width:374px){.brandmark{width:44px}.brand strong{font-size:16px}.brand small{font-size:7px}.menu-button{padding:0 10px}.hero h1{font-size:47px}.ride-mini{padding:7px 4px}.ride-mini input{font-size:10px}.stepper button{width:20px}.section-heading h2{font-size:26px}}
@media (min-width:680px){.topbar{height:80px;padding:0 34px}.brandmark{width:67px}.brand strong{font-size:24px}.brand small{font-size:10px}.menu-button{height:43px;font-size:13px}.lang-control{height:43px}.hero{height:650px}.hero-inside{max-width:1270px;margin:auto;padding:40px 45px 140px}.hero h1{font-size:80px}.hero-overline{font-size:12px}.hero-copy p{font-size:17px}.hero-base{left:45px;right:45px;bottom:124px}.booking-section{margin-top:-100px}.booking-card{padding:23px 26px}.discover-section{padding-top:80px}.section-heading{max-width:1250px;margin:auto;padding:0 42px}.section-heading h2{font-size:45px}.coverflow-stage{height:460px}.destination-card{width:370px;height:395px}.destination-card[data-position="-1"]{transform:translateX(calc(-50% - 330px)) translateZ(-90px) rotateY(28deg) scale(.8)}.destination-card[data-position="1"]{transform:translateX(calc(-50% + 330px)) translateZ(-90px) rotateY(-28deg) scale(.8)}.destination-card[data-position="-2"]{transform:translateX(calc(-50% - 600px)) translateZ(-190px) rotateY(39deg) scale(.7);opacity:.35}.destination-card[data-position="2"]{transform:translateX(calc(-50% + 600px)) translateZ(-190px) rotateY(-39deg) scale(.7);opacity:.35}.card-bottom strong{font-size:31px}.categories-section{padding-top:65px;padding-bottom:85px}.category-grid{grid-template-columns:repeat(3,1fr);gap:16px}.category-grid button{min-height:160px;padding:22px}.category-symbol{font-size:35px}.category-grid b{font-size:20px}.escape-section{height:570px}.escape-content{padding:130px 10vw}.fleet-section{padding:85px 0}.fleet-carousel{justify-content:center;overflow-x:auto}.fleet-card{flex:0 0 28vw;max-width:370px}.fleet-art{height:190px}.footer-wrap{padding:65px 45px}.guide-sheet{left:50%;right:auto;transform:translate(-50%,100%);max-width:630px;width:100%;height:85svh}.guide-overlay.open .guide-sheet{transform:translate(-50%,0)}.modal{align-items:center}.modal-sheet{max-width:510px;border-radius:24px;transform:translateY(25px) scale(.95)}.modal.open .modal-sheet{transform:translateY(0) scale(1)}.menu-inner{max-width:1200px;margin:auto;padding:40px}}
@media (min-width:1050px){.hero{height:720px}.hero-inside{padding:50px 64px 165px}.hero h1{font-size:108px}.hero-base{bottom:145px;left:64px;right:64px}.booking-section{max-width:1080px;margin-top:-130px;padding:0 20px}.booking-card{display:block;padding:20px 28px 23px;border-radius:23px}.book-head{margin-bottom:12px}.book-head h2{font-size:28px}.location-fields{display:grid;grid-template-columns:1fr 1fr;padding-left:8px}.route-line{display:none}.ride-input{padding:12px 15px}.ride-input+.ride-input{border-top:0;border-left:1px solid #e9edef}.ride-options{max-width:540px;margin-top:9px;display:inline-grid;width:55%;vertical-align:top}.booking-card form>.main-cta{width:40%;display:inline-flex;margin-top:9px;margin-left:3%}.booking-card .quiet-note{margin-top:3px}.discover-section{padding-top:98px}.coverflow-stage{height:495px}.destination-card{height:420px;width:405px}.destination-card[data-position="-1"]{transform:translateX(calc(-50% - 376px)) translateZ(-70px) rotateY(31deg) scale(.86)}.destination-card[data-position="1"]{transform:translateX(calc(-50% + 376px)) translateZ(-70px) rotateY(-31deg) scale(.86)}.destination-card[data-position="-2"]{transform:translateX(calc(-50% - 660px)) translateZ(-140px) rotateY(40deg) scale(.73);opacity:.55}.destination-card[data-position="2"]{transform:translateX(calc(-50% + 660px)) translateZ(-140px) rotateY(-40deg) scale(.73);opacity:.55}.category-grid button{min-height:180px}.escape-section{height:610px}.escape-content{padding-left:max(9vw,calc((100vw - 1200px)/2))}.fleet-carousel{gap:25px}.fleet-art{height:220px}.footer-wrap{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.footer-bottom{grid-column:span 2}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-depth,.escape-image{transform:none!important}}

/* GRØNN TRANSPORT AS — refined Norway / cinematic 3D edition.
   Mobile-first enhancements. Functional layout is intentionally kept separate
   from the server-backed quote and booking workflow. */
:root{--ink:#131a22;--red:#cf122d;--premium-shadow:0 24px 54px rgba(17,22,32,.22),0 3px 9px rgba(20,25,35,.14);--ease-luxe:cubic-bezier(.19,1,.22,1)}
body{background:#fdfcfb;color:var(--ink)}
.topbar{position:sticky;top:0;height:68px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(16,19,24,.07);box-shadow:0 4px 23px rgba(0,0,0,.045);z-index:100;isolation:isolate}
.brand strong,.brand small{color:#10213b}.brandmark{filter:drop-shadow(0 3px 2px #0917280b)}
.header-links{display:flex;align-items:center;gap:16px;margin-left:auto;margin-right:3px}
.header-links a{font-size:12px;font-weight:800;white-space:nowrap;color:#141820;transition:color .25s ease}
.header-links .home-link{color:var(--red);position:relative}
.header-links .home-link:after{content:"";position:absolute;height:2px;background:var(--red);left:0;right:0;bottom:-9px;border-radius:5px}
.header-links a:hover{color:var(--red)}
.menu-button{background:transparent;color:#c8172c;border:1px solid rgba(209,21,45,.28);border-radius:12px;padding:0 11px;min-width:40px;justify-content:center}
.menu-button i{background:#c8172c;height:2px;width:18px}.menu-button i+i{width:18px}.menu-button span{display:none}
.lang-control{border:1px solid #d9dade;border-radius:12px;background:#fff;color:#111}
.lang-control select{color:#181b21;font-size:12px}
.menu-overlay{background:#fff}
.menu-photo{opacity:.13;filter:saturate(.42) grayscale(.4) blur(3px);background-image:url('../img/norway-opera-hero.webp');transform:scale(1.17)}
.menu-wash{background:linear-gradient(145deg,#ffffffec 20%,#fffefaf5 65%,#fbf8f6e0)}
.menu-inner{color:#121316}
.menu-inner nav a{border-color:#13171c26;color:#121316;position:relative;transition:transform .4s var(--ease-luxe),color .3s ease}
.menu-inner nav a span{color:#b71d2c;opacity:1}
.menu-inner nav a em{color:#b71d2c}
.menu-inner nav a:hover{color:#c51630;transform:translate3d(12px,0,0)}
.menu-top{color:#151515}.menu-top button{background:#fff;color:#ca142e;border-color:#dfc9cc}
.menu-footer{color:#4d4e52}.menu-footer span{color:var(--red)}
.hero{min-height:435px;height:min(65svh,610px);background:#1b3047;perspective:1150px}
.hero-depth{transform-style:preserve-3d;filter:saturate(1.12) contrast(1.04)}
.hero-slide{transition:opacity 1.6s ease,transform 10s ease;transform:scale(1.115) translateZ(0)}
.hero-slide.current{transform:scale(1.035) translate3d(0,0,0)}
.hero-shade{background:linear-gradient(90deg,rgba(8,14,29,.78) 0%,rgba(10,18,31,.45) 49%,rgba(12,20,40,.06) 88%),linear-gradient(0deg,rgba(9,12,24,.42),transparent 45%)}
.hero:after{content:"";position:absolute;inset:auto -20% -14% -20%;height:33%;background:radial-gradient(ellipse at 48% 35%,rgba(255,243,221,.2),transparent 64%);pointer-events:none;transform:translateZ(80px);mix-blend-mode:screen;z-index:2}
.hero-ring{opacity:.35;filter:drop-shadow(0 0 12px rgba(255,255,255,.23))}
.hero-overline,.hero-topline{letter-spacing:.19em;font-weight:800;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero-copy{transform:translate3d(0,var(--text-shift,0px),75px);transition:transform .15s linear}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.045em;line-height:1.02;text-shadow:0 9px 40px #04101c8c,0 1px 6px #07142b77}
.hero h1 em{font-weight:500}
.hero-cta{border-color:#ffffffb5;background:rgba(255,255,255,.17);backdrop-filter:blur(12px)}
.booking-section{margin-top:-77px;max-width:680px;scroll-margin-top:85px}
.booking-card{background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(250,250,252,.93));backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1.5px solid rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(12,22,34,.24),inset 0 1px 1px #fff,0 1px 4px #09152722;transform:perspective(1200px) translateZ(0);border-radius:25px}
.booking-card:before{content:"";position:absolute;inset:0 0 auto;height:80px;z-index:-1;background:radial-gradient(ellipse at 25% 0%,rgba(239,210,217,.46),transparent 65%);pointer-events:none}
.book-head h2{font-family:Georgia,serif;letter-spacing:-.045em;font-weight:700}
.eyebrow{letter-spacing:.16em}
.ride-input,.ride-mini{background:#fff;border-radius:12px;transition:box-shadow .25s ease,transform .25s ease}
.ride-input:focus-within,.ride-mini:focus-within{box-shadow:0 4px 18px #cf13272c;transform:translateY(-1px)}
.main-cta{background:linear-gradient(160deg,#e7203e,#af051f);border:1px solid #f7475b;box-shadow:0 8px 17px #c700282c,inset 0 2px 0 #ffffff3a;position:relative;overflow:hidden;transition:transform .3s var(--ease-luxe),box-shadow .3s ease}
.main-cta:after{content:"";position:absolute;inset:-20% -200%;transform:skewX(-27deg) translateX(-120%);background:linear-gradient(90deg,transparent,#ffffff70,transparent);transition:transform .8s ease;pointer-events:none}
.main-cta:hover{transform:translateY(-2px);box-shadow:0 14px 23px #b4053045}
.main-cta:hover:after{transform:skewX(-27deg) translateX(100%)}
.quiet-note:empty{display:none}
.discover-section{padding-top:48px;background:#fdfcfb}
.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.045em;color:#141820}
.section-heading h2 i{font-style:italic}
.section-heading .eyebrow{color:#9c5360}
.section-heading .tiny-red{background:var(--red)}
.link-button{color:#b9142b}
.destination-card{border:1.5px solid #ffffffc7;box-shadow:0 20px 43px rgba(19,29,45,.24),0 4px 10px rgba(12,21,33,.21);isolation:isolate;backface-visibility:hidden}
.destination-card:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.28) 0,transparent 39%,transparent 69%,rgba(255,255,255,.08) 100%);mix-blend-mode:screen}
.destination-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffffa8,inset 0 18px 35px #ffffff16;pointer-events:none;z-index:3}
.destination-card img{object-position:center;transition:transform 1.1s var(--ease-luxe),filter .5s ease}
.destination-card:hover img{transform:scale(1.085)}
.card-bottom{z-index:4}.card-bottom strong{font-family:Georgia,serif;text-shadow:0 3px 12px #0009}
.card-bottom em{background:#ffffffdf;color:#c41831;backdrop-filter:blur(10px);box-shadow:0 6px 15px #0003}
.categories-section{padding-top:40px}
.category-grid{perspective:1200px;gap:13px}
.category-grid button{border-radius:20px;min-height:160px;position:relative;transform-style:preserve-3d;overflow:hidden;isolation:isolate;box-shadow:0 12px 25px #0e1b2823,0 2px 3px #030d1827;border:2px solid #fff;transition:transform .5s var(--ease-luxe),box-shadow .5s var(--ease-luxe)}
.category-grid button:hover{transform:perspective(900px) translateY(-6px) rotateX(2deg) rotateY(-2deg);box-shadow:0 24px 35px #0a142a39}
.category-grid button.troll-tile{padding:12px 12px 14px;background-color:#556573;background-image:linear-gradient(to top,rgba(5,10,24,.70),transparent 54%),var(--troll);background-position:center;background-size:cover;color:white;justify-content:end;align-items:flex-start}
.category-grid button.troll-tile:after{content:"";inset:0;position:absolute;z-index:-1;background:linear-gradient(130deg,#ffffff4a,transparent 41%);opacity:.7;transition:transform .5s ease;transform:translateX(-70%)}
.category-grid button.troll-tile:hover:after{transform:translateX(0)}
.category-grid b{font:700 21px/1.15 Georgia,serif;text-shadow:0 3px 14px #0006;position:relative;z-index:1;transform:translateZ(28px)}
.category-grid .category-arrow{position:absolute;right:12px;bottom:10px;background:#ffffffdc;box-shadow:0 3px 11px #0002;border-radius:13px;color:#ba182c;font-size:17px;width:29px;height:29px;display:grid;place-items:center;transform:translateZ(32px)}
.category-grid .tile-icon{position:absolute;left:10px;top:10px;font-size:17px;line-height:1;display:grid;place-items:center;width:30px;height:30px;border-radius:12px;color:#9e112b;background:#ffffffd8;box-shadow:0 4px 10px #0002;transform:translateZ(33px)}
.category-grid button.editorial-tile{background:linear-gradient(130deg,#ffffff,#f8f3f3);border:1px solid #e5dcdf;min-height:110px;padding:15px;color:#242326;justify-content:end}
.category-grid .editorial-tile b{font-size:19px;color:#1d1e22;text-shadow:none}
.category-grid .editorial-tile .tile-icon{font-size:23px;color:#c9162a;background:#fbedef}
.category-grid .editorial-tile .category-arrow{background:#ca1c32;color:white}
.fleet-section{padding:28px 0 40px;border-top:1px solid #ebedf0}
.fleet-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 10px;max-width:1080px;margin:8px auto 0;overflow:visible}
.fleet-card{min-width:0!important;width:auto!important;flex:auto!important;max-width:none!important;min-height:0!important;padding:3px!important;box-shadow:none!important;background:transparent!important;border:0!important;border-right:1px solid #e3e5e7!important;border-radius:0!important}
.fleet-card:last-child{border-right:0!important}
.fleet-art{height:86px!important;background:transparent!important;border-radius:0!important;display:flex;align-items:flex-end;justify-content:center}
.fleet-art img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 8px #0311242d)}
.fleet-card>div:last-child{padding:4px 0 0!important;display:flex;flex-direction:column!important;gap:0;align-items:center!important;justify-content:center!important;text-align:center}
.fleet-card strong{font-weight:800!important;letter-spacing:-.03em;font-size:10px!important}
.fleet-card>div:last-child span{display:none}
.escape-section .escape-image{filter:saturate(1.15) contrast(1.06)}
.floating-book{background:#16191f;border-color:#ffffffc4;box-shadow:0 15px 34px #15192877}
.guide-sheet{background:#fffcfb}
.guide-go{background:#c91e32}
/* Stacked cinematic destination cards: all four immediately visible on a phone */
@media(max-width:679px){
 .topbar{padding:0 13px;height:65px}
 .brandmark{width:55px}
 .brand strong{font-size:17px}.brand small{font-size:8px}
 .header-actions{gap:6px}
 .header-links{gap:10px;margin-right:0}
 .header-links a{font-size:11px}
 .lang-control{height:34px;padding:0 4px}
 .lang-control select{font-size:10px;max-width:35px}
 .lang-globe{display:none}
 .menu-button{height:35px;min-width:36px;padding:0 8px}
 .hero{height:clamp(440px,65svh,565px);min-height:440px}
 .hero-inside{padding:20px 20px 105px}
 .hero-copy{margin:auto 0 23px}
 .hero h1{font-size:clamp(43px,10.7vw,60px);max-width:370px;letter-spacing:-.035em}
 .hero-copy p{font-size:13px;line-height:1.38}
 .hero-overline{font-size:9px;letter-spacing:.17em}
 .hero-topline{font-size:9px}
 .hero-base{bottom:88px}
 .booking-section{margin-top:-72px;padding:0 12px}
 .booking-card{padding:14px 13px 13px;border-radius:25px}
 .book-head{margin-bottom:11px}
 .book-head h2{font-size:31px}
 .book-head .eyebrow{font-size:9px}
 .location-fields{border:0;background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0}
 .route-line{display:none}
 .ride-input,.ride-input+.ride-input{margin:0;border:1px solid #e4e6e9!important;padding:9px 10px;border-radius:12px;min-width:0}
 .ride-input span{font-size:9px;font-weight:800}
 .ride-input input{font-size:13px;width:100%;padding:4px 0 0;min-width:0}
 .ride-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
 .ride-mini{padding:9px 5px;border:1px solid #e4e6e9;border-radius:12px;min-width:0}
 .ride-mini>span{font-size:9px!important}
 .ride-mini input{width:100%;font-size:12px!important;min-width:0;letter-spacing:-.05em}
 .stepper{gap:1px}
 .stepper button{width:19px;font-size:18px}
 .stepper output{font-size:14px}
 .booking-card form>.main-cta{height:49px;margin-top:10px;font-size:14px;border-radius:12px}
 .booking-card .quiet-note{font-size:11px;margin-top:4px}
 .discover-section{padding:34px 0 20px;overflow:visible}
 .discover-section .section-heading{padding:0 21px;gap:10px}
 .discover-section .section-heading h2{font-size:clamp(30px,8vw,41px);margin:5px 0 3px}
 .discover-section .section-heading .eyebrow{font-size:8px}
 .discover-section .link-button{font-size:10px;white-space:nowrap}
 .coverflow-stage{height:auto!important;min-height:0;margin-top:15px;padding:0 14px;overflow:visible;perspective:950px;touch-action:pan-y}
 .coverflow-cards{position:relative;inset:auto;display:grid;gap:13px;transform-style:preserve-3d}
 .destination-card,.destination-card[data-position],.destination-card[data-position="stacked"]{position:relative;top:auto;left:auto;width:100%;height:127px;min-height:127px;display:block;opacity:1;filter:none;visibility:visible;transform-origin:center center;transform:perspective(950px) rotateX(var(--scroll-tilt,-2deg)) rotateY(var(--gyro-y,0deg)) translateZ(var(--hover-z,0px)) translateY(var(--scroll-y,0px)) scale(var(--card-scale,1));box-shadow:0 18px 28px #121a2945,0 3px 6px #0a132850;transition:transform .3s cubic-bezier(.2,.6,.3,1),box-shadow .5s ease;will-change:transform}
 .destination-card:nth-child(n+5){display:none!important}
 .destination-card:active{--hover-z:25px;--card-scale:1.022;box-shadow:0 28px 45px #151c2855}
 .destination-card img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:translateY(var(--photo-y,0px)) scale(1.11)}
 .destination-card:hover img{transform:translateY(var(--photo-y,0px)) scale(1.17)}
 .card-fade{background:linear-gradient(90deg,rgba(3,12,28,.73),rgba(4,15,29,.16) 63%,rgba(8,24,41,.06));z-index:1}
 .card-bottom{inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 22px}
 .card-bottom>span:before{content:"";position:absolute;left:-11px;top:50%;transform:translateY(-50%);height:38px;width:3px;border-radius:3px;background:#e8193a;box-shadow:0 0 12px #ef264588}
 .card-bottom strong{font:700 26px/1.05 Georgia,serif;text-shadow:0 3px 11px #000b;letter-spacing:-.038em}
 .card-bottom small{display:none}
 .card-bottom em{font:800 20px/1 sans-serif;border-radius:16px;width:42px;height:42px;display:grid;place-items:center;background:#fffdf4;color:#d11630;transform:translateZ(20px);border:1px solid #ffefed}
 .carousel-ui{display:none!important}
 .coverflow-glow{display:none}
 .categories-section{padding:27px 16px 37px}
 .categories-section .section-heading{padding:0 5px}
 .categories-section .section-heading h2{font-size:33px}
 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}
 .category-grid button.troll-tile{min-height:155px}
 .category-grid .editorial-tile{min-height:82px!important}
 .category-grid b{font-size:20px}
 .fleet-section{padding-top:33px}
 .fleet-section .section-heading{padding:0 19px}
 .fleet-section .section-heading h2{font-size:30px}
 .escape-section{height:390px;min-height:360px}
 .escape-content{padding-top:115px}
 .menu-inner{padding:27px 25px 35px}
 .menu-inner nav a b{font:700 clamp(26px,8vw,45px) Georgia,serif;letter-spacing:-.03em}
}
@media(max-width:350px){.topbar .header-links a:not(.home-link){display:none}.hero h1{font-size:40px}.ride-input input{font-size:12px}.ride-mini input{font-size:11px!important}.card-bottom strong{font-size:23px}.destination-card{height:116px!important;min-height:116px!important}}
@media(min-width:680px){
 .topbar{padding:0 38px}
 .header-links{gap:26px}
 .header-links a{font-size:14px}
 .hero{height:670px}
 .hero h1{font-size:clamp(80px,9vw,120px)}
 .booking-card{padding:26px 30px}
 .destination-card{border-radius:23px}
 .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .category-grid button.troll-tile{min-height:220px}
 .category-grid button.editorial-tile{min-height:145px}
 .fleet-art{height:180px!important}
 .fleet-card strong{font-size:18px!important}
}
@media(min-width:1050px){.hero{height:730px}.booking-section{margin-top:-120px}.booking-card{max-width:100%}.categories-section{padding-top:70px}.category-grid button.troll-tile{min-height:235px}}
@media(prefers-reduced-motion:reduce){.destination-card,.category-grid button,.hero-copy,.hero-slide{transition:none!important;transform:none!important}.main-cta:after{display:none}}
/* Contrast and small-screen input refinements */
.hero-cta{color:#fff;border-color:#ffffff8a;background:rgba(9,24,42,.34);text-shadow:0 2px 5px #0005}
.hero-cta>span:last-child{color:#fff;background:#c71932}
@media(max-width:350px){.location-fields{grid-template-columns:1fr}.ride-input{padding:7px 10px}.hero{height:465px}.hero h1{font-size:41px}}
.fleet-art img{mix-blend-mode:multiply;filter:drop-shadow(0 4px 8px #06102422)}

/* Small, unobtrusive journey details — designed for phones first */
.journey-extras{border:1px solid #e4e1dc;border-radius:15px;background:#fff;margin:13px 0 13px;overflow:hidden;box-shadow:0 5px 18px rgba(17,31,45,.035)}
.journey-extras>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:670;color:#1d2730;font-size:14px}
.journey-extras>summary::-webkit-details-marker{display:none}
.extras-sym{color:#c7233b;font-size:19px}
.extras-plus{margin-left:auto;transition:transform .25s ease;color:#c7233b;font-size:20px}
.journey-extras[open] .extras-plus{transform:rotate(45deg)}
.extras-body{padding:2px 15px 16px}
.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.extra-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:#354352;font-size:12px;font-weight:600}
.extra-field input{width:100%;height:44px;border-radius:10px;border:1px solid #d9dfe2;background:#faf9f7;padding:6px 12px;color:#203447;font-size:16px;font-variant-numeric:tabular-nums}
.extra-field input:focus-visible{outline:2px solid #be1931;outline-offset:1px}
.extras-help{font-size:12px!important;color:#67737c;line-height:1.55;margin:13px 1px 0!important}
.extras-error{color:#b20b28;font-size:12px;margin-top:8px}
.extras-summary{margin:8px 0 12px;background:#f5f5f3;padding:10px 12px;border-radius:11px;color:#334452;font-size:13px;line-height:1.5}
@media(max-width:360px){.extras-grid{gap:8px}.extra-field{font-size:11px}}

/* Compact language picker with REAL flag graphics, safe on Windows and iOS */
.flag-native-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important}
.flag-picker{position:relative;z-index:55;flex:0 0 auto}
.flag-trigger{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e0de;border-radius:100px;padding:7px 10px;min-height:39px;color:#101923;font-size:12px;font-weight:650;cursor:pointer;max-width:142px;box-shadow:0 4px 14px #1523310d}
.flag-trigger .active-language{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:80px}
.flag-graphic{width:25px;height:19px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #10101020;flex-shrink:0}
.flag-popover{position:absolute;top:calc(100% + 10px);right:0;width:min(295px,calc(100vw - 26px));max-height:min(68vh,520px);display:flex;flex-direction:column;background:#fff;border:1px solid #e9e4df;border-radius:18px;box-shadow:0 22px 70px rgba(15,28,46,.2);overflow:hidden;z-index:100}
.flag-popover[hidden]{display:none!important}
.flag-search{height:48px;flex-shrink:0;border:0;border-bottom:1px solid #eee;padding:0 17px;font-size:16px;color:#142330;outline:0}
.flag-list{overflow-y:auto;padding:7px;overscroll-behavior:contain}
.flag-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 11px;border:0;background:#fff;color:#172332;border-radius:10px;min-height:40px;cursor:pointer;font-size:13px}
.flag-item:hover,.flag-item[aria-selected=true]{background:#f8eef0;color:#be192f}
.flag-item[hidden]{display:none}
.inline-legal{margin:0 0 8px;display:block;border:0;padding:5px 0;background:transparent;text-decoration:underline;color:#bb1b32;text-align:left;font-size:12px;cursor:pointer}
.legal-content{max-height:65vh;overflow-y:auto;font-size:14px;line-height:1.65;color:#334352}
.legal-content h3{font-size:15px;margin:18px 0 4px;color:#152537}
.legal-content p{margin:0 0 12px}
.legal-content a{color:#a90c25;text-decoration:underline}
.corporate-option.invoice-unavailable{opacity:.62}
@media(max-width:390px){.flag-trigger{padding:6px 7px;gap:5px;max-width:124px}.flag-graphic{width:24px;height:17px}.active-language{max-width:66px}}
