/* =====================================================================
   SKY53 — brand palette lock
   Only three colours are used site-wide:
     teal  #0e7a80
     gold  #ddb165
     white #ffffff
   Loaded last so it overrides template.css / preset1.css / bootstrap.
   ===================================================================== */

:root {
  --sky-teal: #0e7a80;
  --sky-gold: #ddb165;
  --sky-gold-deep: #c99a4c; /* button hover */
  --sky-white: #ffffff;
  --sky-band: #2b8a8f;
  --sky-deep: #0a5b60;   /* darker teal for text on light grounds + gradient base */
  --sky-ink: #3d4a4b;    /* body copy on light grounds */
  --sky-ivory: #fdfbf6;  /* warm white — reads richer than pure #fff */
  --sky-offwhite: #f4f5f6; /* light grey — alternate section band */
  --sky-bronze: #9a7433; /* gold accent that still reads on the champagne band */
  --sky-teal-bg: #138990;  /* lighter teal for background fills */
  --sky-teal-grad: linear-gradient(155deg, #0f7e84 0%, #148a90 50%, #1a9399 100%);
  --sky-gold-grad: linear-gradient(135deg, #f8efdc 0%, #efdcb4 55%, #e6c98f 100%);
  --sky-font: 'Jost', 'Century Gothic', 'Futura', sans-serif;
}

/* =====================================================================
   Section bands — quiet two-tone rhythm, top to bottom:
     1  Overview .................. white
     2  Project Highlights ........ light grey
     3  Project Configuration ..... white (photo ghosted through)
     4  Location Advantage ........ light grey
     5  Why SKY53 ................. white
     6  Amenities ................. light grey (photo ghosted through)
     7  Gallery ................... white
     8  Floor Plans ............... light grey
     9  About Us .................. white
    10  Contact ................... light grey
   Teal and gold are kept for type, rules, buttons and accents only.
   ===================================================================== */

/* --- white bands --- */
#section-id-1507611922,                 /* 1  Overview      */
#section-id-1507611948.usp-sec,         /* 5  Why SKY53     */
#section-id-1507611941.gallery-sec,     /* 7  Gallery       */
#about {                                /* 9  About Us      */
  background-color: var(--sky-white) !important;
  background-image: none !important;
}

/* --- light grey bands --- */
#highlights,                            /* 2  Highlights    */
#complete-pro,                          /* 4  Location      */
.plan-sec,                              /* 8  Floor Plans   */
#section-id-1507611947.contact-sec {    /* 10 Contact       */
  background-color: var(--sky-offwhite) !important;
  background-image: none !important;
}

#section-id-1507611938 .overlay {       /* 3  Configuration */
  background: rgba(255, 255, 255, 0.94);
}

#section-id-1507611991 .overlay2 {      /* 6  Amenities     */
  background: rgba(244, 245, 246, 0.95);
}

/* hairline gold edge between bands */
#highlights,
#complete-pro,
#section-id-1507611948.usp-sec,
#section-id-1507611941.gallery-sec,
.plan-sec,
#about,
#section-id-1507611947.contact-sec {
  border-top: 1px solid rgba(221, 177, 101, 0.3);
}

/* consistent breathing room on every band */
#section-id-1507611922,
#highlights,
#complete-pro,
#section-id-1507611941.gallery-sec,
#about {
  padding-top: 75px;
  padding-bottom: 75px;
}

/* --- shared typography: deep teal headings on every light band --- */
#highlights h2, #highlights h3,
#section-id-1507611941 h2,
#highlights .sec-head,
#complete-pro h2, #complete-pro h3, #complete-pro h4,
#about h2,
#section-id-1507611922 .sppb-title-heading,
#complete-pro .sppb-title-heading,
#about .sec-head,
#section-id-1507611938 h2,
#section-id-1507611991 h2,
#section-id-1507611991 h2.sppb-title-heading {
  color: var(--sky-deep) !important;
}

#highlights > .container > .row > .col-md-12 > p {
  color: var(--sky-ink) !important;
  font-size: 16px;
  line-height: 1.85;
}

#complete-pro .abt-desc p,
#about .abt-desc p {
  color: var(--sky-ink) !important;
  font-size: 16px;
  line-height: 1.85;
}

#about .abt-desc,
#complete-pro .abt-desc {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

/* =====================================================================
   Overview — copy + stats beside the enquiry card
   ===================================================================== */
#section-id-1507611922.ov-sec {
  padding: 85px 0 90px;
}

.ov-shell {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 60px);
}

.ov-head { text-align: center; margin-bottom: 45px; }

.ov-kicker {
  display: block;
  color: var(--sky-bronze);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ov-heading {
  color: var(--sky-deep) !important;
  font-size: clamp(28px, 3.4vw, 48px);
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.ov-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}

/* ---- copy ---- */
.ov-lead {
  color: var(--sky-bronze) !important;
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0.5px;
  margin: 0 0 18px;
}

.ov-copy p {
  color: var(--sky-ink) !important;
  font-size: 17.5px;
  line-height: 1.85;
  margin: 0 0 18px;
}

/* ---- stat slider ---- */
.ov-stats-slider {
  margin-top: 32px;
}

/* border belongs on the stage wrapper, not the whole widget — otherwise the
   nav arrows sit inside the frame and the outer edges clip the cells */
.ov-stats-slider .owl-stage-outer {
  border: 1px solid rgba(221, 177, 101, 0.55);
  background: var(--sky-white);
  box-shadow: 0 10px 28px rgba(10, 91, 96, 0.08);
}

.ov-stats-slider .owl-stage { display: flex; }

.ov-stats-slider .owl-item { display: flex; }

.ov-stats-slider .item {
  display: flex;
  width: 100%;
}

.ov-stat {
  width: 100%;
  padding: 22px 10px;
  text-align: center;
  border-right: 1px solid rgba(221, 177, 101, 0.4);
  transition: background 0.35s ease;
}

.ov-stats-slider .owl-item:last-child .ov-stat { border-right: none; }

.ov-stat:hover { background: rgba(221, 177, 101, 0.1); }

.ov-stat-num {
  display: block;
  color: var(--sky-deep);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 6px;
}

.ov-stat-label {
  display: block;
  color: var(--sky-bronze);
  font-size: 13.5px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  line-height: 1.4;
}

.ov-stats-slider .owl-nav {
  margin-top: 18px;
  text-align: center;
}

.ov-stats-slider .owl-nav [class*="owl-"] {
  background: transparent;
  border: 1px solid var(--sky-gold);
  color: var(--sky-gold);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  margin: 0 5px;
  transition: background 0.3s ease, color 0.3s ease;
}

.ov-stats-slider .owl-nav [class*="owl-"]:hover {
  background: var(--sky-gold);
  color: var(--sky-white);
}

/* ---- enquiry card ---- */
.ov-card {
  background: var(--sky-white);
  border: 1px solid rgba(221, 177, 101, 0.35);
  border-top: 3px solid var(--sky-gold);
  padding: 34px 30px 30px;
  box-shadow: 0 24px 50px rgba(10, 91, 96, 0.14);
}

.ov-card-title {
  color: var(--sky-teal) !important;
  font-size: 26px;
  letter-spacing: 1px;
  margin: 0 0 6px;
}

.ov-card-sub {
  color: #6d7b7c !important;
  font-size: 15.5px;
  margin: 0 0 22px;
}

.ov-card .form-group {
  width: 100%;
  padding: 0;
  margin-bottom: 16px;
  float: none;
}

.ov-card .input-group { width: 100%; }

.ov-card .form-control {
  height: 48px;
  background: #f6f9f9;
  border: 1px solid rgba(14, 122, 128, 0.22);
  border-left: none;
  box-shadow: none;
  color: #333;
}

.ov-card .form-control:focus {
  background: var(--sky-white);
  border-color: var(--sky-gold);
}

.ov-card .input-group-addon {
  width: 48px;
  background: var(--sky-teal);
  border: 1px solid var(--sky-teal);
  color: var(--sky-white);
}

.ov-card .error {
  color: #c0392b;
  font-size: 12px;
  font-weight: 400;
  display: block;
  margin: 4px 0 0;
}

.ov-submit {
  width: 100%;
  margin-top: 8px;
  padding: 14px 20px;
  background: var(--sky-gold) !important;
  border: 1px solid var(--sky-gold) !important;
  color: var(--sky-white) !important;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
  transition: background 0.3s ease, color 0.3s ease;
}

.ov-submit:hover,
.ov-submit:focus {
  background: transparent !important;
  color: var(--sky-gold) !important;
}

@media (max-width: 991px) {
  #section-id-1507611922.ov-sec { padding: 60px 0 65px; }
  .ov-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .ov-lead { font-size: 25px; }
  .ov-copy p { font-size: 16.5px; }
}

@media (max-width: 767px) {
  .ov-kicker { letter-spacing: 3.5px; }
  .ov-lead { font-size: 22px; }
  .ov-copy p { font-size: 16px; line-height: 1.8; }
  .ov-stat { padding: 18px 8px; }
  .ov-stat-num { font-size: 23px; }
  .ov-stat-label { font-size: 11px; letter-spacing: 0.8px; }
  .ov-card { padding: 26px 20px 24px; }
}

/* =====================================================================
   Project Highlights — square white cards, gold icon, equal heights
   Replaces the template's 10px rounded "bracket" frame and the icon that
   hung off the top edge.
   ===================================================================== */
#highlights .high-carousel .owl-stage-outer {
  padding: 12px 0 34px;           /* room for the hover lift and shadow */
}

#highlights .high-carousel .owl-stage { display: flex; }

#highlights .high-carousel .owl-item,
#highlights .high-carousel .item,
#highlights .high-carousel .highlight {
  display: flex;
  width: 100%;
}

#highlights .high-carousel .highlight { margin: 0; }

#highlights .serviceBox,
#highlights .serviceBox.blue {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 46px 24px 38px;
  background: var(--sky-white);
  border: 1px solid rgba(221, 177, 101, 0.35);
  border-radius: 0;
  box-shadow: 0 10px 26px rgba(10, 91, 96, 0.06);
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

/* gold line that draws across the top on hover */
#highlights .serviceBox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--sky-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s ease;
}

#highlights .serviceBox:hover {
  transform: translateY(-8px);
  border-color: rgba(221, 177, 101, 0.7);
  box-shadow: 0 22px 40px rgba(10, 91, 96, 0.12);
}

#highlights .serviceBox:hover::before { transform: scaleX(1); }

#highlights .serviceBox .service-icon {
  position: static;
  top: auto;
  width: 78px;
  height: 78px;
  margin: 0 0 26px;
  padding: 20px;
  border-radius: 50%;
  background: var(--sky-gold);
  box-shadow: 0 0 0 7px rgba(221, 177, 101, 0.14);
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}

#highlights .serviceBox:hover .service-icon {
  box-shadow: 0 0 0 11px rgba(221, 177, 101, 0.18);
  transform: scale(1.04);
}

#highlights .serviceBox .service-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#highlights .serviceBox .title {
  color: var(--sky-deep) !important;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0;
  max-width: 22ch;
  /* two-line box with the text centred in it, so one- and two-line titles
     share the same baseline block and every rule below lines up */
  min-height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* short gold rule under every title */
#highlights .serviceBox::after {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 16px;
  background: var(--sky-gold);
  transition: width 0.4s ease;
}

#highlights .serviceBox:hover::after { width: 48px; }

@media (max-width: 767px) {
  /* one card per view — inset it so it doesn't run edge to edge */
  #highlights .high-carousel .item { padding: 0 22px; }

  #highlights .serviceBox,
  #highlights .serviceBox.blue { padding: 40px 20px 32px; }
  #highlights .serviceBox .service-icon { width: 70px; height: 70px; padding: 18px; }
  #highlights .serviceBox .title { font-size: 15px; }
}

/* --- Location Advantage: wider shell, fluid gutters --- */
#complete-pro > .container {
  width: 100%;
  max-width: 1440px;
  padding-left: clamp(16px, 4vw, 60px);
  padding-right: clamp(16px, 4vw, 60px);
}

/* the row sits inside a second nested .container — its own padding stacked
   on the outer one and pushed the content well inside the section */
#complete-pro .container .container {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

#complete-pro .loc-row {
  margin-left: 0;
  margin-right: 0;
  gap: clamp(24px, 3vw, 44px);
}

#complete-pro .loc-row > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
  width: auto;
  flex: 1 1 0;
}

/* --- Location Advantage accordion --- */
#complete-pro .panel {
  background: transparent;
  border: none;
  box-shadow: none;
}

#complete-pro .panel-heading {
  padding: 0;
  background: transparent;
  border: none;
  height: auto;
  overflow: visible;
}

/* the template gives the heading link position:relative inside an h4 with a
   fixed line-height, so the link overflowed its parent and the panels
   overlapped. Reset the box so each panel owns its own height. */
#complete-pro .panel-title {
  margin: 0;
  padding: 0;
  height: auto;
  line-height: normal;
  font-size: inherit;
}

#complete-pro #accordion .panel {
  margin: 0 0 10px;
  overflow: visible;
}

#complete-pro #accordion .panel-title > a,
#complete-pro #accordion a.accordion-toggle {
  position: static;
  top: auto;
  margin: 0;
  border-width: 1px;
}

#complete-pro .panel-title > a,
#complete-pro .accordion-toggle {
  display: block;
  padding: 16px 22px;
  background: transparent;
  border: 1px solid rgba(10, 91, 96, 0.45);
  color: var(--sky-deep);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 17px;
  transition: background 0.3s ease, color 0.3s ease;
}

#complete-pro .panel-title > a:hover,
#complete-pro .panel-title > a[aria-expanded="true"] {
  background: var(--sky-teal-bg);
  border-color: var(--sky-teal-bg);
  color: var(--sky-white);
}

#complete-pro .panel-body {
  padding: 14px 0 4px;
  background: transparent;
  border: none;
}

#complete-pro .loc-list li {
  background: var(--sky-white);
  border-left: 2px solid var(--sky-deep);
  color: var(--sky-ink);
  padding: 12px 18px;
  font-size: 16.5px;
  transition: background 0.3s ease, transform 0.3s ease;
}

#complete-pro .loc-list li:hover {
  background: rgba(221, 177, 101, 0.12);
  transform: translateX(4px);
}

#complete-pro .loc-list li i,
#complete-pro .loc-list li span { color: var(--sky-deep); }

/* accordion and map start on the same line and end together */
#complete-pro .loc-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

#complete-pro .loc-row > [class*="col-"] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#complete-pro .loc-row #accordion { margin: 0; }

/* live map, moved here from the Contact section */
#complete-pro .loc-map {
  display: block;
  border: 1px solid rgba(10, 91, 96, 0.25);
  box-shadow: 0 18px 40px rgba(10, 91, 96, 0.1);
  overflow: hidden;
  line-height: 0;
  flex: 1 1 auto;
  min-height: 420px;
  /* .patch-wrap ships margin:0 auto — on a flex item that cancels the
     cross-axis stretch and collapses to the iframe's default 300px */
  margin: 0;
  align-self: stretch;
  width: 100%;
  max-width: none;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.5);
}

#complete-pro .loc-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

#complete-pro .loc-address {
  margin: 14px 0 0;
  color: var(--sky-ink) !important;
  font-size: 15.5px;
  line-height: 1.7;
}

#complete-pro .loc-address i {
  color: var(--sky-deep);
  margin-right: 8px;
}

#complete-pro .loc-address strong {
  color: var(--sky-deep);
  letter-spacing: 1px;
}

@media (max-width: 991px) {
  #complete-pro .loc-row { flex-direction: column; }

  /* stacked: columns must be full width and size to their own content —
     flex:1 1 0 makes them share height and overlap once direction flips */
  #complete-pro .loc-row > [class*="col-"] {
    flex: 0 0 auto;
    width: 100%;
  }

  #complete-pro .panel-title > a,
  #complete-pro .accordion-toggle { font-size: 15px; padding: 14px 18px; }
  #complete-pro .loc-list li { font-size: 15.5px; padding: 11px 15px; }
  #complete-pro .loc-map {
    flex: 0 0 auto;
    height: 340px;
    min-height: 0;
    margin-top: 26px;
  }
}

#complete-pro .location-cta { text-align: center; margin-top: 34px; }

#complete-pro .location-btn {
  background: var(--sky-gold);
  border: 1px solid var(--sky-gold);
  color: var(--sky-white);
  padding: 14px 38px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 15.5px;
  transition: background 0.3s ease, color 0.3s ease;
}

#complete-pro .location-btn:hover {
  background: var(--sky-gold-deep);
  border-color: var(--sky-gold-deep);
  color: var(--sky-white);
}

/* --- Gallery on colour --- */
.gallery-sec .gal-heading { color: var(--sky-deep) !important; }
.gallery-sec .gal-kicker { color: var(--sky-bronze); }
.gallery-sec .gal-tabs { border-bottom-color: rgba(10, 91, 96, 0.16); }
.gallery-sec .gal-tabs > li > a { color: #7d8b8c; }

.gallery-sec .gal-tabs > li > a:hover,
.gallery-sec .gal-tabs > li > a:focus {
  color: var(--sky-bronze);
  border-color: var(--sky-gold);
}

.gallery-sec .gal-tabs > li.active > a,
.gallery-sec .gal-tabs > li.active > a:hover,
.gallery-sec .gal-tabs > li.active > a:focus {
  color: var(--sky-deep);
  border-bottom-color: var(--sky-gold);
}

.gallery-sec .gal-tile {
  border: 1px solid rgba(221, 177, 101, 0.35);
  background: var(--sky-offwhite);
}

.gallery-sec .gallery-slider .owl-nav [class*="owl-"] {
  border-color: var(--sky-gold);
  color: var(--sky-gold);
}

.gallery-sec .gallery-slider .owl-nav [class*="owl-"]:hover {
  background: var(--sky-gold);
  color: var(--sky-white);
}

.gal-video--empty {
  background: var(--sky-offwhite);
  border-color: rgba(221, 177, 101, 0.55);
}

.gal-video-ph { color: var(--sky-deep); }

@media (max-width: 767px) {
  #section-id-1507611922,
  #highlights,
  #complete-pro,
  #section-id-1507611941.gallery-sec,
  #about {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* ---------- typeface: Jost everywhere (Futura-style, as per the brochure) ---------- */
body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p, a, li, td, th, label, span, div,
.sppb-title-heading,
.sec-head,
.usp-heading, .usp-title, .usp-kicker, .usp-lede, .usp-text,
.gal-heading, .gal-kicker, .gal-tabs > li > a,
.plan-heading, .plan-kicker, .plan-label, .plan-note, .plan-cta,
.amenity-name,
.info-box-title, .info-box-content,
.serviceBox .title,
.loc-list li,
.panel-title > a,
.btn, .modal-title, .form-control {
  font-family: var(--sky-font) !important;
}

/* the brochure sets its display lines light and wide — echo that on headings */
h1, h2, h3,
.sppb-title-heading,
.sec-head,
.usp-heading,
.gal-heading,
.plan-heading {
  font-weight: 500;
  letter-spacing: 1px;
}

body, p, li, td, label {
  font-weight: 400;
}

/* ---------- page ground: white, never grey ---------- */
body,
.body-innerwrapper,
#sp-page-builder,
#sp-page-builder .page-content,
.sppb-section {
  background-color: var(--sky-white);
}

/* ---------- kill every grey section band ---------- */
.high__sec,
.rooms-suits,
.resort-title-heading,
.sppb-section.resort-feature-box,
.over-container,
.spe-sec,
.gallery-sec,
.amenities,
.loc-sec,
.faq-sec,
footer,
#sp-footer,
#sp-bottom {
  background: var(--sky-white);
}

/* dark bands become teal instead of grey/brown */
.overlay,
.high__sec.feature,
#sp-footer,
.footer-sec,
.dark-sec {
  background: var(--sky-teal);
}

/* ---------- Amenities: same treatment as Project Configuration ---------- */
#section-id-1507611991,
.sp-page-builder .page-content #section-id-1507611991 {
  background-image: url('../../../images/gallery/exterior/exect3.jpg');
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

/* the markup carries inline white on the wrapper and subtitle — pull them
   back to the light-band palette */
#section-id-1507611991 .amenities-icon,
#section-id-1507611991 p {
  color: var(--sky-ink) !important;
}

#section-id-1507611991 h4 {
  color: var(--sky-bronze) !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 15px;
}

/* ---------- Project Configuration table on the white band ---------- */
#section-id-1507611938 .spe-table {
  border: 1px solid rgba(221, 177, 101, 0.55) !important;
  background: var(--sky-white);
  box-shadow: 0 18px 40px rgba(10, 91, 96, 0.1);
}

#section-id-1507611938 .spe-table td {
  border-color: rgba(221, 177, 101, 0.35) !important;
  color: var(--sky-ink);
  padding: 16px 12px;
}

#section-id-1507611938 .spe-table th {
  background: var(--sky-teal-bg) !important;
  color: var(--sky-white);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 12px;
  border-bottom: 2px solid var(--sky-gold) !important;
}

/* ---------- Amenities slider ---------- */
.amenity-slider {
  margin-top: 30px;
}

/* room above and below so the hover lift and shadow aren't clipped */
.amenity-slider .owl-stage {
  display: flex;
  align-items: stretch;
  padding: 12px 0 18px;
}

.amenity-slider .owl-item {
  display: flex;
}

.amenity-slider .item {
  width: 100%;
  display: flex;
}

/* card: white tile, icon in a soft teal disc, gold bar that widens on hover */
.amenity-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 22px 34px;
  background: var(--sky-white);
  border: 1px solid rgba(221, 177, 101, 0.35);
  border-radius: 4px;
  box-shadow: 0 10px 26px rgba(10, 91, 96, 0.07);
  overflow: hidden;
  cursor: default;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.amenity-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 44px;
  height: 3px;
  background: var(--sky-gold);
  transform: translateX(-50%);
  transition: width 0.4s ease;
}

.amenity-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: rgba(14, 122, 128, 0.08);
  color: var(--sky-teal);
  line-height: 0;
  transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease;
}

.amenity-ico svg {
  width: 44px;
  height: 44px;
}

.amenity-name,
#section-id-1507611991 .amenity-name {
  color: var(--sky-deep) !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.4px;
  line-height: 1.45;
  text-transform: uppercase;
  margin: 0;
}

@media (hover: hover) {
  .amenity-card:hover {
    transform: translateY(-6px);
    border-color: var(--sky-gold);
    box-shadow: 0 18px 36px rgba(10, 91, 96, 0.14);
  }
  .amenity-card:hover::after { width: 100%; }
  .amenity-card:hover .amenity-ico {
    background: var(--sky-teal);
    color: var(--sky-white);
    transform: scale(1.05);
  }
}

@media (max-width: 991px) {
  .amenity-ico { width: 78px; height: 78px; }
  .amenity-ico svg { width: 40px; height: 40px; }
}

/* one card at a time on mobile */
@media (max-width: 767px) {
  .amenity-card {
    max-width: 320px;
    margin: 0 auto;
  }
}

/* =====================================================================
   Gallery — Exterior / Interior / Walkthrough
   The old markup sat inside .sppb-row-container, a narrow page-builder
   wrapper that wasted most of the viewport. This uses its own wide shell.
   ===================================================================== */
.gallery-sec {
  padding: 80px 0 85px;
}

.gal-shell {
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ---- heading ---- */
.gal-head {
  text-align: center;
  margin-bottom: 30px;
}

.gal-kicker {
  display: block;
  color: var(--sky-gold);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.gal-heading {
  color: var(--sky-teal) !important;
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.gal-rule {
  display: block;
  width: 62px;
  height: 2px;
  background: var(--sky-gold);
  margin: 18px auto 0;
}

/* ---- tabs ---- */
.gal-tabs {
  border-bottom: 1px solid rgba(14, 122, 128, 0.16);
  text-align: center;
  margin: 0 0 34px;
  padding: 0;
}

.gal-tabs > li {
  float: none;
  display: inline-block;
  margin: 0 4px;
}

.gal-tabs > li > a {
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 12px 26px;
  margin: 0;
  color: #7d8b8c;
  background: transparent;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.gal-tabs > li > a:hover,
.gal-tabs > li > a:focus {
  background: transparent;
  border-color: var(--sky-gold);
  color: var(--sky-gold);
}

.gal-tabs > li.active > a,
.gal-tabs > li.active > a:hover,
.gal-tabs > li.active > a:focus {
  background: transparent;
  border-bottom-color: var(--sky-teal);
  color: var(--sky-teal);
  font-weight: 600;
}

/* ---- tiles ---- */
.gal-tile {
  position: relative;
  display: block;
  overflow: hidden;
  background: rgba(14, 122, 128, 0.06);
}

.gal-tile img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

.gal-tile .gal-zoom {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(14, 122, 128, 0.72);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.gal-tile .gal-zoom i {
  color: var(--sky-white);
  font-size: 24px;
  width: 54px;
  height: 54px;
  line-height: 52px;
  text-align: center;
  border: 1px solid var(--sky-gold);
  border-radius: 50%;
  transform: scale(0.75);
  transition: transform 0.35s ease;
}

.gal-tile:hover .gal-zoom { opacity: 1; }
.gal-tile:hover .gal-zoom i { transform: scale(1); }
.gal-tile:hover img { transform: scale(1.07); }

/* ---- arrows ---- */
.gallery-slider .owl-nav {
  margin-top: 26px;
  text-align: center;
}

.gallery-slider .owl-nav [class*="owl-"] {
  background: transparent;
  border: 1px solid var(--sky-teal);
  color: var(--sky-teal);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 0 6px;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.gallery-slider .owl-nav [class*="owl-"]:hover {
  background: var(--sky-gold);
  border-color: var(--sky-gold);
  color: var(--sky-white);
}

/* ---- walkthrough tab ---- */
.gal-video {
  position: relative;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 56.25%;
  background: rgba(14, 122, 128, 0.08);
  border: 1px solid rgba(14, 122, 128, 0.16);
  overflow: hidden;
}

.gal-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* shown until a walkthrough URL is set, so the tab never looks broken */
.gal-video--empty {
  border-style: dashed;
  border-color: rgba(221, 177, 101, 0.55);
}

.gal-video-ph {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--sky-teal);
}

.gal-video-ph i {
  font-size: 62px;
  color: var(--sky-gold);
}

.gal-video-ph span {
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media (max-width: 1400px) {
  .gal-tile img { height: 300px; }
}

@media (max-width: 991px) {
  .gallery-sec { padding: 55px 0 60px; }
  .gal-shell { padding: 0 22px; }
  .gal-heading { font-size: 32px; }
  .gal-tile img { height: 270px; }
}

@media (max-width: 767px) {
  .gal-shell { padding: 0 16px; }
  .gal-heading { font-size: 26px; }
  .gal-kicker { letter-spacing: 3.5px; }
  .gal-tabs > li { margin: 0 1px; }
  .gal-tabs > li > a { padding: 10px 14px; font-size: 12.5px; letter-spacing: 1px; }
  .gal-tile img { height: 230px; }
  .gal-video { padding-top: 62%; }
}

/* =====================================================================
   Floor Plans — gated cards
   Plans are deliberately blurred until the visitor submits the form, so the
   lock/CTA is styled to read as intentional rather than as a broken image.
   ===================================================================== */
.plan-sec {
  position: relative;
  padding: 80px 0 85px;
  overflow: hidden;
}

/* watermark numeral, same device as the USP band */
.plan-sec::after {
  content: "53";
  position: absolute;
  right: -3%;
  bottom: -20%;
  font-size: 30vw;
  font-weight: 700;
  line-height: 1;
  color: rgba(10, 91, 96, 0.05);
  pointer-events: none;
  user-select: none;
}

.plan-shell { position: relative; z-index: 1; }

.plan-shell {
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
  padding: 0 40px;
}

.plan-head {
  text-align: center;
  margin-bottom: 40px;
}

.plan-kicker {
  display: block;
  color: var(--sky-bronze);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.plan-heading {
  color: var(--sky-deep) !important;
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.plan-rule {
  display: block;
  width: 62px;
  height: 2px;
  background: var(--sky-gold);
  margin: 18px auto 20px;
}

.plan-note {
  color: var(--sky-ink) !important;
  font-size: 14px;
  letter-spacing: 0.6px;
  margin: 0;
}

.plan-note i {
  color: var(--sky-deep);
  margin-right: 7px;
}

/* ---- card ---- */
.plan-card {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
  background: var(--sky-white);
  border: 1px solid rgba(221, 177, 101, 0.35);
  box-shadow: 0 12px 28px rgba(90, 64, 20, 0.1);
  transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease;
}

.plan-card:hover,
.plan-card:focus {
  transform: translateY(-6px);
  border-color: var(--sky-deep);
  box-shadow: 0 22px 40px rgba(90, 64, 20, 0.24);
  outline: none;
}

.plan-thumb {
  height: 330px;
  overflow: hidden;
  background: #eef5f5;
}

.plan-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(7px) saturate(0.85);
  transform: scale(1.1);
  transition: transform 0.7s ease;
}

.plan-card:hover .plan-thumb img { transform: scale(1.16); }

/* clear layer carrying the lock + CTA — the blur alone hides the plan */
.plan-veil {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: transparent;
}

.plan-veil i {
  color: var(--sky-deep);
  background: var(--sky-white);
  box-shadow: 0 8px 20px rgba(10, 91, 96, 0.18);
  font-size: 22px;
  width: 54px;
  height: 54px;
  line-height: 52px;
  text-align: center;
  border: 1px solid var(--sky-gold);
  border-radius: 50%;
  transition: background 0.4s ease, color 0.4s ease, transform 0.4s ease;
}

.plan-card:hover .plan-veil i {
  background: var(--sky-gold);
  color: var(--sky-white);
  transform: translateY(-2px);
}

.plan-cta {
  color: var(--sky-deep);
  background: var(--sky-white);
  padding: 7px 16px;
  box-shadow: 0 6px 16px rgba(10, 91, 96, 0.14);
  font-size: 13px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.plan-card:hover .plan-cta {
  opacity: 1;
  transform: translateY(0);
}

/* label strip */
.plan-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 16px;
  background: var(--sky-white);
  color: var(--sky-teal);
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-align: center;
  border-top: 2px solid var(--sky-gold);
  transition: background 0.4s ease, color 0.4s ease;
}

.plan-card:hover .plan-label {
  background: var(--sky-gold);
  color: var(--sky-white);
}

/* ---- arrows ---- */
.plan-slider .owl-nav {
  margin-top: 28px;
  text-align: center;
}

.plan-slider .owl-nav [class*="owl-"] {
  background: transparent;
  border: 1px solid var(--sky-deep);
  color: var(--sky-deep);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 0 6px;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.plan-slider .owl-nav [class*="owl-"]:hover {
  background: var(--sky-gold);
  border-color: var(--sky-gold);
  color: var(--sky-white);
}

@media (max-width: 1400px) {
  .plan-thumb { height: 300px; }
}

@media (max-width: 991px) {
  .plan-sec { padding: 55px 0 60px; }
  .plan-shell { padding: 0 22px; }
  .plan-heading { font-size: 32px; }
  .plan-thumb { height: 275px; }
}

@media (max-width: 767px) {
  .plan-shell { padding: 0 16px; }
  .plan-heading { font-size: 26px; }
  .plan-kicker { letter-spacing: 3.5px; }
  .plan-note { font-size: 13px; }
  .plan-thumb { height: 250px; }

  /* no hover on touch — show the CTA permanently */
  .plan-cta { opacity: 1; transform: none; }
}

/* =====================================================================
   Why SKY53 — building render with key numbers on the left,
   numbered USP list on the right. Stacks on tablet / mobile.
   ===================================================================== */

/* template.css paints this id black over a missing photo — clear it */
#section-id-1507611948.usp-sec {
  position: relative;
  padding: 95px 0 100px;
  background-image: none;
  background-attachment: scroll;
  overflow: clip; /* not hidden — hidden would trap the sticky photo */
}

#section-id-1507611948::before,
#section-id-1507611948.usp-sec::after {
  content: none;
}

#section-id-1507611948 > .container {
  width: 100%;
  max-width: 1280px;
  padding-left: clamp(16px, 3vw, 40px);
  padding-right: clamp(16px, 3vw, 40px);
}

.usp-layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-areas:
    "head   head"
    "visual list";
  column-gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

.usp-visual { grid-area: visual; align-self: center; } /* centred against the list */
.usp-head   { grid-area: head; }
.usp-list   { grid-area: list; min-width: 0; align-self: center; } /* centred beside the photo */

/* ---- visual ---- */
.usp-visual {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--sky-deep);
  aspect-ratio: 4 / 5;
}

/* offset gold frame behind the photo */
.usp-visual::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(221, 177, 101, 0.7);
  z-index: 2;
  pointer-events: none;
}

.usp-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

.usp-stats {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 70px 28px 34px;
  background: linear-gradient(to top, rgba(10, 91, 96, 0.96) 0%, rgba(10, 91, 96, 0.85) 55%, rgba(10, 91, 96, 0) 100%);
}

.usp-stat {
  text-align: center;
  padding: 0 8px;
}

.usp-stat + .usp-stat { border-left: 1px solid rgba(221, 177, 101, 0.45); }

.usp-stat strong {
  display: block;
  color: var(--sky-gold);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.5px;
}

.usp-stat span {
  display: block;
  margin-top: 6px;
  color: var(--sky-white);
  font-size: 11px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  line-height: 1.4;
}

/* ---- header ---- */
.usp-head { text-align: center; margin: 0 0 45px; }

.usp-kicker {
  display: block;
  color: var(--sky-bronze);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.usp-heading {
  color: var(--sky-deep) !important;
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.usp-heading em {
  font-style: normal;
  color: var(--sky-gold);
}

.usp-heading::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  margin: 20px auto 0;
  background: var(--sky-gold);
}

.usp-lede {
  color: var(--sky-ink) !important;
  font-size: 16px;
  line-height: 1.8;
  margin: 0 auto;
  max-width: 54ch;
}

/* ---- numbered list ---- */
.usp-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* each highlight is a card: icon beside the copy, number as a corner mark */
.usp-item {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  align-content: center; /* slides share the tallest card's height — centre shorter copy */
  padding: 30px 72px 30px 30px;
  background: var(--sky-ivory);
  border: 1px solid rgba(221, 177, 101, 0.4);
  border-left: 3px solid var(--sky-gold);
  transition: border-color 0.3s ease, background 0.3s ease;
}

.usp-num {
  position: absolute;
  top: 24px;
  right: 28px;
  color: rgba(201, 154, 76, 0.55);
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1px;
  transition: color 0.3s ease;
}

.usp-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(14, 122, 128, 0.08);
  color: var(--sky-teal);
  line-height: 0;
  transition: background 0.3s ease, color 0.3s ease;
}

.usp-ico svg { width: 28px; height: 28px; }

.usp-title {
  color: var(--sky-deep) !important;
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: 0.3px;
  font-weight: 500;
  margin: 2px 0 8px;
}

.usp-text {
  color: var(--sky-ink) !important;
  font-size: 15px;
  line-height: 1.75;
  margin: 0;
}

/* one-card slider (index.php) — equal-height slides so the arrows don't jump */
.usp-list .owl-stage { display: flex; }
.usp-list .owl-item { display: flex; }
/* 1px inset so the stage's overflow clip never eats the card border */
.usp-list .owl-item .usp-item { flex: 1 1 auto; margin: 0 1px; }

/* id-scoped to outrank the generic .owl-theme dot colours further down */
#section-id-1507611948 .usp-list .owl-dots { margin-top: 16px; text-align: center; }
#section-id-1507611948 .usp-list .owl-dots .owl-dot span {
  background: rgba(221, 177, 101, 0.35);
  width: 8px;
  height: 8px;
  margin: 0 4px;
}
#section-id-1507611948 .usp-list .owl-dots .owl-dot.active span { background: var(--sky-gold); }

@media (hover: hover) {
  .usp-item:hover { background: var(--sky-white); border-color: var(--sky-gold); }
  .usp-item:hover .usp-num { color: var(--sky-gold-deep); }
  .usp-item:hover .usp-ico { background: var(--sky-teal); color: var(--sky-white); }
}

/* ---- tablet: stack, photo becomes a wide band ---- */
@media (max-width: 991px) {
  #section-id-1507611948.usp-sec { padding: 65px 0 70px; }
  .usp-layout {
    grid-template-columns: minmax(0, 1fr); /* minmax keeps the owl stage from widening the grid */
    grid-template-rows: none;
    grid-template-areas: "head" "visual" "list";
  }
  .usp-visual { position: relative; top: auto; aspect-ratio: 16 / 10; margin-bottom: 36px; }
  .usp-visual img { object-position: center 30%; }
  .usp-heading { font-size: 34px; }
}

/* ---- mobile ---- */
@media (max-width: 767px) {
  #section-id-1507611948.usp-sec { padding: 55px 0 60px; }
  .usp-head { margin-bottom: 26px; }
  .usp-heading { font-size: 28px; }
  .usp-kicker { letter-spacing: 3.5px; }
  .usp-lede { font-size: 15px; }

  /* icon stacks above the copy */
  .usp-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 28px 22px 30px;
  }
  .usp-num { top: 22px; right: 22px; font-size: 22px; }
  .usp-ico { flex: none; width: 48px; height: 48px; margin-bottom: 16px; }
  .usp-ico svg { width: 26px; height: 26px; }
  .usp-title { font-size: 18px; margin: 0 0 8px; }
  .usp-text { font-size: 14.5px; }

  .usp-visual { aspect-ratio: 1 / 1; margin-bottom: 20px; }
  .usp-visual::before { inset: 10px; }
  .usp-stats { padding: 60px 14px 26px; }
  .usp-stat strong { font-size: 22px; }
  .usp-stat span { font-size: 10px; letter-spacing: 1px; }
}

/* =====================================================================
   About Us — short intro beside four key facts
   ===================================================================== */
#about { padding-top: 70px; padding-bottom: 70px; }

.abt-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

.abt-kicker {
  display: block;
  color: var(--sky-bronze);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.abt-heading {
  color: var(--sky-deep) !important;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 0;
}

.abt-heading em { font-style: normal; color: var(--sky-gold); }

.abt-heading::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  margin: 18px 0 20px;
  background: var(--sky-gold);
}

.abt-text {
  color: var(--sky-ink) !important;
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
  max-width: 50ch;
}

.abt-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(221, 177, 101, 0.45);
  border-left: 1px solid rgba(221, 177, 101, 0.45);
}

.abt-facts li {
  padding: 26px 20px;
  text-align: center;
  border-right: 1px solid rgba(221, 177, 101, 0.45);
  border-bottom: 1px solid rgba(221, 177, 101, 0.45);
  transition: background 0.3s ease;
}

.abt-facts li:hover { background: var(--sky-ivory); }

.abt-facts strong {
  display: block;
  color: var(--sky-teal);
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
}

.abt-facts span {
  display: block;
  margin-top: 6px;
  color: var(--sky-ink);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  #about { padding-top: 50px; padding-bottom: 50px; }
  .abt-layout { grid-template-columns: 1fr; gap: 28px; }
  .abt-heading { font-size: 26px; }
  .abt-text { font-size: 15px; }
  .abt-facts li { padding: 20px 12px; }
  .abt-facts strong { font-size: 28px; }
  .abt-facts span { font-size: 11px; letter-spacing: 1.2px; }
}

/* ---------- typography ---------- */
h1, h2, h3, h4, h5,
.sec-head,
.sppb-title-heading,
.info-box-title,
.serviceBox .title {
  color: var(--sky-teal);
}

/* headings sitting on a teal band flip to white */
.overlay h1, .overlay h2, .overlay h3, .overlay h4, .overlay h5,
.overlay p, .overlay td, .overlay th,
.high__sec.feature h2, .high__sec.feature h3, .high__sec.feature h4,
.high__sec.feature p,
#sp-footer, #sp-footer a,
.footer-sec, .footer-sec a {
  color: var(--sky-white);
}

body, p, li, td, label, .over-txt p, .info-box-content {
  color: #333;
}

/* ---------- accents ---------- */
a { color: var(--sky-teal); }
a:hover, a:focus { color: var(--sky-gold); }

/* ---------- one divider under every headline ----------
   Same rhythm everywhere: 20px above, 28px below, so the divider never
   sits flush against the description that follows it. */
.divider {
  display: block;
  width: 300px;
  max-width: 80%;
  height: auto;
  margin: 20px auto 28px !important;
  filter: none;
}

/* a divider that closes a header block needs less room beneath it */
.sppb-section-title > .divider:last-child,
.plan-head .divider {
  margin-bottom: 22px !important;
}

/* ---------- highlight cards ---------- */
.serviceBox {
  background: var(--sky-white);
  border-color: var(--sky-white);
  border-top-color: var(--sky-gold);
  border-bottom-color: var(--sky-gold);
  box-shadow: 0 6px 18px rgba(14, 122, 128, 0.15);
}

/* every card identical — the markup's blue/red variants no longer differ */
.serviceBox .service-icon,
.serviceBox.blue .service-icon,
.serviceBox.red .service-icon {
  background: var(--sky-gold);
  box-shadow: 0 6px 14px rgba(154, 116, 51, 0.28);
}

.serviceBox.blue,
.serviceBox.red {
  border-top-color: var(--sky-gold);
  border-bottom-color: var(--sky-gold);
}

.service-icon img {
  filter: brightness(0) invert(1) !important;
}

/* ---------- buttons ---------- */
.btn,
.btn-primary,
.btn-danger,
.btn-default,
input[type="submit"],
button[type="submit"],
.sppb-btn,
.sppb-btn-default {
  background-color: var(--sky-gold);
  border-color: var(--sky-gold);
  color: var(--sky-white);
}

.btn:hover, .btn:focus,
.btn-primary:hover, .btn-primary:focus,
.btn-danger:hover, .btn-danger:focus,
input[type="submit"]:hover,
button[type="submit"]:hover,
.sppb-btn:hover, .sppb-btn:focus {
  background-color: var(--sky-gold-deep);
  border-color: var(--sky-gold-deep);
  color: var(--sky-white);
}

/* popup SUBMIT buttons: template.css forces a white background on hover while
   the generic submit rule above sets white text — the label vanished. Give
   them their own states: gold at rest, deeper gold on hover, white text throughout. */
.price-btn,
.modal .price-btn {
  background-color: var(--sky-gold) !important;
  border: 2px solid var(--sky-gold) !important;
  color: var(--sky-white) !important;
  letter-spacing: 1.5px;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.price-btn:hover,
.price-btn:focus,
.price-btn:active,
.modal .price-btn:hover,
.modal .price-btn:focus,
.modal .price-btn:active {
  background-color: var(--sky-gold-deep) !important;
  border-color: var(--sky-gold-deep) !important;
  color: var(--sky-white) !important;
}

/* mobile sticky CTA bar: "ENQUIRE NOW" is a <button class="btn"> next to an
   <a>, so the generic .btn rule above turned it into a teal chip on the gold
   bar. Keep both as flat white links, the way the bar was designed. */
.fixed-footer-cust .btn,
.fixed-footer-cust .btn:hover,
.fixed-footer-cust .btn:focus,
.fixed-footer-cust .btn:active,
.i-am,
.i-am:hover,
.i-am:focus {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
  outline: none;
  padding: 0;
  color: var(--sky-white) !important;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
  vertical-align: baseline;
}

.fixed-footer-cust .fix-link,
.fixed-footer-cust .fix-link i {
  color: var(--sky-white) !important;
}

.fixed-footer-cust .fix-link i {
  margin-right: 6px;
}

.enq_from_menu,
.download-btn {
  background-color: var(--sky-gold);
  border-color: var(--sky-white);
  color: var(--sky-white);
}

.enq_from_menu:hover,
.enq_from_menu:focus,
.download-btn:hover,
.download-btn:focus {
  background-color: var(--sky-gold);
  border-color: var(--sky-white);
  color: var(--sky-white);
}

@media only screen and (max-width: 767px) {
  .download-btn,
  .download-btn:hover,
  .download-btn:focus,
  .download-btn:active {
    background-color: var(--sky-gold) !important;
    color: var(--sky-white) !important;
    border: 1px solid var(--sky-gold) !important;
    border-radius: 0;
    font-weight: 600;
    letter-spacing: 0.6px;
    padding: 7px 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  }
}

/* ---------- forms ---------- */
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
  background: var(--sky-white);
  border: 1px solid rgba(14, 122, 128, 0.35);
  color: #333;
  box-shadow: none;
}

.form-control:focus {
  border-color: var(--sky-gold);
  box-shadow: none;
}

.input-group-addon {
  background: var(--sky-teal);
  border-color: var(--sky-teal);
  color: var(--sky-white);
}

.form-ico { color: var(--sky-white); }

/* ---------- modals ---------- */
.modal-content { background: var(--sky-white); }

.modal-header,
#download-brochure .modal-header,
#main-popup .modal-header {
  background: var(--sky-teal);
  border-bottom: 3px solid var(--sky-gold);
  color: var(--sky-white);
}

.modal-header .modal-title { color: var(--sky-white); }

.modal-header .close,
#download-brochure .close {
  color: var(--sky-white) !important;
  opacity: 1 !important;
  text-shadow: none;
}

.modal-footer { background: var(--sky-white); border-top-color: rgba(14, 122, 128, 0.2); }

/* ---------- tables ---------- */
.spe-table .her,
.table thead th {
  background: var(--sky-gold) !important;
  color: var(--sky-white);
  border-color: var(--sky-white);
}

.spe-table tbody tr,
.spe-table .her1 {
  background-color: var(--sky-white) !important;
  color: #333;
}

.click_here a,
.price-click { color: var(--sky-teal); font-weight: 600; }

.click_here a:hover,
.price-click:hover { color: var(--sky-gold); }

/* ---------- brand logo, top-left on every breakpoint ----------
   Centre it against the header row rather than a hard-coded height:
   the header is 87px normally but 90px once sticky, so any fixed number
   makes the logo drift up or down when you scroll. */
/* the row is shorter than the header, so centring inside it still left the
   logo high — make the row fill the header first, then centre in it */
#sp-header .container-fluid {
  height: 100%;
}

#sp-header .container-fluid > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
}

#sp-logo {
  display: flex;
  align-items: center;
}

/* the logo anchor is inline, so the text baseline added ~7px of dead space
   under the image and pushed the mark visually high */
#sp-logo .sp-column {
  display: flex;
  align-items: center;
  line-height: 0;
  width: 100%;
}

#sp-header .logo { display: flex; }

#sp-header .logo,
#sp-header .logo2 {
  display: inline-flex;
  align-items: center;
  height: 100%;
}

#sp-header .logo img.sp-default-logo {
  width: auto !important;
  height: 56px;
  max-height: 62px;
  padding: 0;
  margin: 0;
  object-fit: contain;
  display: block;
}

.menu-fixed#sp-header .logo img.sp-default-logo {
  width: auto !important;
  height: 46px;
  padding: 0;
}

@media (max-width: 767px) {
  #sp-logo {
    padding-left: 12px;
  }

  #sp-header .logo img.sp-default-logo,
  .menu-fixed#sp-header .logo img.sp-default-logo {
    height: 40px;
    margin: 0;
  }
}

/* ---------- header / nav ---------- */
#sp-header {
  background: var(--sky-white);
  border-bottom: 1px solid rgba(221, 177, 101, 0.45);
  box-shadow: 0 2px 10px rgba(14, 122, 128, 0.12);
}

#sp-header.menu-fixed { background: var(--sky-white); }

/* nav sits right-aligned and reads larger on desktop */
@media (min-width: 992px) {
  #sp-header .sp-megamenu-parent {
    justify-content: flex-end;
  }

  /* keep logo and nav on one line — wrapping dropped the nav below the logo */
  #sp-header .container-fluid > .row {
    flex-wrap: nowrap;
  }

  /* let the menu take the width the empty logo column used to occupy */
  #sp-header .container-fluid > .row > #sp-menu {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  #sp-header .container-fluid > .row > #sp-logo {
    flex: 0 0 auto;
    width: auto;
  }

  .sp-megamenu-parent { flex-wrap: nowrap; }
  .sp-megamenu-parent > li { white-space: nowrap; }

  #sp-menu .sp-column,
  #sp-menu .sp-megamenu-wrapper {
    width: 100%;
  }

  .sp-megamenu-parent > li > a {
    font-size: 15px;
    padding: 0 9px;
    letter-spacing: 0.3px;
  }

  /* the last link shouldn't hang off the edge */
  .sp-megamenu-parent > li:last-child > a {
    padding-right: 0;
  }
}

@media (min-width: 1200px) {
  .sp-megamenu-parent > li > a {
    font-size: 17px;
    padding: 0 16px;
  }
}

@media (min-width: 1500px) {
  .sp-megamenu-parent > li > a {
    font-size: 18px;
    padding: 0 20px;
  }
}

.sp-megamenu-parent > li > a,
.m-link {
  color: var(--sky-teal);
}

.sp-megamenu-parent > li > a:hover,
.sp-megamenu-parent > li.active > a,
.m-link:hover {
  color: var(--sky-gold);
}

/* ---------- carousel / owl controls ---------- */
.owl-theme .owl-nav [class*="owl-"],
.owl-theme .owl-nav [class*="owl-"]:hover {
  background: var(--sky-gold);
  color: var(--sky-white);
}

.owl-theme .owl-dots .owl-dot span { background: rgba(14, 122, 128, 0.3); }
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span { background: var(--sky-gold); }

/* ---------- location advantage accordion ---------- */
.loc-list li {
  background: var(--sky-teal);
  color: var(--sky-white);
}

.loc-list li i,
.loc-list li span {
  color: var(--sky-white);
}

.panel-title > a,
.accordion-toggle {
  color: var(--sky-gold);
  background: var(--sky-white);
}

.panel-title > a:hover,
.panel-title > a:focus,
.panel-title > a[aria-expanded="true"] {
  color: var(--sky-white);
  background: var(--sky-gold);
}

/* =====================================================================
   Contact Us — details rail + white enquiry card
   ===================================================================== */
.contact-sec {
  position: relative;
  padding: 85px 0 90px;
  overflow: hidden;
}

.contact-shell {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

.contact-head {
  text-align: center;
  margin-bottom: 45px;
}

.contact-kicker {
  display: block;
  color: var(--sky-bronze);
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.contact-heading {
  color: var(--sky-deep) !important;
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

/* ---- left rail ---- */
.contact-info-title {
  color: var(--sky-deep) !important;
  font-size: 22px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 22px;
  padding-bottom: 14px;
  position: relative;
}

.contact-info-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46px;
  height: 2px;
  background: var(--sky-gold);
}

.contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid rgba(10, 91, 96, 0.12);
}

.contact-list li:last-child { border-bottom: none; }

.ci-icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  line-height: 42px;
  text-align: center;
  border: 1px solid var(--sky-gold);
  border-radius: 50%;
  color: var(--sky-gold);
  font-size: 16px;
  transition: background 0.3s ease, color 0.3s ease;
}

.contact-list li:hover .ci-icon {
  background: var(--sky-gold);
  color: var(--sky-white);
}

.ci-body {
  color: var(--sky-ink);
  font-size: 15.5px;
  line-height: 1.7;
}

.ci-body strong {
  display: block;
  color: var(--sky-bronze);
  font-size: 11.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 4px;
}

.ci-body a {
  color: var(--sky-deep);
  font-size: 18px;
  letter-spacing: 0.5px;
}

.ci-body a:hover { color: var(--sky-gold); }

/* ---- map ---- */
.contact-map {
  border: 1px solid rgba(221, 177, 101, 0.35);
  overflow: hidden;
  line-height: 0;
}

.contact-map iframe {
  width: 100%;
  height: 260px;
  border: 0;
  display: block;
  filter: grayscale(0.15);
}

/* ---- enquiry card ---- */
.contact-card {
  background: var(--sky-white);
  border-top: 3px solid var(--sky-gold);
  padding: 38px 34px 34px;
  box-shadow: 0 22px 46px rgba(10, 91, 96, 0.12);
}

.contact-card-title {
  color: var(--sky-teal) !important;
  font-size: 24px;
  letter-spacing: 1px;
  margin: 0 0 6px;
}

.contact-card-sub {
  color: #6d7b7c !important;
  font-size: 14.5px;
  margin: 0 0 24px;
}

.contact-card .form-group {
  width: 100%;
  padding: 0;
  margin-bottom: 16px;
  float: none;
}

.contact-card .input-group { width: 100%; }

.contact-card .form-control {
  height: 48px;
  background: #f6f9f9;
  border: 1px solid rgba(14, 122, 128, 0.22);
  border-left: none;
  box-shadow: none;
  color: #333;
}

.contact-card .form-control:focus {
  background: var(--sky-white);
  border-color: var(--sky-gold);
}

.contact-card .input-group-addon {
  width: 48px;
  background: var(--sky-teal);
  border: 1px solid var(--sky-teal);
  color: var(--sky-white);
}

.contact-card .error {
  color: #c0392b;
  font-size: 12px;
  font-weight: 400;
  display: block;
  margin: 4px 0 0;
}

.contact-submit {
  width: 100%;
  margin-top: 8px;
  padding: 14px 20px;
  background: var(--sky-gold) !important;
  border: 1px solid var(--sky-gold) !important;
  color: var(--sky-white) !important;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
  transition: background 0.3s ease, color 0.3s ease;
}

.contact-submit:hover,
.contact-submit:focus {
  background: transparent !important;
  color: var(--sky-gold) !important;
}

@media (max-width: 991px) {
  .contact-sec { padding: 60px 0 65px; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .contact-heading { font-size: 32px; }
}

@media (max-width: 767px) {
  .contact-shell { padding: 0 16px; }
  .contact-heading { font-size: 26px; }
  .contact-kicker { letter-spacing: 3.5px; }
  .contact-card { padding: 28px 20px 26px; }
  .contact-map iframe { height: 220px; }
}

/* ---------- misc grey killers ---------- */
.info-box,
.locationBox1,
.gal-item,
.panel,
.panel-default,
.panel-heading,
.well {
  /* background: var(--sky-white); */
  border-color: rgba(14, 122, 128, 0.2);
  color: #333;
}

.locationBox1 { box-shadow: 0 4px 16px rgba(14, 122, 128, 0.15); }

hr { border-top-color: rgba(221, 177, 101, 0.5); }

/* =====================================================================
   Thank-you page — white card on a light grey ground, gold accents
   ===================================================================== */
.thankyou-sec,
.thank-you-wrap {
  background: var(--sky-white);
  color: var(--sky-ink);
}

body.sky-thankyou,
body.sky-thankyou .body-innerwrapper,
body.sky-thankyou #sp-main-body {
  background: var(--sky-offwhite);
  background-image: none;
}

body.sky-thankyou #sp-header {
  background: var(--sky-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

body.sky-thankyou #sp-main-body {
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* the template's row keeps a fixed 1200px width with negative margins, which
   pushed the card ~100px left of centre — reset it for this page only */
body.sky-thankyou #sp-main-body > .row {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

body.sky-thankyou #sp-component {
  width: 100%;
  float: none;
  padding: 0;
}

body.sky-thankyou .sppb-row-container {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

body.sky-thankyou .wrap {
  max-width: 720px;
  text-align: center;
  padding: 55px 40px !important;
  background: var(--sky-white);
  border: 1px solid rgba(221, 177, 101, 0.35);
  border-top: 3px solid var(--sky-gold);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.06);
}

body.sky-thankyou .msgicon {
  display: inline-block;
  background: var(--sky-gold);
  border-color: rgba(221, 177, 101, 0.25);
  color: var(--sky-white);
  box-shadow: 0 0 0 8px rgba(221, 177, 101, 0.15);
}

body.sky-thankyou .oops {
  color: #2f3a3b !important;
  letter-spacing: 1px;
}

body.sky-thankyou .oops-greet {
  color: var(--sky-bronze) !important;
  letter-spacing: 1.5px;
}

body.sky-thankyou .oops-subtitle {
  color: #6d7677 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px;
  line-height: 1.8;
}

body.sky-thankyou .go-home {
  background: var(--sky-gold);
  color: var(--sky-white);
  border: 1px solid var(--sky-gold);
  letter-spacing: 1.5px;
  border-radius: 0;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 14px 30px !important;
}

body.sky-thankyou .go-home:hover {
  background: transparent;
  color: var(--sky-gold);
  border-radius: 0;
}

body.sky-thankyou #sp-bottom {
  background-color: var(--sky-white) !important;
}

/* Validation messages inside popup forms */
.modal .modal-body label.error {
  color: #c0392b;
  font-size: 12px;
  font-weight: 400;
  display: block;
  margin: 4px 0 0;
  text-align: left;
}

.modal .modal-body label.error:empty {
  display: none;
}

/* A gallery tab with fewer slides than the stage holds (e.g. Interior's two
   images) no longer loops, so centre the short stage instead of leaving a
   gap on the right. Has no effect once the slides fill the stage. */
.gallery-slider .owl-stage {
  margin: 0 auto;
}

/* =====================================================================
   Slider arrows — one style for every carousel
   The Jost rule above forces its font on every span, which also caught
   the FontAwesome chevrons and rendered them as empty boxes.
   ===================================================================== */
.owl-carousel .owl-nav .fa {
  font-family: FontAwesome !important;
}

.owl-carousel .owl-nav {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 30px !important;
}

.owl-carousel .owl-nav.disabled { display: none; }

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(221, 177, 101, 0.7) !important;
  border-radius: 50% !important;
  background: var(--sky-white) !important;
  color: var(--sky-deep) !important;
  font-size: 0 !important;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(10, 91, 96, 0.1);
  cursor: pointer;
  transition: background 0.3s ease, border-color 0.3s ease,
              box-shadow 0.3s ease, transform 0.3s ease !important;
}

.owl-carousel .owl-nav .fa-chevron-left,
.owl-carousel .owl-nav .fa-chevron-right {
  font-size: 13px !important;
  color: var(--sky-deep) !important;
  transition: color 0.3s ease, transform 0.3s ease;
}

/* optical centring — the chevron's weight sits off-centre in its box */
.owl-carousel .owl-nav .fa-chevron-left  { margin-left: -2px; }
.owl-carousel .owl-nav .fa-chevron-right { margin-right: -2px; }

.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover,
.owl-carousel .owl-nav .owl-prev:focus-visible,
.owl-carousel .owl-nav .owl-next:focus-visible {
  background: var(--sky-gold) !important;
  border-color: var(--sky-gold) !important;
  box-shadow: 0 10px 22px rgba(154, 116, 51, 0.28);
  transform: translateY(-2px);
  outline: none !important;
}

.owl-carousel .owl-nav .owl-prev:hover .fa,
.owl-carousel .owl-nav .owl-next:hover .fa,
.owl-carousel .owl-nav .owl-prev:focus-visible .fa,
.owl-carousel .owl-nav .owl-next:focus-visible .fa {
  color: var(--sky-white) !important;
}

.owl-carousel .owl-nav .owl-prev:hover .fa { transform: translateX(-2px); }
.owl-carousel .owl-nav .owl-next:hover .fa { transform: translateX(2px); }

.owl-carousel .owl-nav .disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

@media (max-width: 767px) {
  .owl-carousel .owl-nav { gap: 12px; margin-top: 22px !important; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next {
    width: 42px !important;
    height: 42px !important;
  }
}

/* =====================================================================
   Fixed Download / Enquire buttons — flat icon chip + pulsing gold ring
   ===================================================================== */
.download-btn,
.enq_from_menu {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 7px 18px 7px 7px !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  animation: sky-pulse 2.2s ease-out infinite;
  transition: none;
}

/* no hover / press state — on touch the hover transform also knocked the
   rotated mobile tab out of its -90° turn */
.download-btn:hover, .download-btn:focus, .download-btn:active, .download-btn:active:hover,
.enq_from_menu:hover, .enq_from_menu:focus, .enq_from_menu:active, .enq_from_menu:active:hover {
  background-color: var(--sky-gold) !important;
  color: var(--sky-white) !important;
  outline: none;
}

/* the two buttons pulse out of step so they don't blink in unison */
.enq_from_menu { animation-delay: 1.1s; }

.fix-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--sky-white);
}

.fix-ico .fa {
  font-family: FontAwesome !important;
  color: var(--sky-gold-deep);
  font-size: 14px;
}

@keyframes sky-pulse {
  0%   { box-shadow: 0 6px 16px rgba(154, 116, 51, 0.3), 0 0 0 0 rgba(221, 177, 101, 0.65); }
  70%  { box-shadow: 0 6px 16px rgba(154, 116, 51, 0.3), 0 0 0 14px rgba(221, 177, 101, 0); }
  100% { box-shadow: 0 6px 16px rgba(154, 116, 51, 0.3), 0 0 0 0 rgba(221, 177, 101, 0); }
}

/* mobile: the brochure button is the rotated side tab */
@media only screen and (max-width: 767px) {
  /* the sticky bottom bar carries Enquire on phones — keep hidden-xs working
     against the inline-flex above */
  .enq_from_menu.hidden-xs { display: none !important; }

  .download-btn,
  .download-btn:hover,
  .download-btn:focus,
  .download-btn:active {
    padding: 5px 14px 5px 5px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    gap: 8px;
    /* pivot on the top-left corner, then slide back half the tab's length:
       flush to the left edge and centred vertically at any label length */
    left: 0 !important;
    top: 50% !important;
    bottom: auto !important;
    transform-origin: left top;
    transform: rotate(-90deg) translateX(-50%) !important;
  }

  .download-btn .fix-ico {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
  }

  /* undo the tab's -90° turn so the arrow still points down */
  .download-btn .fix-ico .fa { font-size: 12px; transform: rotate(90deg); }
}

@media (prefers-reduced-motion: reduce) {
  .download-btn,
  .enq_from_menu { animation: none; }
}
