/* JULIA V12 / FULL PAGE RESTORATION. No global color overrides; explicit theme per section. */
/* P0: dark canvas had inherited ink (#29252c) in visit-process and questions. */
.page-home .visit-process{
  background:radial-gradient(ellipse 62% 85% at 85% 30%,#51384d3d 0%,transparent 77%),
             linear-gradient(152deg,#1a141e 0%,#241a28 55%,#171119 100%)!important;
  color:#f8f1f7!important;
  border-top:1px solid #c9a5c653!important;
}
.page-home .visit-process .section-heading h2,
.page-home .visit-process .section-heading h3,
.page-home .visit-process .process-card h3{
  color:#fff6fa!important;
}
.page-home .visit-process .section-heading h2 em{
  color:#e9c0df!important;
}
.page-home .visit-process .eyebrow,
.page-home .visit-process .section-heading>p,
.page-home .visit-process .process-card p{
  color:#e5d5e4!important;
}
.page-home .visit-process .section-heading>p{
  font-size:clamp(14px,1.13vw,17px)!important;
  line-height:1.75!important;
}
.page-home .visit-process .process-card>span{color:#e9c1e3!important}
.page-home .visit-process .process-card{border-color:#d8b9d369!important}
.page-home .visit-process .process-grid::before{background:#e5cde05a!important}
.page-home .visit-process .process-grid::after{background:#d7a9d1!important}
.page-home .visit-process .process-card::before{
  background:#f1cfec!important;
  box-shadow:0 0 0 7px #d9bce228!important;
}
.page-home .visit-process .process-card:hover h3{color:#f8ddef!important}
.page-home .visit-process .offer-note,
.page-home .visit-process .offers-grid .offer-note--friend{
  color:#2b2031!important;
  background:linear-gradient(145deg,#f3e9f1,#dfcddd)!important;
  border:1px solid #edd7e6!important;
  box-shadow:0 16px 42px #09060d6e!important;
}
.page-home .visit-process .offers-grid .offer-note--friend{
  background:linear-gradient(145deg,#f2e0ed,#dac7df)!important;
}
.page-home .visit-process .offer-note strong{color:#291c2d!important}
.page-home .visit-process .offer-note p{
  color:#524558!important;
  font-size:clamp(12px,1vw,14px)!important;
  line-height:1.7!important;
}
.page-home .visit-process .offer-note .tiny-spark{color:#845991!important}
.page-home .visit-process .offer-note .text-link{
  color:#4c2f57!important;
  font-size:12px!important;
  border-bottom-color:#7b5887!important;
}
.page-home .visit-process .offer-note .text-link:hover{color:#6a3684!important}
/* FAQ: dark editorial room, strong readable headings, labels and expanded answers. */
.page-home .questions-section{
  background:radial-gradient(ellipse 70% 75% at 0% 25%,#4c344d35 0%,transparent 77%),
             linear-gradient(135deg,#171119,#261a2a 60%,#17111c)!important;
  color:#f8f0f6!important;
}
.page-home .questions-section .eyebrow{color:#d9afd1!important}
.page-home .questions-section h2{
  color:#fff3fa!important;
  font-size:clamp(45px,4.5vw,71px)!important;
  line-height:.98!important;
  letter-spacing:-.07em!important;
}
.page-home .questions-section h2 em{color:#efc4e4!important}
.page-home .questions-layout>div:first-child>p:not(.eyebrow){
  color:#e2d0de!important;
  font-size:clamp(14px,1.12vw,17px)!important;
  line-height:1.8!important;
  max-width:390px!important;
}
.page-home .questions-section .text-link{
  color:#f5dcf0!important;
  border-bottom:1px solid #e3bad8b8!important;
  font-size:13px!important;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.page-home .questions-section .faq-item{
  border-color:#dfbddc72!important;
  background:transparent!important;
}
.page-home .questions-section .faq-item::before{
  background:linear-gradient(105deg,#e6b6db21 0%,transparent 70%)!important;
}
.page-home .questions-section .faq-item summary{
  color:#f7eaf4!important;
  font-size:clamp(14px,1.15vw,16px)!important;
  font-weight:600;
  line-height:1.55!important;
  min-height:73px;
  padding:19px 0!important;
  gap:20px;
}
.page-home .questions-section .faq-item:hover summary,
.page-home .questions-section .faq-item[open] summary{padding-left:9px!important}
.page-home .questions-section .faq-item summary::marker{color:#eed0e7}
.page-home .questions-section .faq-plus{
  display:inline-grid!important;
  place-items:center;
  flex:0 0 35px;
  width:35px!important;
  height:35px!important;
  border:1px solid #e8c5df9c!important;
  background:#3e2b43!important;
  color:#ffe9fb!important;
  font-size:23px!important;
  border-radius:50%!important;
}
.page-home .questions-section .faq-item[open] .faq-plus{
  background:#e8d0e4!important;
  color:#3a2143!important;
}
.page-home .questions-section .faq-answer{
  padding:0 25px 28px 0!important;
  color:#e5d5e2!important;
}
.page-home .questions-section .faq-answer p{
  color:#e9d9e7!important;
  font-size:clamp(13px,1vw,15px)!important;
  line-height:1.85!important;
  max-width:700px;
}
.page-home .questions-section .faq-item:focus-within{
  outline:2px solid #eac4df!important;
  outline-offset:3px;
}
.page-home .questions-section .faq-item summary:focus-visible{
  outline:3px solid #f4d8ef!important;
  outline-offset:4px;
}
/* Quiet hardware details and controls: prevent tiny tap targets / accidental overflow. */
.page-home .faq-plus,.page-home .gallery-controls button,
.page-home .work-card__open,.page-home .nav-book{min-width:44px;min-height:44px}
.page-home .questions-section,.page-home .visit-process,
.page-home .reviews-section,.page-home .booking-section{scroll-margin-top:85px}
@media(max-width:900px){
  .page-home .questions-layout{gap:42px!important;grid-template-columns:minmax(0,1fr)!important}
  .page-home .questions-layout>*{min-width:0}
  .page-home .visit-process .process-card h3{font-size:clamp(19px,4.1vw,24px)}
}
@media(max-width:640px){
  .page-home .visit-process,.page-home .questions-section{
    padding-top:76px!important;padding-bottom:78px!important;
  }
  .page-home .questions-section h2{font-size:clamp(46px,11vw,62px)!important}
  .page-home .questions-section .faq-item summary{
    font-size:15px!important;min-height:68px;gap:13px;padding:17px 0!important;
  }
  .page-home .questions-section .faq-answer{padding-right:5px!important}
  .page-home .questions-section .faq-answer p{font-size:14px!important}
  .page-home .visit-process .offers-grid .offer-note{
    padding:24px 18px!important;
  }
  .page-home .visit-process .offer-note .text-link{
    margin-left:0!important;
  }
}
@media(prefers-reduced-motion:reduce){
 .page-home .questions-section .faq-item summary,
 .page-home .questions-section .faq-plus{
   transition:none!important;
 }
}

/* V12 P1: optional floating audio control overlapped mobile FAQ answer. */
@media(max-width:700px){
 .page-home .sound-toggle{display:none!important}
}
