@font-face{font-family:Manrope;src:url(assets/manrope.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Inter;src:url(assets/inter.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --color-primary:#364A70;--color-secondary:#495C80;--color-accent:#938077;
  --color-background:#FFFFFF;--color-background-soft:#F5F6F8;
  --color-text:#333B48;--color-border:#E8EBF0;--color-control:#808ba0;
  --border-radius-button:8px;--border-radius-card:16px;--transition-default:250ms ease;
  --ease-out:cubic-bezier(.23,1,.32,1);--shadow:0 4px 18px #364a7009;
  color:var(--color-text);font:16px/1.65 Inter,system-ui,sans-serif;scroll-padding-top:140px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--color-background)}
a{color:inherit}button,input,select{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
header{position:sticky;inset-block-start:0;z-index:10;background:var(--color-background);border-bottom:1px solid var(--color-border)}
.header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-top:8px}
.logo{width:242px;max-width:100%;display:block}
.header-actions,.portals{display:flex;flex-wrap:wrap;gap:8px}
.header-menu{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--color-border);padding-block:8px}
.header nav{display:flex;flex-wrap:wrap;gap:5px clamp(10px,1.5vw,24px)}
.header nav a{padding-block:4px;text-decoration:none;font-size:.86rem;font-weight:550;color:var(--color-primary);transition:color var(--transition-default)}
.header nav a:hover{color:var(--color-secondary);text-decoration:underline;text-underline-offset:5px}
.menu-toggle{display:none!important}
.skip{position:fixed;left:12px;top:-100px;background:white;padding:8px;z-index:20}
.skip:focus{top:8px}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:.65rem 1.05rem;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--border-radius-button);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--transition-default),border-color var(--transition-default),color var(--transition-default),transform 120ms var(--ease-out)}
.button.secondary,.button.light{background:white;color:var(--color-primary)}
.button:hover{background:var(--color-secondary);border-color:var(--color-secondary)}
.button.secondary:hover,.button.light:hover{background:var(--color-background-soft)}
.button:active{transform:scale(.98)}
.portals .button{font-size:.78rem;min-height:38px;padding:.45rem .7rem}
.hero{padding-block:clamp(48px,7vw,112px);background:white}
.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,76px);align-items:center}
.hero figure{margin:0;position:relative}
.hero figure::before{content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid var(--color-accent);border-radius:var(--border-radius-card);pointer-events:none}
.hero figure img{display:block;position:relative;width:100%;height:auto;border-radius:var(--border-radius-card);background:var(--color-background-soft)}
h1,h2,h3,p{margin:0 0 .7em}
h1,h2,h3{font-family:Manrope,Inter,sans-serif;line-height:1.12;letter-spacing:-.045em;font-weight:600;color:var(--color-primary)}
h1{font-size:clamp(2.65rem,5.5vw,5.35rem);margin-bottom:.35em}
h1 em{display:block;font-style:normal;color:var(--color-secondary)}
h2{font-size:clamp(2.1rem,4vw,3.55rem);margin-bottom:.45em}
h3{font-size:1.3rem;letter-spacing:-.025em}
.intro{font-size:clamp(1.02rem,1.4vw,1.19rem);font-weight:500;max-width:49ch}
.eyebrow{margin:0 0 10px;font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--color-secondary)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.quick{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--color-border)}
.quick a{padding:18px 20px;text-decoration:none;color:var(--color-primary);font-weight:600;transition:background-color var(--transition-default)}
.quick a:hover{background:var(--color-background-soft)}
.quick a+a{border-left:1px solid var(--color-border)}
.section{padding-block:clamp(42px,7vw,88px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.tint,.promotions{background:var(--color-background-soft)}
.card{padding:clamp(18px,3vw,30px);border:1px solid var(--color-border);border-radius:var(--border-radius-card);background:white;box-shadow:var(--shadow)}
.location{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.muted{font-size:.89rem}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.services .card{display:flex;flex-direction:column;align-items:start;transition:border-color var(--transition-default),transform var(--transition-default),box-shadow var(--transition-default)}
.service-icon{width:30px;height:30px;color:var(--color-primary);margin-bottom:17px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.services .card p{margin-bottom:1.25rem}
.services .button{margin-top:auto}
@media(hover:hover){.services .card:hover{transform:translateY(-3px);border-color:var(--color-secondary);box-shadow:0 7px 22px #364a7012}}
.promo-grid{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:clamp(24px,6vw,76px);align-items:center}
.offers{display:grid;gap:12px;margin-block:20px 16px}
.offer{display:flex;gap:16px;align-items:center;padding:16px 20px;border-inline-start:3px solid var(--color-accent)}
.offer strong{min-width:3ch;font:600 2rem/1 Manrope,sans-serif;letter-spacing:-.07em;color:var(--color-primary)}
.offer h3{font-size:1.15rem;margin-bottom:4px}
.offer p{margin:0}
.promo-poster{display:block;max-width:340px;border:1px solid var(--color-border);border-radius:var(--border-radius-card);overflow:hidden;box-shadow:var(--shadow)}
.promo-poster img{display:block;width:100%;height:auto}
.booking{margin-top:25px;max-width:920px}
.booking ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:10px;margin:0 0 28px;list-style-position:inside;font-size:.86rem}
.booking li{border-bottom:2px solid var(--color-border);padding-bottom:8px;transition:border-color var(--transition-default)}
.booking li[aria-current=step]{border-color:var(--color-primary);color:var(--color-primary);font-weight:700}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px}
.fields label{display:grid;gap:6px;font-weight:550}
.fields input,.fields select{min-width:0;width:100%;min-height:44px;border:1px solid var(--color-control);border-radius:var(--border-radius-button);padding:9px 10px;background:white}
.fields input:focus,.fields select:focus{border-color:var(--color-primary);outline-offset:2px}
.fields+p{margin-top:18px}
.dark{background:var(--color-primary);color:white}
.dark h2{color:white}
.dark a:focus-visible{outline-color:white}
footer{padding-block:22px;font-size:.85rem;color:var(--color-secondary)}
[hidden]{display:none!important}
@media(max-width:1020px){
  :root{scroll-padding-top:82px}
  .header{position:relative;padding-block:7px;min-height:70px}
  .logo{width:205px}
  .menu-toggle{display:inline-flex!important}
  .header-menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:75vh;overflow:auto;background:white;padding:16px;border:1px solid var(--color-border);border-radius:0 0 12px 12px;box-shadow:var(--shadow)}
  .header-menu.is-open{display:grid}
  .header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
  .header nav a{padding:8px}
  .services{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:670px){
  .wrap{width:calc(100% - 32px)}
  .logo{width:158px}
  .header-actions .button{padding-inline:.58rem;font-size:.78rem}
  .header{gap:7px}
  .hero-grid,.split,.promo-grid{grid-template-columns:1fr;gap:24px}
  .hero figure::before{inset:7px -7px -7px 7px}
  .quick{grid-template-columns:1fr}
  .quick a+a{border-left:0;border-top:1px solid var(--color-border)}
  .quick a{padding:12px 0}
  .booking ol{grid-template-columns:repeat(2,1fr)}
  .location{align-items:flex-start;flex-direction:column}
  .offer{padding:14px}
  .promo-poster{max-width:300px}
}
@media(max-width:410px){.services{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  [data-step]:not([hidden]),.header-menu.is-open{animation:panel-in 200ms var(--ease-out) both}
  @keyframes panel-in{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.button:active,.services .card:hover{transform:none}}
