/* LPJH Homeowner Services — assets/css/owner.css
   Enqueue AFTER brand-tokens.css, homepage.css and location.css: reuses .hp
   bands, buttons, hairlines, .loc-hero and .loc-prose. Tokens only.
*/
/* ============================================================
   LPJH — Homeowner Services
   After homepage.css + location.css. Reuses .hp bands, .loc-hero, .loc-prose.
   Prefix: .hs-
   ============================================================ */

/* ---------- PROOF BAND ---------- */
.hs-proof{background:var(--tr-charcoal);border-bottom:1px solid rgba(255,255,255,.14)}
.hs-proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hs-proof__cell{padding:2.5rem 2.25rem;border-left:1px solid rgba(255,255,255,.14)}
.hs-proof__cell:first-child{padding-left:0;border-left:0}
.hs-proof__cell:last-child{padding-right:0}
.hs-proof__v{display:block;font-family:var(--tr-font-display);font-size:3rem;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--tr-gold-pale)}
.hs-proof__v sup{font-size:.5em;vertical-align:super;letter-spacing:0}
.hs-proof__l{display:block;margin-top:.7rem;font-family:var(--tr-font-body);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,250,248,.55)}
.hs-proof__slot{display:block;font-family:var(--tr-font-display);font-size:3rem;font-weight:500;line-height:1;color:rgba(250,250,248,.22)}
.hs-need{display:inline-block;margin-top:.6rem;padding:.2rem .5rem;border:1px dashed rgba(212,168,75,.55);font-family:var(--tr-font-body);font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tr-gold-pale)}
[data-flags="off"] .hs-need{display:none}

/* ---------- SERVICE GROUPS ---------- */
.hs-group{padding:4rem 0;border-top:1px solid var(--tr-border)}
.hs-group:first-of-type{padding-top:0;border-top:0}
.hs-group__head{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:end;margin-bottom:2.5rem}
.hs-group__n{display:flex;align-items:center;gap:1rem;margin:0 0 .9rem;font-family:var(--tr-font-body);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--tr-accent)}
.hs-group__n::after{content:"";flex:1 1 auto;max-width:3rem;height:1px;background:var(--tr-border)}
.hs-group__name{margin:0;font-family:var(--tr-font-display);font-size:2.3rem;font-weight:500;line-height:1.08;letter-spacing:-.015em;color:var(--tr-heading);text-wrap:balance}
.hs-group__line{margin:0;text-align:right;font-family:var(--tr-font-display);font-size:1.25rem;font-style:italic;line-height:1.5;color:var(--tr-text-muted);text-wrap:pretty}
.hs-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.hs-item{padding:1.6rem 2.5rem 1.6rem 0;border-top:1px solid var(--tr-border)}
.hs-items>.hs-item:nth-child(even){padding-right:0;padding-left:2.5rem;border-left:1px solid var(--tr-border)}
.hs-item h4{margin:0 0 .5rem;font-family:var(--tr-font-display);font-size:1.3rem;font-weight:500;letter-spacing:-.01em;color:var(--tr-heading)}
.hs-item p{margin:0;font-family:var(--tr-font-body);font-size:.88rem;line-height:1.75;color:var(--tr-text-muted);text-wrap:pretty}

/* ---------- TWO PROGRAMS ---------- */
.hs-progs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--tr-border)}
.hs-prog{padding:2.25rem 3rem 0 0}
.hs-progs>.hs-prog:last-child{padding:2.25rem 0 0 3rem;border-left:1px solid var(--tr-border)}
.hs-prog__n{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;font-family:var(--tr-font-body);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--tr-accent)}
.hs-prog__n::after{content:"";flex:1 1 auto;max-width:3rem;height:1px;background:var(--tr-border)}
.hs-prog__name{margin:0 0 .5rem;font-family:var(--tr-font-display);font-size:2rem;font-weight:500;line-height:1.08;letter-spacing:-.015em;color:var(--tr-heading);text-wrap:balance}
.hs-prog__for{margin:0 0 1.15rem;font-family:var(--tr-font-display);font-size:1.15rem;font-style:italic;line-height:1.45;color:var(--tr-accent)}
.hs-prog__p{margin:0 0 1.5rem;font-family:var(--tr-font-body);font-size:.92rem;line-height:1.8;color:var(--tr-text-muted);text-wrap:pretty}
.hs-prog__list{list-style:none;margin:0 0 1.75rem;padding:0;border-top:1px solid var(--tr-border)}
.hs-prog__list li{padding:.75rem 0;border-bottom:1px solid var(--tr-border);font-family:var(--tr-font-body);font-size:.82rem;line-height:1.5;color:var(--tr-text)}

/* ---------- TEAM ---------- */
.hs-team{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.hs-team__list{border-top:1px solid var(--tr-border)}
.hs-team__row{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1.05rem 0;border-bottom:1px solid var(--tr-border)}
.hs-team__n{font-family:var(--tr-font-display);font-size:1.35rem;font-weight:500;letter-spacing:-.01em;color:var(--tr-heading)}
.hs-team__r{flex:0 0 auto;font-family:var(--tr-font-body);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tr-stone-400);text-align:right}

/* ---------- PROCESS ---------- */
.hs-steps{border-top:1px solid var(--tr-border)}
.hs-step{display:grid;grid-template-columns:5rem 1fr;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--tr-border)}
.hs-step__n{font-family:var(--tr-font-display);font-size:1.9rem;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--tr-accent)}
.hs-step__body h3{margin:0 0 .4rem;font-family:var(--tr-font-display);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;color:var(--tr-heading)}
.hs-step__body p{margin:0;font-family:var(--tr-font-body);font-size:.9rem;line-height:1.75;color:var(--tr-text-muted);max-width:52em;text-wrap:pretty}

/* ---------- MONEY ---------- */
.hs-money{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.hs-cols{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2.5rem;border-top:1px solid var(--tr-border)}
.hs-col{padding:1.5rem 2rem 0 0}
.hs-cols>.hs-col:last-child{padding:1.5rem 0 0 2rem;border-left:1px solid var(--tr-border)}
.hs-col__h{margin:0 0 1.1rem;font-family:var(--tr-font-body);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tr-accent)}
.hs-col ul{list-style:none;margin:0;padding:0}
.hs-col li{position:relative;padding:.5rem 0 .5rem 1.35rem;font-family:var(--tr-font-body);font-size:.85rem;line-height:1.6;color:var(--tr-text)}
.hs-col li::before{content:"";position:absolute;left:0;top:1.1rem;width:.55rem;height:1px;background:var(--tr-accent)}
.hs-money__note{margin:2rem 0 0;padding-top:1.2rem;border-top:1px solid var(--tr-border);font-family:var(--tr-font-display);font-size:1.05rem;font-style:italic;line-height:1.55;color:var(--tr-text-muted);text-wrap:pretty}

/* ---------- OBJECTIONS ---------- */
.hs-qa{border-top:1px solid rgba(255,255,255,.14)}
.hs-qa__item{border-bottom:1px solid rgba(255,255,255,.14)}
.hs-qa__q{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;width:100%;padding:1.6rem 0;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--tr-font-display);font-size:1.6rem;font-weight:500;line-height:1.25;letter-spacing:-.01em;color:var(--tr-cream);transition:color .26s ease}
.hs-qa__q:hover{color:var(--tr-gold-pale)}
.hs-qa__item.is-open .hs-qa__q{color:var(--tr-gold-pale)}
.hs-qa__ic{position:relative;flex:0 0 auto;width:1rem;height:1rem;margin-top:.5rem}
.hs-qa__ic::before,.hs-qa__ic::after{content:"";position:absolute;inset:0;margin:auto;background:currentColor;transition:transform .3s cubic-bezier(.19,1,.22,1),opacity .3s ease}
.hs-qa__ic::before{width:100%;height:1px}
.hs-qa__ic::after{width:1px;height:100%}
.hs-qa__item.is-open .hs-qa__ic::after{transform:rotate(90deg);opacity:0}
/* Collapse behaviour only once lpjh-owner.js has marked the list ready, so a
   script failure leaves every answer readable rather than hidden. */
.hs-qa__a{overflow:hidden}
.hs-qa.is-ready .hs-qa__a{max-height:0;transition:max-height .45s cubic-bezier(.19,1,.22,1)}
.hs-qa:not(.is-ready) .hs-qa__ic{display:none}
.hs-qa.is-ready .hs-qa__item.is-open .hs-qa__a{max-height:34rem}
.hs-qa__a p{margin:0;padding:0 5rem 1.9rem 0;font-family:var(--tr-font-body);font-size:.95rem;line-height:1.8;color:rgba(250,250,248,.66);max-width:52em;text-wrap:pretty}

/* ---------- PROPOSAL FORM ---------- */
.hs-prop{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}
.hs-form{display:flex;flex-wrap:wrap;gap:1.5rem 1.25rem}
.hs-field{display:flex;flex-direction:column;gap:.45rem;flex:1 1 100%;min-width:0}
.hs-field[data-w="50"]{flex:1 1 calc(50% - .625rem)}
.hs-field[data-w="33"]{flex:1 1 calc(33.333% - .834rem)}
.hs-field[data-w="67"]{flex:1 1 calc(66.666% - .417rem)}
.hs-field label{font-family:var(--tr-font-body);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tr-stone-400)}
.hs-field input,.hs-field select,.hs-field textarea{width:100%;padding:.8rem 0;background:none;border:0;border-bottom:1px solid var(--tr-border);border-radius:0;font-family:var(--tr-font-body);font-size:.95rem;color:var(--tr-heading);transition:border-color .26s ease}
.hs-field textarea{resize:vertical;min-height:4.5rem;line-height:1.6}
.hs-field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--tr-stone-400) 50%),linear-gradient(135deg,var(--tr-stone-400) 50%,transparent 50%);background-position:calc(100% - 9px) 1.35rem,calc(100% - 5px) 1.35rem;background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding-right:1.5rem}
.hs-field input:focus,.hs-field select:focus,.hs-field textarea:focus{outline:none;border-bottom-color:var(--tr-accent)}
.hs-field input::placeholder,.hs-field textarea::placeholder{color:var(--tr-stone-300)}
.hs-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;width:100%;margin-top:.75rem}
.hs-form__fine{font-family:var(--tr-font-body);font-size:.72rem;line-height:1.6;color:var(--tr-stone-400);max-width:26em}
.hs-sent{padding:2.5rem 0;border-top:1px solid var(--tr-border)}
.hs-sent h3{margin:0 0 .6rem;font-family:var(--tr-font-display);font-size:1.9rem;font-weight:500;letter-spacing:-.01em;color:var(--tr-heading)}
.hs-sent p{margin:0;font-family:var(--tr-font-body);font-size:.95rem;line-height:1.75;color:var(--tr-text-muted)}

/* ---------- CARETAKING SPLIT ---------- */
.hs-care{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hs-care__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tr-linen)}
.hs-care__acts{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2.25rem}
.hs-care__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* ---------- OWNER CTA BAND ---------- */
.hs-cta{display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap}
.hs-cta__h{margin:0;font-family:var(--tr-font-display);font-size:2.3rem;font-weight:500;line-height:1.1;letter-spacing:-.015em;color:var(--tr-cream)}
.hs-cta__p{margin:.7rem 0 0;font-family:var(--tr-font-body);font-size:.95rem;line-height:1.75;color:rgba(250,250,248,.66);max-width:40em}
.hs-cta__acts{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.hs-cta__tel{font-family:var(--tr-font-body);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,250,248,.6);text-decoration:none;transition:color .26s ease}
.hs-cta__tel:hover{color:var(--tr-gold-pale)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .hs-proof__grid{grid-template-columns:repeat(2,1fr)}
  .hs-proof__cell{padding:2rem 1.5rem}
  .hs-proof__cell:nth-child(3){padding-left:0;border-left:0}
  .hs-group__head{grid-template-columns:1fr;gap:1rem;align-items:start}
  .hs-group__line{text-align:left}
  .hs-items{grid-template-columns:1fr}
  .hs-items>.hs-item:nth-child(even){padding-left:0;border-left:0}
  .hs-item{padding-right:0}
  .hs-money,.hs-prop,.hs-care,.hs-team{grid-template-columns:1fr;gap:2.5rem}
  .hs-progs{grid-template-columns:1fr}
  .hs-prog{padding:2.25rem 0 0}
  .hs-progs>.hs-prog:last-child{padding:2.25rem 0 0;border-left:0;border-top:1px solid var(--tr-border)}
  .hs-qa__a p{padding-right:2rem}
}
@media (max-width:899px){
  .hs-proof__v,.hs-proof__slot{font-size:2.2rem}
  .hs-group{padding:2.75rem 0}
  .hs-group__name{font-size:1.8rem}
  .hs-group__line{font-size:1.1rem}
  .hs-cols{grid-template-columns:1fr}
  .hs-cols>.hs-col:last-child{padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--tr-border)}
  .hs-prog__name{font-size:1.6rem}
  .hs-prog__for{font-size:1.05rem}
  .hs-team__row{flex-direction:column;gap:.2rem;padding:.85rem 0}
  .hs-team__r{text-align:left}
  .hs-step{grid-template-columns:1fr;gap:.5rem;padding:1.25rem 0}
  .hs-step__n{font-size:1.4rem}
  .hs-step__body h3{font-size:1.25rem}
  .hs-qa__q{font-size:1.25rem;padding:1.25rem 0}
  .hs-qa__a p{padding-right:0;font-size:.9rem}
  .hs-field[data-w="50"],.hs-field[data-w="33"],.hs-field[data-w="67"]{flex:1 1 100%}
  .hs-cta__h{font-size:1.7rem}
}
