/* A quiet, image-led home with the practical details one scroll away. */
.area-rate:nth-child(2) strong { color: var(--action-ink); }
.area-rate:nth-child(2) span { font-weight: 600; }
.quarter-rate { color: var(--action-ink); font-weight: 700; }
.legal-page p a, .legal-page li a {
  color: var(--action-ink);
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.legal-page p a:hover, .legal-page li a:hover { color: var(--action-hover); }
.home-setup-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 12px;
  color: var(--action-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
.home-setup-link::after {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.home-setup-link:hover { color: var(--action-hover); }

@media (min-width: 901px) {
  .desktop-home .home-story {
    top: clamp(160px, 20vh, 230px);
    width: min(24vw, 318px);
    max-height: calc(100dvh - clamp(160px, 20vh, 230px) - 70px);
  }
  .desktop-home .home-intro h2 { font-size: clamp(24px, 2.05vw, 31px); }
  .desktop-home .home-intro > p { font-size: 14px; line-height: 1.5; }
  .desktop-home .home-offers { margin-top: 30px; }
  .desktop-home .home-visit-offer h2 { font-size: 16px; }
  .desktop-home .visit-price span:nth-child(2) strong:first-child { color: var(--action-ink); font-size: 1.32em; }
}

@media (max-width: 900px) {
  .home-story-mobile {
    max-width: 560px;
    padding: 24px 24px 0;
    margin: 0 auto;
  }
  .home-story-mobile .home-intro h2 { max-width: none; font-size: clamp(26px, 7vw, 30px); line-height: 1.18; }
  .home-story-mobile .home-intro > p { max-width: 35ch; margin-top: 15px; font-size: 16px; line-height: 1.5; }
  .home-story-mobile .home-story-links { flex-wrap: nowrap; gap: 10px; margin-top: 22px; }
  .home-story-mobile .home-story-links a { flex: 0 1 auto; min-width: 0; font-size: 14px; font-weight: 500; }
  .home-story-mobile p.home-trust { margin-top: 6px; font-size: 13px; color: #5d5d59; }

  .home-view .gallery-feature {
    max-width: 560px;
    padding: 10px 24px 0;
    gap: 0;
  }
  .home-view .gallery-feature .gallery-piece { width: 100%; max-width: 100%; }
  .home-view .gallery-feature .gallery-piece figure { gap: 0; }
  .home-view .gallery-feature .gallery-art { width: 100%; max-width: 350px; height: clamp(220px, 66vw, 280px); }
  .home-view .gallery-feature .gallery-piece figcaption { max-width: 340px; }
  .home-view .gallery-feature .gallery-piece figcaption p { margin-top: 4px; }
  .home-view .gallery-feature .service-card-action { margin-top: 2px; }

  .home-mobile-visit { max-width: 560px; margin: 22px auto 0; padding: 0 24px; }
  .home-mobile-visit .home-visit-offer { margin-top: 0; padding-top: 25px; border-top: 1px solid var(--line); }
  .home-mobile-visit .home-visit-offer h2 { font-size: 23px; letter-spacing: -.025em; }
  .home-mobile-visit .home-visit-offer .home-offer { margin-top: 16px; padding-top: 16px; }
  .home-mobile-visit .visit-price { gap: 13px; }
  .home-mobile-visit .visit-price span { font-size: 16px; line-height: 1.5; }
  .home-mobile-visit .visit-price span:first-child strong { font-size: 1.35em; }
  .home-mobile-visit .visit-price span:nth-child(2) strong:first-child { color: var(--action-ink); font-size: 1.5em; }
  .home-mobile-visit .visit-price span:nth-child(2) strong:last-child { color: var(--action-ink); font-size: 1em; }
  .home-mobile-visit .home-offer > p:not(.visit-price) { margin-top: 18px; font-size: 14px; }
  .home-mobile-visit .area-link { width: 100%; margin-top: 17px; }
  .home-mobile-visit .home-offers-note { margin-top: 18px; }

  .home-view .gallery-rest { max-width: 560px; gap: 48px; padding: 70px 24px 56px; }
  .home-view .gallery-rest .gallery-piece { width: 100%; max-width: 100%; margin: 0; }
  .home-view .gallery-rest .gallery-piece .gallery-art { max-width: 315px; height: clamp(210px, 63vw, 270px); }
  .home-view .gallery-rest .gallery-piece figcaption { max-width: 340px; }
  .home-after-gallery { padding-bottom: 60px; }

  .area-page .text-page-inner { max-width: 560px; }
  .area-page h1 { font-size: clamp(30px, 8vw, 40px); }
  .area-page .page-intro { margin: 16px 0 32px; font-size: 16px; }
  .area-prices { margin: 0 0 30px; padding: 24px 0 28px; }
  .area-page .area-prices h2 { margin-bottom: 24px; font-size: 21px; }
  .area-price-grid { gap: 20px; margin: 0 0 20px; }
  .area-rate { gap: 8px; }
  .area-rate:nth-child(2) strong { color: var(--action-ink); font-size: 36px; }
  .area-rate span { font-size: 13px; }
  .area-search { margin-top: 34px; }
  .area-page .area-search h2 { margin-bottom: 13px; }
  .area-search-controls input { border-color: #8a8a87; border-radius: 12px; background: #fafaf9; }
  .area-search-controls input:focus { background: #fff; }
  .area-page #district-search-status { color: #62625e; }
  .area-borough { margin-top: 42px; }
  .area-borough h2 { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
  .area-borough li { border-top: 0; border-bottom: 1px solid var(--line); padding: 18px 0 21px; }
  .area-borough li > a { margin-top: 8px; }
}

@media (max-width: 359px) {
  .home-story-mobile { padding-inline: 20px; }
  .home-story-mobile .home-story-links { flex-direction: column; align-items: stretch; }
  .home-story-mobile .home-story-links a { flex: none; width: 100%; }
  .home-view .gallery-feature, .home-view .gallery-rest { padding-inline: 20px; }
  .home-mobile-visit { padding-inline: 20px; }
  .area-price-grid { grid-template-columns: 1fr; gap: 18px; }
  .area-rate + .area-rate { padding: 17px 0 0; border-left: 0; border-top: 1px solid var(--line); }
}

/* A personal introduction precedes the existing home; its styles stay scoped. */
.home-profile-intro{position:relative;display:flex;align-items:center;justify-content:center;min-height:100dvh;width:100%;padding:136px 32px 88px;color:var(--fg);background:var(--bg);pointer-events:auto;box-sizing:border-box}
.home-profile-content{width:100%;max-width:640px;text-align:center}
.home-profile-portrait{width:200px;max-width:100%;margin:0 auto 20px}
.home-profile-portrait img{display:block;width:200px;height:200px;max-width:100%;border-radius:50%;object-fit:cover;object-position:center 65%}
.home-profile-content>h1{max-width:24ch;margin:0 auto 24px;font-size:40px;font-weight:500;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.home-profile-content>p{max-width:65ch;margin:0 auto;font-size:16px;line-height:1.65;font-weight:400;letter-spacing:0}
.home-profile-content>p+p{margin-top:16px}
.home-profile-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 24px;margin-top:28px}
.home-profile-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border-radius:var(--control-radius,999px);font-size:14px;line-height:1.5;letter-spacing:0;box-sizing:border-box}
.home-profile-contact{background:var(--action);border:1px solid var(--action);color:#fff}
.home-profile-contact:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff}
.home-profile-phone svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-profile-phone:hover{color:var(--action-ink)}
.home-profile-actions>a:focus-visible{outline:2px solid var(--action-ink);outline-offset:5px}
@media(min-width:901px){
 /* The sidebar owns its scroll; the gallery never scrolls its outer view. */
 .desktop-home{overflow:hidden;overflow:clip}
 .desktop-home .home-story{transform:translate3d(0,100dvh,0)}
}
@media(max-width:900px){
 .home-profile-intro{min-height:0;padding:32px 24px 36px}
 .home-profile-content{max-width:420px}
 .home-profile-portrait{width:144px;margin-bottom:20px}
 .home-profile-portrait img{width:144px;height:144px}
 .home-profile-content>h1{max-width:18ch;font-size:clamp(28px,8vw,32px);margin-bottom:20px}
 .home-profile-actions{margin-top:24px;gap:16px 20px}
}

/* Further help keeps the existing text rhythm and home columns. */
.home-view .home-intro h2{max-width:24ch;font-size:clamp(24px,2.05vw,31px);line-height:1.18;letter-spacing:-.028em;text-wrap:balance;font-weight:500}
.home-profile-content>.home-profile-audience{margin:0 auto 14px;font-size:14px;color:#62625e}
.home-profile-content>.home-profile-logistics{margin-top:18px;font-size:13px;line-height:1.6;color:#62625e}

:root {
 --action:#60458b;
 --action-hover:#4e3676;
 --action-soft:#f4f2fa;
 --action-ink:#60458b;
}
::selection{background:#e6def2;color:#352c4a}
input,textarea{caret-color:var(--action)}
.home-profile-portrait{position:relative;aspect-ratio:1;overflow:hidden;border-radius:50%}
.home-profile-portrait img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;border-radius:0;object-fit:cover;object-position:center 68%}
.home-profile-portrait [data-profile-photo],.about-profile-portrait [data-profile-photo]{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.home-profile-phone{border:1px solid var(--action);background:var(--action);color:#fff}
.home-profile-phone:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff}
.care-page .request-button{background:var(--action)}
.care-page .request-button:hover{background:var(--action-hover)}
.care-page a:focus-visible,.care-page summary:focus-visible{outline-color:var(--action)}
.care-start h3:before{color:var(--action)}
.assistant .assistant-message-user p{color:#352c4a}
@media(max-width:900px){
 .site-header .mobile-contact{background:var(--action);border-color:var(--action)}
 .site-header .mobile-contact:hover{background:var(--action-hover);border-color:var(--action-hover)}
 .home-profile-actions>.home-profile-phone{display:none}
}
@media(forced-colors:active){
 :root{--action:LinkText;--action-hover:LinkText;--action-soft:Canvas;--action-ink:LinkText}
 .home-profile-contact,.home-profile-phone,.site-header .mobile-contact{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}
}
.home-information{letter-spacing:0}
.home-information-section{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.home-information-section>h2{margin:0 0 14px;font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.02em}
.home-information-section>p,.home-steps p{max-width:65ch;margin:12px 0 0;font-size:15px;line-height:1.65;font-weight:400}
.home-information-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--action-ink);font-size:14px;text-decoration:underline!important;text-underline-offset:4px}
.home-information-link:hover{color:var(--action-hover)}
.home-steps{display:grid;gap:20px;margin:0;padding-left:20px}
.home-steps li{padding-left:4px}
.home-steps h3{margin:0;font-size:15px;line-height:1.45;font-weight:500}
.home-steps p{margin-top:7px}
@media(min-width:901px){
 .desktop-home .home-information-section{margin-top:28px;padding-top:20px}
 .desktop-home .home-information-section>h2{font-size:17px}
 .desktop-home .home-information-section>p,.desktop-home .home-steps p{font-size:13px;line-height:1.6;margin-top:10px}
 .desktop-home .home-information-link,.desktop-home .home-steps h3{font-size:13px}
}
@media(max-width:900px){.home-view .home-intro h2{font-size:clamp(26px,7vw,30px)}}

/* Existing customer photos and case copy, scoped to the home information. */
.home-customer-cases{scroll-margin-top:96px}
.home-customer-case-list{display:grid;gap:28px}
.home-customer-case{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;min-width:0}
.home-customer-case+ .home-customer-case{padding-top:24px;border-top:1px solid var(--line)}
.home-customer-case figure{margin:0;min-width:0}
.home-customer-case img{display:block;width:100%;height:auto;border-radius:10px}
.home-customer-case header{min-width:0}
.home-customer-case h3{margin:0;font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.02em;overflow-wrap:break-word}
.home-customer-case p.home-customer-case-context{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--fg)}
.home-customer-case-copy{grid-column:1/-1;min-width:0}
.home-customer-case-copy p,.home-story .home-customer-case-copy p{max-width:65ch;margin:0;font-size:15px;line-height:1.65;font-weight:400}
.home-customer-case-copy p+p,.home-story .home-customer-case-copy p+p{margin-top:12px}
.home-customer-case-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;column-gap:20px}
.home-customer-case-actions .home-information-link{margin-top:0}
@media(min-width:901px){
 .desktop-home .home-customer-case{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .desktop-home .home-customer-case h3{font-size:16px}
 .desktop-home .home-customer-case p.home-customer-case-context{font-size:12px}
 .desktop-home .home-customer-case-copy p{font-size:13px;line-height:1.6}
}
@media(max-width:359px){.home-customer-case{grid-template-columns:90px minmax(0,1fr);gap:14px}.home-customer-case h3{font-size:18px}}
