/* Luxury Home Cleaning & Housekeeping page layer. Shared primitives remain in core and service-page CSS. */
.page-luxury-housekeeping {
  --lh-navy: #071a36;
  --lh-ink: #10233f;
  --lh-gold: #d4af37;
  --lh-cream: #f8f5ee;
}

.page-luxury-housekeeping main { overflow: clip; }
.page-luxury-housekeeping section { position: relative; }
.page-luxury-housekeeping .hero-glow,
.page-luxury-housekeeping .home-standard-section::before { pointer-events: none; }
.page-luxury-housekeeping .luxury-housekeeping-hero { padding-block: clamp(72px, 8vw, 116px); }
.page-luxury-housekeeping .luxury-housekeeping-hero-grid { align-items: center; gap: clamp(42px, 6vw, 90px); }
.page-luxury-housekeeping .luxury-housekeeping-hero-content { min-width: 0; }
.page-luxury-housekeeping .luxury-housekeeping-hero .lux-h1 {
  max-width: 770px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(46px, 5vw, 76px);
  font-weight: 850;
  letter-spacing: -.05em;
  line-height: 1.02;
}
.page-luxury-housekeeping .luxury-housekeeping-hero .text-gradient { display: inline; }
.page-luxury-housekeeping .luxury-housekeeping-hero .hero-lead-copy { margin: 0; color: #dbe4ef; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.72; }
.page-luxury-housekeeping .luxury-housekeeping-hero .hero-btns { margin: 30px 0 28px; }
.luxury-housekeeping-hero-media .hero-image { aspect-ratio: 1.18; object-fit: cover; object-position: center; }
.luxury-hero-caption {
  position: absolute; right: -18px; bottom: -24px; z-index: 4;
  display: grid; gap: 4px; width: min(330px, 80%); padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.17); border-radius: 20px;
  background: rgba(7,26,54,.94); box-shadow: 0 24px 58px rgba(0,0,0,.25); color: #fff;
}
.luxury-hero-caption strong { color: #f1d77b; font-size: 14px; }
.luxury-hero-caption span { color: #d4deea; font-size: 12px; line-height: 1.5; }
.luxury-hero-notes { display: flex; flex-wrap: wrap; gap: 10px; }
.luxury-hero-notes span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #d5dfeb; font-size: 11px; font-weight: 700; }

.luxury-fit-section,
.luxury-relationship-section,
.material-method-section,
.progressive-care-section,
.luxury-service-area { padding-block: clamp(78px, 8vw, 116px); }
.luxury-editorial-grid,
.luxury-service-area-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(42px, 8vw, 110px); align-items: start; }
.luxury-editorial-copy { padding-top: 9px; }
.luxury-editorial-copy p,
.luxury-service-area-inner p { margin: 0 0 18px; color: #53647b; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.82; }
.luxury-image-copy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(46px, 7vw, 100px); align-items: center; }
.luxury-image-copy.reverse .luxury-image-frame { order: 2; }
.luxury-image-frame { overflow: hidden; border-radius: clamp(26px, 3vw, 40px); box-shadow: 0 30px 80px rgba(7,26,54,.14); }
.luxury-image-frame img { display: block; width: 100%; aspect-ratio: 1.2; object-fit: cover; }
.luxury-image-copy .lux-p-body { color: #586980; line-height: 1.78; }

.home-standard-section { padding-block: clamp(86px, 9vw, 128px); overflow: hidden; background: var(--lh-navy); }
.home-standard-section::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 44px 44px; }
.home-standard-section .lux-container { position: relative; z-index: 1; }
.home-standard-heading { max-width: 790px; margin-bottom: 48px; }
.home-standard-heading p { max-width: 700px; color: #cbd6e3; font-size: 17px; line-height: 1.76; }
.home-standard-sequence { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(212,175,55,.45); }
.home-standard-sequence article { position: relative; padding: 34px 26px 28px 0; }
.home-standard-sequence article:not(:last-child) { border-right: 1px solid rgba(255,255,255,.11); margin-right: 24px; }
.home-standard-sequence article > span { display: block; margin-bottom: 36px; color: #e5c661; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.home-standard-sequence h3 { margin: 0 0 13px; color: #fff; font-size: clamp(24px,2vw,31px); }
.home-standard-sequence p { margin: 0; color: #bdc9d8; font-size: 14px; line-height: 1.7; }
.home-standard-benefits { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.home-standard-benefits span { padding: 10px 15px; border: 1px solid rgba(212,175,55,.3); border-radius: 999px; color: #f5df94; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.luxury-inclusions { padding-block: clamp(86px,9vw,126px); }
.luxury-inclusions .services-header { max-width: 900px; }
.inclusion-split { display: grid; grid-template-columns: 1.35fr .65fr; gap: 24px; margin-top: 44px; }
.inclusion-split article { padding: clamp(30px,4vw,50px); border-radius: 28px; }
.inclusion-primary { border: 1px solid rgba(7,26,54,.08); background: #fff; box-shadow: 0 24px 68px rgba(7,26,54,.08); }
.inclusion-secondary { border: 1px solid rgba(212,175,55,.22); background: var(--lh-navy); color: #d8e1ec; }
.inclusion-kicker { display: inline-flex; margin-bottom: 14px; color: #9f741d; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.inclusion-secondary .inclusion-kicker { color: #e2c766; }
.inclusion-split h3 { margin: 0 0 16px; color: var(--lh-ink); font-size: clamp(25px,2.6vw,36px); line-height: 1.16; }
.inclusion-secondary h3 { color: #fff; }
.inclusion-split p { color: #5b6b81; line-height: 1.75; }
.inclusion-secondary p,
.inclusion-secondary .lux-list,
.inclusion-secondary .lux-list li { color: #d5dfeb; }
.object-care-note { margin-top: 24px; padding: 22px 24px; border-left: 3px solid var(--lh-gold); border-radius: 0 16px 16px 0; background: #f5f2e9; }
.object-care-note strong { color: var(--lh-ink); }
.object-care-note p { margin: 7px 0 0; color: #586980; font-size: 14px; line-height: 1.68; }

.continuity-privacy-section { padding-block: clamp(88px,9vw,126px); background: #0a2142; }
.continuity-privacy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 32px; background: rgba(255,255,255,.1); }
.continuity-privacy-grid article { padding: clamp(34px,5vw,62px); background: var(--lh-navy); }
.continuity-privacy-grid article + article { background: #102b52; }
.continuity-privacy-grid p { color: #cbd6e3; line-height: 1.75; }
.privacy-list { display: grid; gap: 13px; margin: 22px 0; padding: 0; list-style: none; }
.privacy-list li { position: relative; padding-left: 25px; color: #e1e7ef; line-height: 1.55; }
.privacy-list li::before { content: "✓"; position: absolute; left: 0; color: #e4c65d; font-weight: 900; }

.luxury-onboarding { padding-block: clamp(86px,9vw,126px); }
.onboarding-steps { max-width: 970px; margin: 52px auto 0; padding: 0; list-style: none; border-top: 1px solid rgba(7,26,54,.12); }
.onboarding-steps li { display: grid; grid-template-columns: 72px 1fr; gap: 24px; padding: 25px 0; border-bottom: 1px solid rgba(7,26,54,.12); }
.onboarding-steps li > span { color: #ae8126; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.onboarding-steps h3 { margin: 0 0 7px; color: var(--lh-ink); font-size: 21px; }
.onboarding-steps p { margin: 0; color: #5a6b81; line-height: 1.65; }

.progressive-care-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(42px,7vw,90px); align-items: center; }
.frequency-panel { padding: clamp(30px,4vw,48px); border-radius: 28px; background: var(--lh-cream); box-shadow: inset 0 0 0 1px rgba(7,26,54,.07); }
.frequency-panel h3 { margin: 0 0 16px; color: var(--lh-ink); font-size: clamp(25px,2.5vw,34px); line-height: 1.18; }
.frequency-panel p { color: #596b82; line-height: 1.72; }

.luxury-comparison { padding-block: clamp(86px,9vw,126px); background: var(--lh-cream); }
.luxury-comparison .services-header { max-width: 940px; }
.luxury-comparison-panel { position: relative; display: grid; grid-template-columns: 1fr 1fr; max-width: 1100px; margin: 46px auto 0; border-radius: 30px; box-shadow: 0 30px 82px rgba(7,26,54,.14); }
.comparison-side { padding: clamp(34px,5vw,62px); }
.comparison-side > span { color: #a97b1f; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.comparison-side h3 { margin: 13px 0 24px; font-size: clamp(25px,2.5vw,35px); line-height: 1.17; }
.comparison-side ul { display: grid; gap: 13px; margin: 0 0 25px; padding: 0; list-style: none; }
.comparison-side li { position: relative; padding-left: 22px; line-height: 1.6; }
.comparison-side li::before { content: "—"; position: absolute; left: 0; color: #b78824; }
.comparison-light { border-radius: 30px 0 0 30px; background: #fff; color: #506178; }
.comparison-light h3 { color: var(--lh-ink); }
.comparison-light a { color: #8e6617; font-weight: 800; text-decoration: none; }
.comparison-dark { border-radius: 0 30px 30px 0; background: var(--lh-navy); color: #d7e1ec; }
.comparison-dark > span { color: #e4c965; }
.comparison-dark h3 { color: #fff; }
.comparison-vs { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; place-items: center; width: 50px; height: 50px; border: 4px solid var(--lh-cream); border-radius: 50%; transform: translate(-50%,-50%); background: var(--lh-gold); color: var(--lh-navy); font-size: 11px; font-weight: 900; }

.luxury-reviews { padding-block: clamp(86px,9vw,118px); }
.luxury-service-area-inner { align-items: center; }
.faq-executive.luxury-faq {
  background:
    radial-gradient(circle at 88% 0%, rgba(212, 175, 55, 0.06), rgba(212, 175, 55, 0) 34%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
.luxury-faq .faq-layout { gap: clamp(34px, 5vw, 56px); }
.luxury-faq .faq-item { border-color: rgba(11, 30, 58, 0.08); }
.luxury-final-cta { padding-block: clamp(76px,8vw,112px); background: #102b52; }
.luxury-final-cta-inner { max-width: 850px; margin: auto; text-align: center; }
.luxury-final-cta-inner p { max-width: 720px; margin: 0 auto 28px; color: #d5dfeb; font-size: 17px; line-height: 1.75; }

@media (max-width: 1023px) {
  .page-luxury-housekeeping .luxury-housekeeping-hero-grid { grid-template-columns: 1fr; }
  .page-luxury-housekeeping .luxury-housekeeping-hero-content { display: contents; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .lux-eyebrow-gold { order: 1; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .lux-h1 { order: 2; }
  .luxury-housekeeping-hero-media { order: 3; width: min(100%,680px); margin: 10px auto 28px; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .hero-btns { order: 4; margin: 0; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .hero-lead-copy { order: 5; }
  .luxury-hero-notes { order: 6; }
  .home-standard-sequence { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-standard-sequence article:nth-child(2) { border-right: 0; }
}

@media (max-width: 900px) {
  .luxury-editorial-grid,
  .luxury-image-copy,
  .luxury-service-area-inner,
  .continuity-privacy-grid,
  .progressive-care-grid,
  .inclusion-split { grid-template-columns: 1fr; }
  .luxury-image-copy.reverse .luxury-image-frame { order: initial; }
}

@media (max-width: 767px) {
  .page-luxury-housekeeping .luxury-housekeeping-hero { padding-block: 54px 76px; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .lux-h1 { font-size: clamp(38px,10.5vw,54px); }
  .luxury-hero-caption { right: 12px; bottom: -20px; }
  .luxury-comparison-panel { grid-template-columns: 1fr; }
  .home-standard-sequence { grid-template-columns: 1fr; }
  .home-standard-sequence article:not(:last-child) { margin-right: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.11); }
  .home-standard-sequence article { padding-right: 0; }
  .home-standard-sequence article > span { margin-bottom: 16px; }
  .continuity-privacy-grid { gap: 1px; }
  .luxury-comparison-panel { box-shadow: 0 22px 56px rgba(7,26,54,.13); }
  .comparison-light { grid-row: 1; border-radius: 26px 26px 0 0; }
  .comparison-dark { grid-row: 3; border-radius: 0 0 26px 26px; }
  .comparison-vs {
    position: relative;
    top: auto;
    left: auto;
    grid-row: 2;
    justify-self: center;
    margin: -25px 0;
    transform: none;
  }
}

@media (max-width: 479px) {
  .page-luxury-housekeeping .luxury-housekeeping-hero .hero-btns { display: grid; grid-template-columns: 1fr; }
  .page-luxury-housekeeping .luxury-housekeeping-hero .lux-btn { width: 100%; text-align: center; }
  .luxury-hero-notes { display: grid; }
  .luxury-hero-caption { position: relative; right: auto; bottom: auto; width: calc(100% - 24px); margin: -28px auto 0; }
  .onboarding-steps li { grid-template-columns: 48px 1fr; gap: 14px; }
  .comparison-vs { width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-luxury-housekeeping *, .page-luxury-housekeeping *::before, .page-luxury-housekeeping *::after { scroll-behavior: auto !important; }
}
