/* Media and readability correction. Actual copy determines section height.
   No photographic fragments from the 1024px mockup are enlarged here. */
body{font-size:15px;line-height:1.55}
.header{height:96px}
.nav{width:88%;max-width:1238px;position:relative;padding-right:0;gap:20px}
.header .brand img{width:190px;height:auto;max-height:86px;object-fit:contain}
.nav nav{position:static;gap:24px;font-size:13px;margin-inline:auto}
.header-cta{width:155px;min-height:44px;font-size:12px;margin:0}
.current-language{position:static;font-size:12px}
.button{font-size:13px;min-height:44px;padding:12px 18px}
.eyebrow{font-size:10px;line-height:1.6}
.text-link{font-size:13px;line-height:1.4;min-height:36px;align-items:center}
.hero{height:440px}
.hero-content{width:80%;padding-top:40px}
.hero h1{font-size:64px;line-height:1.02;margin-bottom:18px}
.hero-description{font-size:16px;line-height:1.5;max-width:540px;margin-bottom:20px}
.hero .eyebrow{font-size:10px;margin-bottom:10px}
.hero-actions .button{width:160px;font-size:12px;min-height:44px}
.hero-actions .text-link{font-size:12px;min-height:36px}
.hero-photo{object-fit:cover;object-position:center center}
.hero-location{top:52px}
.hero-location small{font-size:9px}
.booking{height:auto;min-height:148px;width:82%;max-width:1140px;margin-top:-44px;padding:0 24px 22px}
.booking-top{height:54px}
.booking-top p{font-size:11px}
.service-options label>span{font-size:12px;padding-inline:14px}
.form-row{grid-template-columns:1.15fr 1.25fr 1fr 1fr;gap:12px;padding-top:14px}
.form-row label{font-size:12px}
.form-row input{height:46px;font-size:13px;line-height:1.3;padding-left:32px}
.form-row .button{height:46px;font-size:12px;padding-inline:12px}
.input-icon{bottom:16px}
.benefits{width:86%;max-width:1140px;height:auto;min-height:116px;padding:26px 0}
.benefits>div{height:auto;min-height:50px;gap:15px;padding-right:12px}
.benefits>div+div{padding-left:24px}
.benefits strong{font-size:19px;white-space:normal}
.benefits p span{font-size:12px;line-height:1.4;white-space:normal}
.journey-layout,.comfort-layout,.how-layout,.faq-layout{width:88%;max-width:1238px;margin-inline:auto}
.journeys{height:auto;min-height:0;padding:20px 0 32px}
.journey-layout{grid-template-columns:minmax(0,27fr) minmax(0,73fr);gap:22px}
.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.journeys .section-heading{padding-top:10px}
.journeys h2{font-size:38px;line-height:1.04;margin-bottom:18px}
.section-heading>p:not(.eyebrow),.comfort .section-heading>p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:310px;margin-bottom:18px}
.journey-card{height:auto;min-height:370px;box-shadow:none}
.card-image{height:auto;aspect-ratio:1.85;flex:none}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-image img.prague-destination{object-position:50% 54%}
.card-image img.krumlov-destination{object-position:52% 48%}
.card-image img.kutna-destination{object-position:50% 42%}
.card-body{padding:16px 17px;gap:0;min-height:240px}
.card-body .eyebrow{font-size:9px;line-height:1.45;margin-bottom:8px;letter-spacing:1px}
.card-body h3{font-size:27px;line-height:1.04;margin-bottom:12px;letter-spacing:-.7px}
.card-body>p:not(.eyebrow){font-size:13px;line-height:1.55;margin-bottom:16px;flex:1}
.route-link{font-size:12px;line-height:1.45;min-height:36px;gap:6px}
.route-link span{width:28px;height:28px;font-size:17px}
.cruise{height:auto;min-height:360px}
.cruise-inner{width:84%;max-width:1238px;min-height:360px}
.cruise-copy{width:36%;max-width:420px;padding:40px 0 32px}
.cruise h2{font-size:42px;line-height:1.04;margin-bottom:18px}
.cruise-copy>p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:350px;margin-bottom:22px}
.cruise .eyebrow{font-size:10px;line-height:1.5;margin-bottom:12px}
.cruise .button{font-size:12px;min-height:44px}
.cruise-background{inset:0;width:100%;max-width:none;margin:0}
.cruise-background picture{display:block;width:100%;height:100%}
.cruise-background img{width:100%;height:100%;object-fit:contain;object-position:right center;filter:none}
.cruise:before{background:linear-gradient(90deg,#062b3e 10%,#062b3ee8 31%,#062b3e70 45%,transparent 62%)}
.cruise-route{left:47%;top:20px;width:35%;font-size:10px}
.cruise-side-note{right:0;bottom:15px;font-size:8px;line-height:1.5}
.cruise-engraving{height:170px;width:120px;opacity:.3;bottom:40px}
.comfort{height:auto;padding:30px 0}
.comfort-layout{grid-template-columns:minmax(0,28fr) repeat(2,minmax(0,36fr));gap:20px}
.comfort h2{font-size:36px;line-height:1.08;margin-bottom:18px}
.comfort .section-heading{padding-top:5px}
.vehicle-card{height:290px;padding:20px;isolation:isolate}
.vehicle-index{font-size:9px;line-height:1.5;letter-spacing:1.2px}
.vehicle-card h3{font-size:19px;line-height:1.2;margin:12px 0 14px}
.vehicle-card h3 em{font-size:32px}
.vehicle-card ul{font-size:11px;line-height:1.5;width:47%;max-width:none}
.vehicle-card li{padding-left:17px;margin-bottom:6px}
.vehicle-detail-icon{width:13px;height:13px}
.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:76%;height:auto;max-height:60%;object-fit:contain;right:3px;bottom:31px;mix-blend-mode:normal;z-index:1}
.vehicle-card .text-link{font-size:12px;min-height:30px;left:20px;bottom:9px}
.vehicle-card:after{font-size:200px;top:0;right:4px}
.how{padding:32px 0 34px;min-height:190px}
.how-layout{grid-template-columns:minmax(0,27fr) minmax(0,73fr);gap:22px}
.how .eyebrow,.faq .eyebrow{font-size:10px;line-height:1.5;margin-bottom:10px}
.how h2,.faq h2{font-size:40px;line-height:1.06}
.steps{width:100%;gap:18px;padding-top:26px}
.steps article{padding-left:42px}
.steps article>span{font-size:14px}
.steps h3{font-size:19px;line-height:1.15;white-space:normal;margin-top:8px}
.steps p{font-size:13px;line-height:1.5}
.dotted-route{top:-18px}
.how-map{opacity:.35}
.faq{padding:24px 0 32px;min-height:250px}
.faq-layout{grid-template-columns:minmax(0,30fr) minmax(0,70fr);gap:30px}
.faq .section-heading>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:12px 0 16px}
.whatsapp-link{font-size:12px;min-height:44px;padding:10px 14px}
.faq-items summary{font-size:14px;line-height:1.45;min-height:40px;padding:10px 28px 10px 4px}
.faq-items summary:after{top:7px;font-size:21px}
.faq-items details p{font-size:14px;line-height:1.6}
.footer-main{height:auto;min-height:110px;padding:20px 0;grid-template-columns:185px minmax(160px,1fr) minmax(205px,1fr) 70px 210px;gap:20px}
.footer-main .brand{align-self:center;background:var(--paper);padding:8px 10px;border-radius:3px}
.footer-main .brand img{width:165px;height:auto;max-height:none}
.footer-main p,.footer-main nav,.footer-contacts{font-size:11px;line-height:1.5}
.footer-main nav{gap:15px;flex-wrap:wrap}
.footer-contacts{padding-left:12px;overflow-wrap:anywhere}
.footer-contacts a{white-space:normal}
.footer-legal,.footer-legal button{font-size:10px;line-height:1.5}
.footer-legal{padding-bottom:16px;flex-wrap:wrap}
.footer-legal button{min-height:32px}
.dialog-actions .button{font-size:13px}
dialog label{font-size:13px}
dialog p{font-size:14px}
@media(min-width:1200px){
 .hero{height:510px}.hero-content{padding-top:55px}.hero h1{font-size:80px}
 .hero-description{font-size:17px;max-width:600px}.hero .eyebrow{font-size:11px}
 .hero-actions .button{width:175px;font-size:13px}.hero-actions .text-link{font-size:13px}
 .journeys h2,.comfort h2{font-size:43px}
 .card-body h3{font-size:31px}.card-body>p:not(.eyebrow){font-size:14px}
 .card-body{min-height:250px}.journey-card{min-height:400px}
 .cruise,.cruise-inner{min-height:390px}.cruise h2{font-size:48px}
 .cruise-copy{padding-top:50px}.cruise-copy>p:not(.eyebrow){font-size:15px}
 .vehicle-card{height:320px}.vehicle-card h3{font-size:21px}.vehicle-card h3 em{font-size:36px}
 .vehicle-card ul{font-size:12px}.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{bottom:34px}
 .steps p{font-size:14px}.steps h3{font-size:21px}
}
@media(min-width:901px) and (max-width:1199px){
 .nav{gap:15px}.nav nav{gap:16px;font-size:12px}.header .brand img{width:175px}
 .header-cta{width:140px;font-size:11px}.current-language{font-size:11px}
 .footer-main{grid-template-columns:170px minmax(120px,1fr) minmax(140px,1fr) 50px 185px;gap:14px}
 .footer-main .brand img{width:150px}
 .footer-main p,.footer-main nav,.footer-contacts{font-size:10px}
 .vehicle-card ul{width:60%}.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{max-height:44%;width:86%;bottom:35px}
}
@media(max-width:900px){
 .header{height:88px}.header .brand img{width:160px}
 .nav{width:90%;gap:12px}.nav nav{gap:12px;font-size:11px}.header-cta{width:134px;font-size:11px}
 .hero{height:435px}.hero-content{width:86%}.hero h1{font-size:61px}
 .hero-description{font-size:15px}.wide-break{display:none}
 .booking{width:90%}.booking-top p{display:none}.form-row{grid-template-columns:1fr 1fr}
 .service-options{width:100%;justify-content:space-between}
 .benefits{width:88%;gap:12px}.benefits>div+div{padding-left:10px}.benefits strong{font-size:17px}
 .journey-layout{display:block}.journeys .section-heading{gap:0 24px;padding-bottom:25px}
 .journeys .section-heading>p:not(.eyebrow){font-size:14px;padding-top:5px}
 .journey-grid{gap:14px}.card-body{padding:15px 14px;min-height:260px}
 .card-body h3{font-size:27px}.card-body>p:not(.eyebrow){font-size:13px}
 .comfort-layout{grid-template-columns:1fr 1fr}.comfort .section-heading{padding-bottom:10px}
 .comfort .section-heading>p:not(.eyebrow){font-size:14px}
 .vehicle-card{height:290px}.vehicle-card ul{width:50%}
 .cruise,.cruise-inner{min-height:360px}.cruise-copy{width:45%;padding-top:35px}
 .cruise h2{font-size:39px}.cruise-route{left:52%;width:32%}
 .how-layout{display:block}.steps{margin-top:10px;padding-top:28px}
 .faq-layout{grid-template-columns:220px minmax(0,1fr);gap:22px}
 .footer-main{grid-template-columns:170px 1fr 195px;gap:16px}
 .footer-main nav{grid-column:2;grid-row:2}.footer-contacts{grid-column:3;grid-row:1/3}
 .footer-social{grid-column:1;grid-row:2}.footer-main .brand img{width:150px}
}
@media(max-width:600px){
 .header{height:88px}.nav{width:90%}.header .brand img{width:165px;max-height:76px}
 .nav nav{top:88px;position:absolute;font-size:14px;margin:0}.nav nav.open{display:flex}
 .menu-toggle{font-size:13px;min-height:44px}.header-cta{display:none}
 .hero{height:445px}.hero-content{width:88%;padding-top:30px}
 .hero h1{font-size:clamp(39px,11.5vw,63px);line-height:1.04;letter-spacing:-1.4px;margin-bottom:18px}
 .hero .eyebrow{font-size:9px;letter-spacing:1.3px;max-width:300px;margin-bottom:12px}
 .hero-description{font-size:15px;line-height:1.5;max-width:350px;margin-bottom:20px}
 .hero-actions{gap:15px;padding:0}.hero-actions .button{width:150px;font-size:12px;padding-inline:13px}
 .hero-actions .text-link{font-size:11px}
 .booking{width:90%;padding:0 16px 20px;margin-top:-32px;min-height:0}
 .booking-top{height:54px}.service-options label>span{font-size:10px;padding-inline:5px;gap:5px}
 .form-row{grid-template-columns:1fr 1fr;gap:14px;padding-top:16px}
 .form-row input{font-size:16px;height:48px;padding-left:29px;padding-right:5px}
 .form-row .button{font-size:12px;height:48px;padding-inline:10px}
 .benefits{display:grid;grid-template-columns:1fr;width:88%;padding:20px 0 28px;gap:0}
 .benefits>div,.benefits>div+div{height:auto;min-height:73px;padding:14px 0;gap:18px}
 .benefits strong{font-size:23px}.benefits p span{font-size:13px}
 .journeys{padding:0 0 30px}.journey-layout{width:88%}.journey-grid{grid-template-columns:1fr;gap:24px}
 .journeys .section-heading{display:block;padding:0 0 25px}
 .journeys h2{font-size:42px}.section-heading>p:not(.eyebrow),.journeys .section-heading>p:not(.eyebrow){font-size:15px;max-width:none;padding:0}
 .journey-card{min-height:0;height:auto}.card-image{aspect-ratio:1.75}
 .card-body{padding:20px;min-height:245px}.card-body .eyebrow{font-size:10px}
 .card-body h3{font-size:33px}.card-body>p:not(.eyebrow){font-size:15px;line-height:1.55}
 .route-link{font-size:13px;min-height:44px}.route-link span{width:32px;height:32px}
 .cruise{min-height:0;height:auto;padding-bottom:265px}
 .cruise-inner{width:88%;min-height:0}.cruise-copy{width:100%;max-width:none;padding:32px 0 24px}
 .cruise h2{font-size:41px}.cruise-copy>p:not(.eyebrow){font-size:15px;max-width:none}
 .cruise-background{inset:auto 0 0;width:100%;height:255px}
 .cruise-background img{object-fit:cover;object-position:center 64%}
 .cruise:before{background:linear-gradient(180deg,#062b3e 0%,#062b3e 48%,transparent 80%)}
 .cruise-route{left:5%;width:74%;top:auto;bottom:-226px;font-size:9px}
 .cruise-route span:last-child{right:-25px;transform:none}
 .comfort{padding:32px 0}.comfort-layout{display:block;width:88%}
 .comfort .section-heading{display:block;padding-bottom:12px}.comfort h2{font-size:40px}
 .comfort .section-heading>p:not(.eyebrow){font-size:15px}
 .vehicle-card{height:305px;padding:20px;margin-bottom:20px}
 .vehicle-index{font-size:10px}.vehicle-card h3{font-size:21px}.vehicle-card h3 em{font-size:36px}
 .vehicle-card ul{font-size:12px;width:55%;max-width:none}
 .vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:83%;max-height:49%;bottom:35px;right:3px}
 .vehicle-card .text-link{font-size:13px;min-height:36px;left:20px;bottom:6px}
 .how{padding:32px 0}.how-layout{width:88%}.how h2,.faq h2{font-size:43px}
 .steps{grid-template-columns:1fr;gap:28px;padding-top:15px}
 .steps article,.steps article:nth-of-type(2),.steps article:nth-of-type(3){padding:0 0 0 58px}
 .steps h3{font-size:24px}.steps p{font-size:15px;max-width:none}
 .dotted-route{top:25px;bottom:25px;width:1px;height:auto}
 .faq{padding:30px 0}.faq-layout{display:block;width:88%}
 .faq .section-heading{padding-bottom:25px}.faq .section-heading>p:not(.eyebrow){font-size:15px}
 .faq-items summary{font-size:14px;min-height:50px;padding:15px 25px 15px 0}
 .faq-items summary:after{top:13px}.faq-items details p{font-size:15px}
 .whatsapp-link{font-size:13px}
 .footer-main{width:88%;grid-template-columns:1fr 1fr;gap:18px;padding:25px 0 15px}
 .footer-main .brand{padding:6px}.footer-main .brand img{width:100%;max-width:160px}
 .footer-main p{font-size:11px}.footer-main nav{grid-column:1/-1;grid-row:2;font-size:12px;gap:12px;justify-content:space-between}
 .footer-social{grid-column:1;grid-row:3}.footer-contacts{grid-column:2;grid-row:3;font-size:10px;padding-left:9px}
 .footer-legal{width:88%;font-size:10px;gap:8px 14px;padding-bottom:20px}.footer-legal button{font-size:10px}
 .footer-legal a:last-child{margin-left:0}
}
@media(max-width:360px){
 .hero{height:465px}.hero-description{font-size:14px}.hero-actions{gap:12px}
 .hero-actions .button{width:142px;font-size:11px}.hero-actions .text-link{font-size:10px}
 .service-options label>span{font-size:9px;padding-inline:3px;gap:4px}
 .form-row{grid-template-columns:1fr}.form-row label:nth-child(3){grid-column:auto}
 .form-row .button{justify-content:center;gap:18px;font-size:13px}
 .comfort h2{font-size:36px}.vehicle-card{height:310px}
 .vehicle-card ul{width:65%}.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:87%;max-height:43%}
}
/* Reserve a separate lower zone for the cars: no photograph behind copy. */
.vehicle-card{height:360px}
.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:86%;max-height:43%;bottom:35px}
@media(min-width:1200px){.vehicle-card{height:370px}.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{max-height:44%;bottom:36px}}
@media(max-width:600px){.vehicle-card{height:360px}.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:85%;max-height:43%;bottom:35px}}
@media(max-width:360px){.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:87%;max-height:41%}}
/* Photo audit: focal points selected from full-resolution originals. */
.card-image img.prague-destination{object-position:30% 50%}
.card-image img.krumlov-destination{object-position:50% 28%}
.card-image img.kutna-destination{object-position:50% 44%}
.footer-main>*{min-width:0}
.not-found{padding-block:72px;min-height:70vh}
.not-found h1{font-family:var(--serif);margin-bottom:20px}
.not-found>p:not(.eyebrow){font-size:16px;margin-bottom:22px}
.not-found .button{justify-content:center}
/* More vertical room keeps the cathedral's spire and entrance in the photo. */
.card-image{aspect-ratio:1.75}
.card-image img.kutna-destination{object-position:50% 38%}
/* The full desktop navigation does not fit the narrow tablet range. */
@media(min-width:601px) and (max-width:767px){
 .menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 8px;background:none;border:0;font-size:13px;margin-left:auto}
 .header-cta{display:none}
 .nav nav{display:none;position:absolute;top:88px;left:-5.56%;right:-5.56%;margin:0;background:#fcf8ef;padding:16px 5%;z-index:20;font-size:14px;box-shadow:0 5px 8px #0001}
 .nav nav.open{display:flex;flex-direction:column;gap:0}
 .nav nav a{padding:12px}
}
/* Use the retained inverse brand artwork on the navy footer, without a tile. */
.footer-main .brand{background:none;padding:0;border-radius:0}
.footer-main .brand img{width:185px;max-width:100%;height:auto}
@media(max-width:600px){.footer-main .brand img{width:100%;max-width:185px}}
/* Real CC0 sunset photograph. Keep the architecture on the right, at its
   natural proportions; the left copy rests on the navy section background. */
.hero-photo{inset:0 0 0 auto;width:68%;height:100%;object-fit:cover;object-position:50% 20%}
.hero-shade{background:linear-gradient(90deg,#031e2b 0%,#031e2bf5 23%,#031e2b99 42%,transparent 67%)}
.editorial-seal{opacity:.35}
/* Whole vector drawings replace the fragmented screenshot traces. */
.architecture-destinations{left:max(8px,calc((100% - 1238px)/2 - 116px));bottom:20px;width:100px;height:210px;background:url('assets/tower-engraving.svg') center/contain no-repeat;opacity:.22}
.architecture-destinations-right{right:max(8px,calc((100% - 1238px)/2 - 120px));top:-105px;width:82px;height:170px;background:url('assets/tower-engraving.svg') center/contain no-repeat;opacity:.18}
@media(min-width:601px) and (max-width:900px){.hero-photo{width:72%}.editorial-seal{display:none}}
@media(max-width:600px){
 .hero-photo{inset:0;width:100%;object-position:50% 20%}
 .hero-shade{background:linear-gradient(90deg,#031e2bcf,#031e2b66),linear-gradient(180deg,#031e2b66,transparent)}
 .architecture-destinations{width:72px;height:155px;opacity:.1;left:0;bottom:20px}
 .architecture-destinations-right{display:none}
}
/* Restore the reference's architectural frame with continuous vector linework.
   Different left/right drawings, natural ratios, faint gold and soft fading. */
.architecture-destinations{display:block;left:max(0px,calc((100% - 1238px)/2 - 122px));top:auto;bottom:0;width:clamp(76px,8.8vw,122px);height:auto;aspect-ratio:100/520;background:url('assets/editorial-prague-left.svg') center/contain no-repeat;opacity:1;mask-image:linear-gradient(90deg,#000 65%,transparent 100%);mix-blend-mode:multiply}
.architecture-destinations-right{display:block;right:max(0px,calc((100% - 1238px)/2 - 114px));top:auto;bottom:24px;width:clamp(84px,10vw,136px);height:auto;aspect-ratio:140/560;background:url('assets/editorial-prague-right.svg') center/contain no-repeat;opacity:1;mask-image:linear-gradient(270deg,#000 60%,transparent 100%);mix-blend-mode:multiply}
@media(max-width:900px){.architecture-destinations{width:80px;opacity:.6}.architecture-destinations-right{width:94px;opacity:.55}}
@media(max-width:600px){.architecture-destinations{width:68px;bottom:auto;top:-28px;opacity:.5}.architecture-destinations-right{display:block;width:70px;top:auto;bottom:25px;opacity:.4}}
