
:root{
  --navy:#193967;
  --blue:#6475AC;
  --blue-soft:rgba(105,121,175,.76);
  --line:#E3E7F0;
  --wash:#F4F6FA;
  --disp:"Wix Madefor Display","Segoe UI",Arial,sans-serif;
  --text:"Wix Madefor Text","Segoe UI",Arial,sans-serif;
  --hdr:88px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--text);color:var(--navy);background:#fff;line-height:1.7;
  letter-spacing:-.1px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}

/* ============ HEADER ============ */
.hdr{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--hdr);
  background:rgba(255,255,255,.76);backdrop-filter:blur(10px);
  display:flex;align-items:center;transition:background .3s,box-shadow .3s}
.hdr.stuck{background:rgba(255,255,255,.97);box-shadow:0 2px 18px rgba(25,57,103,.09)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;
  max-width:1220px;margin:0 auto;padding:0 24px}
.hdr-l,.hdr-r{display:flex;align-items:center;gap:22px;flex:1}
.hdr-r{justify-content:flex-end}
.lang{display:flex;gap:8px;font-size:14px;font-weight:500;text-transform:lowercase}
.lang a{opacity:.5;transition:.2s}
.lang a.on,.lang a:hover{opacity:1;color:var(--blue)}
.brand{font-family:var(--disp);font-weight:800;font-size:24px;letter-spacing:2px;
  text-align:center;line-height:1.05;white-space:nowrap}
.brand small{display:block;font-family:var(--text);font-weight:500;font-size:9.5px;
  letter-spacing:3.6px;opacity:.62;margin-top:2px}
.hdr-tel{font-size:15px;font-weight:500;opacity:.85;white-space:nowrap}
.hdr-tel:hover{color:var(--blue);opacity:1}
.r-res{font-family:var(--text);font-size:18px;font-weight:600;white-space:nowrap;position:relative}
.r-res::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;
  background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.r-res:hover::after{transform:scaleX(1)}
.burger{width:34px;height:22px;border:0;background:none;cursor:pointer;position:relative;
  display:flex;flex-direction:column;justify-content:space-between;padding:0;color:var(--navy)}
.burger i{display:block;height:2px;width:100%;background:currentColor;transition:.3s}
.burger.x i:nth-child(1){transform:translateY(10px) rotate(45deg)}
.burger.x i:nth-child(2){opacity:0}
.burger.x i:nth-child(3){transform:translateY(-10px) rotate(-45deg)}

/* мега меню */
.mega{position:fixed;inset:var(--hdr) 0 auto 0;z-index:190;background:#fff;
  border-bottom:1px solid var(--line);box-shadow:0 22px 44px rgba(25,57,103,.1);
  max-height:0;overflow:hidden;transition:max-height .45s ease}
.mega.open{max-height:640px}
.mega-in{padding:46px 32px 54px;max-width:1140px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.mega h5{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:2.6px;
  text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.mega ul{list-style:none;display:grid;gap:11px}
.mega a{font-family:var(--disp);font-size:19px;font-weight:500;transition:.2s}
.mega a:hover{color:var(--blue);padding-left:5px}

/* ============ HERO SLIDER ============ */
.hero{position:relative;height:632px;margin-top:0;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;
  background-size:cover;background-position:center}
.slide.on{opacity:1}
.slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.26)}
.hero-txt{position:absolute;inset:0;z-index:5;display:flex;align-items:center}
.hero-txt .wrap{width:100%}
.kick{font-family:var(--text);font-size:15px;font-weight:600;letter-spacing:3.12px;
  color:#fff;opacity:.95;margin-bottom:18px}
.hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,8vw,60px);line-height:1.02;
  color:#fff;max-width:730px;letter-spacing:-.1px}
.fancy{display:inline-flex;align-items:center;font-family:var(--text);font-size:15px;
  font-weight:600;letter-spacing:3.12px;color:#fff;margin-top:26px;padding:8px 0;position:relative}
.fancy::after{content:"";width:34px;height:1px;background:currentColor;margin-left:14px;
  transition:width .3s}
.fancy:hover::after{width:54px}
.fancy.navy{color:var(--navy)}
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:64px;height:64px;
  border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s}
.hero-nav:hover{background:#fff;color:var(--navy);border-color:#fff}
.hero-nav.prev{left:26px}.hero-nav.next{right:26px}
.hero-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.dots{position:absolute;bottom:34px;left:0;right:0;z-index:8;display:flex;gap:22px;
  justify-content:center;align-items:center}
.dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--blue-soft);transition:.3s}
.dots button.on{width:16px;height:16px;background:#fff}

/* ============ СЕКЦИИ ============ */
section{padding:104px 0}
h2{font-family:var(--disp);font-weight:700;font-size:60px;line-height:1.08;
  letter-spacing:-.1px;color:var(--blue)}
h2.navy{color:var(--navy)}
h2.mid{font-size:44px}
.lede{font-size:17px;max-width:560px}
.lede p + p{margin-top:16px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.duo.rev .duo-media{order:2}
.duo-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.duo-media.stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.duo-media.stack img{aspect-ratio:3/4}
.duo-media.stack img:first-child{margin-top:38px}

.wash{background:var(--wash)}
.eyebrow{font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:2.8px;
  text-transform:uppercase;color:var(--blue);margin-bottom:14px}

/* факти */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:52px;
  border-top:1px solid var(--line);padding-top:36px}
.fact .n{font-family:var(--disp);font-size:44px;font-weight:800;line-height:1;color:var(--navy)}
.fact .l{font-size:14px;opacity:.72;margin-top:6px}

/* ============ ACCORDION ============ */
.acc{display:flex;height:420px;gap:6px;margin-top:52px}
.acc-item{position:relative;flex:1 1 0%;overflow:hidden;cursor:pointer;
  transition:flex-grow .55s cubic-bezier(.4,0,.2,1)}
.acc-item.on{flex-grow:2.4}
.acc-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s}
.acc-item.on img{transform:scale(1.04)}
.acc-item::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(25,57,103,.12),rgba(25,57,103,.72));transition:.4s}
.acc-item.on::after{background:linear-gradient(180deg,rgba(25,57,103,.05),rgba(25,57,103,.66))}
.acc-body{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:32px 30px}
.acc-body h3{font-family:var(--disp);font-size:24px;font-weight:700;color:#fff;line-height:1.2}
.acc-body .meta{font-size:14px;color:rgba(255,255,255,.85);margin-top:6px;
  max-height:0;overflow:hidden;transition:max-height .45s}
.acc-item.on .acc-body .meta{max-height:60px}
.acc-body .fancy{margin-top:14px;font-weight:500}

/* ============ CTA ============ */
.cta{position:relative;padding:120px 0;text-align:center;color:#fff}
.cta::before{content:"";position:absolute;inset:0;background:url(img/slider/003.jpg) center/cover no-repeat}
.cta::after{content:"";position:absolute;inset:0;background:rgba(25,57,103,.72)}
.cta .wrap{position:relative;z-index:3}
.cta .sub{font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:1.4px;
  text-transform:uppercase;opacity:.9;max-width:760px;margin:0 auto}
.cta h2{color:#fff;font-size:40px;font-weight:800;margin-top:26px}
.cta .fancy{justify-content:center}

/* ============ FOOTER ============ */
footer{padding:78px 0 34px;border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px}
.foot h4{font-family:var(--disp);font-size:20px;font-weight:700;margin-bottom:14px}
.foot p,.foot li{font-size:15px;opacity:.82}
.foot ul{list-style:none;display:grid;gap:7px;margin-top:6px}
.foot a:hover{color:var(--blue);opacity:1}
.foot .sm{font-size:14px;letter-spacing:2.4px;text-transform:uppercase;
  font-weight:600;margin-top:14px;display:inline-block}
.copy{margin-top:54px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;opacity:.66}

@media(max-width:980px){
  .hero{height:520px}
  h2{font-size:34px}
  h2.mid{font-size:32px}
  .duo,.foot,.mega-in{grid-template-columns:1fr;gap:36px}
  .duo.rev .duo-media{order:0}
  .facts{grid-template-columns:repeat(2,1fr)}
  .acc{flex-direction:column;height:auto;gap:10px}
  .acc-item{flex:0 0 auto;height:190px}
  .acc-item.on{flex-grow:0;height:250px}
  .acc-item .acc-body .meta{max-height:60px}
  .hdr-tel,.lang{display:none}
  .hdr-in{padding:0 16px;gap:10px}
  .hdr-l,.hdr-r{gap:10px}
  .brand{font-size:19px;letter-spacing:1.4px}
  .brand small{display:none}
  .r-res{font-size:15px}
  .hero-nav{width:46px;height:46px}
  .hero-nav.prev{left:10px}.hero-nav.next{right:10px}
  section{padding:70px 0}
  .cta h2{font-size:30px}
  .cta .sub{font-size:16px}
}


/* ================= ПОДСТРАНИЦИ ================= */
.page-hero{position:relative;height:360px;display:flex;align-items:flex-end;overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:rgba(25,57,103,.55)}
.page-hero .wrap{position:relative;z-index:3;padding-bottom:44px;width:100%}
.page-hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(28px,5vw,52px);
  color:#fff;line-height:1.05;letter-spacing:-.1px}
.crumbs{font-size:13.5px;color:rgba(255,255,255,.82);margin-bottom:12px}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span{opacity:.6;margin:0 7px}

.lead-2col{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:start}
.prose p+p{margin-top:14px}
.prose{font-size:16.5px}
.prose b{font-weight:600}

/* цени карти */
.rate-cards{display:grid;gap:12px}
.rate{border:1px solid var(--line);padding:20px 22px;display:flex;justify-content:space-between;
  align-items:center;gap:18px;transition:.2s}
.rate:hover{border-color:var(--blue);background:var(--wash)}
.rate .d{font-size:14.5px;opacity:.8}
.rate .d b{display:block;font-family:var(--disp);font-size:17px;font-weight:700;opacity:1;margin-bottom:2px}
.rate .p{font-family:var(--disp);font-size:30px;font-weight:800;color:var(--blue);white-space:nowrap}
.rate.hi{background:var(--navy);border-color:var(--navy);color:#fff}
.rate.hi .p{color:#fff}
.rate.hi:hover{background:var(--navy)}

/* спецификации */
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);margin-top:34px}
.spec{padding:24px 18px;text-align:center;border-right:1px solid var(--line)}
.spec:last-child{border-right:0}
.spec .n{font-family:var(--disp);font-size:34px;font-weight:800;line-height:1;color:var(--navy)}
.spec .l{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;opacity:.68;margin-top:7px}

/* удобства */
.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}
.amen span{background:var(--wash);border:1px solid var(--line);padding:11px 15px;font-size:14px}

/* виртуален тур */
.tour{margin-top:20px;border:1px solid var(--line);background:#000;position:relative}
.tour iframe{display:block;width:100%;height:560px;border:0}
.tour-note{font-size:13.5px;opacity:.7;margin-top:10px}

/* галерия */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px}
.gal a{position:relative;overflow:hidden;display:block;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal a:hover img{transform:scale(1.06)}

/* карта */
.map{border:1px solid var(--line);margin-top:18px}
.map iframe{display:block;width:100%;height:340px;border:0}

/* контактни карти */
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.ccard{border:1px solid var(--line);padding:28px 26px}
.ccard h3{font-family:var(--disp);font-size:21px;font-weight:700;margin-bottom:8px}
.ccard .addr{font-size:15px;opacity:.85}
.ccard .gps{font-size:13px;opacity:.7;margin-top:12px;line-height:1.6}
.ccard .gps b{font-weight:600;opacity:1}

/* телефонна лента */
.tel-band{display:flex;gap:0;flex-wrap:wrap;margin-top:26px;border:1px solid var(--line)}
.tel-band a{flex:1;min-width:190px;padding:22px;text-align:center;font-family:var(--disp);
  font-size:22px;font-weight:700;border-right:1px solid var(--line);transition:.2s}
.tel-band a:last-child{border-right:0}
.tel-band a:hover{background:var(--navy);color:#fff}

/* обект-карти (преглед) */
.objs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.obj{border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s}
.obj:hover{border-color:var(--blue);box-shadow:0 14px 34px rgba(25,57,103,.09)}
.obj .ph{aspect-ratio:3/2;overflow:hidden}
.obj .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.obj:hover .ph img{transform:scale(1.05)}
.obj .in{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.obj .city{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:2.2px;
  text-transform:uppercase;color:var(--blue)}
.obj h3{font-family:var(--disp);font-size:23px;font-weight:700;margin:7px 0 10px}
.obj .meta{font-size:14.5px;opacity:.78;flex:1}
.obj .row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;
  padding-top:16px;border-top:1px solid var(--line)}
.obj .pr{font-family:var(--disp);font-size:20px;font-weight:800}
.obj .pr small{font-size:13px;font-weight:500;opacity:.7}

.note-box{background:var(--wash);border-left:3px solid var(--blue);padding:22px 26px;
  margin-top:30px;font-size:15px}
.note-box b{font-weight:600}

@media(max-width:980px){
  .page-hero{height:250px}
  .lead-2col,.ccards,.objs{grid-template-columns:1fr;gap:34px}
  .specs,.amen{grid-template-columns:repeat(2,1fr)}
  .spec{border-right:0;border-bottom:1px solid var(--line)}
  .gal{grid-template-columns:repeat(2,1fr)}
  .tour iframe{height:380px}
  .tel-band a{border-right:0;border-bottom:1px solid var(--line)}
}
