/* Haute Alfresco – homepage UI refresh (hero slider untouched) */
:root{
  --ha-accent:#f0851b;
  --ha-accent-dark:#d66f0a;
  --ha-ink:#14181d;
  --ha-ink-2:#1f262e;
  --ha-muted:#5b6672;
  --ha-line:rgba(20,24,29,.08);
  --ha-radius:20px;
  --ha-shadow-sm:0 1px 2px rgba(20,24,29,.05),0 4px 14px rgba(20,24,29,.06);
  --ha-shadow-md:0 2px 4px rgba(20,24,29,.05),0 14px 34px rgba(20,24,29,.10);
  --ha-shadow-lg:0 4px 8px rgba(20,24,29,.06),0 28px 60px rgba(20,24,29,.16);
  --ha-ease:cubic-bezier(.22,.8,.3,1);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------- Header ---------- */
body > header,header.sticky,header[class*="fixed"]{
  background:rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  box-shadow:0 1px 0 var(--ha-line),0 8px 30px rgba(20,24,29,.05)!important;
}

/* ---------- Section rhythm & headings ---------- */
main>section:not(:first-of-type):not(#_){padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}
main>section:not(:first-of-type):not(#_) h2{
  font-weight:800;letter-spacing:-.02em;line-height:1.1;text-wrap:balance;
  font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);
}
main>section:not(:first-of-type):not(#_) h3{letter-spacing:-.01em}
main>section:not(:first-of-type):not(#_) p{text-wrap:pretty}
main>section:not(:first-of-type):not(#_) p.uppercase{
  display:inline-flex;align-items:center;gap:.7rem;
  color:var(--ha-accent-dark);font-weight:700;font-size:.78rem;letter-spacing:.2em;
}
main>section:not(:first-of-type):not(#_) p.uppercase::before,main>section:not(:first-of-type):not(#_) p.uppercase::after{
  content:"";width:28px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--ha-accent));
}
main>section:not(:first-of-type):not(#_) p.uppercase::after{background:linear-gradient(270deg,transparent,var(--ha-accent))}
main>section:not(:first-of-type):not(#_) [class*="text-center"] > h2::after{
  content:"";display:block;width:56px;height:4px;border-radius:4px;margin:18px auto 0;
  background:linear-gradient(90deg,var(--ha-accent),#ffb15c);
}
main>section:not(:first-of-type):not(#_) [class*="text-lg"][class*="leading-relaxed"]{color:var(--ha-muted);max-width:62ch;margin-left:auto;margin-right:auto}

/* ---------- Buttons (outside the slider) ---------- */
main>section:not(:first-of-type):not(#_) .btn-primary,main>section:not(:first-of-type):not(#_) .btn-secondary,main>section:not(:first-of-type):not(#_) .btn-outline,
main>section:not(:first-of-type):not(#_) a[class*="btn-"]{
  border-radius:999px!important;font-weight:700;letter-spacing:.02em;
  padding:.85rem 1.8rem;transition:transform .25s var(--ha-ease),box-shadow .25s var(--ha-ease),background-color .25s,color .25s,border-color .25s;
}
main>section:not(:first-of-type):not(#_) .btn-primary,main>section:not(:first-of-type):not(#_) .btn-secondary{
  background:linear-gradient(135deg,#ff9a3c,var(--ha-accent) 55%,var(--ha-accent-dark))!important;
  color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(240,133,27,.35);
}
main>section:not(:first-of-type):not(#_) .btn-primary:hover,main>section:not(:first-of-type):not(#_) .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(240,133,27,.45)}
main>section:not(:first-of-type):not(#_) .btn-outline{background:transparent;border:2px solid var(--ha-ink)!important;color:var(--ha-ink)}
main>section:not(:first-of-type):not(#_) .btn-outline:hover{background:var(--ha-ink);color:#fff;transform:translateY(-2px);box-shadow:var(--ha-shadow-md)}
main>section:not(:first-of-type):not(#_) a.bg-haute-900,main>section:not(:first-of-type):not(#_) a[class*="bg-haute-9"]{border-radius:999px;box-shadow:0 8px 22px rgba(20,24,29,.25);transition:transform .25s var(--ha-ease),box-shadow .25s}
main>section:not(:first-of-type):not(#_) a.bg-haute-900:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,24,29,.32)}

/* ---------- Cards ---------- */
main>section:not(:first-of-type):not(#_) [class*="rounded-2xl"]:not(img):not([class*="absolute"]):not([class*="overflow-hidden"][class*="shadow-xl"]),
main>section:not(:first-of-type):not(#_) [class*="rounded-xl"]:not(img):not(a):not(button):not([class*="absolute"]){
  border-radius:var(--ha-radius)!important;
  border:1px solid var(--ha-line);
  box-shadow:var(--ha-shadow-sm);
  transition:translate .45s var(--ha-ease),box-shadow .45s var(--ha-ease),border-color .3s;
}
main>section:not(:first-of-type):not(#_) [class*="rounded-2xl"]:not(img):not([class*="absolute"]):hover,
main>section:not(:first-of-type):not(#_) [class*="rounded-xl"]:not(img):not(a):not(button):not([class*="absolute"]):hover{
  translate:0 -6px;box-shadow:var(--ha-shadow-lg);border-color:rgba(240,133,27,.35);
}
/* image zoom inside cards */
main>section:not(:first-of-type):not(#_) [class*="rounded-"][class*="overflow-hidden"] img,
main>section:not(:first-of-type):not(#_) a[class*="group"] img{transition:scale .9s var(--ha-ease),filter .6s}
main>section:not(:first-of-type):not(#_) [class*="rounded-"][class*="overflow-hidden"]:hover img,
main>section:not(:first-of-type):not(#_) .group:hover img{scale:1.06}
main>section:not(:first-of-type):not(#_) img[class*="rounded"]{border-radius:calc(var(--ha-radius) - 4px)}

/* numbered guide cards */
main>section:not(:first-of-type):not(#_) span[class*="text-6xl"]{font-weight:900;color:rgba(240,133,27,.14)!important;letter-spacing:-.04em}
main>section:not(:first-of-type):not(#_) div[class*="w-12"][class*="h-12"][class*="rounded-lg"]{
  background:linear-gradient(135deg,rgba(240,133,27,.18),rgba(240,133,27,.06))!important;
  border-radius:14px!important;box-shadow:inset 0 0 0 1px rgba(240,133,27,.25);
}
/* hero image under guide heading */
main>section:not(:first-of-type):not(#_) div[class*="shadow-xl"][class*="overflow-hidden"]{border-radius:28px;box-shadow:var(--ha-shadow-lg)}
main>section:not(:first-of-type):not(#_) div[class*="shadow-xl"][class*="overflow-hidden"] img{height:clamp(240px,34vw,440px)}

/* tick lists */
main>section:not(:first-of-type):not(#_) li{line-height:1.6}

/* ---------- Dark sections (range / virtual tour) ---------- */
main > section[class*="from-haute-900"]:not(#_){
  background:
    radial-gradient(900px 420px at 85% -10%,rgba(240,133,27,.22),transparent 60%),
    radial-gradient(700px 380px at -5% 110%,rgba(255,255,255,.07),transparent 60%),
    linear-gradient(160deg,#0f1317,#1b222a 55%,#0f1317)!important;
}
main > section[class*="from-haute-900"]:not(#_) h2{color:#fff}
main > section[class*="from-haute-900"]:not(#_) .swiper-slide .overflow-hidden{
  border:1px solid rgba(255,255,255,.10)!important;border-radius:var(--ha-radius)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.35);transition:border-color .35s,box-shadow .35s var(--ha-ease);
}
main > section[class*="from-haute-900"]:not(#_) .swiper-slide:hover .overflow-hidden{border-color:rgba(240,133,27,.65)!important;box-shadow:0 26px 54px rgba(0,0,0,.5)}
main > section[class*="from-haute-900"]:not(#_) .swiper-pagination-bullet{background:rgba(255,255,255,.4);opacity:1;transition:width .3s var(--ha-ease),background .3s}
main > section[class*="from-haute-900"]:not(#_) .swiper-pagination-bullet-active{background:var(--ha-accent);width:26px;border-radius:99px}
main > section[class*="from-haute-900"]:not(#_) a[class*="bg-white"]{border-radius:999px!important;box-shadow:0 12px 30px rgba(0,0,0,.35);transition:transform .25s var(--ha-ease),box-shadow .25s}
main > section[class*="from-haute-900"]:not(#_) a[class*="bg-white"]:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.45)}

/* ---------- Why choose us ---------- */
main>section:not(:first-of-type):not(#_) div[class*="rounded-full"][class*="border"]{
  border:0!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#ffb15c,var(--ha-accent-dark)) border-box!important;
  border:2px solid transparent!important;
  box-shadow:0 10px 28px rgba(240,133,27,.22);
  transition:transform .4s var(--ha-ease),box-shadow .4s var(--ha-ease);
}
main>section:not(:first-of-type):not(#_) div[class*="rounded-full"][class*="border"]:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 18px 38px rgba(240,133,27,.34)}

/* ---------- FAQ ---------- */
main>section:not(:first-of-type):not(#_) details,main>section:not(:first-of-type):not(#_) [class*="faq"] > div{
  border-radius:16px;border:1px solid var(--ha-line);background:#fff;box-shadow:var(--ha-shadow-sm);
  transition:box-shadow .3s var(--ha-ease),border-color .3s;
}
main>section:not(:first-of-type):not(#_) details:hover,main>section:not(:first-of-type):not(#_) [class*="faq"] > div:hover{box-shadow:var(--ha-shadow-md);border-color:rgba(240,133,27,.35)}
main>section:not(:first-of-type):not(#_) details[open]{border-color:var(--ha-accent);box-shadow:var(--ha-shadow-md)}
main>section:not(:first-of-type):not(#_) button[class*="w-full"][class*="text-left"]{font-weight:700;letter-spacing:-.005em}

/* ---------- Testimonials ---------- */
main>section:not(:first-of-type):not(#_) blockquote,main>section:not(:first-of-type):not(#_) [class*="italic"]{position:relative;line-height:1.7}
main>section:not(:first-of-type):not(#_) [class*="rounded-"] p[class*="italic"],main>section:not(:first-of-type):not(#_) [class*="rounded-"] blockquote{color:var(--ha-ink-2)}

/* ---------- Final CTA ---------- */
main > section[class*="bg-accent-500"]:not(#_){
  background:
    radial-gradient(800px 360px at 90% 0%,rgba(255,255,255,.22),transparent 60%),
    radial-gradient(600px 300px at 0% 100%,rgba(0,0,0,.18),transparent 60%),
    linear-gradient(135deg,#ff9a3c,var(--ha-accent) 45%,var(--ha-accent-dark))!important;
}
main > section[class*="bg-accent-500"] h2{color:#fff}
main > section[class*="bg-accent-500"] h2::after{background:#fff!important;opacity:.85}
main > section[class*="bg-accent-500"] p{color:rgba(255,255,255,.92)!important}
main > section[class*="bg-accent-500"] .flex a{box-shadow:0 12px 30px rgba(0,0,0,.22)}

/* ---------- Floating quote button ---------- */
a[class*="fixed"][class*="bottom"]{
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff9a3c,var(--ha-accent-dark))!important;
  box-shadow:0 12px 30px rgba(240,133,27,.45)!important;
  animation:haPulse 3.2s ease-in-out infinite;
}
@keyframes haPulse{0%,100%{box-shadow:0 12px 30px rgba(240,133,27,.45),0 0 0 0 rgba(240,133,27,.35)}50%{box-shadow:0 12px 30px rgba(240,133,27,.45),0 0 0 14px rgba(240,133,27,0)}}

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (max-width:640px){
  main>section:not(:first-of-type):not(#_) [class*="rounded-2xl"]:hover{translate:none}
}

/* ---------- Testimonial cards ---------- */
main>section:not(:first-of-type):not(#_) [class*="rounded"][class*="bg-haute-50"]:not(section){
  position:relative;background:#fff!important;border:1px solid var(--ha-line);border-radius:var(--ha-radius)!important;
  box-shadow:var(--ha-shadow-md);padding:2rem 1.75rem;overflow:hidden;
  transition:translate .45s var(--ha-ease),box-shadow .45s var(--ha-ease);
}
main>section:not(:first-of-type):not(#_) [class*="rounded"][class*="bg-haute-50"]:not(section)::before{
  content:"\201C";position:absolute;top:-.1em;right:.35em;font:900 7rem/1 Georgia,serif;color:rgba(240,133,27,.14);pointer-events:none;
}
main>section:not(:first-of-type):not(#_) [class*="rounded"][class*="bg-haute-50"]:not(section):hover{translate:0 -6px;box-shadow:var(--ha-shadow-lg)}
