/* Consult Spaces V41 — premium gradient visual system */
:root{
  --cs-ink:#053b58;
  --cs-ink-2:#0b5f76;
  --cs-teal:#00a6a6;
  --cs-green:#62ad55;
  --cs-sage:#98a869;
  --cs-blue:#7393b3;
  --cs-gold:#c8a85b;
  --cs-surface:#ffffff;
  --cs-soft:#f6faf9;
  --cs-line:rgba(7,58,87,.12);
  --cs-shadow:0 18px 50px rgba(5,59,88,.10);
  --cs-shadow-hover:0 24px 65px rgba(5,59,88,.16);
  --cs-grad:linear-gradient(100deg,#053b58 0%,#0b6d7f 38%,#62ad55 72%,#00a6a6 100%);
  --cs-grad-soft:linear-gradient(135deg,rgba(5,59,88,.06),rgba(98,173,85,.08),rgba(0,166,166,.04));
}

html{scroll-behavior:smooth}
body{background:#fff;color:var(--cs-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* Sitewide premium gradient headings with safe fallback */
main h1,main h2,.page-hero h1,.inner-hero h1,.detail-hero h1,.home3-hero-copy h1,
.home3-section-head h2,.home3-center-head h2,.cs9-section h2,.section-title h2,
.hero-content h1,.page-title h1,.project-hero h1,.developer-hero h1{
  color:var(--cs-ink);
  background-image:var(--cs-grad);
  background-size:140% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:-.035em;
  text-wrap:balance;
}

/* Do not gradient small utility headings or dark-overlay heading children that need white */
.home3-hero-copy h1 span{background:linear-gradient(100deg,#79c96b,#27b8aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#62ad55}
footer h1,footer h2,footer h3,.site-footer h1,.site-footer h2,.site-footer h3,
.home3-cta h2,.dark-section h1,.dark-section h2,.dark-section h3{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}

.home3-eyebrow,.eyebrow,.section-kicker,.overline,.page-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  color:#0a7180!important;font-weight:800!important;letter-spacing:.16em!important;
  background:linear-gradient(90deg,rgba(98,173,85,.12),rgba(0,166,166,.10));
  border:1px solid rgba(0,166,166,.14);border-radius:999px;padding:8px 13px;
}
.home3-eyebrow::before,.eyebrow::before,.section-kicker::before,.overline::before,.page-eyebrow::before{
  content:"";width:19px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--cs-green),var(--cs-teal));
}

/* Refined section rhythm and subtle premium backgrounds */
main section{position:relative}
.home3-section,.cs9-section,.section,.content-section{isolation:isolate}
.home3-section:nth-of-type(even),.cs9-section:nth-of-type(even),main>.section:nth-of-type(even){background:var(--cs-grad-soft)}
.home3-section::before,.cs9-section::before{pointer-events:none;content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 88% 8%,rgba(98,173,85,.08),transparent 30%),radial-gradient(circle at 8% 88%,rgba(115,147,179,.07),transparent 28%)}

/* Premium cards across the website */
.modern-card,.home-project-card,.project-card,.developer-card,.property-card,.service-card,.blog-card,
.home3-category-grid>a,.home-stat-card,.cs9-blog-grid article,.testimonial-card,.feature-card,.info-card,
.projects-grid>article,.developers-grid>article,.card{
  border:1px solid var(--cs-line)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,252,251,.96))!important;
  box-shadow:var(--cs-shadow)!important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease!important;
  overflow:hidden;
}
.modern-card:hover,.home-project-card:hover,.project-card:hover,.developer-card:hover,.property-card:hover,.service-card:hover,.blog-card:hover,
.home3-category-grid>a:hover,.home-stat-card:hover,.cs9-blog-grid article:hover,.testimonial-card:hover,.feature-card:hover,.info-card:hover,
.projects-grid>article:hover,.developers-grid>article:hover,.card:hover{
  transform:translateY(-7px);box-shadow:var(--cs-shadow-hover)!important;border-color:rgba(0,166,166,.30)!important;
}
.home-project-media,.project-card-media,.card-media,.cs9-blog-grid article>a:first-child{position:relative;overflow:hidden}
.home-project-media::after,.project-card-media::after,.card-media::after,.cs9-blog-grid article>a:first-child::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,59,88,.22));pointer-events:none
}
.home-project-media img,.project-card-media img,.card-media img,.cs9-blog-grid img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.home-project-card:hover img,.project-card:hover img,.modern-card:hover img,.cs9-blog-grid article:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.02)}

/* Card typography */
.home-project-body h3,.project-card h3,.developer-card h3,.cs9-blog-grid h3,.modern-card h3,
.projects-grid h3,.developers-grid h3{color:var(--cs-ink)!important;font-weight:800!important;letter-spacing:-.025em}
.project-price strong,.price strong,.home-stat-card strong,.metric-value{
  background:var(--cs-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--cs-ink);font-weight:800!important
}
.project-location,.project-config,.card p,.section-subtitle,.lead,.muted{color:#5f7e8d!important}

/* Premium buttons */
.home3-btn-primary,.primary-btn,.btn-primary,button[type="submit"],input[type="submit"],.cta-button,.book-btn,
.home3-search button,.search-button,.hero-search button,.form-submit{
  background:linear-gradient(105deg,#62ad55 0%,#00a79d 48%,#078da2 100%)!important;
  border:0!important;color:#fff!important;box-shadow:0 12px 28px rgba(0,166,166,.24)!important;
  position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease!important
}
.home3-btn-primary::after,.primary-btn::after,.btn-primary::after,button[type="submit"]::after,.cta-button::after,.book-btn::after{
  content:"";position:absolute;top:-60%;left:-35%;width:30%;height:220%;transform:rotate(24deg);background:rgba(255,255,255,.28);transition:left .55s ease;pointer-events:none
}
.home3-btn-primary:hover::after,.primary-btn:hover::after,.btn-primary:hover::after,button[type="submit"]:hover::after,.cta-button:hover::after,.book-btn:hover::after{left:115%}
.home3-btn-primary:hover,.primary-btn:hover,.btn-primary:hover,button[type="submit"]:hover,.cta-button:hover,.book-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,166,166,.30)!important;filter:saturate(1.07)}
.home3-btn-outline,.btn-outline,.secondary-btn{border:1px solid rgba(5,59,88,.20)!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(5,59,88,.08)!important}

/* Forms */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  border:1px solid rgba(7,58,87,.16)!important;border-radius:14px!important;background:rgba(255,255,255,.92)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 18px rgba(5,59,88,.04)!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important
}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{
  border-color:rgba(0,166,166,.58)!important;box-shadow:0 0 0 4px rgba(0,166,166,.10),0 10px 28px rgba(5,59,88,.07)!important;background:#fff!important;outline:none
}
label>span,.form-label,.field-label{color:#4d7385!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem!important}
.cs9-lead-form,.contact-form,.enquiry-form,.booking-form,.form-card{background:linear-gradient(145deg,#fff,#f8fcfb)!important;border:1px solid var(--cs-line)!important;border-radius:24px!important;box-shadow:var(--cs-shadow)!important}

/* Search panel and category/stat presentation */
.home3-search,.hero-search,.search-panel,.property-search{background:rgba(255,255,255,.91)!important;backdrop-filter:blur(18px) saturate(1.15);border:1px solid rgba(255,255,255,.66)!important;box-shadow:0 24px 60px rgba(5,59,88,.18)!important}
.home3-category-grid>a span,.home-stat-card>span,.icon-box,.feature-icon{background:linear-gradient(135deg,rgba(98,173,85,.18),rgba(0,166,166,.12))!important;color:#08778a!important;border:1px solid rgba(0,166,166,.13)}

/* FAQ premium states */
.cs9-accordion>div,.faq-item,.accordion-item{background:rgba(255,255,255,.78)!important;border:1px solid rgba(7,58,87,.10)!important;border-radius:16px!important;margin-bottom:12px!important;box-shadow:0 8px 24px rgba(5,59,88,.05)!important;overflow:hidden}
.cs9-accordion button,.faq-question,.accordion-header{font-weight:800!important;color:var(--cs-ink)!important}
.cs9-accordion>div:hover,.faq-item:hover,.accordion-item:hover{border-color:rgba(0,166,166,.28)!important}

/* Hero polish without changing geometry */
.home3-hero,.page-hero,.inner-hero,.project-hero,.developer-hero{isolation:isolate}
.home3-overlay{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 34%,rgba(255,255,255,.20) 72%,rgba(5,59,88,.16) 100%)!important}
.home3-badge{box-shadow:0 8px 24px rgba(5,59,88,.08)}

/* Richer separators */
.home3-section-head,.cs9-section-head-row,.section-header{position:relative}
.home3-section-head::after,.cs9-section-head-row::after,.section-header::after{content:"";position:absolute;left:0;bottom:-18px;width:86px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--cs-green),var(--cs-teal),transparent)}

/* Readability safeguards */
main p,main li,main small,main label,main a{opacity:1}
main h1,main h2,main h3,main h4{visibility:visible!important;opacity:1!important}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  main h1,main h2,.page-hero h1,.inner-hero h1,.detail-hero h1,.home3-hero-copy h1{background:none!important;color:var(--cs-ink)!important;-webkit-text-fill-color:initial!important}
}

@media (max-width:900px){
  main h1,main h2{letter-spacing:-.025em}
  .modern-card:hover,.home-project-card:hover,.project-card:hover,.developer-card:hover,.property-card:hover,.service-card:hover,.blog-card:hover{transform:translateY(-3px)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
