:root{
  --cream:#f6ead8;
  --cream-2:#ead2ad;
  --paper:#fffaf3;
  --brown:#844a0a;
  --brown-2:#844a0a;
  --gold:#c88424;
  --gold-soft:#f1cd7a;
  --green:#844a0a;
  --text:#844a0a;
  --muted:#844a0a;
  --white:#ffffff;
  --dark:#844a0a;
  --border:rgba(132,74,10,.18);
  --shadow:0 20px 55px rgba(132,74,10,.14);
  --shadow-small:0 11px 32px rgba(132,74,10,.11);
  --radius:28px;
  --radius-sm:18px;
  --container:min(1180px, calc(100% - 40px));
  --header-h:82px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--paper);
  font-family:"Be Vietnam Pro",sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
section{scroll-margin-top:100px}
.container{width:var(--container);margin:auto}

.quynhonadv-home-locked{
  min-height:100vh;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(132,74,10,.20),rgba(255,250,243,.60) 34%,rgba(200,132,36,.18)),
    var(--wellness-space-facade) center/cover fixed;
}

.quynhonadv-home-locked::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  background:linear-gradient(120deg,rgba(132,74,10,.80),rgba(132,74,10,.34) 46%,rgba(255,250,243,.76));
  pointer-events:none;
}

.home-lock{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:34px 20px;
}

.home-lock__ambient{
  position:absolute;
  inset:28px;
  border:1px solid rgba(255,250,243,.30);
  border-radius:32px;
  pointer-events:none;
}

.home-lock__ambient::before,
.home-lock__ambient::after{
  content:"";
  position:absolute;
  background:rgba(255,250,243,.42);
}

.home-lock__ambient::before{
  top:26px;
  left:26px;
  right:26px;
  height:1px;
}

.home-lock__ambient::after{
  top:26px;
  bottom:26px;
  right:26px;
  width:1px;
}

.home-lock__panel{
  width:min(480px, 100%);
  padding:42px;
  border:1px solid rgba(255,255,255,.60);
  border-radius:28px;
  background:rgba(255,250,243,.90);
  box-shadow:0 28px 90px rgba(132,74,10,.34);
  backdrop-filter:blur(20px);
}

.home-lock__brand{
  width:78px;
  height:78px;
  display:grid;
  grid-template-columns:1fr 1fr;
  place-items:center;
  gap:2px;
  margin-bottom:24px;
  border:1px solid rgba(200,132,36,.30);
  border-radius:24px;
  color:#fffaf3;
  background:linear-gradient(145deg,#844a0a,#844a0a);
  box-shadow:0 18px 36px rgba(132,74,10,.24);
  font-family:"Playfair Display",serif;
  font-size:24px;
  font-weight:700;
}

.home-lock__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:var(--green);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.home-lock__eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:var(--gold);
}

.home-lock h1{
  margin:0 0 12px;
  font-size:30px;
  letter-spacing:0;
}

.home-lock p{
  margin-bottom:0;
  color:#844a0a;
}

.home-lock__form{
  margin-top:28px;
}

.home-lock__form label{
  display:block;
  margin-bottom:10px;
  color:#844a0a;
  font-size:13px;
  font-weight:700;
}

.home-lock__field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:8px;
  border:1px solid rgba(132,74,10,.18);
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 16px 34px rgba(132,74,10,.10);
}

.home-lock__field input{
  width:100%;
  min-height:48px;
  border:0;
  outline:0;
  padding:0 14px;
  color:var(--text);
  background:transparent;
}

.home-lock__field input::placeholder{
  color:#844a0a;
}

.home-lock__field button{
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--green),#844a0a);
  box-shadow:0 12px 24px rgba(132,74,10,.22);
  font-weight:800;
  transition:transform .25s ease,box-shadow .25s ease;
}

.home-lock__field button:hover,
.home-lock__field button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(132,74,10,.30);
}

.home-lock__error{
  margin-top:12px;
  padding:10px 14px;
  border:1px solid rgba(160,51,35,.18);
  border-radius:14px;
  color:#9f3323;
  background:rgba(255,238,232,.82);
  font-size:13px;
  font-weight:700;
}

@media(max-width:560px){
  .quynhonadv-home-locked{
    overflow:auto;
    background-attachment:scroll;
  }

  .home-lock{
    align-items:end;
    padding:18px;
  }

  .home-lock__ambient{
    inset:12px;
    border-radius:24px;
  }

  .home-lock__panel{
    padding:28px 20px 22px;
    border-radius:24px;
  }

  .home-lock__brand{
    width:62px;
    height:62px;
    margin-bottom:18px;
    border-radius:20px;
    font-size:20px;
  }

  .home-lock__field{
    grid-template-columns:1fr;
    border-radius:24px;
  }

  .home-lock__field button{
    width:100%;
  }
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--brown-2);
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.eyebrow::before{
  content:"";
  width:38px;
  height:1px;
  background:var(--gold);
}
.section-head{ 
  margin-bottom:44px;
}
.section-head.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.section-head.center .eyebrow::before{display:none}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{
  font-family:"Playfair Display",serif;
  color:var(--brown);
  line-height:1.15;
}
h1{
  font-size:clamp(44px,6vw,78px);
  margin:16px 0 22px;
  letter-spacing:-.035em;
}
h2{
  font-size:40px;
  margin:14px 0 18px;
  letter-spacing:-.025em;
}
h3{
  font-size:25px;
  margin-bottom:12px;
}
.lead{
  font-size:17px;
  color:var(--muted); 
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:600;
  transition:.3s ease;
}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--brown),var(--brown-2));
  box-shadow:0 14px 28px rgba(132,74,10,.23);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(132,74,10,.30)}
.btn-outline{
  color:var(--brown);
  border-color:rgba(132,74,10,.30);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
}
.btn-outline:hover{border-color:var(--gold);background:#fff}
.icon{
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Header */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  height:var(--header-h);
  display:flex;
  align-items:center;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(255,253,248,.92);
  backdrop-filter:blur(16px);
  border-bottom-color:var(--border);
  box-shadow:0 8px 30px rgba(132,74,10,.08);
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}
.brand-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--brown),var(--gold));
  font-family:"Playfair Display",serif;
  font-size:21px;
  box-shadow:0 10px 25px rgba(132,74,10,.2);
}
.brand-text strong{
  display:block;
  font-family:"Playfair Display",serif;
  color:var(--brown);
  font-size:19px;
  line-height:1.1;
}
.brand-text small{
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.11em;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:25px;
  font-size:14px;
  font-weight:500;
}
.main-nav a{
  position:relative;
  color:#844a0a;
  transition:.25s;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:0;
  height:1px;
  background:var(--gold);
  transition:.25s;
}
.main-nav a:hover{color:var(--brown)}
.main-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:10px}
.language-switcher{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(132,74,10,.16);
  border-radius:999px;
  background:rgba(255,255,255,.58);
}
.language-switcher a{
  min-width:38px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0 8px;
  border-radius:999px;
  color:var(--brown);
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  transition:background-color .25s ease,transform .25s ease;
}
.language-switcher a:hover{
  background:#fff8ee;
  transform:translateY(-1px);
}
.language-switcher__flag{font-size:15px;line-height:1}
.language-switcher__label{line-height:1}
.language-switcher--home .language-switcher__label{display:none}
.header-phone{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--border);
  color:var(--brown);
  background:rgba(255,255,255,.55);
}
.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:var(--brown);
  color:#fff;
  align-items:center;
  justify-content:center;
}

/* Hero */
.hero{
  min-height:900px;
  padding:130px 0 112px;
  display:flex;
  align-items:center;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 15%,rgba(213,176,111,.55),transparent 28%),
    radial-gradient(circle at 88% 52%,rgba(132,74,10,.22),transparent 30%),
    linear-gradient(128deg,#ead3b8 0%,#fff7e9 47%,#844a0a 100%);
  overflow:hidden;
}
.hero::before,
.hero::after{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
}
.hero::before{
  inset:0;
  opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.hero::after{
  display:none;
}
.hero-glow{
  position:absolute;
  z-index:0;
  border-radius:50%;
  pointer-events:none;
  filter:blur(2px);
}
.hero-glow--one{
  width:440px;
  height:440px;
  top:-210px;
  right:-110px;
  border:1px solid rgba(200,155,75,.24);
  box-shadow:inset 0 0 90px rgba(200,155,75,.10);
  animation:spa-breathe 9s ease-in-out infinite;
}
.hero-glow--two{
  width:280px;
  height:280px;
  left:-120px;
  bottom:70px;
  background:rgba(132,74,10,.08);
  animation:spa-drift 12s ease-in-out infinite alternate;
}
.hero-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);
  gap:clamp(46px,6vw,86px);
  align-items:center;
}
.hero-copy{position:relative;z-index:4;padding-bottom:14px}
.hero-copy > *{
  animation:hero-copy-in .85s cubic-bezier(.2,.7,.2,1) both;
}
.hero-copy > *:nth-child(1){animation-delay:.06s}
.hero-copy > *:nth-child(2){animation-delay:.14s}
.hero-copy > *:nth-child(3){animation-delay:.22s}
.hero-copy > *:nth-child(4){animation-delay:.30s}
.hero-copy > *:nth-child(5){animation-delay:.38s}
.hero-copy > *:nth-child(6){animation-delay:.46s}
.hero-copy .eyebrow{
  padding:9px 14px 9px 11px;
  border:1px solid rgba(132,74,10,.14);
  border-radius:999px;
  background:rgba(255,250,242,.62);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 30px rgba(132,74,10,.06);
}
.hero-copy .eyebrow::before{display:none}
.hero-eyebrow-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(200,155,75,.13);
  animation:spa-pulse 2.8s ease-in-out infinite;
}
.hero-copy h1{
  max-width:670px;
  margin:24px 0 25px;
  font-size:55px; 
  line-height:1.2; 
}
.hero-copy h1 em{
  position:relative;
  color:var(--green);
  font-weight:500;
}
.hero-copy h1 em::after{
  content:"";
  position:absolute;
  left:3%;
  right:0;
  bottom:-3px;
  height:8px;
  border-radius:50%;
  border-top:2px solid rgba(200,155,75,.72);
  transform:rotate(-2deg);
}
.hero-copy .subtext{
  max-width:600px;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
  margin-bottom:28px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:27px}
.hero-actions .btn{min-height:56px;padding-inline:27px}
.hero-actions .btn-primary{position:relative;overflow:hidden}
.hero-actions .btn-primary::after{
  content:"";
  position:absolute;
  top:-50%;
  left:-45%;
  width:35%;
  height:200%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  transform:rotate(18deg);
  animation:spa-shine 5.8s ease-in-out infinite;
}
.hero-proof{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
  color:var(--muted);
}
.hero-proof-mark{display:flex;padding-left:8px}
.hero-proof-mark span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-left:-8px;
  border:2px solid #f8efe3;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-family:"Playfair Display",serif;
  font-size:12px;
}
.hero-proof-mark span:nth-child(2){background:var(--brown-2)}
.hero-proof-mark span:nth-child(3){background:var(--gold);font-family:inherit}
.hero-proof strong{display:block;color:var(--brown);font-size:12px;line-height:1.45}
.hero-proof > div:last-child span{display:block;font-size:11px}
.hero-features{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  padding-top:22px;
  border-top:1px solid rgba(132,74,10,.12);
  font-size:12px;
  color:#844a0a;
}
.hero-features span{
  display:flex;
  align-items:center;
  gap:8px;
}
.hero-features i{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,155,75,.28);
  border-radius:50%;
  background:rgba(255,250,242,.76);
  color:var(--brown);
  font-style:normal;
  font-size:10px;
}
.hero-media{
  position:relative;
  min-height:620px;
  perspective:1000px;
  animation:hero-media-in 1s .2s cubic-bezier(.2,.7,.2,1) both;
}
.hero-orbit{
  position:absolute;
  inset:18px 4px 42px 58px;
  border:1px solid rgba(132,74,10,.15);
  border-radius:48% 48% 42% 42%;
  transform:rotate(5deg);
  animation:spa-orbit 16s ease-in-out infinite alternate;
}
.hero-visual-card{
  position:absolute;
  top:0;
  right:14px;
  width:100%;
  height:580px;
  margin:0;
  overflow:hidden;
  border:9px solid rgba(255,250,242,.82);
  border-radius:48% 48% 34px 34px;
  background:#d8c8b5;
  box-shadow:0 34px 90px rgba(132,74,10,.20),0 8px 24px rgba(132,74,10,.10);
}
.hero-visual-card::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:18px 18px auto auto;
  width:82px;
  height:82px;
  border-top:1px solid rgba(255,255,255,.75);
  border-right:1px solid rgba(255,255,255,.75);
  border-radius:0 118px 0 0;
  pointer-events:none;
}
.hero-main-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  animation:spa-image-breathe 13s ease-in-out infinite alternate;
}
.hero-visual-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(132,74,10,.02) 45%,rgba(132,74,10,.54));
  pointer-events:none;
}
.hero-image-caption{
  position:absolute;
  z-index:3;
  left:28px;
  right:28px;
  bottom:26px;
  color:#fff;
}
.hero-image-caption span{
  display:block;
  margin-bottom:4px;
  color:var(--gold-soft);
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.hero-image-caption strong{
  display:block;
  max-width:360px;
  font-family:"Playfair Display",serif;
  font-size:18px;
  font-weight:500;
  line-height:1.35;
}
.hero-secondary-image{
  position:absolute;
  z-index:4;
  left:-12px;
  bottom:6px;
  width:205px;
  height:258px;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.6);
  border-radius:110px 110px 22px 22px;
  background:rgba(255,250,242,.92);
  box-shadow:0 22px 55px rgba(132,74,10,.16);
  animation:spa-float 7s ease-in-out infinite;
}
.hero-secondary-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:102px 102px 17px 17px;
}
.hero-care-note{
  position:absolute;
  z-index:5;
  right:18px;
  bottom:42px;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:260px;
  padding:14px 16px 14px 12px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  background:rgba(255,250,242,.88);
  box-shadow:0 18px 45px rgba(132,74,10,.14);
  animation:spa-float 8s 1.2s ease-in-out infinite;
}
.hero-care-note__icon{
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--green);
}
.hero-care-note strong{
  display:block;
  color:var(--brown);
  font-size:12px;
  line-height:1.35;
}
.hero-care-note div span{display:block;color:var(--muted);font-size:10px}
.botanical{
  position:absolute;
  color:rgba(132,74,10,.20);
  width:210px;
  right:1.5%;
  top:72px;
  transform:rotate(20deg);
  z-index:2;
  animation:spa-leaf 9s ease-in-out infinite alternate;
}
.hero-scroll{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:43px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  transform:translateX(-50%);
}
.hero-scroll span{
  position:relative;
  width:22px;
  height:34px;
  border:1px solid rgba(132,74,10,.32);
  border-radius:999px;
}
.hero-scroll span::after{
  content:"";
  position:absolute;
  top:7px;
  left:50%;
  width:3px;
  height:6px;
  border-radius:999px;
  background:var(--gold);
  transform:translateX(-50%);
  animation:spa-scroll 2.2s ease-in-out infinite;
}

@keyframes hero-media-in{
  from{opacity:0;transform:translate3d(24px,24px,0) scale(.97)}
  to{opacity:1;transform:none}
}
@keyframes hero-copy-in{
  from{opacity:0;transform:translate3d(0,20px,0)}
  to{opacity:1;transform:none}
}
@keyframes spa-image-breathe{
  from{transform:scale(1.015)}
  to{transform:scale(1.075)}
}
@keyframes spa-float{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-9px,0)}
}
@keyframes spa-breathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.045)}
}
@keyframes spa-drift{
  from{transform:translate3d(-12px,0,0)}
  to{transform:translate3d(22px,-18px,0)}
}
@keyframes spa-orbit{
  from{transform:rotate(5deg) scale(.99)}
  to{transform:rotate(2deg) scale(1.025)}
}
@keyframes spa-leaf{
  from{transform:rotate(20deg) translateY(0)}
  to{transform:rotate(23deg) translateY(10px)}
}
@keyframes spa-pulse{
  0%,100%{box-shadow:0 0 0 5px rgba(200,155,75,.12)}
  50%{box-shadow:0 0 0 9px rgba(200,155,75,.02)}
}
@keyframes spa-shine{
  0%,65%{left:-45%}
  90%,100%{left:125%}
}
@keyframes spa-scroll{
  0%{opacity:0;transform:translate(-50%,0)}
  35%{opacity:1}
  100%{opacity:0;transform:translate(-50%,11px)}
}

.about-background{
  position:relative;
  z-index:2;
  margin-top:0;
  padding-top:0;
  background:url("https://wellnessspaquynhon.com/wp-content/uploads/2026/07/60d31a34-5912-4421-b216-18e4465268e4.png") center/cover no-repeat;
}

.about-background::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-76px;
  height:152px;
  z-index:0;
  background:inherit;
  clip-path:ellipse(58% 48% at 50% 50%);
  pointer-events:none;
}

/* Trust bar */
.trust-bar{
  margin-top:-44px;
  position:relative;
  z-index:5;
}
.trust-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fffbf5;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow-small);
  overflow:hidden;
}
.trust-item{
  padding:25px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  border-right:1px solid var(--border);
}
.trust-item:last-child{border-right:0}
.trust-icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--cream);
  color:var(--brown);
  flex:0 0 auto;
}
.trust-item strong{display:block;color:var(--brown);font-size:14px}
.trust-item span{display:block;color:var(--muted);font-size:12px}

/* About */
.about{
  position:relative;
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  padding:130px 0 105px;
}
.about-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:80px;
  align-items:center;
}
.about-images{
  min-height:600px;
  position:relative;
}
.brand-marks img {
    height: 70px;
}
.about-image-a{
  display:block;
  position:absolute;
  left:0;
  top:0;
  width:74%;
  height:500px;
  object-fit:cover;
  border-radius:34px;
  box-shadow:var(--shadow);
}
.about-image-b{
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:340px;
  object-fit:cover;
  border-radius:140px 140px 26px 26px;
  border:10px solid var(--paper);
  box-shadow:var(--shadow-small);
}
.about-card{
  position:absolute;
  left:26px;
  bottom:35px;
  width:190px;
  padding:20px;
  border-radius:20px;
  background:rgba(255,253,248,.92);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow-small);
}
.about-card strong{
  display:block;
  color:var(--brown);
  font-family:"Playfair Display",serif;
  font-size:28px;
}
.about-card span{font-size:12px;color:var(--muted)}
.check-list{
  list-style:none;
  padding:0;
  margin:28px 0 32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 20px;
}
.check-list li{
  display:flex;
  gap:10px;
  font-size:14px;
  color:#844a0a;
}
.check-list li::before{
  content:"✓";
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-size:11px;
  margin-top:1px;
}

/* Services */
.services{
  padding:105px 0;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.services::after{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border:1px solid rgba(132,74,10,.08);
  border-radius:50%;
  right:-210px;
  top:80px;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.service-card{
  position:relative;
  min-height:460px;
  border-radius:26px;
  overflow:hidden;
  isolation:isolate;
  box-shadow:var(--shadow-small);
}
.service-card img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  transition:.6s ease;
  z-index:-2;
}
.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(to top,rgba(132,74,10,.88),rgba(132,74,10,.05) 70%);
}
.service-card:hover img{transform:scale(1.06)}
.service-content{
  position:absolute;
  inset:auto 0 0;
  padding:28px;
  color:#fff;
}
.service-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.17);
  backdrop-filter:blur(12px);
  font-size:12px;
  margin-bottom:18px;
  border:1px solid rgba(255,255,255,.3);
}
.service-content h3{color:#fff;margin-bottom:8px}
.service-content p{font-size:13px;color:rgba(255,255,255,.78);margin-bottom:18px}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:var(--gold-soft);
}
.services-note{
  margin-top:28px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}

/* Process */
.process{padding:105px 0}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  position:relative;
}
.process-grid::before{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:38px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  z-index:-1;
}
.process-item{text-align:center;padding:0 12px}
.process-step{
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  margin:0 auto 20px;
  border-radius:50%;
  background:var(--paper);
  border:1px solid var(--gold-soft);
  box-shadow:0 10px 30px rgba(132,74,10,.08);
  color:var(--brown);
  font-family:"Playfair Display",serif;
  font-size:24px;
}
.process-item h3{font-size:20px}
.process-item p{font-size:13px;color:var(--muted)}

/* Featured combo */
.combos{
  padding:110px 0;
  background:#844a0a;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.combos::before{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  left:-250px;
  top:-240px;
  border-radius:50%;
  background:rgba(199,161,90,.10);
}
.package-icon {
    color: white !important; 
}
.service-price strong {
    color: white !important; 
}
  a.text-link {
    color: white!important; 
}
.combos .section-head h2,
.combos .section-head .lead{ }
.combos .section-head .lead{opacity:.68}
.combos .eyebrow{color:#854b09;}
.combo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.combo-card{
  position:relative;
  padding:30px 24px 25px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(12px);
  transition:.3s;
  overflow:hidden;
}
.combo-card:hover{
  transform:translateY(-7px);
  border-color:rgba(234,215,173,.6);
  background:rgba(255,255,255,.09);
}
.combo-card.featured{
  background:linear-gradient(160deg,rgba(199,161,90,.24),rgba(255,255,255,.06));
  border-color:rgba(234,215,173,.5);
}
.combo-badge{
  position:absolute;
  right:18px;
  top:18px;
  color:#844a0a;
  background:var(--gold-soft);
  padding:5px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.combo-card h3{color:#fff;font-size:23px; }
.combo-card p{font-size:13px;color:rgba(255,255,255,.67);min-height:65px}
.combo-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-top:18px;
  margin-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:12px;
  color:var(--gold-soft);
}

/* Price */
.pricing{padding:105px 0}
.price-wrap{
  background:#fff;
  border:1px solid var(--border);
  border-radius:30px;
  box-shadow:var(--shadow-small);
  overflow:hidden;
}
.price-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:20px;
  border-bottom:1px solid var(--border);
  background:var(--cream);
}
.price-tab{
  border:1px solid var(--border);
  background:#fff;
  color:var(--brown);
  padding:10px 17px;
  border-radius:999px;
  font-weight:600;
  font-size:13px;
  transition:.25s;
}
.price-tab.active,
.price-tab:hover{
  background:var(--brown);
  color:#fff;
  border-color:var(--brown);
}
.price-panel{display:none;padding:10px 28px 24px}
.price-panel.active{display:block}
.price-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:25px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px dashed var(--border);
}
.price-row:last-child{border-bottom:0}
.price-name strong{display:block;color:var(--brown)}
.price-name span{font-size:12px;color:var(--muted)}
.price-value{
  color:var(--brown);
  font-weight:700;
  white-space:nowrap;
}
.price-note{
  padding:18px 26px;
  background:#fbf7ef;
  color:var(--muted);
  font-size:12px;
  border-top:1px solid var(--border);
}

/* Gallery */
.gallery{
  padding:105px 0;
  background:
    radial-gradient(circle at 8% 15%,rgba(200,155,75,.11),transparent 25%),
    linear-gradient(145deg,var(--cream),#f1dfc8);
}
.gallery-album-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:-18px 0 22px;
  padding-top:18px;
  border-top:1px solid rgba(132,74,10,.12);
  color:var(--muted);
  font-size:11px;
}
.gallery-album-head strong{
  margin-right:5px;
  color:var(--brown);
  font:600 21px/1 "Playfair Display",serif;
}
.gallery-album-head small{font-size:10px;letter-spacing:.04em}
.gallery-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:245px 245px 210px;
  grid-auto-rows:210px;
  gap:16px;
}
.gallery-item{
  position:relative;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:22px;
  color:#fff;
  background:#d8c7b5;
  box-shadow:0 12px 35px rgba(132,74,10,.08);
  cursor:zoom-in;
  isolation:isolate;
}
.gallery-item:first-child{grid-row:1/3}
.gallery-item:nth-child(4){grid-column:2/4}
.gallery-item:nth-child(5){grid-column:1/2}
.gallery-item:nth-child(6){grid-column:2/4}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.gallery-item::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(132,74,10,.72));
  transition:.4s ease;
}
.gallery-item::after{
  content:"↗";
  position:absolute;
  z-index:3;
  top:17px;
  right:17px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  color:#fff;
  background:rgba(132,74,10,.32);
  backdrop-filter:blur(10px);
  font-size:15px;
  transform:scale(.9);
  opacity:.75;
  transition:.35s;
}
.gallery-item__label{
  position:absolute;
  z-index:2;
  left:21px;
  right:21px;
  bottom:19px;
  text-align:left;
  transform:translateY(3px);
  transition:.4s ease;
}
.gallery-item__label small{
  display:block;
  margin-bottom:4px;
  color:var(--gold-soft);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.gallery-item__label strong{font:500 17px/1.3 "Playfair Display",serif}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.065);filter:saturate(1.04)}
.gallery-item:hover::before,.gallery-item:focus-visible::before{background:linear-gradient(180deg,rgba(132,74,10,.04) 35%,rgba(132,74,10,.78))}
.gallery-item:hover::after,.gallery-item:focus-visible::after{opacity:1;transform:none;background:rgba(200,155,75,.76)}
.gallery-item:hover .gallery-item__label,.gallery-item:focus-visible .gallery-item__label{transform:none}
.gallery-item:focus-visible{outline:3px solid rgba(200,155,75,.65);outline-offset:3px}

/* Testimonials */
.testimonials{padding:105px 0}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.testimonial-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:-20px 0 22px;
}
.testimonial-arrow{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--brown);
  background:#fffbf5;
  box-shadow:0 10px 25px rgba(132,74,10,.08);
  transition:.25s ease;
}
.testimonial-arrow:hover{border-color:var(--gold);color:#fff;background:var(--brown);transform:translateY(-2px)}
.testimonial-slider{position:relative}
.testimonial-track{
  display:flex;
  gap:22px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  padding:3px 2px 10px;
  scrollbar-width:none;
}
.testimonial-track::-webkit-scrollbar{display:none}
.testimonial-card{
  flex:0 0 min(82vw,360px);
  scroll-snap-align:start;
  min-height:305px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border-radius:22px;
  background:#fffbf5;
  border:1px solid var(--border);
  box-shadow:0 10px 30px rgba(132,74,10,.06);
}
.stars{color:var(--gold);letter-spacing:.2em;margin-bottom:18px}
.testimonial-card blockquote{
  margin:0 0 22px;
  font-size:14px;
  color:#844a0a;
}
.customer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
}
.customer-avatar{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--brown-2);
  font-weight:700;
}
.customer strong{display:block;font-size:14px;color:var(--brown)}
.customer span{display:block;font-size:11px;color:var(--muted)}
.testimonial-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:22px;
}
.testimonial-dot{
  width:10px;
  height:10px;
  border:0;
  border-radius:999px;
  background:rgba(132,74,10,.22);
  transition:width .25s ease,background-color .25s ease,transform .25s ease;
}
.testimonial-dot:hover,
.testimonial-dot:focus-visible{
  background:rgba(132,74,10,.62);
  transform:translateY(-1px);
}
.testimonial-dot.is-active{
  width:30px;
  background:var(--brown);
}

/* Booking */
.booking{
  padding:110px 0;
  background:
    linear-gradient(90deg,rgba(132,74,10,.91),rgba(132,74,10,.80)),
    var(--wellness-space-room) center/cover fixed;
}
.booking-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:center;
}
.booking-copy{color:#fff}
.booking-copy h2{color:#fff}
.booking-copy p{color:rgba(255,255,255,.72)}
.booking-contact{
  margin-top:30px;
  display:grid;
  gap:14px;
}
.booking-contact a,
.booking-contact div{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:14px;
}
.booking-contact .contact-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
}
.booking-form{
  padding:32px;
  background:rgba(255,253,248,.96);
  border-radius:28px;
  box-shadow:var(--shadow);
}
.booking-form h3{font-size:29px}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{
  font-size:12px;
  font-weight:600;
  color:#844a0a;
}
.field input,
.field select,
.field textarea{
  width:100%;
  min-height:49px;
  border:1px solid var(--border);
  border-radius:13px;
  padding:0 14px;
  background:#fff;
  outline:none;
  color:var(--text);
  transition:.2s;
}
.field textarea{
  min-height:92px;
  padding-top:12px;
  resize:vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(199,161,90,.12);
}
.form-hint{
  font-size:11px;
  color:var(--muted);
  margin:14px 0 18px;
}
.booking-form .btn{width:100%;border:0}

/* Blog */
section.blog{padding:105px 0}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.blog-card{
  border:1px solid var(--border);
  border-radius:22px;
  overflow:hidden;
  background:#fffbf5;
  transition:.3s;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-small)}
.blog-card img{width:100%;height:230px;object-fit:cover}
.blog-body{padding:22px}
.blog-meta{
  font-size:11px;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.blog-body h3{
  font-size:21px;
  margin-bottom:11px;
}
.blog-body p{
  color:var(--muted);
  font-size:13px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* FAQ + Map */
.contact-section{
  padding:105px 0;
  background:var(--cream);
}
.contact-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:start;
}
.faq-list{display:grid;gap:12px}
.faq-item{
  border:1px solid var(--border);
  border-radius:16px;
  background:#fffbf5;
  overflow:hidden;
}
.faq-question{
  width:100%;
  border:0;
  padding:18px 20px;
  background:transparent;
  display:flex;
  justify-content:space-between;
  gap:20px;
  text-align:left;
  color:var(--brown);
  font-weight:600;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.faq-answer p{
  padding:0 20px 18px;
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.faq-item.active .faq-answer{max-height:180px}
.faq-plus{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--cream);
  transition:.3s;
}
.faq-item.active .faq-plus{transform:rotate(45deg)}
.map-card{
  border-radius:26px;
  overflow:hidden;
  min-height:530px;
  position:relative;
  box-shadow:var(--shadow-small);
}
.map-card iframe{
  width:100%;
  height:530px;
  border:0;
  display:block;
}
.map-info{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  padding:20px;
  border-radius:18px;
  background:rgba(255,253,248,.94);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow-small);
}
.map-info strong{
  display:block;
  font-family:"Playfair Display",serif;
  color:var(--brown);
  font-size:20px;
}
.map-info span{font-size:12px;color:var(--muted)}

/* Footer */
.footer{
  position:relative;
  padding:46px 0 22px;
  background:
    radial-gradient(circle at 12% 0,rgba(227,193,129,.16),transparent 32%),
    radial-gradient(circle at 88% 18%,rgba(132,74,10,.18),transparent 34%),
    linear-gradient(145deg,#844a0a,#844a0a 58%,#844a0a);
  color:rgba(255,255,255,.72);
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cpath d='M12 72c18-3 30-15 36-36 6 21 18 33 36 36' fill='none' stroke='%23e3c181' stroke-width='1' stroke-opacity='.18'/%3E%3C/svg%3E");
}
.footer>.container{position:relative;z-index:1}
.footer-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:28px;
  padding:14px 16px 14px 22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.06);
  box-shadow:0 18px 55px rgba(0,0,0,.14);
}
.footer-topline>span{
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:24px;
}
.footer-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  color:#844a0a;
  background:var(--gold-soft);
  font-weight:700;
  font-size:13px;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.footer-cta:hover{
  background:#f0d49a;
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.15fr .72fr .72fr 1.05fr;
  gap:24px;
  padding-bottom:34px;
}
.footer-brand-panel{
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:0 24px 70px rgba(0,0,0,.14);
}
.footer-column{
  padding:8px 4px;
}
.footer .brand-text strong{color:#fff}
.footer .brand-text small{color:rgba(255,255,255,.5)}
.footer .brand-mark{box-shadow:0 12px 30px rgba(0,0,0,.20)}
.footer-about{
  margin:22px 0 0;
  max-width:330px;
  font-size:13px;
  line-height:1.8;
  color:rgba(255,255,255,.68);
}
.footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.footer-badges span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(227,193,129,.24);
  border-radius:999px;
  color:#f4dfb2;
  background:rgba(227,193,129,.08);
  font-size:11px;
  font-weight:700;
}
.footer-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer h4{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  color:#fff;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.footer h4::before{
  content:"";
  width:28px;
  height:1px;
  background:var(--gold-soft);
}
.footer-links{
  display:grid;
  gap:9px;
  font-size:13px;
}
.footer-links a{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  color:rgba(255,255,255,.68);
  transition:color .25s ease,transform .25s ease;
}
.footer-links a::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-top:1.6px solid var(--gold-soft);
  border-right:1.6px solid var(--gold-soft);
  transform:rotate(45deg);
  opacity:.8;
}
.footer-links a:hover{
  color:var(--gold-soft);
  transform:translateX(3px);
}
.footer-contact{
  display:grid;
  gap:10px;
  font-size:13px;
}
.footer-contact-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:48px;
  padding:9px 12px 9px 9px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.045);
  transition:border-color .25s ease,background-color .25s ease,transform .25s ease;
}
.footer-contact-item .footer-icon{
  width:38px;
  height:38px;
  padding:9px;
  border-radius:50%;
  color:var(--gold-soft);
  background:rgba(227,193,129,.10);
}
a.footer-contact-item:hover{
  border-color:rgba(227,193,129,.38);
  background:rgba(227,193,129,.08);
  transform:translateY(-2px);
}
.socials{display:flex;gap:9px;margin-top:20px}
.socials a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.07);
  color:#fff;
  font-weight:800;
  transition:transform .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease;
}
.socials .footer-icon{
  width:20px;
  height:20px;
  fill:currentColor;
  stroke:none;
}
.socials a:hover{
  border-color:rgba(227,193,129,.5);
  background:var(--gold-soft);
  color:#844a0a;
  transform:translateY(-3px);
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:11px;
  color:rgba(255,255,255,.48);
}

/* Floating buttons */
.floating-actions{
  position:fixed;
  z-index:900;
  right:18px;
  bottom:22px;
  display:grid;
  gap:10px;
}
.float-btn{
  position:relative;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:.25s;
}
.float-btn:hover{transform:translateY(-4px)}
.float-zalo{background:#0573e7;font-size:12px;font-weight:800}
.float-phone{background:#844a0a}
.float-phone::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(132,74,10,.34);
  animation:pulse-ring 2.2s ease-out infinite;
  pointer-events:none;
}
@keyframes pulse-ring{
  0%{opacity:.75;transform:scale(1)}
  80%,100%{opacity:0;transform:scale(1.45)}
}

/* Lightbox & toast */
.lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  visibility:hidden;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:18px;
  padding:28px clamp(16px,4vw,55px) 20px;
  background:rgba(132,74,10,.94);
  backdrop-filter:blur(15px);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease,visibility .3s ease;
}
.lightbox.open{visibility:visible;opacity:1;pointer-events:auto}
.lightbox-slider{
  width:min(1280px,100%);
  min-height:0;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  gap:18px;
}
.lightbox-stage{
  position:relative;
  min-width:0;
  margin:0;
  display:grid;
  place-items:center;
}
.lightbox-stage>img{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  max-height:calc(100vh - 185px);
  border-radius:18px;
  box-shadow:0 28px 90px rgba(0,0,0,.42);
  transition:opacity .2s ease,transform .3s ease;
}
.lightbox-stage.is-changing>img{opacity:.2;transform:scale(.985)}
.lightbox-caption{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  color:#fff;
  background:rgba(132,74,10,.58);
  backdrop-filter:blur(13px);
}
.lightbox-caption span{flex:0 0 auto;color:var(--gold-soft);font-size:10px;font-weight:700;letter-spacing:.12em}
.lightbox-caption strong{font:500 clamp(14px,2vw,19px)/1.4 "Playfair Display",serif;text-align:right}
.lightbox-close,.lightbox-arrow{
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.08);
  transition:.25s ease;
}
.lightbox-close:hover,.lightbox-arrow:hover{border-color:var(--gold);background:rgba(200,155,75,.28)}
.lightbox-close{
  position:absolute;
  z-index:4;
  top:20px;
  right:22px;
  width:45px;
  height:45px;
  font-size:26px;
}
.lightbox-arrow{width:52px;height:52px;font-size:20px}
.lightbox-thumbnails{
  max-width:min(720px,100%);
  display:flex;
  justify-content:center;
  gap:8px;
  padding:5px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.lightbox-thumb{
  flex:0 0 68px;
  width:68px;
  height:48px;
  padding:2px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  opacity:.5;
  transition:.25s ease;
}
.lightbox-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.lightbox-thumb:hover,.lightbox-thumb.is-active{border-color:var(--gold);opacity:1;transform:translateY(-2px)}
.lightbox-thumb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.toast{
  position:fixed;
  left:50%;
  bottom:25px;
  z-index:2200;
  transform:translate(-50%,30px);
  opacity:0;
  pointer-events:none;
  background:#844a0a;
  color:#fff;
  padding:14px 20px;
  border-radius:999px;
  font-size:13px;
  box-shadow:var(--shadow);
  transition:.35s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Reveal */
.js .reveal{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.992);
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.js .reveal.visible{opacity:1;transform:none}

@media(hover:hover){
  .trust-item{transition:background-color .3s ease,transform .3s ease}
  .trust-item:hover{background:#fffcf7;transform:translateY(-3px)}
}

@media(max-width:1050px){
  .main-nav{display:none}
  .header-actions .btn{display:none}
  .menu-toggle{display:flex}
  .mobile-nav{
    position:fixed;
    inset:var(--header-h) 0 0;
    display:flex;
    flex-direction:column;
    padding:28px 22px;
    background:rgba(255,253,248,.98);
    backdrop-filter:blur(16px);
    transform:translateX(100%);
    transition:transform .35s ease;
    z-index:999;
  }
  .mobile-nav.open{transform:none}
  .mobile-nav a{
    padding:16px 8px;
    border-bottom:1px solid var(--border);
    color:var(--brown);
    font-weight:600;
  }
  .mobile-nav .language-switcher{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin:18px 0 4px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .mobile-nav .language-switcher a{
    min-width:0;
    height:42px;
    padding:0 8px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fffaf3;
  }
  .mobile-nav .btn{margin-top:22px;color:#fff}
  .hero-grid,
  .about-grid,
  .booking-grid,
  .contact-grid{grid-template-columns:1fr}
  .hero{padding:126px 0 120px}
  .hero-copy{text-align:center}
  .hero-copy .subtext{margin-left:auto;margin-right:auto}
  .hero-actions,.hero-features{justify-content:center}
  .hero-proof{justify-content:center}
  .hero-media{max-width:660px;width:100%;margin:30px auto 0}
  .hero-care-note{right:6px}
  .about-grid{gap:45px}
  .about-images{max-width:720px;width:100%;margin:auto}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .combo-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand-panel{grid-column:1/-1}
  .booking-copy{text-align:center}
  .booking-contact{justify-items:center}
}

@media(min-width:1051px){
  .mobile-nav{display:none}
}

@media(max-width:760px){
  :root{--container:min(100% - 28px,1180px);--header-h:72px}
  .site-header{height:var(--header-h)}
  .site-header.scrolled{
    background:rgba(255,253,248,.98);
    backdrop-filter:none;
  }
  .brand-mark{width:42px;height:42px}
  .brand-text strong{font-size:17px}
  .brand-text small{font-size:8px}
  .header-phone{display:none}
  .language-switcher--home{display:none}
  .hero{
    min-height:auto;
    padding:106px 0 98px;
  }
  h1{font-size:45px}
  h2{font-size:36px}
  .hero-copy h1{font-size:clamp(40px,11vw,52px);line-height:1.08}
  .hero-copy .subtext{font-size:14px;line-height:1.8}
  .hero-actions .btn{width:100%}
  .hero-proof{text-align:left;justify-content:flex-start}
  .hero-features{justify-content:flex-start}
  .hero-media{min-height:510px;margin-top:25px}
  .hero-visual-card{right:0;width:88%;height:480px;border-width:7px;border-radius:48% 48% 28px 28px}
  .hero-main-image{width:100%;height:100%}
  .hero-orbit{inset:18px 4px 80px 30px}
  .hero-secondary-image{left:0;bottom:0;width:160px;height:212px;padding:6px}
  .hero-secondary-image img{width:100%;height:100%}
  .hero-care-note{right:0;bottom:18px;max-width:230px;padding:12px}
  .hero-care-note__icon{width:36px;height:36px}
  .hero-image-caption{left:22px;right:22px;bottom:22px}
  .hero-image-caption strong{font-size:14px}
  .hero-scroll{display:none}
  .trust-bar{margin-top:-32px}
  .trust-inner{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .trust-item{padding:18px 14px}
  .trust-icon{width:38px;height:38px}
  .about,.services,.process,.combos,.pricing,.gallery,.testimonials,.booking,section.blog,.contact-section{padding:78px 0}
  .about-images{min-height:470px}
  .about-image-a{height:400px;width:80%}
  .about-image-b{height:250px;width:52%;border-width:7px}
  .about-card{left:10px;bottom:10px;width:160px;padding:15px}
  .check-list{grid-template-columns:1fr}
  .services-grid,
  .combo-grid,
  .testimonial-grid,
  .blog-grid{grid-template-columns:1fr}
  .service-card{min-height:420px}
  .process-grid{grid-template-columns:1fr 1fr;gap:35px 15px}
  .process-grid::before{display:none}
  .gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:280px 190px 220px 190px;
    grid-auto-rows:190px;
  }
  .gallery-item{grid-column:auto;grid-row:auto}
  .gallery-item:first-child,.gallery-item:nth-child(4),.gallery-item:nth-child(6){grid-column:1/3;grid-row:auto}
  .gallery-album-head{align-items:flex-start;flex-direction:column;gap:5px}
  .lightbox{padding:66px 14px 15px}
  .lightbox-slider{position:relative;display:block}
  .lightbox-stage>img{max-height:calc(100vh - 180px)}
  .lightbox-arrow{position:absolute;z-index:3;top:50%;width:43px;height:43px;transform:translateY(-50%)}
  .lightbox-arrow--prev{left:8px}.lightbox-arrow--next{right:8px}
  .lightbox-caption{left:10px;right:10px;bottom:10px;padding:13px}
  .lightbox-thumb{flex-basis:58px;width:58px;height:42px}
  .price-panel{padding:8px 18px 20px}
  .price-row{gap:10px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .booking-form{padding:24px 18px}
  .map-card,.map-card iframe{min-height:430px;height:430px}
  .footer-topline{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
  }
  .footer-topline>span{font-size:22px}
  .footer-cta{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-brand-panel{padding:22px}
  .footer-column{padding:0}
  .footer-bottom{flex-direction:column}
  .floating-actions{right:12px;bottom:14px}
  .float-btn{width:48px;height:48px}
}

/* Giữ header nằm đúng vị trí khi thanh quản trị WordPress xuất hiện. */
body.admin-bar .site-header{top:32px}
body.admin-bar .mobile-nav{top:calc(var(--header-h) + 32px)}
@media(max-width:782px){
  body.admin-bar .site-header{top:46px}
  body.admin-bar .mobile-nav{top:calc(var(--header-h) + 46px)}
}

@media(max-width:430px){
  h1{font-size:39px}
  .hero-media{min-height:450px}
  .hero-visual-card{height:425px;width:91%;border-radius:48% 48% 24px 24px}
  .hero-main-image{height:100%}
  .hero-secondary-image{width:138px;height:184px}
  .hero-care-note{display:none}
  .hero-features{display:grid;grid-template-columns:1fr 1fr;text-align:left}
  .trust-inner{grid-template-columns:1fr}
  .trust-item{border-right:0!important;border-bottom:1px solid var(--border)}
  .trust-item:last-child{border-bottom:0}
  .process-grid{grid-template-columns:1fr}
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:260px repeat(5,185px);grid-auto-rows:185px}
  .gallery-item,.gallery-item:first-child,.gallery-item:nth-child(4),.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:auto;grid-row:auto}
  .gallery-item__label strong{font-size:15px}
  .lightbox-caption{align-items:flex-start;flex-direction:column;gap:3px}
  .lightbox-caption strong{text-align:left}
}

/* Signature services and revised price presentation */
.signature-grid{grid-template-columns:repeat(3,1fr)}
.signature-service{min-height:560px;border:1px solid rgba(234,211,163,.42)}
.signature-service::before{background:linear-gradient(to top,rgba(45,32,24,.96),rgba(55,42,31,.18) 72%)}
.service-top-label{
  position:absolute;top:20px;right:20px;z-index:2;
  padding:7px 13px;border-radius:999px;
  background:rgba(255,250,242,.90);color:var(--brown);
  border:1px solid rgba(200,155,75,.45);
  font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  backdrop-filter:blur(10px)
}
.service-price{display:flex;align-items:baseline;gap:7px;margin:15px 0 18px;color:#fff}
.service-price small{font-size:11px;color:var(--gold-soft)}
.service-price strong{font-family:"Playfair Display",serif;font-size:27px;color:var(--gold-soft)}
.service-price span{font-size:11px;color:rgba(255,255,255,.65)}
.secondary-service-strip{
  margin-top:24px;padding:18px 22px;border-radius:18px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:rgba(255,250,242,.80);border:1px solid rgba(200,155,75,.22);
  color:var(--muted);font-size:13px
}
.secondary-service-strip strong{color:var(--brown)}
.secondary-service-strip a{white-space:nowrap;color:var(--brown);font-weight:700}
.core-package-grid{grid-template-columns:repeat(3,1fr)}
.package-icon{
  width:54px;height:54px;display:grid;place-items:center;margin-bottom:22px;
  border-radius:50%;border:1px solid rgba(234,211,163,.45);
  color:var(--gold-soft);font-family:"Playfair Display",serif;font-size:19px
}
.package-options{list-style:none;padding:0;margin:20px 0 24px;border-top:1px solid rgba(255,255,255,.1)}
.package-options li{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.package-options span{font-size:11px;color:rgba(255,255,255,.64)}
.package-options strong{font-size:17px;color:var(--gold-soft)}
.package-link{display:inline-flex;color:#fff;font-size:12px;font-weight:700}
.price-side{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:210px}
.price-duration{font-size:11px;color:var(--muted);padding:6px 10px;border-radius:999px;background:var(--cream);white-space:nowrap}
.featured-price{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;background:linear-gradient(90deg,rgba(234,211,163,.23),transparent);border-radius:12px}
.featured-price .price-name strong{color:#844a0a}
.featured-price .price-value{font-size:18px;color:#844a0a}
.price-note strong{color:var(--brown)}


@media(max-width:1050px){
  .signature-grid,.core-package-grid{grid-template-columns:1fr 1fr}
  .signature-service:last-child,.core-package-grid .combo-card:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .signature-grid,.core-package-grid{grid-template-columns:1fr}
  .signature-service:last-child,.core-package-grid .combo-card:last-child{grid-column:auto}
  .secondary-service-strip{align-items:flex-start;flex-direction:column}
  .price-side{min-width:0;display:grid;justify-items:end;gap:6px}
  .price-row{grid-template-columns:minmax(0,1fr) auto}
}

/* Readability pass for small supporting text on the homepage. */
.brand-text small{
  font-size:12px;
  line-height:1.35;
}

.hero-proof strong,
.hero-proof > div:last-child span,
.hero-feature span,
.trust-item span,
.about-card span,
.service-content p,
.process-item p,
.combo-card p,
.price-name span,
.gallery-album-head small,
.customer span,
.map-info span,
.secondary-service-strip,
.service-price small,
.service-price span,
.package-options span,
.price-duration,
.lightbox-caption span{
  font-size:14px;
  line-height:1.6;
}

.hero-care-note div span,
.section-kicker,
.service-top-label,
.package-link,
.price-note,
.footer-note,
.footer-link-list,
.footer-contact-list,
.footer-bottom,
.float-zalo{
  font-size:13px;
  line-height:1.5;
}

.service-content p,
.process-item p,
.combo-card p,
.secondary-service-strip{
  line-height:1.7;
}

.package-options strong{
  font-size:18px;
}

.price-name strong{
  font-size:16px;
  line-height:1.45;
}

@media(max-width:760px){
  .brand-text small{
    font-size:10px;
  }

  .hero-proof strong,
  .hero-proof > div:last-child span,
  .trust-item span,
  .service-content p,
  .process-item p,
  .combo-card p,
  .price-name span,
  .customer span,
  .map-info span,
  .secondary-service-strip,
  .package-options span{
    font-size:14px;
  }
}

/* Stronger readability boost after user review. */
.hero-copy .subtext,
.service-content p,
.process-item p,
.combo-card p,
.booking-copy p,
.blog-body p,
.faq-answer p,
.secondary-service-strip,
.price-note,
.footer-brand-panel p,
.footer-note{
  font-size:16px;
  line-height:1.75;
}

.hero-proof strong,
.hero-proof > div:last-child span,
.hero-feature span,
.hero-care-note div span,
.trust-item span,
.about-card span,
.service-price small,
.service-price span,
.price-name span,
.gallery-album-head small,
.customer span,
.map-info span,
.package-options span,
.price-duration,
.lightbox-caption span,
.footer-link-list,
.footer-contact-list,
.footer-bottom{
  font-size:15px;
  line-height:1.65;
}

.section-kicker,
.service-top-label,
.package-link,
.float-zalo{
  font-size:14px;
  line-height:1.5;
}

.brand-text small{
  font-size:13px;
}

.price-name strong,
.customer strong,
.trust-item strong{
  font-size:16px;
}

.package-options strong{
  font-size:19px;
}

@media(max-width:760px){
  .brand-text small{
    font-size:11px;
  }

  .hero-copy .subtext,
  .service-content p,
  .process-item p,
  .combo-card p,
  .booking-copy p,
  .blog-body p,
  .faq-answer p,
  .secondary-service-strip{
    font-size:16px;
  }

  .trust-item span,
  .price-name span,
  .customer span,
  .map-info span,
  .package-options span{
    font-size:15px;
  }
}

/* Fresh tone pass: brighter wellness palette with sage, cream and soft blush. */
body{
  background:#fffaf3;
}

.hero{
  background:linear-gradient(128deg,#ffe8d5 0%,#fffaf3 48%,#844a0a 100%);
}

.hero-visual-card,
.hero-secondary-image,
.trust-inner,
.about-card,
.price-list,
.testimonial-card,
.blog-card,
.faq-item,
.map-info,
.booking-form,
.secondary-service-strip{
  background:#fffdf8;
  border-color:rgba(132,74,10,.18);
}

.trust,
.pricing,
.testimonials,
section.blog{
  background:#fffdf8;
}

.process,
.gallery,
.contact-section{
  background:#844a0a;
}

.combos,
.footer{
  background:linear-gradient(145deg,#844a0a,#844a0a 58%,#844a0a);
}

.combo-card,
.footer-card,
.footer-brand-panel{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
}

.btn-primary,
.header-booking,
.price-cta,
.package-link,
.booking-form button,
.footer-cta{
  background:linear-gradient(135deg,#844a0a,#844a0a);
  box-shadow:0 14px 30px rgba(132,74,10,.24);
}

.hero-proof,
.hero-care-note,
.gallery-item__label,
.service-top-label{
  background:rgba(255,253,248,.88);
  border-color:rgba(132,74,10,.18);
}

.hero-proof-mark span:first-child,
.customer-avatar,
.testimonial-dot.is-active,
.float-phone{
  background:#844a0a;
}

.hero-proof-mark span:nth-child(2),
.testimonial-arrow:hover{
  background:#844a0a;
}

.testimonial-dot{
  background:rgba(132,74,10,.24);
}

.testimonial-dot:hover,
.testimonial-dot:focus-visible{
  background:rgba(200,132,36,.66);
}

.price-row:hover,
.faq-item.active,
.trust-item:hover{
  background:#844a0a;
}

.section-kicker,
.eyebrow,
.service-top-label,
.price-note strong{
  color:#844a0a;
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
  .js .reveal{opacity:1;transform:none;filter:none}
}

/* Champagne-gold spa palette inspired by the reference artwork. */
:root{
  --cream:#f4dfb9;
  --cream-2:#ead0a0;
  --paper:#fff8ea;
  --brown:#844a0a;
  --brown-2:#844a0a;
  --gold:#b9821f;
  --gold-soft:#f3d58a;
  --green:#844a0a;
  --text:#844a0a;
  --muted:#844a0a;
  --dark:#844a0a;
  --border:rgba(185,130,31,.28);
  --shadow:0 24px 62px rgba(132,74,10,.16);
  --shadow-small:0 12px 34px rgba(132,74,10,.12);
}

body{
  color:var(--text);
  background:#c19A6B;
}

h1,h2,h3,
.brand-text strong,
.price-name strong,
.price-value,
.trust-item strong,
.customer strong,
.map-info strong{
  color:var(--brown);
}

.lead,
.hero-copy .subtext,
.hero-proof,
.hero-features,
.trust-item span,
.about-card span,
.process-item p,
.services-note,
.testimonial-card blockquote,
.blog-body p,
.faq-answer p,
.map-info span{
  color:var(--muted);
}

.hero{
  background:
    radial-gradient(circle at 8% 10%,rgba(255,246,221,.94),transparent 27%),
    radial-gradient(circle at 34% 21%,rgba(243,213,138,.50),transparent 25%),
    radial-gradient(circle at 88% 46%,rgba(132,74,10,.22),transparent 30%),
    linear-gradient(126deg,#efe0c3 0%,#fff8ea 48%,#e8c98f 100%);
}

.hero-copy .eyebrow,
.hero-proof,
.hero-features i,
.trust-inner,
.about-card,
.booking-form,
.price-wrap,
.testimonial-card,
.blog-card,
.faq-item,
.map-info,
.secondary-service-strip{
  background:rgba(255,248,234,.92);
  border-color:var(--border);
  box-shadow:var(--shadow-small);
}

.hero-copy .eyebrow{
  color:var(--brown-2);
}

.hero-copy h1 em{
  color:var(--gold);
}

.hero-copy h1 em::after{
  border-top-color:rgba(185,130,31,.78);
}

.hero-glow--one{
  border-color:rgba(185,130,31,.30);
  box-shadow:inset 0 0 100px rgba(185,130,31,.16);
}

.hero-glow--two{
  background:rgba(83,103,45,.10);
}

.hero-visual-card{
  background:#d9bd88;
  border-color:rgba(255,248,234,.86);
  box-shadow:0 34px 90px rgba(132,74,10,.24),0 8px 24px rgba(132,74,10,.13);
}

.hero-secondary-image{
  background:rgba(255,248,234,.95);
}

.btn-primary,
.booking-form .btn,
.footer-cta{
  color:#fff;
  background:linear-gradient(135deg,#844a0a,#d7a846 52%,#844a0a);
  box-shadow:0 15px 30px rgba(132,74,10,.24);
}

.btn-primary:hover{
  box-shadow:0 19px 38px rgba(132,74,10,.32);
}

.btn-outline,
.price-tab,
.testimonial-arrow{
  color:var(--brown);
  border-color:var(--border);
  background:rgba(255,250,240,.78);
}

.btn-outline:hover,
.price-tab:hover,
.price-tab.active,
.testimonial-arrow:hover{
  color:#fff;
  border-color:var(--gold);
  background:linear-gradient(135deg,var(--brown),var(--brown-2));
}

.brand-mark,
.trust-icon,
.process-step,
.hero-proof-mark span:nth-child(3){
  color:#fff8ea;
}

.trust-icon,
.process-step,
.stars,
.blog-meta,
.text-link,
.gallery-item__label small,
.service-price strong,
.package-icon,
.combo-meta,
.lightbox-caption span{
  color:#844a0a;
}

.brand-mark,
.hero-proof-mark span,
.hero-care-note__icon,
.check-list li::before,
.customer-avatar,
.testimonial-dot.is-active,
.float-phone{
  background:linear-gradient(145deg,var(--brown),var(--gold));
}

.hero-proof-mark span:nth-child(2){
  background:linear-gradient(145deg,#844a0a,#844a0a);
}

.services,
.contact-section,
.price-tabs{
  background:linear-gradient(180deg,#f2dfbd,#ead0a0);
}

.process,
.pricing,
.testimonials,
section.blog{
  background:var(--paper);
}

.gallery{
  background:
    radial-gradient(circle at 8% 15%,rgba(185,130,31,.16),transparent 25%),
    linear-gradient(145deg,#f5e6c8,#ecd09d);
}

.combos,
.booking,
.footer{
  background:
    radial-gradient(circle at 12% 0,rgba(243,213,138,.16),transparent 34%),
    linear-gradient(145deg,#844a0a,#844a0a 58%,#844a0a);
}

.service-card::before,
.gallery-item::before{
  background:linear-gradient(to top,rgba(45,28,14,.88),rgba(45,28,14,.05) 70%);
}

.combo-card,
.footer-brand-panel,
.footer-topline,
.footer-contact-item{
  border-color:rgba(243,213,138,.18);
  background:rgba(255,248,234,.07);
}

.combo-card.featured{
  background:linear-gradient(3deg, rgb(132 74 10 / 81%), rgb(133 74 10));
  border-color:rgba(243,213,138,.50);
}

.combo-badge,
.footer-cta,
.socials a:hover{
  color:#844a0a;
  background:linear-gradient(135deg,#f3d58a,#c8932c);
}

.price-note,
.price-duration,
.faq-plus,
.mobile-nav .language-switcher a{
  background:#f7ebd1;
}

.price-row:hover,
.faq-item.active,
.trust-item:hover{
  background:#fff1d5;
}

.section-kicker,
.eyebrow,
.service-top-label,
.price-note strong,
.footer-badges span,
.footer-links a:hover{
  color:var(--gold);
}

.eyebrow::before,
.process-grid::before,
.main-nav a::after{
  background:var(--gold);
}

.toast{
  background:var(--brown);
}

/* Deep leaf accent pass: make the dark green visible beside champagne gold. */
:root{
  --green:#844a0a;
  --green-deep:#844a0a;
  --green-soft:#844a0a;
}

.hero{ 
    background: radial-gradient(circle at 5% 11%, rgba(255, 246, 221, .94), transparent 26%), radial-gradient(circle at 16% 80%, rgba(132, 74, 10, .18), transparent 30%), radial-gradient(circle at 35% 22%, rgba(243, 213, 138, .48), transparent 25%), radial-gradient(circle at 88% 46%, rgba(132, 74, 10, .20), transparent 30%), linear-gradient(126deg, #854b09 0%, #fff8ea 48%, #e8c98f 100%);
}

.hero-copy h1 em,
.section-kicker,
.eyebrow,
.service-top-label,
.price-note strong{
  color:var(--green);
}

.btn-primary,
.booking-form .btn{
  color:#fff;
  background:linear-gradient(135deg,#f3d58a,#c8932c);
  box-shadow:0 15px 30px rgba(132,74,10,.26);
}

.btn-primary:hover{
  box-shadow:0 19px 38px rgba(132,74,10,.34);
}

.brand-mark,
.hero-proof-mark span:first-child,
.hero-care-note__icon,
.check-list li::before,
.customer-avatar,
.testimonial-dot.is-active,
.float-phone{
  background:linear-gradient(145deg,var(--green-deep),var(--green));
}

.hero-proof-mark span:nth-child(2){
  background:linear-gradient(145deg,#844a0a,#844a0a);
}

.trust-icon,
.process-step,
.faq-plus,
.price-duration{
  color:var(--green);
  background:#844a0a47;
  border-color:rgba(132,74,10,.22);
}

.services,
.contact-section,
.price-tabs{
  background:
    radial-gradient(circle at 4% 18%, rgba(132, 74, 10, .12), transparent 28%), linear-gradient(180deg, #854b0c21, #854b093b);
}

.gallery{
  background:
    radial-gradient(circle at 8% 15%,rgba(132,74,10,.13),transparent 25%),
    radial-gradient(circle at 88% 18%,rgba(185,130,31,.14),transparent 28%),
    linear-gradient(145deg,#f5e6c8,#ecd09d);
}

.combos,
.booking,
.footer{
  background:
    radial-gradient(circle at 12% 0,rgba(243,213,138,.14),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(132,74,10,.34),transparent 36%),
    linear-gradient(145deg,#844a0a,#844a0a 48%,#844a0a);
}

.footer-cta,
.combo-badge,
.socials a:hover{
  color:#844a0a;
  background:linear-gradient(135deg,#f3d58a,#c8932c);
}

.combo-card,
.footer-brand-panel,
.footer-topline,
.footer-contact-item{
  border-color:rgba(229,239,217,.18);
}

.footer-badges span{
  color:#844a0a;
  border-color:rgba(229,239,217,.24);
  background:rgba(229,239,217,.08);
}

.footer-links a:hover{
  color:var(--gold-soft);
}

.botanical{
  color:rgba(132,74,10,.24);
}

/* Visual fixes after palette overrides. */
.gallery-item__label{
  left:21px;
  right:21px;
  bottom:19px;
  padding:0;
  color:#fff;
  background:transparent!important;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}

.gallery-item__label small{
  color:var(--gold-soft);
  background:transparent;
}

.gallery-item__label strong{
  color:#fff;
  text-shadow:0 2px 12px rgba(24,16,9,.45);
}

.package-link{
  padding:0;
  color:var(--gold-soft);
  background:transparent!important;
  border:0;
  box-shadow:none!important;
}

.package-link:hover,
.package-link:focus-visible{
  color:#fff;
  background:transparent!important;
}

.hero-proof{
  width:max-content;
  max-width:100%;
  padding:0;
  background:transparent!important;
  border:0;
  box-shadow:none;
}

.hero-image-caption{
  left:210px;
  right:auto;
  max-width:min(390px,58%);
  text-shadow:0 2px 14px rgba(24,16,9,.55);
}

.hero-care-note{
  right: -118px;
    bottom: 182px;
  max-width:292px;
}

@media(max-width:760px){
  .hero-proof{
    width:auto;
  }

  .hero-image-caption{
    left:22px;
    right:22px;
    max-width:none;
  }

  .hero-care-note{
    right:0;
    bottom:18px;
    max-width:230px;
  }
}

@media(max-width:430px){
  .hero-care-note{
    display:none;
  }
}

/* Booking popup: hidden until a booking CTA is clicked. */
.booking-modal{
  position:fixed;
  inset:0;
  z-index:2100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow-y:auto;
  background:rgba(132,74,10,.72);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}

.booking-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.booking-modal__panel{
  position:relative;
  width:min(1100px,100%);
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  border:1px solid rgba(243,213,138,.28);
  border-radius:26px;
  background:
    radial-gradient(circle at 10% 0,rgba(243,213,138,.18),transparent 34%),
    linear-gradient(145deg,#844a0a,#844a0a 48%,#844a0a);
  box-shadow:0 34px 100px rgba(16,20,12,.34);
}

.booking-modal .booking-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:42px;
  align-items:center;
  padding:38px;
}

.booking-modal .booking-copy,
.booking-modal .booking-form{
  opacity:1;
  transform:none;
}

.booking-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.10);
  font-size:28px;
  line-height:1;
  transition:background-color .2s ease,transform .2s ease;
}

.booking-modal__close:hover,
.booking-modal__close:focus-visible{
  background:rgba(243,213,138,.24);
  transform:translateY(-1px);
}

body.booking-modal-open{
  overflow:hidden;
}

@media(max-width:1050px){
  .booking-modal{
    align-items:flex-start;
  }

  .booking-modal .booking-grid{
    grid-template-columns:1fr;
  }

  .booking-modal .booking-copy{
    text-align:center;
  }

  .booking-modal .booking-contact{
    justify-items:center;
  }
}

@media(max-width:760px){
  .booking-modal{
    padding:12px;
  }

  .booking-modal__panel{
    max-height:calc(100vh - 24px);
    border-radius:20px;
  }

  .booking-modal .booking-grid{
    gap:24px;
    padding:64px 16px 18px;
  }

  .booking-modal .booking-copy{
    text-align:left;
  }

  .booking-modal .booking-contact{
    justify-items:start;
  }

  .booking-modal__close{
    top:12px;
    right:12px;
  }
}

/* Restore hero title treatment and balance footer link columns. */
.hero-copy h1{
  max-width:670px;
  margin:24px 0 25px;
  color:var(--brown);
  font-family:"Playfair Display",serif;
  font-size:54px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.hero-copy h1 span{
  position:relative;
  display:inline-block;
  color:var(--green);
  font-weight:500;
}

.hero-copy h1 span::after{
  content:"";
  position:absolute;
  left:3%;
  right:0;
  bottom:-3px;
  height:8px;
  border-radius:50%;
  border-top:2px solid rgba(185,130,31,.78);
  transform:rotate(-2deg);
}

.footer-column{
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.footer-links{
  flex:1 1 auto;
}

.footer-column-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:40px;
  margin-top:22px;
  padding:0 15px;
  border:1px solid rgba(243,213,138,.28);
  border-radius:999px;
  color:#f3d58a;
  background:rgba(243,213,138,.08);
  font-size:12px;
  font-weight:800;
  transition:transform .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}

.footer-column-cta:hover{
  color:#844a0a;
  border-color:rgba(243,213,138,.55);
  background:linear-gradient(135deg,#f3d58a,#c8932c);
  transform:translateY(-2px);
}

@media(max-width:760px){
  .hero-copy h1{
    font-size:clamp(40px,11vw,52px);
    line-height:1.08;
  }

  .footer-column-cta{
    width:100%;
  }
}

/* Warm beige patterned footer. */
.footer{
  color:rgba(132,74,10,.78);
  background-color:#ead3ad;
  background-image:
    linear-gradient(145deg,rgba(255,248,234,.82),rgba(234,211,173,.94) 48%,rgba(197,154,93,.74)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92' viewBox='0 0 92 92'%3E%3Cg fill='none' stroke='%2373501f' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M14 62c14-3 24-13 30-30 6 17 16 27 34 30'/%3E%3Cpath d='M20 22c8 8 15 11 26 11 11 0 18-3 26-11'/%3E%3Ccircle cx='46' cy='46' r='18' stroke-opacity='.08'/%3E%3C/g%3E%3C/svg%3E");
  background-size:auto,92px 92px;
}

.footer::before{
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='124' height='124' viewBox='0 0 124 124'%3E%3Cg fill='none' stroke='%231f4f2d' stroke-opacity='.18' stroke-width='1.2'%3E%3Cpath d='M22 90c28-7 47-26 58-58'/%3E%3Cpath d='M80 32c-14 2-25 9-33 22'/%3E%3Cpath d='M56 57c11 4 23 4 36 0'/%3E%3C/g%3E%3C/svg%3E");
}

.footer-topline,
.footer-brand-panel,
.footer-contact-item,
.footer-column-cta{
  border-color:rgba(132,74,10,.18);
  background:rgba(255,248,234,.48);
  box-shadow:0 18px 45px rgba(132,74,10,.10);
}

.footer-topline>span,
.footer .brand-text strong,
.footer h4,
.footer-contact-item,
.footer-links a,
.footer-about,
.footer-bottom{
  color:var(--brown);
}

.footer .brand-text small,
.footer-contact,
.footer-contact-item,
.footer-about,
.footer-bottom{
  color:rgba(132,74,10,.70);
}

.footer h4::before{
  background:var(--gold);
}

.footer-links a::before{
  border-color:var(--green);
}

.footer-links a:hover{
  color:var(--green);
}

.footer-contact-item .footer-icon,
.footer-badges span{
  color:var(--green);
  background:rgba(132,74,10,.08);
  border-color:rgba(132,74,10,.20);
}

.socials a{
  color:var(--brown);
  border-color:rgba(132,74,10,.18);
  background:rgba(255,248,234,.48);
}

.socials a:hover,
.footer-cta,
.footer-column-cta:hover{
  color:#fff8ea;
  background:linear-gradient(135deg,var(--green-deep),var(--green));
}

.footer-column-cta{
  color:var(--brown);
}

.footer-bottom{
  border-top-color:rgba(132,74,10,.16);
}

/* Dark cocoa patterned footer tone requested in reference. */
.footer{
  color:rgba(255,248,234,.78);
  background-color:#844a0a;
  background-image:
    linear-gradient(145deg,rgba(132,74,10,.96),rgba(132,74,10,.98) 52%,rgba(132,74,10,.98)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='118' height='118' viewBox='0 0 118 118'%3E%3Cg fill='none' stroke='%23f3d58a' stroke-opacity='.18' stroke-width='1.15'%3E%3Cpath d='M18 82c28-5 45-22 52-52 8 27 22 42 42 47'/%3E%3Cpath d='M24 34c10 9 21 13 35 13 14 0 25-4 35-13'/%3E%3Cpath d='M42 94c8-11 18-17 31-18'/%3E%3C/g%3E%3Cg fill='%232f1e12' fill-opacity='.16'%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3Ccircle cx='78' cy='22' r='1.7'/%3E%3Ccircle cx='102' cy='76' r='2'/%3E%3Ccircle cx='40' cy='62' r='1.4'/%3E%3C/g%3E%3C/svg%3E");
  background-size:auto,118px 118px;
}

.footer::before{
  opacity:.24;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23fff8ea' stroke-opacity='.12' stroke-width='1'%3E%3Cpath d='M24 116c42-10 70-38 84-84'/%3E%3Cpath d='M108 32c-24 4-42 16-55 38'/%3E%3Cpath d='M58 76c20 8 40 8 62 0'/%3E%3C/g%3E%3C/svg%3E");
}

.footer-topline,
.footer-brand-panel,
.footer-contact-item,
.footer-column-cta{
  border-color:rgba(243,213,138,.22);
  background:rgba(255,248,234,.07);
  box-shadow:0 18px 45px rgba(132,74,10,.18);
}

.footer-topline>span,
.footer .brand-text strong,
.footer h4{
  color:#fff8ea;
}

.footer-links a,
.footer-contact-item,
.footer-about,
.footer-bottom{
  color:rgba(255,248,234,.76);
}

.footer .brand-text small,
.footer-contact,
.footer-bottom{
  color:rgba(255,248,234,.58);
}

.footer h4::before{
  background:var(--gold-soft);
}

.footer-links a::before{
  border-color:var(--gold-soft);
}

.footer-links a:hover{
  color:var(--gold-soft);
}

.footer-contact-item .footer-icon,
.footer-badges span{
  color:var(--gold-soft);
  background:rgba(243,213,138,.10);
  border-color:rgba(243,213,138,.24);
}

.socials a{
  color:#fff8ea;
  border-color:rgba(243,213,138,.18);
  background:rgba(255,248,234,.08);
}

.socials a:hover,
.footer-cta,
.footer-column-cta:hover{
  color:#844a0a;
  background:linear-gradient(135deg,#f3d58a,#c8932c);
}

.footer-column-cta{
  color:var(--gold-soft);
}

.footer-bottom{
  border-top-color:rgba(243,213,138,.16);
}

/* Homepage price table booking actions. */
.price-duration:empty{
  display:none;
}

.price-booking-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(132,74,10,.22);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--green-deep),var(--green));
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(132,74,10,.16);
  transition:transform .25s ease,box-shadow .25s ease;
}

.price-booking-link:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(132,74,10,.22);
}

@media(max-width:760px){
  .price-booking-link{
    min-height:34px;
    padding-inline:12px;
    font-size:11px;
  }
}

/* Process journey: make the four steps feel connected as one flow. */
.process{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 9% 24%,rgba(132,74,10,.08),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(200,147,44,.10),transparent 26%),
    var(--paper);
}

.process-grid{
  gap:34px;
  align-items:stretch;
  isolation:isolate;
}

.process-grid::before{
  left:10%;
  right:10%;
  top:66px;
  height:1px;
  z-index:0;
  background:linear-gradient(90deg,transparent,rgba(132,74,10,.26),rgba(200,147,44,.36),rgba(132,74,10,.26),transparent);
}

.process-item{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto auto 1fr;
  align-content:start;
  min-height:228px;
  padding:26px 20px 24px;
  border:1px solid rgba(132,74,10,.14);
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf8,#faf0db);
  box-shadow:0 18px 45px rgba(132,74,10,.08);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.process-item::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:-1;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.68);
  pointer-events:none;
}

.process-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:58px;
  right:-34px;
  z-index:2;
  width:34px;
  height:18px;
  border:0;
  transform:none;
  opacity:.76;
  background:linear-gradient(90deg,rgba(132,74,10,.24),rgba(200,147,44,.52),rgba(132,74,10,.28));
  clip-path:polygon(0 44%,68% 44%,68% 20%,100% 50%,68% 80%,68% 56%,0 56%);
}

.process-item:hover{
  transform:translateY(-5px);
  border-color:rgba(132,74,10,.26);
  box-shadow:0 24px 56px rgba(132,74,10,.12);
}

.process-step{
  position:relative;
  z-index:1;
  margin-bottom:18px;
  border-width:2px;
  box-shadow:0 14px 32px rgba(132,74,10,.12),0 0 0 8px rgba(229,239,217,.72);
}

.process-item h3{
  margin-bottom:9px;
}

.process-item p{
  max-width:220px;
  margin-inline:auto;
  line-height:1.7;
}

@media(max-width:760px){
  .process-grid{
    position:relative;
    grid-template-columns:1fr;
    gap:20px;
  }

  .process-grid::before{
    display:block;
    left:39px;
    right:auto;
    top:28px;
    bottom:28px;
    width:2px;
    height:auto;
    background:linear-gradient(180deg,rgba(132,74,10,.38),rgba(200,147,44,.58),rgba(132,74,10,.38));
  }

  .process-item{
    min-height:0;
    grid-template-columns:78px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:18px;
    text-align:left;
    padding:20px 18px 20px 20px;
  }

  .process-step{
    grid-row:1 / 3;
    margin:0;
  }

  .process-item h3,
  .process-item p{
    max-width:none;
    margin-inline:0;
  }

  .process-item:not(:last-child)::after{
    top:auto;
    right:auto;
    left:31px;
    bottom:-20px;
    width:18px;
    height:30px;
    transform:none;
    opacity:.7;
    background:linear-gradient(180deg,rgba(132,74,10,.24),rgba(200,147,44,.50),rgba(132,74,10,.28));
    clip-path:polygon(44% 0,56% 0,56% 66%,80% 66%,50% 100%,20% 66%,44% 66%);
  }
}

@media(min-width:761px) and (max-width:900px){
  .process-item:not(:last-child)::after{
    display:none;
  }
}

/* Floating contact refresh. */
.floating-actions{
  align-items:end;
  justify-items:end;
  right:10px;
}

.float-zalo{
  overflow:hidden;
  padding:7px;
  background:#fff;
}

.float-zalo img,
.socials a img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.float-facebook{
  background:#1877f2;
}

.float-facebook .icon{
  width:25px;
  height:25px;
  fill:currentColor;
  stroke:none;
}

.float-booking{
  width:78px;
  height:48px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#844a0a,#844a0a);
  box-shadow:0 14px 32px rgba(132,74,10,.34),0 0 0 6px rgba(132,74,10,.13);
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.float-booking::after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:inherit;
  border:1px solid rgba(132,74,10,.48);
  animation:booking-float-ring 1.8s ease-out infinite;
  pointer-events:none;
}

.float-booking:hover{
  color:#fff;
  transform:translateY(-5px) scale(1.03);
  box-shadow:0 18px 38px rgba(132,74,10,.42),0 0 0 7px rgba(132,74,10,.16);
}

@keyframes booking-float-ring{
  0%{opacity:.85;transform:scale(.92)}
  78%,100%{opacity:0;transform:scale(1.28)}
}

@media(max-width:760px){
  .floating-actions{
    right:0;
  }

  .float-booking{
    width:74px;
    height:44px;
    font-size:11px;
  }
}

/* One continuous artwork behind the homepage content sections. */
:root{
  --home-section-background:url("https://wellnessspaquynhon.com/wp-content/uploads/2026/07/60d31a34-5912-4421-b216-18e4465268e4.png");
  --pattern-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cg fill='none' stroke='%23b9821f' stroke-opacity='.22' stroke-width='1.35'%3E%3Cpath d='M38 338C92 275 105 197 83 72'/%3E%3Cpath d='M84 213c42-7 74-31 97-72'/%3E%3Cpath d='M76 258c-31-11-53-35-65-71'/%3E%3Cellipse cx='160' cy='138' rx='34' ry='10' transform='rotate(-39 160 138)'/%3E%3Cellipse cx='45' cy='188' rx='29' ry='9' transform='rotate(28 45 188)'/%3E%3Cellipse cx='87' cy='87' rx='27' ry='8' transform='rotate(-20 87 87)'/%3E%3C/g%3E%3C/svg%3E");
  --pattern-wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='260' viewBox='0 0 420 260'%3E%3Cg fill='none' stroke='%23b9821f' stroke-opacity='.18' stroke-width='1.35'%3E%3Cpath d='M-30 210C54 92 146 67 245 112s139 36 205-53'/%3E%3Cpath d='M-46 252C47 123 146 105 253 145s145 31 214-57'/%3E%3Cpath d='M-24 168C56 61 135 43 228 83s142 30 194-38'/%3E%3C/g%3E%3C/svg%3E");
  --pattern-arc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cg fill='none' stroke='%23b9821f' stroke-opacity='.18' stroke-width='1.35'%3E%3Cpath d='M-20 300C42 174 133 104 268 80'/%3E%3Cpath d='M42 350C93 225 165 160 315 128'/%3E%3Cpath d='M144 360c31-89 83-148 190-190'/%3E%3C/g%3E%3C/svg%3E");
  --pattern-gold-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cg fill='none' stroke='%23f3d58a' stroke-opacity='.22' stroke-width='1.35'%3E%3Cpath d='M38 338C92 275 105 197 83 72'/%3E%3Cpath d='M84 213c42-7 74-31 97-72'/%3E%3Cpath d='M76 258c-31-11-53-35-65-71'/%3E%3Cellipse cx='160' cy='138' rx='34' ry='10' transform='rotate(-39 160 138)'/%3E%3Cellipse cx='45' cy='188' rx='29' ry='9' transform='rotate(28 45 188)'/%3E%3Cellipse cx='87' cy='87' rx='27' ry='8' transform='rotate(-20 87 87)'/%3E%3C/g%3E%3C/svg%3E");
}

.home-content-background{
  position:relative;
  isolation:isolate;
  background:transparent;
}

.home-content-background > .about-background{
  background:var(--home-section-background) center/cover no-repeat;
}

.home-content-background > .services,
.home-content-background > .process,
.home-content-background > .pricing,
.home-content-background > .gallery,
.home-content-background > .testimonials,
.home-content-background > section.blog,
.home-content-background > .contact-section{
  background-color:transparent;
  background-position:center,center;
  background-repeat:repeat,no-repeat;
  background-size:180px 180px,cover;
  background-attachment:scroll,fixed;
}

.home-content-background > .services{
  background-image:var(--pattern-leaf),var(--home-section-background);
}

.home-content-background > .process{
  background-image:var(--pattern-wave),var(--home-section-background);
  background-size:240px 149px,cover;
}

.home-content-background > .pricing{
  background-image:var(--pattern-arc),var(--home-section-background);
  background-position:right center,center;
}

.home-content-background > .gallery{
  background-image:var(--pattern-leaf),var(--home-section-background);
  background-position:left center,center;
}

.home-content-background > .testimonials,
.home-content-background > section.blog{
  background-image:var(--pattern-wave),var(--home-section-background);
  background-position:center bottom,center;
  background-size:240px 149px,cover;
}

.home-content-background > .contact-section{
  background-image:var(--pattern-arc),var(--home-section-background);
  background-position:left center,center;
}

.home-content-background > .combos{
  background-color:transparent;
  background-image:var(--pattern-gold-leaf),var(--home-section-background);
  background-position:right center,center;
  background-repeat:repeat,no-repeat;
  background-size:180px 180px,cover;
  background-attachment:scroll,fixed;
}

.footer{
  background-color:#844a0a;
  background-image:
    var(--pattern-gold-leaf),
    linear-gradient(120deg,rgba(255,248,234,.08),transparent 42%,rgba(243,213,138,.10) 74%,transparent),
    linear-gradient(145deg,#5d2c07 0%,#844a0a 46%,#9a5a12 72%,#5a2906 100%);
  background-position:right bottom,0 0,0 0;
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-size:260px 260px,100% 100%,100% 100%;
}

.footer::before{
  opacity:0;
}
