:root{--paper:#f6f5ef;--ink:#173c34;--muted:#647169;--line:#d9dfd5;--coral:#e8a183;--green:#315b46;--white:#fff;--radius:22px}*{box-sizing:border-box}html{scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c15f38;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:anywhere;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:normal;line-height:1.16}h1{font-size:clamp(44px,5.3vw,82px);margin-bottom:25px}h2{font-size:clamp(34px,3.5vw,54px);margin-bottom:24px}h3{font-size:28px;margin-bottom:14px}p{margin-bottom:20px}strong,b{font-weight:600}.muted{color:var(--muted);font-size:13px}.lead{font-size:19px;max-width:670px;color:var(--muted)}.eyebrow{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:600;display:block;margin-bottom:20px}.eyebrow.light{color:#e4eee4}.section{max-width:1280px;margin:auto;padding:78px 50px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-heading h2{margin-bottom:0;max-width:740px}.text-link{white-space:nowrap;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:13px}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}
.site-header{height:94px;padding:0 4%;display:flex;align-items:center;gap:30px;position:sticky;top:0;z-index:20;background:rgba(246,245,239,.98);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand img{height:61px;width:61px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font-size:25px;letter-spacing:.08em;font-weight:600;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.025em;margin-top:7px;font-weight:400}.site-header nav{display:flex;gap:24px;margin:auto;align-items:center}.site-header nav a{font-size:13px;white-space:nowrap;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--ink)}.header-contact{font-size:12px;white-space:nowrap}.menu-toggle{display:none;background:none;border:0;font-size:26px;color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .2s,transform .2s;line-height:1.5}.button:hover{transform:translateY(-2px)}.coral{background:var(--coral);color:#233a2f}.coral:hover{background:#f0b294}.glass{border-color:#ffffff70;color:white;background:#ffffff0d}.outline{border-color:#748e78;background:transparent;color:var(--ink)}.button:disabled{opacity:.6;cursor:wait;transform:none}
.hero{position:relative;min-height:655px;height:calc(100svh - 154px);max-height:900px;margin:18px 24px 0;border-radius:24px;overflow:hidden;color:white;background:#24483c}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,37,28,.76),rgba(14,37,28,.2)),linear-gradient(0deg,rgba(14,37,28,.4),transparent 50%)}.hero-content{position:relative;z-index:1;padding:8% 6%;max-width:890px}.hero h1{max-width:780px}.hero p{max-width:500px;font-size:17px;color:#eef3eb;line-height:1.8}.hero-actions{display:flex;gap:15px;margin-top:32px}.hero-caption{position:absolute;bottom:28px;left:6%;right:5%;display:flex;justify-content:space-between;align-items:end;font-size:11px;letter-spacing:.06em}.hero-caption>span:first-child{font-family:Georgia,serif;font-size:20px;line-height:1.15}.route-strip{margin:0 auto;padding:30px 50px;max-width:1280px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line);font-size:12px}.route-strip>span{color:var(--muted);max-width:140px}.route-strip a{display:flex;gap:14px;align-items:center}.route-strip b{font-size:10px;color:#7c8e80}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.category-card{display:block;position:relative;height:330px;border-radius:var(--radius);overflow:hidden;color:white;background:var(--green)}.category-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d231dcc,transparent 80%)}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.category-card:hover img{transform:scale(1.04)}.category-card>div{position:absolute;bottom:28px;left:26px;right:26px;z-index:1}.category-card h3{font-size:30px;margin-bottom:12px}.category-card span{font-size:11px;color:#ffffffd6}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.trip-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-image{height:245px;position:relative}.card-image img{width:100%;height:100%;object-fit:cover}.pill{position:absolute;top:18px;left:18px;background:var(--paper);border-radius:99px;padding:4px 12px;font-size:11px}.card-content{padding:25px}.card-content p:not(.eyebrow){font-size:13px;color:var(--muted)}.card-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:12px;font-size:12px}
.group-section{background:#e9ede4;border-radius:var(--radius);max-width:1180px;padding:48px;margin-top:10px;margin-bottom:20px}.empty{padding:35px;text-align:center;border:1px dashed #9aafa0;border-radius:16px;max-width:100%;grid-column:1/-1}.empty-icon{font-size:30px;display:block;margin-bottom:10px}.empty h3{font-size:31px}.empty p{max-width:530px;margin:0 auto 22px;color:var(--muted);font-size:14px}.departure-card{display:grid;grid-template-columns:160px 135px 1fr;align-items:center;gap:30px;padding:24px 0;border-bottom:1px solid #bac7b8}.departure-card img{width:135px;height:110px;object-fit:cover;border-radius:12px}.departure-card h3{font-size:28px;margin-bottom:8px}.departure-card p{font-size:13px;color:var(--muted);margin-bottom:8px}.departure-date{font-size:18px;line-height:1.4}.departure-date span{display:block;color:var(--green);font-size:11px;margin-top:10px}.round-arrow{border:1px solid #8b9d8c;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-photo{position:relative;align-self:stretch;min-height:530px}.about-photo img{height:100%;width:100%;object-fit:cover;border-radius:180px 180px 18px 18px}.about-photo>span{position:absolute;bottom:28px;left:30px;color:white;font-family:Georgia,serif;font-size:27px;text-shadow:0 2px 12px #000}.about-split>div>p{color:var(--muted);font-size:14px}.steps p{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--muted)}.steps b{color:var(--ink);font-size:12px}.steps strong{display:block;color:var(--ink);font-size:14px;margin-bottom:5px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-card img{height:230px;width:100%;object-fit:cover;border-radius:16px;margin-bottom:24px}.post-card h3{font-size:28px}.post-card p:not(.eyebrow){font-size:13px;color:var(--muted)}.post-card .eyebrow{font-size:9px;line-height:1.6}.posts-grid>.post-card:only-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:30px}.posts-grid>.post-card:only-child img{height:100%;min-height:260px}
.booking{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);margin-top:35px}.booking-copy{padding-top:12px}.booking-copy>p{max-width:400px}.booking form{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;position:relative}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-size:11px;display:block;margin-bottom:16px}input,select,textarea{width:100%;display:block;margin-top:7px;background:#f8f9f5;border:1px solid #dbe0d5;border-radius:6px;color:var(--ink);padding:12px;font-size:13px;min-width:0}textarea{resize:vertical}input[type=checkbox]{width:16px;height:16px;flex:none;margin:3px 0 0;accent-color:var(--green)}.consent{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:10px}.consent a{text-decoration:underline}.trap{position:absolute;left:-9999px;opacity:0;pointer-events:none}.booking form>.button{width:100%}.field-static{font-size:12px}.success,.error{padding:15px;border-radius:6px;margin-top:20px;font-size:13px}.success{background:#e7f1e3;color:#214c30}.error{background:#fff0e9;color:#933b22}
.page-intro{padding-top:70px;padding-bottom:20px}.page-intro h1{max-width:900px}.listing{padding-top:20px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.chip{border:1px solid var(--line);padding:9px 15px;border-radius:99px;font-size:11px}.chip.active,.chip:hover{background:var(--ink);color:white;border-color:var(--ink)}.listing-note{padding:40px;background:#e9ede4;border-radius:20px;margin-top:35px}.listing-note p{color:var(--muted)}.back-link{display:inline-block;font-size:12px;margin-bottom:35px}.detail-head{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.detail-head h1{font-size:clamp(40px,4.4vw,68px)}.detail-head>img{width:100%;height:560px;object-fit:cover;border-radius:var(--radius)}.facts{display:flex;gap:22px;margin:25px 0;font-size:13px}.detail-body{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;padding-top:10px}.detail-body aside{padding:30px;background:#e9ede4;border-radius:18px;align-self:start}.detail-body aside p{font-size:14px}.article{max-width:930px}.article h1{font-size:clamp(38px,4.7vw,65px)}.article-cover{width:100%;max-height:500px;object-fit:cover;border-radius:20px;margin:30px 0 45px}.prose{line-height:1.9}.prose h2{font-size:34px;margin-top:35px}.prose h3{font-size:26px;margin-top:30px}.prose a{text-decoration:underline}.prose img{border-radius:14px;margin:25px 0}.prose blockquote{border-left:3px solid var(--green);padding:15px 25px;margin-left:0;background:#e9ede4}.prose pre{overflow:auto}.article-cta{padding:30px;background:#e9ede4;border-radius:18px;margin-top:40px}.pagination{display:flex;justify-content:space-between;margin-top:35px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-grid>a,.contact-grid>div{padding:30px;border:1px solid var(--line);border-radius:18px}.contact-grid h2{font-size:30px;overflow-wrap:anywhere;margin:15px 0 0}
footer{background:#173c34;color:#f1f2e9;padding:65px max(5%,24px) 25px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;max-width:1180px;margin:auto}.footer-brand{font-size:40px;letter-spacing:.12em}.footer-brand span{display:block;font-size:12px;letter-spacing:0;margin-top:15px;color:#c0d0c4}.footer-main>div>strong{display:block;font-size:12px;margin-bottom:15px;color:#bacabd}.footer-main>div>a:not(.footer-brand){display:block;font-size:13px;margin-bottom:9px}.footer-bottom{max-width:1180px;margin:45px auto 0;border-top:1px solid #ffffff26;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#bdcdbf}
@media(min-width:1500px){.hero-content{padding-top:100px}.hero{min-height:720px}}
@media(max-width:1100px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{gap:15px}.site-header nav{gap:15px}.header-contact{display:none}.section{padding:60px 30px}.hero-content{padding-top:80px}.hero{min-height:620px}.group-section{margin:0 30px}.about-split,.booking,.detail-head,.detail-body{gap:35px}.category-card{height:300px}.route-strip{padding:25px 30px}.route-strip>span{display:none}}
@media(max-width:760px){html{scroll-padding-top:80px}.site-header{height:76px;padding:0 20px;justify-content:space-between}.brand img{height:48px;width:48px}.brand>span{font-size:21px}.brand small{font-size:7px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px;box-shadow:0 15px 20px #173c3412;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:13px 5px;font-size:15px}.section{padding:48px 21px}.section-heading{align-items:start;gap:20px;flex-direction:column}.section-heading h2{font-size:37px}.hero{margin:10px 12px 0;border-radius:18px;height:auto;min-height:650px}.hero-content{padding:66px 24px 135px}.hero h1{font-size:50px}.hero p{font-size:15px}.hero-photo{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#102e27c9,#102e2730),linear-gradient(0deg,#102e2780,transparent)}.hero-actions{flex-direction:column;align-items:stretch;max-width:310px;gap:12px}.hero-caption{left:24px;right:24px;bottom:23px}.hero-caption>span:last-child{max-width:120px;text-align:right;font-size:9px}.route-strip{display:grid;grid-template-columns:1fr;padding:25px 24px;gap:0}.route-strip a{padding:13px 0;border-bottom:1px solid var(--line)}.route-strip a:last-child{border-bottom:0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.category-card{height:255px;border-radius:13px}.category-card>div{left:15px;right:12px;bottom:18px}.category-card h3{font-size:24px}.category-card span{font-size:9px}.cards{grid-template-columns:1fr}.group-section{margin:0 12px;padding:32px 22px}.empty{padding:25px 18px}.empty h3{font-size:28px}.empty p{font-size:13px}.about-split{grid-template-columns:1fr;gap:35px}.about-photo{min-height:350px;max-height:390px}.about-photo img{height:390px;border-radius:140px 140px 14px 14px}.about-photo>span{font-size:24px;left:24px}.posts-grid{grid-template-columns:1fr}.posts-grid>.post-card:only-child{display:block;grid-column:auto}.posts-grid>.post-card:only-child img{height:245px;min-height:0}.booking{grid-template-columns:1fr;gap:22px;margin-top:0}.booking form{padding:22px 18px}.booking h2{font-size:38px}.form-grid{gap:10px}.button{min-height:49px}.booking-copy>p{font-size:14px}.page-intro{padding-bottom:20px}.page-intro h1{font-size:clamp(30px,8vw,46px)}.lead{font-size:16px}.listing{padding-top:10px}.departure-card{grid-template-columns:80px 1fr;gap:18px}.departure-date{grid-column:1/-1;font-size:15px;display:flex;justify-content:space-between;align-items:center}.departure-date span{margin:0}.departure-card img{width:80px;height:95px}.departure-card h3{font-size:25px}.round-arrow{display:none}.detail-head{grid-template-columns:1fr;gap:25px}.detail-head>img{height:350px;grid-row:2}.detail-head h1{font-size:44px}.detail-body{grid-template-columns:1fr;gap:25px}.article h1{font-size:43px}.contact-grid{grid-template-columns:1fr}.contact-grid h2{font-size:27px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.facts{flex-wrap:wrap}.filter-row{gap:8px}.chip{font-size:10px;padding:8px 11px}}
@media(max-width:540px){.category-grid{grid-template-columns:minmax(0,1fr)}.category-card{height:300px}}
@media(max-width:390px){.category-grid{grid-template-columns:1fr}.category-card{height:300px}.hero h1{font-size:44px}.hero-content{padding-left:20px;padding-right:20px}.form-grid{grid-template-columns:1fr}.booking form{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Readable text sizes across the public site. */
body{font-size:18px;line-height:1.65}
.brand small{font-size:12px;line-height:1.35;letter-spacing:0}
.site-header nav a,.header-contact{font-size:16px}
.eyebrow,.post-card .eyebrow{font-size:13px;line-height:1.5;letter-spacing:.1em}
.muted,.consent,.footer-bottom{font-size:14px;line-height:1.6}
.lead{font-size:21px}
.hero p{font-size:20px;line-height:1.7}
.button,.text-link,.chip,.back-link,.category-card span,.pill,.card-bottom,.field-static,.facts{font-size:16px}
.route-strip{font-size:16px;flex-wrap:wrap}.route-strip b{font-size:14px}
.hero-caption,.hero-caption>span:last-child{font-size:14px;line-height:1.5}
.card-content p:not(.eyebrow),.empty p,.departure-card p,.about-split>div>p,.post-card p:not(.eyebrow),.booking-copy>p,.detail-body aside p{font-size:18px}
.steps p,.steps strong{font-size:17px}.steps b{font-size:15px}
.departure-date span{font-size:14px}
label{font-size:16px;line-height:1.5}
input,select,textarea{font-size:17px;line-height:1.5;padding:13px 12px}
.success,.error{font-size:17px}
.footer-brand span,.footer-main>div>strong,.footer-main>div>a:not(.footer-brand){font-size:16px}
.footer-main>div{min-width:0;overflow-wrap:anywhere}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1280px){.header-contact{display:none}}
@media(max-width:1000px){
 .site-header{justify-content:space-between}.menu-toggle{display:block}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #173c3412}
 .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header nav a{padding:13px 5px;font-size:18px}
 .booking{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
 body{font-size:18px}.lead,.hero p{font-size:18px}
 .hero{max-height:none}.hero-content{padding-bottom:150px}
 .brand small{font-size:11px}.brand>span{font-size:24px}
 .hero-caption>span:last-child{max-width:150px;font-size:13px}
 .category-card span{font-size:15px}.chip{font-size:15px}
 .booking-copy>p,.empty p{font-size:18px}
 .footer-main{grid-template-columns:1fr;gap:28px}
}
@media(max-width:540px){.form-grid{grid-template-columns:1fr}.button{gap:14px}.hero-caption{gap:18px}.hero-caption>span:first-child{font-size:18px}}

/* Photo placeholders: text stays readable while the photo loads. */
.hero>img,.category-card>img,.card-image>img,.about-photo>img{transition:opacity .25s ease}
.image-loading{position:relative;isolation:isolate;overflow:hidden}
.image-loading>img{opacity:0}
.image-loading::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:photo-placeholder 1.6s linear infinite;z-index:-1}
.about-photo.image-loading::before{border-radius:180px 180px 18px 18px}
@keyframes photo-placeholder{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.image-loading::before{animation:none}.hero>img,.category-card>img,.card-image>img,.about-photo>img{transition:none}}

.post-image-frame{display:block;position:relative;border-radius:16px;overflow:hidden;margin-bottom:24px;background:#dce5dc}
.post-image-frame img{margin-bottom:0;transition:opacity .25s ease}
.posts-grid>.post-card:only-child .post-image-frame{height:100%;min-height:260px}
.pagination{justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.pagination[hidden]{display:none}
.pagination a,.page-number{padding:10px 15px;border:1px solid var(--line);border-radius:8px;font-size:16px}
.page-number.current{background:var(--ink);color:white;border-color:var(--ink)}
.pagination-summary{flex-basis:100%;text-align:center;font-size:15px;color:var(--muted)}
.skeleton-block{position:relative;overflow:hidden;background:#dce5dc;border-radius:6px;margin-bottom:14px}
.skeleton-block::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:photo-placeholder 1.6s linear infinite}
.skeleton-cover{height:230px;border-radius:16px;margin-bottom:24px}.skeleton-meta{height:14px;width:45%}.skeleton-title{height:32px;width:90%}.skeleton-line{height:18px}.skeleton-line.short{width:70%}
.blog-load-status{font-size:16px;color:var(--muted)}.listing{scroll-margin-top:110px}
@media(max-width:760px){.posts-grid>.post-card:only-child .post-image-frame{height:245px;min-height:0}}
@media(prefers-reduced-motion:reduce){.skeleton-block::after{animation:none}.post-image-frame img{transition:none}}

/* Keep the footer at the viewport bottom on short pages. */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;min-width:0}
body>.site-header,body>footer{flex-shrink:0}

/* Shared theme tokens apply to every public page. */
body{background:var(--paper);color:var(--ink)}
.site-header{background:var(--paper)}
.booking form,.trip-card{background:var(--surface)}
.group-section,.listing-note,.detail-body aside,.article-cta,.prose blockquote{background:var(--soft)}
input,select,textarea{background:var(--surface);border-color:var(--line);color:var(--ink)}
.coral{background:var(--accent);color:var(--accentText)}.coral:hover{background:var(--accent);filter:brightness(1.07)}
.outline,.text-link{color:var(--ink);border-color:var(--line)}
.departure-date span{color:var(--ink)}
.skeleton-block,.post-image-frame{background:var(--soft)}
.chip{border-color:var(--line)}.chip.active,.chip:hover{background:var(--ink);color:var(--paper)}
.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--ink)}
.theme-control{margin:0;order:3;flex:none}.theme-control select{margin:0;padding:8px 10px;font-size:14px;width:100px}
.site-header nav{order:1}.header-contact{order:2}.menu-toggle{order:4}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand .logo-dark{display:none}.brand img{mix-blend-mode:normal}
[data-theme="dark"] .brand .logo-light{display:none}[data-theme="dark"] .brand .logo-dark{display:block}
[data-theme="dark"] .logo-fallback{background:#f6f5ef;border-radius:8px;padding:3px}
[data-theme="dark"] .page-number.current{background:var(--ink);color:var(--paper)}
[data-motion="off"] *,[data-motion="off"] *::before,[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.hero-shade{pointer-events:none}.has-video .hero-content{pointer-events:none}.has-video .hero-content a{pointer-events:auto}.has-video .hero-caption{bottom:75px;pointer-events:none}
.content-video{display:block;width:100%;max-height:650px;background:#12231e;border-radius:16px;margin:25px 0}
@media(max-width:760px){.site-header{gap:10px;padding:0 14px}.theme-control select{width:82px;font-size:13px;padding:8px 5px}.brand{gap:7px}.brand small{font-size:9px}.brand>span{font-size:22px}.brand img{width:40px;height:40px}.menu-toggle{padding:6px}}

/* Customer portal shares the site's cream palette. */
.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}.portal-heading h1{margin:12px 0}.portal-card{padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:18px;margin:24px 0}.portal-card h2{font-size:clamp(26px,3vw,38px)}.portal-card p{overflow-wrap:anywhere}.portal-login{max-width:520px;display:grid;gap:20px;margin-top:32px}.portal-login label{display:grid;gap:10px}.portal-login input{width:100%}.portal-heading p{overflow-wrap:anywhere}@media(max-width:600px){.portal-heading{align-items:flex-start;flex-direction:column}.portal-card{padding:20px}}

/* A continuous moving road keeps the bus animation seamless. */
.bus-scene{position:relative;width:156px;height:83px;margin:0 auto 22px;overflow:hidden;color:var(--green)}
.travel-bus{display:block;width:120px;height:64px;margin:8px auto 0;animation:bus-cruise 2.4s ease-in-out infinite}
.bus-body{animation:bus-suspension .8s ease-in-out infinite alternate}
.bus-wheel{animation:bus-wheel-turn 1s linear infinite}
.bus-road{position:absolute;bottom:8px;left:0;width:200%;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 18px,transparent 18px 36px);opacity:.35;animation:bus-road-pass .8s linear infinite}
@keyframes bus-cruise{0%,100%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
@keyframes bus-suspension{from{transform:translateY(0)}to{transform:translateY(-1px)}}
@keyframes bus-wheel-turn{to{transform:rotate(360deg)}}
@keyframes bus-road-pass{to{transform:translateX(-36px)}}
@media(prefers-reduced-motion:reduce){.travel-bus,.bus-body,.bus-wheel,.bus-road{animation:none}}

/* Strong action in the upcoming group departures placeholder. */
.group-section .empty .button.outline{background:#173c34;color:#fffaf2;border-color:#173c34;box-shadow:0 4px 12px #173c3418}
.group-section .empty .button.outline:hover{background:#245346;border-color:#245346}
.group-section .empty .button.outline:focus-visible{outline:3px solid #173c34;outline-offset:4px}

/* Lavka Putei brand: keep the longer name legible at every width. */
.brand>span{font-size:24px;letter-spacing:0;font-weight:600;white-space:nowrap}
.brand img{width:62px;height:62px;object-fit:contain}
.footer-brand{font-size:34px;letter-spacing:0}
@media(max-width:1100px){.site-header{gap:16px}.site-header nav{gap:16px}.header-contact{display:none}}
@media(max-width:760px){.brand>span{font-size:21px}.brand img{width:48px;height:48px}.brand small{font-size:10px}}
