@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--soft:#f2f4f5;--cream:#f6f5f2}
body{font-family:'DM Sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--cream)}

/* HEADER */
.tk-header{position:sticky;top:0;z-index:500;background:rgba(248,247,244,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,19,22,.06)}
.tk-header .tk-wrap{width:min(calc(100% - 44px),1420px)}
.tk-header__inner{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:34px;min-height:94px}
.tk-brand{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.tk-header-logo{display:block;width:auto;max-width:136px;max-height:80px;object-fit:contain}

.tk-nav{min-width:0;display:block!important}
.tk-nav>ul.tk-nav__list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:22px!important;list-style:none!important;margin:0!important;padding:0!important}
.tk-nav>ul.tk-nav__list>li{display:block!important;flex:0 0 auto!important;list-style:none!important;margin:0!important;padding:0!important;position:relative!important}
.tk-nav>ul.tk-nav__list>li>a{position:relative;display:flex!important;align-items:center;min-height:46px;padding:8px 1px!important;font-weight:700;font-size:.95rem;white-space:nowrap;color:#161a1e;background:transparent!important;border-radius:0!important}
.tk-nav>ul.tk-nav__list>li>a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:99px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.tk-nav>ul.tk-nav__list>li>a:hover,.tk-nav>ul.tk-nav__list>.current-menu-item>a,.tk-nav>ul.tk-nav__list>.current-menu-ancestor>a{color:var(--blue)}
.tk-nav>ul.tk-nav__list>li>a:hover:after,.tk-nav>ul.tk-nav__list>.current-menu-item>a:after,.tk-nav>ul.tk-nav__list>.current-menu-ancestor>a:after{transform:scaleX(1)}
.tk-nav>ul.tk-nav__list>.menu-item-has-children>a{padding-right:18px!important}
.tk-nav>ul.tk-nav__list>.menu-item-has-children>a:before{content:'⌄';position:absolute;right:0;top:50%;transform:translateY(-54%);font-size:.82rem;color:#7c8790}

/* isolate WP submenus from old theme nav rules */
.tk-nav>ul.tk-nav__list ul.sub-menu{position:absolute!important;top:calc(100% + 12px)!important;left:-18px!important;display:flex!important;flex-direction:column!important;gap:2px!important;min-width:250px!important;margin:0!important;padding:9px!important;background:#fff!important;border:1px solid rgba(16,19,22,.07)!important;border-radius:18px!important;box-shadow:0 24px 58px rgba(16,19,22,.14)!important;z-index:520!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(7px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important}
.tk-nav>ul.tk-nav__list>li:hover>ul.sub-menu,.tk-nav>ul.tk-nav__list>li:focus-within>ul.sub-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
.tk-nav>ul.tk-nav__list ul.sub-menu>li{display:block!important;width:100%!important;margin:0!important;padding:0!important;position:relative!important}
.tk-nav>ul.tk-nav__list ul.sub-menu a{display:block!important;width:100%!important;padding:12px 13px!important;border-radius:12px!important;font-weight:650!important;font-size:.91rem!important;white-space:nowrap!important;color:#1b2025!important;background:transparent!important}
.tk-nav>ul.tk-nav__list ul.sub-menu a:hover{background:#eef3f6!important;color:var(--blue)!important}

.tk-header-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;white-space:nowrap}
.tk-phone-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--blue);white-space:nowrap}
.tk-phone-link svg{width:18px;height:18px;fill:currentColor}
.tk-phone-link--header{padding:0 4px}
.tk-header-book{min-height:48px;padding-inline:22px}
.tk-menu{display:none!important;width:50px;height:50px;padding:0;border:0;border-radius:16px;background:#173a60;box-shadow:0 12px 28px rgba(23,58,96,.22);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;appearance:none;-webkit-appearance:none}
.tk-menu span{display:block;width:22px;height:2.5px;border-radius:999px;background:#fff;transition:transform .24s ease,opacity .18s ease}
.tk-menu.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.tk-menu.is-open span:nth-child(2){opacity:0}
.tk-menu.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.tk-submenu-toggle-mobile{display:none}

/* SITE */
.tk-title{line-height:1.04;letter-spacing:-.035em}.tk-title--section{line-height:1.08;letter-spacing:-.03em}.tk-lead{line-height:1.65}
.tk-hero{background:linear-gradient(180deg,#f6f5f2,#eef2f4)}.tk-section{background:#f6f5f2}.tk-section--soft{background:#eceff1}
.tk-booking-card,.tk-routebox,.tk-price{background:#fbfbfa}
.tk-card{background:var(--blue);color:#fff;border-color:transparent;overflow:hidden}.tk-card p{color:rgba(255,255,255,.78)}.tk-card__num,.tk-kicker{display:none}
.tk-visual{display:flex;align-items:center;justify-content:center;padding:18px 16px 160px;min-height:560px;background:linear-gradient(145deg,#e9eef2,#f8f8f6)}
.tk-visual:before,.tk-visual:after{display:none}.tk-visual__logo{width:100%;max-width:720px;max-height:none;height:auto;object-fit:contain;position:relative;z-index:2;transform:scale(1.12)}.tk-visual__card{left:24px;right:24px;bottom:24px;z-index:3}
.tk-booking-contact{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:20px 0 26px}.tk-booking-contact .tk-phone-link{font-size:1.08rem}
.tk-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.tk-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1220px){
  .tk-header__inner{grid-template-columns:126px minmax(0,1fr) auto;gap:20px}
  .tk-header-logo{max-width:116px}
  .tk-nav>ul.tk-nav__list{gap:13px!important}
  .tk-nav>ul.tk-nav__list>li>a{font-size:.88rem}
  .tk-phone-link--header span{display:none}
  .tk-phone-link--header{width:42px;height:42px;justify-content:center;border:1px solid rgba(42,89,141,.15);border-radius:50%}
}

@media(max-width:980px){
  .tk-header .tk-wrap{width:min(calc(100% - 28px),1380px)}
  .tk-header__inner{grid-template-columns:1fr auto;gap:16px;min-height:84px}
  .tk-header-logo{max-width:124px;max-height:72px}
  .tk-header-book,.tk-phone-link--header{display:none}
  .tk-menu{display:flex!important;position:relative;z-index:503}
  .tk-nav{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:502;padding:10px 14px 14px;background:#f8f7f4;border:1px solid rgba(16,19,22,.07);border-radius:22px;box-shadow:0 24px 70px rgba(16,19,22,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;max-height:calc(100vh - 118px);overflow:auto}
  .tk-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .tk-nav>ul.tk-nav__list{display:block!important}
  .tk-nav>ul.tk-nav__list>li{display:block!important;border-bottom:1px solid rgba(16,19,22,.07)!important}
  .tk-nav>ul.tk-nav__list>li:last-child{border-bottom:0!important}
  .tk-nav>ul.tk-nav__list>li>a{width:100%;min-height:54px;padding:15px 42px 15px 4px!important;font-size:1.05rem;font-weight:750;color:#12161a}
  .tk-nav>ul.tk-nav__list>li>a:after{display:none}
  .tk-nav>ul.tk-nav__list>.menu-item-has-children>a{padding-right:46px!important}
  .tk-nav>ul.tk-nav__list>.menu-item-has-children>a:before{display:none}
  .tk-submenu-toggle-mobile{display:flex;position:absolute;right:0;top:7px;width:40px;height:40px;border:0;border-radius:12px;background:#e7edf2;color:var(--blue);align-items:center;justify-content:center;font-size:1.1rem;font-weight:900;cursor:pointer;z-index:4}
  .tk-submenu-toggle-mobile span{transition:transform .2s ease}
  .submenu-open>.tk-submenu-toggle-mobile span{transform:rotate(180deg)}
  .tk-nav>ul.tk-nav__list ul.sub-menu{position:static!important;display:flex!important;min-width:0!important;margin:0 0 12px!important;padding:7px!important;background:#eaf0f4!important;border:0!important;border-radius:14px!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;max-height:0!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;transition:max-height .25s ease,padding .25s ease!important}
  .tk-nav>ul.tk-nav__list li.submenu-open>ul.sub-menu{max-height:220px!important;padding:7px!important}
  .tk-nav>ul.tk-nav__list ul.sub-menu a{padding:11px 12px!important;margin:2px 0!important;background:#fff!important;border-radius:10px!important;font-size:.94rem!important;white-space:normal!important}
}

@media(max-width:720px){
  .tk-header__inner{min-height:80px}
  .tk-header-logo{max-width:118px;max-height:70px}
  .tk-menu{width:48px;height:48px;border-radius:15px}
  .tk-title{letter-spacing:-.025em;line-height:1.08}
  .tk-visual{min-height:390px;padding:10px 8px 118px}
  .tk-visual__logo{width:100%;max-width:none;transform:translateY(-52px) scale(1.22)}
  .tk-visual__card{left:12px;right:12px;bottom:12px}
  .tk-grid4,.tk-grid3{display:flex!important;overflow-x:auto;gap:14px;margin-left:calc((100vw - 100%)/-2);margin-right:calc((100vw - 100%)/-2);padding:12px 18px 20px;scroll-snap-type:x mandatory;scroll-padding:18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tk-grid4::-webkit-scrollbar,.tk-grid3::-webkit-scrollbar{display:none}.tk-grid4>.tk-card,.tk-grid3>.tk-card{flex:0 0 82vw;max-width:340px;min-height:230px;scroll-snap-align:start;transform:none!important}.tk-card:active{transform:scale(.985)!important}.tk-section{overflow:hidden}
}
