/* NEKSA / refined white hospitality theme.
   Presentation-only override after styles.css and reference.css.
   Leaves CMS, media, forms, language switching and APIs unchanged. */
:root {
  --black: #fff;
  --black2: #faf9f7;
  --gold: #956e3b;
  --gold-bright: #80592d;
  --gold-muted: #876f53;
  --ivory: #19252c;
  --muted: #5d6970;
  --line: rgba(39,49,52,.12);
}
html { scroll-padding-top: 32px; }
body { background:#fff; color:var(--ivory); }
::selection { background:#e8d2ac; color:#17242b; }
:focus-visible { outline:2px solid #886435; outline-offset:4px; }

/* Bright, legible navigation: the original uploaded logo is gold on dark. */
.site-header {
  position:relative; top:auto; left:auto; right:auto;
  background:#fff; border-bottom:1px solid #e9e7e2;
  box-shadow:0 6px 26px rgba(29,37,43,.025);
}
.header-inner { height:104px; gap:30px; }
.brand { color:#253038; }
.brand-name,.brand-english,.brand-arabic { color:#253038; }
.brand-monogram svg { filter:none; }
.site-logo { filter:brightness(0); opacity:.86; max-height:82px; }
.desktop-nav { display:flex; gap:28px; }
.desktop-nav a { color:#334148; font-weight:700; font-size:11px; letter-spacing:.13em; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--gold); }
.header-actions { gap:22px; }
.language-switch { color:#a0a6a8; }
.language-switch button { color:#646e73; }
.language-switch button.active { color:#80592d; border-color:#956e3b; }
.menu-toggle { display:none; }
.menu-toggle span { background:#1a292e; }
.mobile-nav { background:#fff; border:1px solid #e8e4dc; box-shadow:0 18px 35px #1d26231c; }
.mobile-nav a { color:#26333a; border-bottom:1px solid #ede9e3; }
.mobile-nav a:last-child { border-bottom:0; }

/* Hero: readable charcoal typography against white with a softened image on right. */
.hero { min-height:630px; display:flex; align-items:center; background:#fcfbf9; }
.hero-inner { padding-top:90px; padding-bottom:94px; }
.hero-content { width:min(750px,70%); }
.hero .eyebrow { color:#826137; letter-spacing:.21em; font-weight:700; }
.hero h1 {
  color:#16242c; font-size:clamp(51px,5.9vw,78px);
  line-height:1.07; letter-spacing:-.035em; text-shadow:none;
}
.hero h1 em { color:#977344; }
.hero-description { color:#4d5d63; font-size:18px; line-height:1.7; max-width:570px; }
.hero-visual {
  inset:0 0 0 47%; opacity:1; background:#e9e5de;
}
.hero-visual .hero-photo { opacity:.87; filter:saturate(.78) brightness(1.08); object-position:64% 42%; }
.hero-visual::before {
  z-index:1;
  background:linear-gradient(90deg,#fcfbf9 0%,rgba(252,251,249,.94) 12%,rgba(252,251,249,.5) 36%,rgba(252,251,249,.08) 71%),
             linear-gradient(0deg,rgba(252,251,249,.4),transparent 24%);
}
.hero-bottom-line { display:none; }
.button { border-radius:7px; font-weight:700; letter-spacing:.015em; box-shadow:none; }
.button-primary { background:#1b2a30; color:#fff; border:1px solid #1b2a30; }
.button-primary:hover { background:#30434a; color:#fff; }
.button-outline { background:#fff; border:1px solid #a7aaab; color:#1c2e35; }
.button-outline:hover { color:#1b2a30; background:#f4f1eb; border-color:#917348; }

/* Section rhythm and four elegant service cards. */
.services-section { padding-top:98px; padding-bottom:105px; }
.services-section > .section-label { display:flex; }
.services-heading-row { display:flex; gap:40px; margin-top:22px; margin-bottom:36px; }
.eyebrow,.section-label { color:#866237; }
.short-line { background:#a78150; }
.services-heading-row h2,.about-copy h2,.skyline-copy h2,.contact-section h2 { color:#19282f; }
.services-heading-row p { color:#5b696f; }
.services-grid { gap:16px; }
.service-card {
  min-height:253px; padding:31px 20px 22px;
  background:#fff; border:1px solid #e6e4df; border-radius:12px;
  box-shadow:0 10px 30px rgba(26,39,44,.035);
}
.service-card:hover { background:#faf8f3; border-color:#ba9a6d; transform:translateY(-4px); box-shadow:0 17px 38px rgba(26,39,44,.075); }
.service-card svg { color:#957044; }
.service-card h3 { color:#1e2d34; font-size:25px; }
.circle-arrow { border-color:#d7c1a1; color:#846035; background:#fcfaf7; }

/* About with photo left untouched in the CMS; make image inviting, not muddy. */
.about-section { padding-top:8px; padding-bottom:100px; gap:65px; }
.about-copy .section-label { color:#8b663b; }
.about-copy h2 { color:#16262f; }
.about-copy p { color:#56636a; line-height:1.8; font-size:17px; }
.about-visual { min-height:390px; background:#ede8df; border:1px solid #e9e2d8; box-shadow:0 18px 40px rgba(20,35,41,.08); }
.about-photo { filter:saturate(.85) brightness(1.04); }
.about-visual:after { background:linear-gradient(0deg,rgba(26,32,36,.07),transparent 43%); }
.about-arch { border-color:rgba(146,116,79,.18); }
.placeholder-label { color:#5e5447; }

/* Values strip on a neutral surface. */
.values-section {
  background:#f9f7f3; border:1px solid #ece6dd;
  border-radius:10px; padding:30px 20px;
}
.value { color:#333f43; border-color:#e3dcd0; }
.value-icon svg { stroke:#977344; }
.value-copy strong { color:#24343a; }
.value-copy small { color:#737b7d; }

/* Skyline feature fades gracefully into white rather than black. */
.skyline-section {
  min-height:420px; margin-top:95px;
  background:#f5f6f5;
}
.skyline-copy { display:block; padding-top:72px; }
.skyline-copy .section-label { display:block; color:#795a33; }
.skyline-copy h2 { color:#17282f; margin-top:15px; font-size:clamp(34px,3.2vw,48px); }
.skyline-photo { height:100%; opacity:.54; filter:saturate(.68) brightness(1.16); object-position:center 45%; }
.skyline-section:after {
  inset:0; height:auto; background:linear-gradient(90deg,rgba(249,249,247,.95),rgba(249,249,247,.55) 48%,rgba(249,249,247,.02) 100%),
                                linear-gradient(180deg,#fff,transparent 27%,transparent 74%,#fff);
}
.skyline-art { opacity:.15; }

/* Contact: white panels, readable labels and responsive fields. */
.contact-section { padding-top:102px; padding-bottom:105px; align-items:start; border-top:1px solid #ebe7df; gap:60px; }
.contact-section h2 { color:#1c2c33; }
.contact-aside > p { color:#55656c; }
.contact-aside { max-width:575px; }
.enquiry-form { color:#1c2c33; gap:17px; }
.enquiry-form label { color:#35464d; font-size:12px; font-weight:700; }
.enquiry-form input,.enquiry-form textarea,.enquiry-form select {
  background:#fdfdfc; color:#18282f; border:1px solid #d7dcda;
  border-radius:7px; font-size:14px; padding:14px 15px;
}
.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus { border-color:#987447; box-shadow:0 0 0 3px rgba(152,116,71,.13); }
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder { color:#7b898d; }
.enquiry-submit { margin-top:4px; }
.enquiry-feedback { color:#277047!important; }
.enquiry-feedback.error { color:#ae3939!important; }
.location-tag { color:#866237; }

/* Footer, mobile navigation and adaptive layouts. */
.site-footer { background:#faf9f7; border-top:1px solid #e7e4dc; }
.footer-inner > div { color:#24343c; }
.footer-inner p { color:#667176; }
.footer-inner > a { color:#324047; border-color:#d6d5d0; }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 72px); }
  .header-inner { height:96px; }
  .desktop-nav { gap:17px; }
  .hero-content { width:76%; }
  .hero-visual { left:45%; }
  .about-section { gap:40px; }
}
@media(max-width:900px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:flex; }
  .header-actions { gap:22px; }
}
@media(max-width:759px) {
  html { scroll-padding-top:20px; }
  .wrap { width:calc(100% - 38px); }
  .site-header { position:relative; background:#fff; border-bottom:1px solid #ece8e2; }
  .header-inner { height:84px; }
  .site-logo { max-width:168px; max-height:64px; }
  .menu-toggle span { background:#203139; }
  .hero { min-height:570px; align-items:flex-start; background:#fcfbf9; }
  .hero-inner { padding-top:81px; padding-bottom:73px; }
  .hero-content { width:100%; }
  .hero .eyebrow { color:#785a35; font-size:9px; letter-spacing:.1em; }
  .hero h1 { color:#17272f; font-size:clamp(42px,9.5vw,58px); line-height:1.09; }
  .hero-description { color:#46565e; font-size:14px; max-width:360px; font-weight:600; }
  .hero-visual { inset:0 0 0 21%; opacity:.52; }
  .hero-visual .hero-photo { opacity:.82; filter:saturate(.65) brightness(1.18); object-position:58% center; }
  .hero-visual::before {
    background:linear-gradient(90deg,#fcfbf9 0%,rgba(252,251,249,.94) 28%,rgba(252,251,249,.58) 80%),
               linear-gradient(0deg,#fcfbf9,transparent 42%);
  }
  .button-row { gap:11px; }
  .button { min-height:47px; padding:11px 18px; border-radius:6px; }
  .services-section { padding-top:66px; padding-bottom:76px; }
  .services-section > .section-label { display:flex; }
  .services-heading-row { display:block; margin:17px 0 25px; }
  .services-heading-row p { margin-top:18px; font-size:13px; }
  .services-grid { gap:12px; }
  .service-card { min-height:190px; padding:20px 10px 17px; border-radius:10px; }
  .service-card svg { width:44px; height:44px; }
  .service-card h3 { font-size:20px; }
  .about-section { grid-template-columns:1fr; gap:27px; padding-bottom:70px; }
  .about-copy p { font-size:14px; }
  .about-visual { min-height:290px; }
  .values-section { padding:24px 14px; row-gap:25px; }
  .value { border-right:0; }
  .skyline-section { min-height:345px; margin-top:68px; }
  .skyline-copy { padding-top:52px; }
  .skyline-copy h2 { font-size:clamp(31px,7.5vw,43px); }
  .skyline-photo { height:100%; object-position:63% center; opacity:.45; }
  .skyline-section:after { background:linear-gradient(90deg,rgba(249,249,247,.96),rgba(249,249,247,.30) 100%),linear-gradient(180deg,#fff,transparent 35%,transparent 82%,#fff); }
  .contact-section { padding-top:65px; padding-bottom:72px; }
  .contact-aside { margin-top:30px; }
  .enquiry-row { grid-template-columns:1fr; }
  .footer-inner { min-height:125px; }
}
@media(max-width:390px) {
  .wrap { width:calc(100% - 34px); }
  .hero h1 { font-size:41px; }
  .service-card h3 { font-size:19px; }
  .value-copy strong { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .button:hover,.service-card:hover { transform:none; }
}

/* Cleaning & facilities: six service additions, matching the white brand UI. */
.cleaning-section {
  background:#f8f9f7;
  border-top:1px solid #e9ece8;
  border-bottom:1px solid #e9ece8;
  padding:90px 0 100px;
}
.cleaning-heading-row {
  display:flex; justify-content:space-between; gap:50px; align-items:end;
  margin:19px 0 33px;
}
.cleaning-heading-row h2 {
  font:400 clamp(34px,3.4vw,52px)/1.15 var(--serif);
  color:#1a2930; letter-spacing:-.026em; margin:0;
  max-width:650px;
}
.cleaning-heading-row p {
  font:400 15px/1.8 var(--font); color:#596b72;
  max-width:370px; margin:0 0 3px;
}
.cleaning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.cleaning-card {
  display:flex; flex-direction:column; min-width:0; min-height:235px;
  background:#fff; border:1px solid #e1e6e3; border-radius:12px;
  padding:25px 27px 22px;
  box-shadow:0 8px 26px rgba(25,44,50,.035);
  color:#1c2d34;
  transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;
}
.cleaning-card:hover,.cleaning-card:focus-visible {
  transform:translateY(-3px); border-color:#b99c76;
  box-shadow:0 17px 35px rgba(25,44,50,.075); background:#fffefa;
}
.cleaning-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:15px; }
.cleaning-card-number { font:600 11px/1 var(--font); color:#94754d; letter-spacing:.12em; }
.cleaning-card-top svg { width:47px; height:47px; color:#967344; flex-shrink:0; }
.cleaning-card h3 {
  font:400 clamp(20px,2vw,26px)/1.22 var(--serif);
  color:#20313a; letter-spacing:-.012em; margin:0 0 20px;
  overflow-wrap:anywhere;
}
.cleaning-card-action {
  display:flex; align-items:center; gap:12px; margin-top:auto;
  color:#805e34; font-size:11px; font-weight:700;
  letter-spacing:.05em;
}
.cleaning-card-action > span:last-child { font-size:17px; line-height:1; }
[dir=rtl] .cleaning-heading-row,
[dir=rtl] .cleaning-card { text-align:right; }
[dir=rtl] .cleaning-card-action > span:last-child { transform:scaleX(-1); }
@media(max-width:900px) {
  .cleaning-section { padding:73px 0 80px; }
  .cleaning-heading-row { gap:25px; }
  .cleaning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}
@media(max-width:759px) {
  .cleaning-section { padding:64px 0 72px; }
  .cleaning-heading-row { display:block; margin:18px 0 25px; }
  .cleaning-heading-row h2 { font-size:clamp(31px,7.4vw,43px); }
  .cleaning-heading-row p { margin-top:14px; font-size:13px; line-height:1.75; }
  .cleaning-grid { gap:11px; }
  .cleaning-card { min-height:217px; padding:18px 16px 17px; border-radius:10px; }
  .cleaning-card-top { margin-bottom:13px; }
  .cleaning-card-top svg { width:38px; height:38px; }
  .cleaning-card h3 { font-size:19px; line-height:1.25; margin-bottom:14px; }
  .cleaning-card-action { font-size:10px; letter-spacing:0; gap:7px; }
}
@media(max-width:390px) {
  .cleaning-card { min-height:225px; padding:17px 12px; }
  .cleaning-card h3 { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .cleaning-card:hover,.cleaning-card:focus-visible { transform:none; }
}


/* Visibility is controlled by the website setting returned by /api/site.
   The explicit rule prevents display:grid overriding the hidden attribute. */
.enquiry-form[hidden],#enquiry-intro[hidden],#enquiry-loading[hidden],#enquiry-unavailable[hidden]{display:none!important}
.enquiry-availability{
  padding:20px 22px;margin:20px 0 0;line-height:1.65;
  background:#f7f5ef;border:1px solid #e7dfd2;border-radius:9px;
  color:#53636b;font-size:14px;
}
