/*
Theme Name:   UNBOX Workspace
Theme URI:    https://unboxinc.com
Description:  Premium coworking workspace theme. Elementor-compatible, ACF-ready, PHP 8+.
Version:      7.0.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      8.0
License:           GNU General Public License v2 or later
Text Domain:       unbox-workspace
*/

/* ═══════════════════════════════════════
   ROOT VARIABLES
═══════════════════════════════════════ */
:root {
  --bg:    #f0ede8;
  --bg2:   #e8e3dc;
  --white: #ffffff;
  --dark:  #111111;
  --text:  #333333;
  --muted: #888888;
  --border:#ddd8cf;
  --teal:  #7eaaa8;
  --teal-d:#5c9190;
  --font:  "Inter","Helvetica Neue",Arial,sans-serif;
  --hdr:   68px;
  --max:   1280px;
  --pad:   clamp(1.5rem,4vw,3rem);
  --r:     100px;
  --rc:    14px;
  --t:     .28s;
  --ease:  cubic-bezier(.25,.46,.45,.94);
}

/* ═══════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--t)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-thumb{background:var(--teal);border-radius:3px}

/* ═══════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════ */
h1{font-size:clamp(2.4rem,5vw,4.5rem);font-weight:800;line-height:1.02;letter-spacing:-.025em;text-transform:uppercase;color:var(--dark)}
h2{font-size:clamp(1.9rem,3.8vw,3.4rem);font-weight:800;line-height:1.06;letter-spacing:-.02em;text-transform:uppercase;color:var(--dark)}
h3{font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700;color:var(--dark);line-height:1.3}
h4{font-size:.95rem;font-weight:700;color:var(--dark)}
p{font-size:.93rem;color:var(--muted);line-height:1.82}

/* ═══════════════════════════════════════
   LAYOUT UTILITIES
═══════════════════════════════════════ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(65px,9vw,115px) 0}
.section--white{background:var(--white)}
.section--bg{background:var(--bg)}
.section--bg2{background:var(--bg2)}
.section--dark{background:var(--dark)}
.text-center{text-align:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.68rem 1.65rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;border-radius:var(--r);border:1.5px solid transparent;transition:all var(--t) var(--ease);cursor:pointer;white-space:nowrap;line-height:1}
.btn--teal{background:var(--teal);color:var(--white);border-color:var(--teal)}
.btn--teal:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn--outline{background:transparent;color:var(--dark);border-color:var(--border)}
.btn--outline:hover{border-color:var(--teal);color:var(--teal)}
.btn--dark{background:var(--dark);color:var(--white);border-color:var(--dark)}
.btn--dark:hover{background:#222}
.btn--white{background:var(--white);color:var(--dark);border-color:var(--white)}
.btn--white:hover{background:var(--bg);border-color:var(--bg)}
.btn--white-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.68rem 1.65rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;border-radius:var(--r);border:2px solid rgba(255,255,255,.55);color:var(--white);background:transparent;transition:all var(--t) var(--ease);cursor:pointer;white-space:nowrap;line-height:1}
.btn--white-outline:hover{background:rgba(255,255,255,.12);border-color:var(--white)}
.btn--sm{padding:.5rem 1.1rem;font-size:.75rem}
.btn--lg{padding:.82rem 2rem;font-size:.87rem}
.btn--arrow::after{content:" \2192"}

/* ═══════════════════════════════════════
   SECTION LABEL
═══════════════════════════════════════ */
.sec-label{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:.85rem;display:block}

/* ═══════════════════════════════════════
   HEADER
═══════════════════════════════════════ */
#ub-header{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--hdr);background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);gap:1.5rem;transition:box-shadow var(--t)}
#ub-header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.07)}
.logo{display:inline-flex;align-items:center;gap:6px;font-size:1.18rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--dark);flex-shrink:0;line-height:1}
.logo-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.8px solid currentColor;border-radius:3px;position:relative;flex-shrink:0}
.logo-box::after{content:"";position:absolute;width:7px;height:7px;border:1.4px solid currentColor;transform:rotate(45deg)}
.ub-nav{display:flex;align-items:center;flex:1;justify-content:center;gap:.2rem}
.nav-item{position:relative}
.nav-item>a{display:flex;align-items:center;gap:.28rem;font-size:.8rem;font-weight:500;color:var(--dark);padding:.55rem 1rem;white-space:nowrap;transition:color var(--t)}
.nav-item>a:hover{color:var(--teal)}
.nav-arrow{font-size:.5rem;opacity:.5;transition:transform var(--t)}
.nav-item:hover .nav-arrow{transform:rotate(180deg)}
.nav-drop{position:absolute;top:calc(100% + 4px);left:0;background:var(--white);border:1px solid var(--border);border-radius:10px;min-width:185px;padding:.4rem 0;box-shadow:0 8px 28px rgba(0,0,0,.09);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--t) var(--ease);pointer-events:none;z-index:200}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.nav-drop a{display:block;padding:.6rem 1.1rem;font-size:.8rem;color:var(--text);transition:background var(--t),color var(--t)}
.nav-drop a:hover{background:var(--bg);color:var(--teal)}
.nav-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.nav-search{font-size:1rem;color:var(--muted);padding:.35rem;border-radius:50%;transition:color var(--t);cursor:pointer;background:none;border:none}
.nav-search:hover{color:var(--teal)}
.nav-login{font-size:.8rem;font-weight:500;color:var(--dark);white-space:nowrap}
.nav-login:hover{color:var(--teal)}
.nav-flags{display:flex;gap:.3rem;font-size:.95rem;line-height:1}
.burger{display:none;flex-direction:column;gap:5px;width:28px;padding:3px 0;z-index:1000;cursor:pointer;background:none;border:none}
.burger span{display:block;height:1.5px;background:var(--dark);border-radius:2px;transition:all .28s var(--ease)}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
.mob-menu{display:none;position:fixed;inset:0;background:var(--white);z-index:800;flex-direction:column;justify-content:center;padding:5rem var(--pad) 3rem;overflow-y:auto}
.mob-menu.open{display:flex}
.mob-menu a{font-size:clamp(1.2rem,5vw,1.8rem);font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.06em;padding:.7rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:color var(--t)}
.mob-menu a:hover{color:var(--teal)}
.mob-cta{margin-top:2rem !important;border:none !important;width:fit-content !important}

/* ═══════════════════════════════════════
   HERO — FULL BLEED
═══════════════════════════════════════ */
.ub-hero {
  display: block;
  width: 100%;
}

.ub-hero--full {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  width: 100%;
  overflow: hidden;
  padding-top: var(--hdr);
  background: var(--dark);
}

.ub-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.ub-hero__video,
.ub-hero__bgimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ub-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.52);
  z-index: 1;
}

.ub-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 900px;
  padding: 5rem var(--pad);
  margin: 0 auto;
  float: none;
}

.ub-hero__eyebrow {
  display: block;
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .7);
  margin-bottom: 1rem;
}

.ub-hero--full h1,
.ub-hero__title {
  color: #ffffff;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: 1.08;
  margin-bottom: 1.2rem;
  text-align: center;
}

.ub-hero__sub {
  color: rgba(255, 255, 255, .75);
  font-size: clamp(.95rem, 2vw, 1.1rem);
  max-width: 560px;
  margin: 0 auto 2.2rem;
  line-height: 1.75;
  text-align: center;
}

.ub-hero__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn--white-outline {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .82rem 2rem;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .05em;
  border-radius: var(--r);
  border: 2px solid rgba(255, 255, 255, .55);
  color: #ffffff;
  background: transparent;
  transition: all var(--t) var(--ease);
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
}

.btn--white-outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: #ffffff;
}

@media (max-width: 768px) {
  .ub-hero--full {
    min-height: 85vh;
    align-items: flex-end;
    padding-bottom: 3rem;
  }
  .ub-hero__content {
    padding: 3rem var(--pad) 2rem;
  }
  .ub-hero__actions {
    flex-direction: column;
    align-items: center;
  }
}

/* ═══════════════════════════════════════
   WHAT MAKES US UNIQUE
═══════════════════════════════════════ */
.unique-section {
  padding: clamp(4rem,8vw,8rem) 0;
  background: var(--white);
  overflow: hidden;
}
.unique-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: end;
  max-width: var(--max);
  margin: 0 auto clamp(2.5rem,5vw,4rem);
  padding: 0 var(--pad);
}
.unique-head h2 {
  font-size: clamp(2.4rem,5vw,4rem);
  line-height: 1.05;
  margin: 0;
}
.unique-head__desc {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.8;
  max-width: 420px;
  justify-self: end;
  align-self: end;
  margin: 0;
}
.unique-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1.2rem;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad);
  align-items: stretch;
}
.unique-card {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  cursor: pointer;
  min-height: 480px;
  background: var(--dark);
}
.unique-card--tall { min-height: 580px; }
.unique-card__img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.unique-card__img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .7s cubic-bezier(.25,.46,.45,.94);
}
.unique-card:hover .unique-card__img img { transform: scale(1.05); }
.unique-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0,0,0,.08) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.82) 100%);
  transition: background .4s ease;
}
.unique-card:hover::before {
  background: linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.3) 30%, rgba(0,0,0,.9) 100%);
}
.unique-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.8rem;
}
.unique-card__num {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .2em;
  color: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 100px;
  padding: .3rem .85rem;
  width: fit-content;
  backdrop-filter: blur(4px);
  background: rgba(255,255,255,.07);
  transition: color .3s, border-color .3s;
}
.unique-card:hover .unique-card__num { color: var(--white); border-color: rgba(255,255,255,.5); }
.unique-card__body { transform: translateY(10px); transition: transform .4s ease; }
.unique-card:hover .unique-card__body { transform: translateY(0); }
.unique-card__body h3 { color: var(--white); font-size: clamp(1.2rem,2.2vw,1.6rem); margin-bottom: .6rem; line-height: 1.2; }
.unique-card__body p {
  color: rgba(255,255,255,0);
  font-size: .88rem;
  line-height: 1.7;
  margin-bottom: 1rem;
  max-height: 0;
  overflow: hidden;
  transition: color .4s ease .1s, max-height .4s ease .1s;
}
.unique-card:hover .unique-card__body p { color: rgba(255,255,255,.78); max-height: 200px; }
.unique-card__link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s ease .2s, transform .3s ease .2s;
}
.unique-card:hover .unique-card__link { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════
   STATS BAR
═══════════════════════════════════════ */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.stat-item{background:var(--white);border:1px solid var(--border);border-radius:var(--rc);padding:2rem 1.5rem;text-align:center}
.stat-num{font-size:2.6rem;font-weight:800;color:var(--teal);line-height:1;margin-bottom:.3rem}
.stat-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* ═══════════════════════════════════════
   COMMUNITY CARDS
═══════════════════════════════════════ */
.community{padding:clamp(60px,8vw,110px) 0;background:var(--bg)}
.community-head{display:flex;justify-content:space-between;align-items:flex-end;padding:0 var(--pad);max-width:var(--max);margin:0 auto 3rem;flex-wrap:wrap;gap:1.2rem}
.community-track{display:flex;gap:1.2rem;padding:0 var(--pad) 1.5rem;max-width:var(--max);margin:0 auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.community-track::-webkit-scrollbar{display:none}
.c-card{flex:0 0 285px;background:var(--white);border-radius:var(--rc);overflow:hidden;display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--border);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.c-card:hover{transform:translateY(-5px);box-shadow:0 14px 45px rgba(0,0,0,.08)}
.c-card--feat{background:var(--teal);border-color:var(--teal)}
.c-card--feat h3,.c-card--feat p,.c-card--feat .c-link{color:var(--white)}
.c-body{padding:2rem 1.8rem;flex:1;display:flex;flex-direction:column}
.c-card h3{margin-bottom:.6rem}
.c-card p{font-size:.83rem;line-height:1.75;flex:1;margin-bottom:1.3rem}
.c-link{font-size:.76rem;font-weight:600;letter-spacing:.05em;color:var(--dark);display:flex;align-items:center;gap:.35rem;transition:gap var(--t)}
.c-link::after{content:"\2192"}
.c-link:hover{gap:.7rem}
.c-img{height:215px;overflow:hidden;background:var(--bg2)}
.c-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.c-card:hover .c-img img{transform:scale(1.05)}

/* ═══════════════════════════════════════
   VIRTUAL OFFICE TABS
═══════════════════════════════════════ */
.vo{background:var(--white);padding:clamp(60px,8vw,110px) 0}
.vo-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2.8rem}
.vo-tab{padding:.52rem 1.25rem;border-radius:var(--r);border:1.5px solid var(--border);font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--t);background:var(--white)}
.vo-tab.active,.vo-tab:hover{background:var(--teal);color:var(--white);border-color:var(--teal)}
.vo-panel{display:none}
.vo-panel.active{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--rc);overflow:hidden;border:1px solid var(--border)}
.vo-img{min-height:420px;overflow:hidden;background:var(--bg2)}
.vo-img img{width:100%;height:100%;object-fit:cover}
.vo-body{padding:clamp(2rem,4vw,3.5rem) clamp(2rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center}
.vo-body h2{font-size:clamp(1.5rem,2.5vw,2.1rem);text-transform:none;letter-spacing:-.01em;margin-bottom:1.1rem}
.vo-body>p{margin-bottom:1.8rem}
.vo-list{border-left:3px solid var(--teal);padding-left:1.1rem;margin-bottom:2rem}
.vo-list li{font-size:.87rem;color:var(--text);padding:.28rem 0;line-height:1.6}

/* ═══════════════════════════════════════
   LOCATIONS
═══════════════════════════════════════ */
.locations{background:var(--bg);padding:clamp(60px,9vw,120px) 0}
.loc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.2rem;flex-wrap:wrap;gap:1.2rem}
.loc-tabs{display:flex;gap:.55rem}
.loc-tab{padding:.48rem 1.4rem;border-radius:var(--r);border:1.5px solid var(--border);background:var(--white);font-size:.78rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--t)}
.loc-tab.active{background:var(--teal);color:var(--white);border-color:var(--teal)}
.loc-tab:hover:not(.active){border-color:var(--teal);color:var(--teal)}
.loc-grid{display:none;flex-direction:column;gap:1rem}
.loc-grid.active{display:flex}
.loc-row{display:grid;gap:1rem}
.loc-row-3{grid-template-columns:repeat(3,1fr)}
.loc-row-2{grid-template-columns:repeat(2,1fr)}
.loc-card{position:relative;border-radius:var(--rc);overflow:hidden;height:255px;background:var(--bg2)}
.loc-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.loc-card:hover img{transform:scale(1.05)}
.loc-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 65%);padding:1.4rem}
.loc-name{font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:.2rem}
.loc-addr{font-size:.73rem;color:rgba(255,255,255,.65)}
.loc-btn{position:absolute;bottom:1.1rem;right:1.1rem;background:var(--teal);color:var(--white);padding:.42rem 1.05rem;border-radius:var(--r);font-size:.73rem;font-weight:600;transition:background var(--t);display:inline-block}
.loc-btn:hover{background:var(--teal-d);color:var(--white)}

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */
.faq-section{background:var(--bg);padding:clamp(60px,9vw,120px) 0}
.faq-hero{background:var(--bg2);border-radius:var(--rc);padding:clamp(2.5rem,6vw,5rem) var(--pad);text-align:center;margin-bottom:4rem}
.faq-hero h2{font-size:clamp(2rem,5vw,3.6rem);margin-bottom:1.8rem;letter-spacing:.07em}
.faq-search-wrap{display:flex;align-items:center;gap:.75rem;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:.72rem 1.5rem;max-width:490px;margin:0 auto;transition:border-color var(--t)}
.faq-search-wrap:focus-within{border-color:var(--teal)}
.faq-search-wrap input{border:none;outline:none;font:inherit;font-size:.93rem;flex:1;background:transparent;color:var(--text)}
.faq-body{display:grid;grid-template-columns:210px 1fr;gap:3rem;align-items:start}
.faq-sidebar{position:sticky;top:calc(var(--hdr) + 20px)}
.faq-cat{display:block;width:100%;text-align:left;font-size:.9rem;font-weight:500;color:var(--muted);padding:.7rem 0;cursor:pointer;background:none;border:none;transition:color var(--t);position:relative}
.faq-cat:hover{color:var(--dark)}
.faq-cat.active{color:var(--dark);font-weight:700}
.faq-cat.active::before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:3px;height:65%;background:var(--teal);border-radius:2px}
.faq-group{display:none}
.faq-group.active{display:block}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;cursor:pointer;gap:1rem}
.faq-q span:first-child{font-size:.96rem;font-weight:500;color:var(--dark);line-height:1.5}
.faq-chevron{flex-shrink:0;width:26px;height:26px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--muted);transition:transform var(--t),background var(--t),color var(--t),border-color var(--t)}
.faq-item.open .faq-chevron{transform:rotate(180deg);background:var(--teal);color:var(--white);border-color:var(--teal)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .38s var(--ease)}
.faq-item.open .faq-ans{max-height:600px}
.faq-ans p{padding:0 0 1.4rem;font-size:.88rem;color:var(--muted);line-height:1.85}

/* ═══════════════════════════════════════
   ENQUIRE CTA
═══════════════════════════════════════ */
.enquire{background:var(--white);padding:clamp(90px,11vw,150px) var(--pad);text-align:center;border-top:1px solid var(--border)}
.enquire h2{font-size:clamp(2.2rem,5.5vw,4.5rem);margin-bottom:.9rem}
.enquire>p{max-width:480px;margin:0 auto 2.5rem;font-size:.97rem}
.enquire-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ═══════════════════════════════════════
   INNER PAGE HERO
═══════════════════════════════════════ */
.page-hero{background:var(--bg2);padding:clamp(4rem,8vw,8rem) var(--pad) clamp(3rem,6vw,5rem);margin-top:var(--hdr)}
.page-hero--dark{background:var(--dark)}
.page-hero--dark h1,.page-hero--dark .page-hero__sub{color:var(--white)}
.page-hero__eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;display:block}
.page-hero h1{max-width:700px;margin-bottom:1rem}
.page-hero__sub{font-size:1rem;color:var(--muted);max-width:560px;line-height:1.85}

/* ═══════════════════════════════════════
   PRICING
═══════════════════════════════════════ */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:3rem}
.pricing-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rc);padding:2.2rem 2rem;display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t)}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.07)}
.pricing-card--feat{background:var(--teal);border-color:var(--teal)}
.pricing-card--feat h3,.pricing-card--feat .price,.pricing-card--feat .price-period,.pricing-card--feat li,.pricing-card--feat p{color:var(--white)}
.pricing-card h3{margin-bottom:.4rem}
.price{font-size:2.4rem;font-weight:800;color:var(--dark);line-height:1;margin:.8rem 0 .2rem}
.price-period{font-size:.78rem;color:var(--muted);margin-bottom:1.5rem}
.pricing-card ul{flex:1;margin-bottom:2rem}
.pricing-card li{font-size:.85rem;color:var(--text);padding:.38rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.pricing-card--feat li{border-color:rgba(255,255,255,.2);color:var(--white)}
.pricing-card li::before{content:"✓";color:var(--teal);font-weight:700;flex-shrink:0}
.pricing-card--feat li::before{color:var(--white)}

/* ═══════════════════════════════════════
   FEATURES GRID
═══════════════════════════════════════ */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-top:2.5rem}
.feat-item{background:var(--white);border-radius:var(--rc);padding:2rem;border:1px solid var(--border)}
.feat-icon{font-size:1.8rem;margin-bottom:1rem}
.feat-item h4{margin-bottom:.5rem;font-size:.95rem}
.feat-item p{font-size:.85rem}

/* ═══════════════════════════════════════
   CONTENT SPLIT
═══════════════════════════════════════ */
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.content-split.reverse{direction:rtl}
.content-split.reverse>*{direction:ltr}
.content-split img{border-radius:var(--rc);width:100%;object-fit:cover;height:420px}
.content-split h2{margin-bottom:1.1rem}
.content-split p{margin-bottom:1.5rem}

/* ═══════════════════════════════════════
   TEAM
═══════════════════════════════════════ */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.team-card{text-align:center}
.team-img{width:100%;aspect-ratio:1;border-radius:var(--rc);overflow:hidden;margin-bottom:1rem;background:var(--bg2)}
.team-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.team-card:hover .team-img img{transform:scale(1.04)}
.team-card h4{font-size:.9rem;margin-bottom:.2rem}
.team-card p{font-size:.8rem}

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}
.testi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rc);padding:2rem}
.testi-stars{color:var(--teal);font-size:.85rem;margin-bottom:.8rem;letter-spacing:.1em}
.testi-card p{font-size:.88rem;line-height:1.75;margin-bottom:1.3rem;color:var(--text)}
.testi-author{display:flex;align-items:center;gap:.75rem}
.testi-av{width:38px;height:38px;border-radius:50%;background:var(--bg2);overflow:hidden;flex-shrink:0}
.testi-av img{width:100%;height:100%;object-fit:cover}
.testi-name{font-size:.82rem;font-weight:700;color:var(--dark)}
.testi-role{font-size:.75rem;color:var(--muted)}

/* ═══════════════════════════════════════
   CONTACT
═══════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.contact-info h2{margin-bottom:1.2rem}
.contact-info p{margin-bottom:2rem}
.contact-detail{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.5rem}
.contact-detail-icon{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}
.contact-detail h4{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.contact-detail p{font-size:.9rem;color:var(--dark);margin:0}
.ub-form{background:var(--white);border:1px solid var(--border);border-radius:var(--rc);padding:2.5rem}
.ub-form h3{margin-bottom:1.8rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.form-group label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dark)}
.form-group input,.form-group select,.form-group textarea{padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:8px;font:inherit;font-size:.88rem;color:var(--text);background:var(--bg);transition:border-color var(--t),background var(--t);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal);background:var(--white)}
.form-group textarea{resize:vertical;min-height:110px}
.form-submit{margin-top:.5rem}
.form-success{display:none;background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;border-radius:8px;padding:1rem;font-size:.88rem;margin-top:1rem;text-align:center}

/* ═══════════════════════════════════════
   404
═══════════════════════════════════════ */
.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--hdr));text-align:center;padding:3rem var(--pad)}
.not-found h1{font-size:clamp(5rem,18vw,12rem);color:var(--teal);margin-bottom:0}
.not-found h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:1rem}
.not-found p{max-width:420px;margin:0 auto 2rem}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
#ub-footer{background:var(--dark);color:rgba(255,255,255,.5);padding:5rem var(--pad) 2rem}
.footer-inner{max-width:var(--max);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3.5rem;margin-bottom:3.5rem}
.f-brand .logo{color:var(--white);margin-bottom:1.1rem}
.f-brand p{font-size:.85rem;line-height:1.85;max-width:270px;margin-bottom:1.5rem}
.f-social{display:flex;gap:.55rem}
.f-social a{width:35px;height:35px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(255,255,255,.45);transition:all var(--t)}
.f-social a:hover{border-color:var(--teal);color:var(--teal)}
.f-col h5{font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--white);margin-bottom:1.3rem}
.f-col li{margin-bottom:.85rem}
.f-col a{font-size:.83rem;color:rgba(255,255,255,.45);transition:color var(--t)}
.f-col a:hover{color:var(--teal)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.07)}
.footer-bottom p{font-size:.75rem}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:.73rem;color:rgba(255,255,255,.35);transition:color var(--t)}
.footer-legal a:hover{color:var(--teal)}

/* ═══════════════════════════════════════
   FLOATING ACTIONS
═══════════════════════════════════════ */
.floating{position:fixed;right:1.2rem;top:50%;transform:translateY(-50%);z-index:500;display:flex;flex-direction:column;gap:.6rem}
.floating a{width:42px;height:42px;background:var(--white);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:all var(--t)}
.floating a:hover{background:var(--teal);border-color:var(--teal);color:var(--white);transform:scale(1.1)}
.back-top{position:fixed;bottom:1.5rem;right:1.5rem;width:40px;height:40px;background:var(--dark);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;visibility:hidden;transition:all var(--t);z-index:500;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--teal)}

/* ═══════════════════════════════════════
   ELEMENTOR OVERRIDES
═══════════════════════════════════════ */
.elementor-page #ub-main{padding:0 !important}
body.elementor-editor-active .ub-hero{margin:0}
.e-con,.e-child,.elementor-section{position:relative}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .loc-row-3{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .content-split{grid-template-columns:1fr}
  .content-split img{height:300px}
  .unique-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .vo-panel.active{grid-template-columns:1fr}
  .vo-img{min-height:260px}
  .faq-body{grid-template-columns:1fr}
  .faq-sidebar{position:static;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
  .faq-cat{padding:.45rem 1rem;border-radius:var(--r);border:1.5px solid var(--border);background:var(--white);width:auto}
  .faq-cat.active{background:var(--teal);color:var(--white);border-color:var(--teal)}
  .faq-cat.active::before{display:none}
  .loc-top{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .unique-head{grid-template-columns:1fr}
  .unique-head__desc{justify-self:start}
  .unique-grid{grid-template-columns:1fr}
  .unique-card,.unique-card--tall{min-height:380px}
  .ub-hero--full{min-height:85vh !important}
}
@media(max-width:768px){
  .ub-nav,.nav-flags,.nav-login,.nav-search{display:none}
  .burger{display:flex}
  .nav-right .btn{display:none}
  .loc-row-3,.loc-row-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .community-track .c-card{flex:0 0 83vw}
  .floating{display:none}
}
@media(max-width:480px){
  .ub-hero__actions,.enquire-btns{flex-direction:column;align-items:center}
  .pricing-grid{grid-template-columns:1fr}
}
