/* Single override sheet, always enqueued last. Put new hero tweaks here instead of
   adding another dated ducks-layout-*.css to the chain.

   The page prefix covers home, rent (.dl-commerce-page) and sale (.dl-sale-page).
   It is written out in full so its specificity stays level with the home-only rules
   in ducks-layout-20260922-proof60.css; a plain body.home-page would lose to them. */

/* All widths. On phones the home page otherwise falls back to the dark teal panel
   in ducks-hero.css, which is not scoped to a media query. */
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

/* Facts read straight off the photo, so they need their own contrast. */
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-facts {
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: clamp(12px,2vw,24px);
  color: #fff;
  text-shadow: 0 1px 14px rgba(0,30,37,.55);
}
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-facts dt,
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-facts dd {
  color: #fff;
}

/* The white panel sits on this block only. The blur keeps the busy photo from
   fighting the text, so the panel can stay fairly see-through. */
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-value {
  background: rgba(255,255,255,.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 4px;
  outline: 0;
  box-shadow: none;
  color: #005365;
  text-shadow: none;
}
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-value strong,
body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-value span {
  color: #005365;
}

@media (min-width:768px) {
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-facts {
    padding: 20px 0;
  }
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-value {
    justify-self: start;
    max-width: 480px;
    padding: 20px 24px;
  }

  /* Buttons hug their label instead of filling the column. */
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero .dl-hero-action,
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero .dl-hero-action-primary {
    width: fit-content !important;
    max-width: 100%;
    align-self: flex-start;
    justify-content: flex-start;
    gap: 22px;
    padding: 12px 22px;
    min-height: 54px;
    font-size: 18px;
  }
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero .dl-hero-action span {
    font-size: 20px;
    line-height: 1;
  }
}

@media (max-width:767px) {
  /* Full-width buttons on phones. ducks-hero.css held them 80px short of the edge. */
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero .dl-hero-action,
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero .dl-hero-action-primary {
    width: 100%;
    max-width: none;
  }

  /* Larger fact numbers on phones; scales down so "180 тис." fits a 320px column. */
  body:is(.home-page:not(.dl-commerce-page):not(.dl-sale-page), .dl-commerce-page, .dl-sale-page) .dl-hero-proof .dl-hero-facts dd {
    font-size: clamp(28px, 9vw, 36px);
    line-height: 1.1;
  }
}

/* Benefits: a compact amenity band, never a second offer screen. */
.dl-commerce-benefits { padding: 56px 6vw 64px; background: #fff; color: #123b43; }
.dl-benefits-heading { margin-bottom: 22px; }
.dl-benefits-eyebrow { margin: 0 0 8px; color: #d54353; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.dl-benefits-heading h2 { margin: 0; font-size: clamp(26px,2.6vw,38px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.dl-commerce-benefit-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.dl-commerce-benefit-grid .dl-benefit-card { display: flex; flex-direction: column; min-width: 0; min-height: 205px; padding: 24px; border: 1px solid #d9e5e0; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(15,66,69,.045); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.dl-benefit-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #005365; background: #e8f1ee; }
.dl-benefit-icon svg { display: block; width: 24px; height: 24px; }
.dl-commerce-benefit-grid .dl-benefit-card h3 { margin: 24px 0 10px; font-size: 18px; line-height: 1.2; font-weight: 600; }
.dl-commerce-benefit-grid .dl-benefit-card p { margin: 0; color: #4b686b; font-size: 14px; line-height: 1.45; }
.dl-commerce-benefit-grid .dl-benefit-card--featured { color: #fff; background: linear-gradient(145deg,#005365,#0d6974); border-color: #005365; box-shadow: 0 12px 28px rgba(0,83,101,.14); }
.dl-benefit-card--featured .dl-benefit-icon { color: #fff; background: rgba(255,255,255,.16); }
.dl-commerce-benefit-grid .dl-benefit-card--featured h3 { margin-bottom: 12px; }
.dl-benefit-stat { display: flex; flex-direction: column; gap: 4px; margin-top: auto; }
.dl-benefit-stat strong { font-size: 46px; line-height: 1; letter-spacing: -.05em; font-weight: 600; }
.dl-benefit-stat span { color: #e5f2ef; font-size: 14px; line-height: 1.4; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .dl-commerce-benefit-grid .dl-benefit-card:hover { transform: translateY(-3px); border-color: #9cbdb5; box-shadow: 0 14px 28px rgba(15,66,69,.10); }
  .dl-commerce-benefit-grid .dl-benefit-card--featured:hover { border-color: #005365; box-shadow: 0 16px 32px rgba(0,83,101,.20); }
}
@media (max-width:900px) {
  .dl-commerce-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dl-commerce-benefit-grid .dl-benefit-card { min-height: 210px; }
}
@media (max-width:767px) {
  .dl-commerce-benefits { padding: 40px 20px 44px; }
  .dl-benefits-heading { margin-bottom: 18px; }
  .dl-benefits-heading h2 { font-size: clamp(25px,6.8vw,31px); }
  .dl-commerce-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .dl-commerce-benefit-grid .dl-benefit-card { min-height: 218px; padding: 20px; border-radius: 14px; }
  .dl-benefit-icon { width: 38px; height: 38px; border-radius: 10px; }
  .dl-benefit-icon svg { width: 22px; height: 22px; }
  .dl-commerce-benefit-grid .dl-benefit-card h3 { margin: 20px 0 10px; font-size: 16px; }
  .dl-commerce-benefit-grid .dl-benefit-card p, .dl-benefit-stat span { font-size: 14px; line-height: 1.4; }
  .dl-benefit-stat strong { font-size: 42px; }
}
@media (max-width:360px) {
  .dl-commerce-benefits { padding-right: 16px; padding-left: 16px; }
  .dl-commerce-benefit-grid { gap: 10px; }
  .dl-commerce-benefit-grid .dl-benefit-card { padding: 16px; }
  .dl-commerce-benefit-grid .dl-benefit-card h3 { font-size: 15px; }
}
@media (prefers-reduced-motion:reduce) { .dl-commerce-benefit-grid .dl-benefit-card { transition: none; } }

/* Homepage introduction: use the existing section typography. */
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .location .location__title { font-size: clamp(28px, 2.6vw, 38px); font-weight: 500; line-height: 1.18; letter-spacing: -.025em; color: #123b43; }
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .location .location__text { font-size: 17px; line-height: 1.6; color: #526a6e; }
@media (max-width: 767px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .location .location__title { font-size: 28px; }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .location .location__text { font-size: 16px; }
}

/* About: one aligned text-and-video row, without the old arrow spacer. */
.about-us { padding: 56px 0 !important; color: #123b43; scroll-margin-top: 100px; }
.about-us > .wrapper { width: 88%; max-width: 1680px; padding: 0; margin-inline: auto; }
.about-us .about-us__row { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(32px, 4vw, 72px); margin: 0; }
.about-us .about-us__col-sm, .about-us .about-us__col-lg { width: 100%; min-width: 0; margin: 0; padding: 0; }
.about-us .about-us__arrow-block { display: none; }
.about-us .about-us__title { margin: 0 0 24px; font-size: clamp(32px, 3vw, 48px); line-height: 1.15; letter-spacing: -.025em; color: #123b43; }
.about-us .about-us__text { max-width: 560px; font-size: 18px; line-height: 1.6; color: #4b686b; }
.about-us .about-us__video-block { width: 100%; margin: 0; padding: 0; aspect-ratio: 16 / 9; border-radius: 16px; background: #123b43; }
.about-us .about-us__video { inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.about-us .about-us__btn-play { width: 88px; height: 88px; top: calc(50% - 44px); left: calc(50% - 44px); }
.about-us .about-us__btn-play::after { width: 60px; height: 60px; }
.about-us .about-us__btn-play-icon { width: 18px; height: 18px; }
@media (max-width: 894px) {
  .about-us { padding: 36px 0 !important; scroll-margin-top: 90px; }
  .about-us > .wrapper { width: calc(100% - 40px); }
  .about-us .about-us__row { grid-template-columns: 1fr; gap: 24px; }
  .about-us .about-us__title { margin-bottom: 16px; font-size: 32px; }
  .about-us .about-us__text { max-width: none; font-size: 16px; }
  .about-us .about-us__video-block { border-radius: 12px; }
  .about-us .about-us__btn-play { width: 72px; height: 72px; top: calc(50% - 36px); left: calc(50% - 36px); }
  .about-us .about-us__btn-play::after { width: 48px; height: 48px; }
  .about-us .about-us__btn-play-icon { width: 15px; height: 15px; }
}

/* Keep fixed call and messenger controls off the cards on narrow screens only. */
@media (max-width:767px) {
  body.dl-benefits-in-view .learn-more-buttons-wrap,
  body.dl-benefits-in-view .hero-btns-row_vert,
  body.dl-benefits-in-view #bingc-phone-button,
  body.dl-benefits-in-view #bingc-active,
  body.dl-benefits-in-view #bingc-passive {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Sale hero: approved composition, isolated from shared home/rent offers. */
body.dl-sale-page .dl-hero .dl-hero-copy { padding: 148px 6vw 58px; }
body.dl-sale-page .dl-hero .dl-hero-inner { display: block; width: 100%; max-width: 1320px; margin: 0 auto; text-align: left; font-family: TTHOVES,sans-serif; }
body.dl-sale-page .dl-hero:after { z-index: 2; opacity: 1; pointer-events: none; background: linear-gradient(90deg,rgba(7,16,20,.70),rgba(7,16,20,.53) 57%,rgba(7,16,20,.17)),linear-gradient(0deg,rgba(5,14,18,.66),transparent 70%); }
body.dl-sale-page .dl-hero .hero-slider__slide-image { filter: none; }
.dl-sale-hero { color: #fff; font-family: TTHOVES,sans-serif; -webkit-font-smoothing: antialiased; }
.dl-sale-hero * { box-sizing: border-box; }
.dl-sale-brand { display: flex; gap: 22px; align-items: center; margin: 0 0 28px; font-size: 14px; line-height: 1.5; }
.dl-sale-brand strong { font-weight: 700; letter-spacing: .13em; }
.dl-sale-brand span { padding-left: 22px; border-left: 1px solid #ffffff55; color: #eef3f2; }
.dl-sale-heading { max-width: none; margin: 0; color: #fff; font-family: TTHOVES,sans-serif; font-size: clamp(40px,3.5vw,52px); line-height: 1.12; font-weight: 500; letter-spacing: -.04em; text-transform: none; text-wrap: balance; }
.dl-sale-subtitle { margin: 20px 0 0; font-size: clamp(23px,2vw,28px); line-height: 1.35; letter-spacing: -.02em; font-weight: 400; color: #fff; }
.dl-sale-description { max-width: 650px; margin: 18px 0 0; font-size: 19px; line-height: 1.55; color: #edf1f0; }
.dl-sale-offer { display: flex; align-items: center; gap: 48px; margin-top: 46px; }
.dl-sale-price { margin: 0; min-width: 245px; }
.dl-sale-price-label { display: block; font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; color: #e5eeeb; }
.dl-sale-price strong { display: block; margin-top: 8px; font-size: 38px; line-height: 1.1; letter-spacing: -.025em; font-weight: 500; }
.dl-sale-price-note { display: block; margin-top: 8px; font-size: 14px; line-height: 1.4; color: #d6dddb; }
.dl-sale-cta-group { max-width: 365px; }
.dl-sale-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 64px; padding: 18px 26px; background: #ef1740; border-radius: 4px; font-family: inherit; font-size: 20px; line-height: 1.3; font-weight: 500; color: #fff; text-decoration: none; text-align: left; transition: background .15s ease; }
.dl-sale-cta:hover { background: #d70d34; color: #fff; }
.dl-sale-cta span { font-size: 26px; line-height: 1; }
.dl-sale-cta:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.dl-sale-cta-note { margin: 10px 0 0; max-width: 335px; font-size: 13px; line-height: 1.5; color: #e0e7e4; }
.dl-sale-facts { display: flex; gap: 56px; max-width: 680px; margin: 44px 0 0; padding-top: 26px; border-top: 1px solid #ffffff38; }
.dl-sale-facts div { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.dl-sale-facts dt { order: 2; max-width: 265px; margin-top: 7px; font-size: 15px; line-height: 1.45; color: #e1e7e5; }
.dl-sale-facts dd { margin: 0; font-size: 30px; line-height: 1.2; font-weight: 500; letter-spacing: -.025em; }
@media (min-width:1800px) { body.dl-sale-page .dl-hero .dl-hero-copy { padding-top: 176px; } }
@media (max-width:1100px) {
  .dl-sale-heading { max-width: 850px; font-size: 46px; }
  .dl-sale-description { max-width: 600px; }
  .dl-sale-offer { margin-top: 38px; }
  .dl-sale-facts { margin-top: 36px; }
}
@media (min-width:768px) and (max-height:720px) {
  body.dl-sale-page .dl-hero .dl-hero-copy { padding: 110px 6vw 28px; }
  .dl-sale-brand { margin-bottom: 22px; }
  .dl-sale-subtitle { margin-top: 16px; }
  .dl-sale-description { margin-top: 14px; }
  .dl-sale-offer { margin-top: 30px; }
  .dl-sale-facts { margin-top: 30px; padding-top: 20px; }
  .dl-sale-facts dd { font-size: 28px; }
  .dl-sale-facts dt { font-size: 14px; }
}
@media (max-width:767px) {
  body.dl-sale-page .dl-hero .dl-hero-copy { padding: 118px 20px 36px; }
  body.dl-sale-page .dl-hero:after { background: linear-gradient(0deg,rgba(5,14,18,.86),rgba(5,14,18,.62) 65%,rgba(5,14,18,.28)); }
  .dl-sale-brand { display: block; margin-bottom: 22px; font-size: 11px; line-height: 1.6; }
  .dl-sale-brand strong { display: block; letter-spacing: .12em; }
  .dl-sale-brand span { display: block; border: 0; padding: 0; margin-top: 4px; color: #dce5e1; font-size: 13px; }
  .dl-sale-heading { font-size: 33px; line-height: 1.1; letter-spacing: -.035em; text-wrap: initial; }
  .dl-sale-subtitle { margin-top: 19px; font-size: 21px; line-height: 1.3; max-width: 335px; }
  .dl-sale-description { margin-top: 15px; font-size: 16px; line-height: 1.5; max-width: 360px; }
  .dl-sale-offer { display: block; margin-top: 30px; }
  .dl-sale-price { min-width: 0; }
  .dl-sale-price-label { font-size: 11px; }
  .dl-sale-price strong { font-size: 30px; margin-top: 6px; }
  .dl-sale-price-note { font-size: 13px; margin-top: 6px; }
  .dl-sale-cta-group { max-width: none; margin-top: 20px; }
  .dl-sale-cta { min-height: 58px; font-size: 18px; padding: 16px 20px; }
  .dl-sale-cta-note { font-size: 12px; max-width: 340px; margin-top: 10px; }
  .dl-sale-facts { gap: 25px; margin-top: 28px; padding-top: 22px; max-width: none; }
  .dl-sale-facts dd { font-size: 26px; }
  .dl-sale-facts dt { font-size: 12px; line-height: 1.45; }
}
@media (max-width:359px) {
  .dl-sale-heading { font-size: 30px; }
  .dl-sale-subtitle { font-size: 20px; }
  .dl-sale-facts { gap: 18px; }
  .dl-sale-cta { font-size: 17px; gap: 16px; padding: 16px 18px; }
  .dl-sale-cta span { font-size: 22px; }
}
@media (prefers-reduced-motion:reduce) { .dl-sale-cta { transition: none; } }

/* Retained stills: a camera move over the original photo. */
@media (max-width:1023px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema img[data-hero-scene="ducks"] { --kb-from:translate3d(-1%,1%,0) scale(1.04); --kb-to:translate3d(1%,-1%,0) scale(1.12); }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema img[data-hero-scene="concert"] { --kb-from:rotate(-.35deg) scale(1.06); --kb-to:rotate(.35deg) scale(1.12); }
}

/* Approved homepage proof: three facts on desktop, one plus two on phones. */
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-proof .dl-hero-facts { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:850px; gap:28px; }
@media(max-width:767px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-proof .dl-hero-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-facts > div:first-child { grid-column:1/-1; }
}

/* Homepage cinema: quieter proof panel and compact desktop actions. */
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-proof .dl-hero-facts { box-sizing:border-box; background:rgba(255,255,255,.20); padding:16px 20px; border-radius:4px; }
@media(max-width:767px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-proof .dl-hero-facts { padding:14px 16px; }
}
@media(min-width:1024px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-actions { max-width:850px; gap:48px; text-align:center; }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-choice { align-items:center; }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema .dl-hero-action { width:260px!important; max-width:100%; align-self:center; justify-content:space-between; gap:32px; min-height:52px; padding:14px 22px; }
}

/* Homepage: a separate 10% black overlay above media, below readable content. */
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema:before { content:""; display:block; position:absolute; inset:0; z-index:2; pointer-events:none; background:rgba(0,0,0,.10); }
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema:after { pointer-events:none; background:radial-gradient(ellipse at center,rgba(0,0,0,.29),transparent 75%),linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.34) 48%,rgba(0,0,0,.54)); }
@media(max-width:1023px) {
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema:after { background:radial-gradient(ellipse at 50% 35%,rgba(0,0,0,.24),transparent 75%),linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.38) 48%,rgba(0,0,0,.54)); }
  body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-hero.dl-hero-cinema img[data-hero-scene="heron"] { --kb-from:scale(1.095); --kb-to:scale(1.16); }
}

/* Homepage featured benefit: original colours, lightly transparent background only. */
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-commerce-benefit-grid .dl-benefit-card--featured { background:linear-gradient(145deg,rgba(0,83,101,.95),rgba(13,105,116,.95)); color:#fff; }
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-commerce-benefit-grid .dl-benefit-card--featured .dl-benefit-stat span { color:#e5f2ef; }
body.home-page:not(.dl-commerce-page):not(.dl-sale-page) .dl-commerce-benefit-grid .dl-benefit-card--featured .dl-benefit-icon { color:#fff; background:rgba(255,255,255,.16); }

/* Homepage announcements: authentic photographs, neutral overlay, one clear action. */
.dl-events { padding:64px 0; scroll-margin-top:125px; }
.dl-events-panel { position:relative; isolation:isolate; overflow:hidden; border-radius:24px; background:#111; }
.dl-events-collage { position:absolute; inset:0; display:grid; grid-template-columns:1fr 2fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:4px; }
.dl-events-photo { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; }
.dl-events-photo--evening { grid-column:1; grid-row:1; }
.dl-events-photo--promenade { grid-column:1; grid-row:2; object-position:48% 50%; }
.dl-events-photo--concert { grid-column:2; grid-row:1/3; }
.dl-events-photo--music { grid-column:3; grid-row:1; }
.dl-events-photo--picnic { grid-column:3; grid-row:2; }
.dl-events-panel::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(ellipse at center,rgba(0,0,0,.65),rgba(0,0,0,.18) 85%),linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.40)); }
.dl-events-content { width:50%; margin:0 auto; position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:500px; box-sizing:border-box; padding:64px 28px; text-align:center; color:#fff; }
.dl-events-eyebrow { margin:0 0 18px; color:#fff; font-size:13px; font-weight:700; line-height:1.5; letter-spacing:.12em; }
.dl-events-content h2 { max-width:820px; margin:0; color:#fff; font-size:clamp(34px,3vw,46px); font-weight:500; line-height:1.15; letter-spacing:-.025em; text-wrap:balance; }
.dl-events-description { max-width:540px; margin:20px 0 28px; color:#fff; font-size:18px; line-height:1.55; text-wrap:pretty; }
.dl-events-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:56px; box-sizing:border-box; padding:16px 24px; border:1px solid transparent; border-radius:6px; background:#fff; color:#005365; font-size:18px; font-weight:600; line-height:1.3; text-decoration:none; }
.dl-events-cta:hover { background:#edf4f0; color:#003f4c; }
.dl-events-cta:focus-visible { outline:3px solid #fff; outline-offset:5px; box-shadow:0 0 0 5px #111; }
.dl-events-cta svg { flex:none; }
.dl-events-socials { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:16px; }
.dl-events-socials a { display:inline-flex; align-items:center; gap:8px; min-height:44px; box-sizing:border-box; padding:10px 14px; border:1px solid rgba(255,255,255,.5); border-radius:6px; background:rgba(0,0,0,.18); color:#fff; font-size:15px; font-weight:500; line-height:1.3; text-decoration:none; }
.dl-events-socials a:hover { background:rgba(255,255,255,.15); color:#fff; }
.dl-events-socials a:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.dl-events-socials img { flex:none; width:20px; height:20px; object-fit:contain; filter:brightness(0) invert(1); }
@media(max-width:767px) {
  .dl-events { padding:40px 0; scroll-margin-top:105px; }
  .dl-events-panel { border-radius:16px; }
  .dl-events-collage { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:1fr 1.35fr 1fr; gap:3px; }
  .dl-events-photo--evening { grid-column:1; grid-row:1; }
  .dl-events-photo--promenade { grid-column:2; grid-row:1; }
  .dl-events-photo--concert { grid-column:1/3; grid-row:2; object-position:50% 52%; }
  .dl-events-photo--music { grid-column:1; grid-row:3; }
  .dl-events-photo--picnic { grid-column:2; grid-row:3; }
  .dl-events-panel::after { background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72) 30%,rgba(0,0,0,.72) 70%,rgba(0,0,0,.3)); }
  .dl-events-content { width:100%; min-height:560px; padding:64px 20px; }
  .dl-events-eyebrow { font-size:11px; letter-spacing:.09em; margin-bottom:16px; }
  .dl-events-content h2 { font-size:32px; }
  .dl-events-description { font-size:16px; margin:18px 0 24px; }
  .dl-events-cta { max-width:100%; padding:15px 18px; font-size:16px; gap:10px; }
}
@media(max-width:359px) {
  .dl-events-content { padding-left:16px; padding-right:16px; }
  .dl-events-content h2 { font-size:29px; }
  .dl-events-cta { padding-left:14px; padding-right:14px; font-size:15px; }
}

/* One homepage panel: event subscription on the left, property inquiry on the right. */
.dl-events--contact .dl-events-panel { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:48px; padding:48px; }
.dl-events--contact .dl-events-panel::after { background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.30)),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.3)); }
.dl-events--contact .dl-events-content { width:auto; margin:0; min-height:0; padding:24px 0; align-items:flex-start; text-align:left; }
.dl-events--contact .dl-events-content h2 { max-width:560px; font-size:clamp(30px,2.6vw,40px); }
.dl-events--contact .dl-events-description { font-size:17px; }
.dl-events--contact .dl-events-socials { justify-content:flex-start; }
.dl-events-contact.form-block { position:relative; z-index:2; min-width:0; padding:32px; border:1px solid #dce5e4; border-radius:20px; background:#fff; color:#123b43; box-shadow:0 16px 40px rgba(0,0,0,.15); }
.dl-events-contact .form-block__column { max-width:none; width:100%; }
.dl-events-contact-eyebrow { margin:0 0 14px; font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.1em; color:#005365; }
.dl-events-contact h3 { margin:0; font-size:28px; font-weight:500; line-height:1.2; letter-spacing:-.025em; color:#123b43; }
.dl-events-contact-description { margin:14px 0 24px; font-size:15px; line-height:1.55; color:#526a6e; }
.dl-events-contact .label { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.dl-events-contact.form-block .form-block__form .label .label__text { position:static; order:-1; transform:none; transition:none; opacity:1; font-size:14px!important; line-height:1.4; color:#123b43; }
.dl-events-contact .input-text { min-height:52px; padding:14px 16px; border-color:#b8cccd; border-radius:10px; background:#f8faf9; color:#123b43; font-size:16px; line-height:1.4; }
.dl-events-contact .input-text:focus-visible { outline:2px solid #2f7d5a; outline-offset:2px; }
.dl-events-contact .label-checkbox { align-items:flex-start; line-height:1.5; }
.dl-events-contact .label-checkbox input[type="checkbox"] { display:block; position:absolute; width:1px; height:1px; opacity:0; clip-path:inset(50%); }
.dl-events-contact .label-checkbox:focus-within .wpcf7-list-item-label::before { outline:2px solid #2f7d5a; outline-offset:3px; }
.dl-events-contact .wpcf7-not-valid-tip, .dl-events-contact.form-block .label-checkbox .wpcf7-not-valid-tip::after { color:#b51b31!important; }
.dl-events-contact .label-checkbox:has(.wpcf7-not-valid-tip) { padding-bottom:34px; }
.dl-events-contact .label-checkbox .wpcf7-form-control-wrap { position:static; }
.dl-events-contact .label-checkbox .wpcf7-not-valid-tip { min-width:0; max-width:100%; right:0; bottom:0; line-height:1.4; }
.dl-events-contact .label-checkbox .wpcf7-checkbox.wpcf7-not-valid { margin-bottom:0; }
.dl-events-contact .form-btn { margin-top:24px; }
.dl-events-contact .label-submit .btn__main { display:none; }
.dl-events-contact .wpcf7-submit { display:block; width:100%; min-height:52px; padding:14px 20px; border:1px solid #d91f3d; border-radius:6px; background:#d91f3d; color:#fff; font-size:16px; font-weight:600; line-height:1.3; cursor:pointer; }
.dl-events-contact .wpcf7-submit:hover { background:#bf1835; border-color:#bf1835; }
.dl-events-contact .wpcf7-submit:focus-visible { outline:3px solid #2f7d5a; outline-offset:3px; }
.dl-events-contact .wpcf7-response-output { margin:20px 0 0; font-size:14px; line-height:1.5; }
body.home-page.dl-mobile-form-visible .learn-more-buttons-wrap,
body.home-page.dl-mobile-form-visible .hero-btns-row_vert,
body.home-page.dl-mobile-form-visible #bingc-phone-button,
body.home-page.dl-mobile-form-visible #bingc-active,
body.home-page.dl-mobile-form-visible #bingc-passive { visibility:hidden!important; pointer-events:none!important; }
@media(max-width:1023px) {
  .dl-events--contact .dl-events-panel { grid-template-columns:1fr; gap:28px; padding:32px; }
  .dl-events--contact .dl-events-content { align-items:center; text-align:center; padding:16px 0; }
  .dl-events--contact .dl-events-socials { justify-content:center; }
  .dl-events-contact.form-block { width:100%; max-width:600px; margin:0 auto; }
}
@media(max-width:767px) {
  .dl-events--contact .dl-events-panel { padding:28px 20px 20px; }
  .dl-events--contact .dl-events-content { padding:12px 0; }
  .dl-events--contact .dl-events-content h2 { font-size:30px; }
  .dl-events--contact .dl-events-description { font-size:16px; }
  .dl-events-contact.form-block { padding:24px 20px; border-radius:16px; }
  .dl-events-contact h3 { font-size:26px; }
}


/* 07.10.2026: hero subtitle typewriter (homepage UA/EN, script in the templates) */
.dl-hero-value .dl-typer { display: inline-block; }
.dl-hero-value .dl-typer.is-typing::after { content: ""; display: inline-block; width: 2px; height: 1em; margin-left: 3px; vertical-align: -0.12em; background: currentColor; animation: dl-caret 1s steps(1) infinite; }
@keyframes dl-caret { 50% { opacity: 0; } }
