/* Planeta. Full-site content and visual correction, release 20260930-r4.
   Decoration is pure CSS on the page, never baked into the hero photograph. */
body{position:relative;isolation:isolate;background:#f7f8f5}
.site-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:linear-gradient(135deg,#fffcf2,#f7f9f6 50%,#eef6f5)}
.site-atmosphere span{display:block;position:absolute;pointer-events:none}
.atmosphere-glow{inset:0;background:radial-gradient(ellipse 390px 470px at -2% 24%,#f5d84970 0,transparent 77%),radial-gradient(ellipse 410px 540px at 103% 50%,#53b2bf61 0,transparent 75%),radial-gradient(ellipse 330px 370px at 0% 98%,#a2d8c953 0,transparent 72%),radial-gradient(ellipse 350px 380px at 100% 0%,#f9df6861 0,transparent 76%)}
.atmosphere-orbit{width:470px;height:730px;border:1px solid #739c9330;border-radius:50%;box-shadow:0 0 0 25px #ffffff2e,0 0 0 26px #7aa0981f,0 0 0 76px #ffffff22,0 0 0 77px #7aa09817}
.orbit-left{left:-345px;top:17%;transform:rotate(-24deg)}
.orbit-right{right:-315px;top:25%;transform:rotate(31deg);border-color:#97894237;box-shadow:0 0 0 34px #ffffff2b,0 0 0 35px #bba14c27,0 0 0 82px #ffffff20,0 0 0 83px #7299981f}
.atmosphere-path{width:420px;height:820px;right:-324px;top:-260px;border:2px dashed #9ca37347;border-radius:48%;transform:rotate(20deg)}
.atmosphere-grid{left:0;top:43%;width:200px;height:360px;opacity:.22;background-image:linear-gradient(#759b852e 1px,transparent 1px),linear-gradient(90deg,#759b852e 1px,transparent 1px);background-size:36px 36px;transform:rotate(-15deg) translateX(-60px);mask-image:radial-gradient(ellipse,#000 20%,transparent 75%)}
/* The centre stays quiet; only the page gutters reveal the ambient layer. */
.hero-wrap{background:transparent}
.directions-section,.about-section,.faq-section,.directory-section,.article-section-wrap,.legal-section{background:linear-gradient(90deg,transparent,#f7f8f5ef 18%,#f7f8f5ef 82%,transparent)}
.tariff-section{background:linear-gradient(90deg,#fffbed52,#fffdf1ed 18%,#f6f9f1ed 82%,#edf7f16b)}
.route-hero,.directory-head{background:linear-gradient(90deg,transparent,#f7f8f5ef 19%,#f7f8f5ef 81%,transparent)}
/* Remove small legacy overlays that could cover text. */
.directions-section:before,.directions-section:after,.about-section:before,.faq-section:after,.route-hero:before,.directory-head:before{display:none}
.site-header{background:#fafcf8f0}
/* Active tab contrast: the icon follows the same colour as the label. */
.tariff-controls .filter-button{color:#314a42;background:#ffffffd9;border-color:#c4d1c1;box-shadow:none;min-height:44px}
.tariff-controls .filter-button.active,.tariff-controls .filter-button[aria-pressed=true]{color:#14262c;background:#f4d44b;border-color:#c9a523;box-shadow:0 4px 16px #b38e1d20;font-weight:700}
.tariff-controls .filter-button.active:hover,.tariff-controls .filter-button[aria-pressed=true]:hover{background:#ffe275;color:#14262c;border-color:#b7982b}
.tariff-controls .filter-button:not([aria-pressed=true]):hover{background:#eef5f1;color:#183a30}
.tariff-controls .filter-button .icon{color:inherit;stroke:currentColor}
.tariff-controls .filter-button:focus-visible{outline:3px solid #1e6272;outline-offset:4px}
.city-filters button[aria-pressed=true]{background:#f4d44b;color:#14262c;border-color:#c9a523}
.contact-widget-link.telegram,.contact-widget-link.maxapp{flex-direction:row;align-items:center;gap:12px;min-height:65px}
/* Fresh articles use semantic sections with a readable single H2. */
.prose .article-section{padding:0;margin:0;background:none}
.prose .article-section h3{margin-top:30px}
.prose .article-section p{margin:14px 0}
.prose .article-disclaimer h3{font-size:17px;margin:0 0 10px;letter-spacing:-.015em}
.prose .article-disclaimer p{margin:0}
.prose a:focus-visible{outline:3px solid #205d68;outline-offset:3px}
/* Preserve the dark contact block and readable fallback-number card. */
.booking-section{background:radial-gradient(ellipse at 0 100%,#2b685155,transparent 64%),linear-gradient(135deg,#14262c,#173949);color:#fff}
.booking-copy .eyebrow{color:#d2dacf}
.booking-copy>p:not(.eyebrow):not(.contact-email){color:#c6d7cf}
.contact-phone>small{color:#bfd1c7}
.contact-phone.fallback{color:#172b32;border-color:#d6e9dc}
.contact-phone.fallback>a{color:#172b32}
.contact-phone.fallback>small,.contact-phone.fallback p{color:#375647}
.messengers>a:hover,.messengers>a:hover .icon{color:#172b32}
/* Clear, compact contact-panel layout on desktop and mobile. */
.contact-widget{bottom:calc(22px + env(safe-area-inset-bottom));right:20px}
.contact-widget-panel{width:356px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 118px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;color:#172b32}
.contact-widget-panel[hidden]{display:none!important}
.contact-widget-actions{grid-template-columns:minmax(0,1fr)}
.contact-widget-link{padding:11px 13px;min-height:65px}
.contact-widget-link strong{font-size:14px}
.contact-widget-link small{font-size:12px;color:#586b62}
.contact-widget-link.primary small,.contact-widget-link.secondary small{font-size:15px;font-weight:600;color:#213b35;letter-spacing:0}
.contact-widget-head strong{font-size:19px}
.contact-widget-head p{font-size:12px;color:#53645d}
.contact-widget-head{position:relative}
.contact-widget-close{flex-shrink:0;min-width:38px;min-height:38px}
.contact-widget-toggle{transition:transform .2s,box-shadow .2s}
.contact-widget-toggle .widget-dot{animation:widgetPulse 2s 3}
.contact-widget-foot{font-size:12px}
.contact-widget-link:focus-visible,.contact-widget-close:focus-visible,.contact-widget-toggle:focus-visible{outline:3px solid #367c8b;outline-offset:3px}
@media(min-width:821px){
  .contact-widget-link.quote{grid-column:1/-1}
  .cookie-banner{max-width:min(410px,calc(100vw - 40px))}
}
@media(max-width:820px){
 .contact-widget{right:12px;bottom:calc(88px + env(safe-area-inset-bottom))}
 .contact-widget-panel{width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 175px - env(safe-area-inset-bottom));padding:16px}
 .contact-widget-actions{gap:8px}
 .contact-widget-link{min-height:62px;padding:9px 11px}
 .contact-widget-link .cw-icon{width:38px;height:38px}
 /* One panel at a time; the call bar stays available. */
 body.cookie-panel-visible:not(.contact-panel-visible) .contact-widget{visibility:hidden}
 body.contact-panel-visible .cookie-banner{visibility:hidden}
 .atmosphere-glow{opacity:.8}
}
@media(max-width:640px){
 .atmosphere-orbit{opacity:.5}
 .orbit-left{left:-445px;top:2%}
 .orbit-right{right:-432px;top:44%}
 .atmosphere-grid,.atmosphere-path{display:none}
 .atmosphere-glow{background:radial-gradient(ellipse 240px 390px at -20% 10%,#f5d84961,transparent 76%),radial-gradient(ellipse 260px 430px at 125% 65%,#59aeb75c,transparent 75%)}
 .directions-section,.about-section,.faq-section,.directory-section,.route-hero,.directory-head{background:linear-gradient(90deg,transparent,#f7f8f5dc 15%,#f7f8f5dc 85%,transparent)}
 .tariff-controls .filter-button{font-size:12px;padding:10px 14px}
 .contact-widget-toggle strong{font-size:12px}
 .contact-widget-toggle small{font-size:10px}
 .prose .article-section h3{font-size:22px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){
 .site-atmosphere,.site-atmosphere *{animation:none!important}
 .contact-widget-toggle .widget-dot{animation:none!important}
}
@media print{
 .site-atmosphere,.contact-widget{display:none!important}
 body,.directions-section,.tariff-section,.about-section,.faq-section,.route-hero,.booking-section{background:white!important;color:black!important}
}
