/* The shared shell is loaded last and uses the same rules on every route. */
.shell-wrap{width:min(1440px,calc(100% - 64px));margin-inline:auto}
body[data-page] .site-header{position:sticky;top:0;z-index:40;background:#fffefb;color:#123f2e;border-bottom:1px solid #e1e7e0;font-family:Manrope,Arial,sans-serif}
.shell-header-row{display:flex;align-items:center;gap:32px;min-height:104px}
.shell-logo{display:inline-flex;flex:none;align-items:center;text-decoration:none}
.shell-logo img{display:block;width:116px;height:88px;object-fit:contain;max-width:none}
body[data-page] .site-header .desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto;font:700 15px/1.4 Manrope,Arial,sans-serif}
body[data-page] .site-header .desktop-nav>a{display:flex;align-items:center;min-height:48px;padding:0;border:0;text-decoration:none;white-space:nowrap}
.site-header .nav-dropdown>summary{min-height:48px;gap:9px;font-weight:700;cursor:pointer}
.site-header .desktop-nav a:hover,.site-header .nav-dropdown>summary:hover{color:#337258}
.site-header .desktop-nav a[aria-current="page"],.site-header .shell-current-group{color:#123f2e;text-decoration:underline!important;text-decoration-color:#ed9a23!important;text-decoration-thickness:2px!important;text-underline-offset:7px}
.site-header .nav-dropdown[open]>summary{text-decoration:none}
.site-header .nav-dropdown-panel{left:-20px;top:calc(100% + 6px);min-width:264px;max-width:310px;padding:12px;background:#fffefb;border:1px solid #dce5dc;box-shadow:0 14px 36px #123f2e16;border-radius:16px;gap:2px}
.site-header .nav-dropdown-panel a{font:600 15px/1.4 Manrope,Arial,sans-serif;padding:12px;border-radius:8px;margin:0;border:0;text-decoration:none;white-space:normal}
.site-header .nav-dropdown-panel a:last-child:not(:first-child){border:0;margin:0;padding:12px}
.site-header .nav-dropdown-panel a:hover{background:#edf3e9;color:#123f2e}
.shell-header-actions{display:flex;align-items:center;gap:24px;margin-left:8px;flex:none}
.shell-booking{display:flex;flex-direction:column;gap:3px;text-decoration:none;white-space:nowrap;font-size:15px;font-weight:800;line-height:1.3}
.shell-booking>span{font-size:12px;font-weight:500;color:#607468}
.shell-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:1px solid transparent;border-radius:99px;background:#ffd21c;color:#123f2e;font:800 15px/1.3 Manrope,Arial,sans-serif;text-decoration:none;white-space:nowrap;transition:background .15s ease}
.shell-cta:hover{background:#ffdf54}
body[data-page] .site-header .mobile-toggle{display:none;margin:0;flex:none;background:transparent;color:#123f2e;border:0}
.shell-mobile-call{display:none;align-items:center;justify-content:center;width:44px;height:44px;color:#123f2e}
.shell-mobile-call svg{width:23px;height:23px}
body[data-page] .shell-mobile-menu{border:0;padding:24px;width:min(640px,100%);height:100dvh;max-height:100dvh;max-width:100%;margin:0 0 0 auto;background:#fffefb;color:#123f2e;overflow-y:auto;overscroll-behavior:contain}
.shell-mobile-menu::backdrop{background:#092d2390}
.shell-mobile-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #e1e7e0}
.shell-mobile-menu .menu-close{font-size:34px;line-height:1;color:#123f2e;background:#edf3e9;border-radius:50%}
body[data-page] .shell-mobile-menu .shell-mobile-sections{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:28px}
.shell-mobile-sections>section{min-width:0}
.shell-mobile-sections h2{font:800 15px/1.4 Manrope,Arial,sans-serif;color:#687b6e;letter-spacing:.01em;margin:0 0 10px}
.shell-mobile-menu .shell-mobile-sections a{display:block;min-height:44px;padding:10px 0;font:700 17px/1.4 Manrope,Arial,sans-serif;text-decoration:none}
.shell-mobile-menu a[aria-current="page"]{color:#123f2e;text-decoration:underline;text-decoration-color:#ee9b23;text-decoration-thickness:2px;text-underline-offset:6px}
.shell-mobile-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e1e7e0;padding-top:24px;margin-top:25px}
.shell-mobile-bottom>a:first-child{font-size:20px;font-weight:800;text-decoration:none;white-space:nowrap}
/* Footer follows the supplied frame; shared by every page. */
body[data-page] .site-footer{background:#103d2c;color:#fffefb;margin:80px 0 0;padding:56px 0 28px;font-family:Manrope,Arial,sans-serif;position:relative}
.shell-farewell{font:800 clamp(40px,5.6vw,84px)/1.06 Unbounded,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 76px;white-space:nowrap}
.shell-farewell span{position:relative;display:inline-block}
.shell-farewell span:after{content:"";position:absolute;bottom:-15px;left:-3%;width:106%;height:7px;background:#ffd21c;border-radius:60%;transform:rotate(-3deg)}
.shell-footer-grid{display:grid;grid-template-columns:1.1fr .85fr .85fr 1.15fr;gap:40px;padding-bottom:50px}
.shell-footer-column{min-width:0}
.shell-footer-column h2{font:800 17px/1.4 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0 0 26px;color:#fffefb}
.shell-footer-column nav{display:grid;gap:14px}
.shell-footer-column nav>a{width:fit-content;text-decoration:none;color:#fffefb;font-size:17px;line-height:1.5}
.shell-footer-column a:hover{text-decoration:underline;text-underline-offset:5px;color:#fffefb}
.shell-footer-tagline{font-size:22px;line-height:1.4;margin:0 0 24px}
.shell-footer-description{font-size:15px;line-height:1.5;color:#c5d7cb;margin:0 0 26px}
.shell-footer-intro nav{gap:10px}
.shell-footer-intro nav>a{font-size:15px;color:#c5d7cb}
.shell-footer-contacts{display:flex;flex-direction:column;align-items:start;gap:23px}
.shell-footer-contacts h2{margin-bottom:3px}
.shell-footer-contacts>div{display:flex;flex-direction:column;gap:6px}
.shell-contact-label{font-size:15px;color:#c5d7cb;line-height:1.4}
.shell-footer-phone{font-size:18px;font-weight:500;line-height:1.3;text-decoration:none;white-space:nowrap}
.shell-footer-phone--booking{font-size:24px;font-weight:800}
.shell-footer-email{font-size:17px;text-decoration:none;overflow-wrap:anywhere}
.shell-footer-address{font-size:17px;line-height:1.5;text-decoration:none}
.shell-footer-contacts .shell-socials{display:flex;flex-wrap:wrap;gap:20px;margin-top:2px}
.shell-footer-contacts .shell-socials a{font-size:17px;line-height:1.5;text-decoration:none}
.shell-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid #ffffff40;padding-top:25px;font-size:14px;line-height:1.5;color:#fffefb}
.shell-footer-bottom a{text-decoration:none}
.shell-footer-bottom a:hover{text-decoration:underline}
.shell-footer-bottom{align-items:flex-start}
.shell-legal-identity{display:grid;gap:8px;max-width:350px;flex:0 1 350px}
.shell-legal-identity span:last-child{font-size:12px;color:#c5d7cb}
.shell-legal-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;flex:1;max-width:720px}
.shell-legal-links a{display:block;min-height:36px;padding:5px 0;font-size:14px;line-height:1.55;text-underline-offset:4px}
@media(max-width:767px){.shell-footer-bottom{display:block}.shell-legal-identity{margin-bottom:20px}.shell-legal-links{grid-template-columns:1fr;gap:4px}.shell-legal-links a{font-size:14px;min-height:44px;display:flex;align-items:center}.shell-legal-identity span:last-child{font-size:12px}}
.site-header a:focus-visible,.site-header summary:focus-visible,.shell-mobile-menu a:focus-visible,.site-footer a:focus-visible{outline:3px solid #ee9b23;outline-offset:5px;border-radius:3px}
@media(max-width:1250px){.shell-header-row{gap:22px}.shell-header-actions{gap:19px;margin-left:0}body[data-page] .site-header .desktop-nav{gap:20px}.shell-booking{display:none}.shell-footer-grid{gap:28px}.shell-footer-phone--booking{font-size:21px}.shell-footer-column nav>a,.shell-footer-email,.shell-footer-address{font-size:15px}}
@media(max-width:1119px){body[data-page] .site-header .desktop-nav{display:none}.shell-header-row{min-height:88px;justify-content:space-between}.shell-header-row>.shell-logo img{width:100px;height:75px}.shell-header-actions{margin-left:auto;gap:16px}.shell-mobile-call{display:flex}body[data-page] .site-header .mobile-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px}body[data-page] .site-header .mobile-toggle span{display:block;width:25px;height:2px;background:#123f2e}.shell-footer-grid{grid-template-columns:1fr 1fr;gap:40px 65px}.shell-farewell{margin-bottom:60px}.shell-footer-column nav>a{font-size:17px}.shell-footer-phone--booking{font-size:24px}}
@media(max-width:700px){.shell-wrap{width:calc(100% - 32px)}.shell-header-row{min-height:80px;gap:10px}.shell-header-row>.shell-logo img{width:86px;height:66px}.shell-header-actions{gap:10px}.shell-cta{min-height:44px;font-size:13px;padding:11px 17px}.shell-mobile-call{display:none}body[data-page] .shell-mobile-menu{padding:20px}.shell-mobile-top .shell-logo img{width:95px;height:73px}.shell-mobile-menu .shell-mobile-sections a{font-size:16px}.shell-mobile-bottom{flex-wrap:wrap}.shell-mobile-bottom>a:first-child{font-size:18px}.shell-mobile-bottom .shell-cta{font-size:15px;padding-inline:24px}
 body[data-page] .site-footer{margin-top:56px;padding:38px 0 23px}.shell-farewell{font-size:clamp(29px,7.9vw,52px);line-height:1.12;white-space:normal;max-width:560px;margin-bottom:49px}.shell-farewell span:after{height:5px;bottom:-10px}.shell-footer-grid{grid-template-columns:1fr 1fr;gap:34px 22px;padding-bottom:32px}.shell-footer-intro{grid-column:1/-1}.shell-footer-column h2{font-size:15px;margin-bottom:17px}.shell-footer-tagline{font-size:21px;margin-bottom:16px}.shell-footer-description{margin-bottom:16px}.shell-footer-intro nav{display:flex;flex-wrap:wrap;gap:22px}.shell-footer-column nav{gap:5px}.shell-footer-column nav>a{font-size:14px;padding-block:6px;min-height:33px}.shell-footer-contacts{grid-column:1/-1;gap:21px}.shell-footer-contacts h2{margin-bottom:0}.shell-footer-phone--booking{font-size:25px}.shell-footer-contacts .shell-socials{gap:24px}.shell-footer-contacts .shell-socials a{font-size:16px;min-height:44px}.shell-footer-email,.shell-footer-address{font-size:16px}.shell-footer-bottom{font-size:12px;gap:15px 22px;flex-wrap:wrap;padding-top:20px}}
@media(max-width:359px){.shell-header-actions{gap:5px}.shell-header-row>.shell-logo img{width:80px}.shell-cta{padding-inline:14px;font-size:12px}.shell-mobile-menu .shell-mobile-sections a{font-size:15px}.shell-footer-grid{gap:30px 16px}.shell-footer-column nav>a{font-size:13px}}
@media(prefers-reduced-motion:reduce){.shell-cta{transition:none}}
