/* Launch additions: FAQ, next steps, form status, optional people/proof, privacy + 404 pages */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* Contact: what happens next */
.next-steps{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--line);max-width:46ch}
.next-steps .eyebrow{color:var(--color-muted);margin-bottom:var(--space-4)}
.next-steps ol{list-style:none;display:grid;gap:var(--space-4)}
.next-steps li{display:flex;gap:var(--space-4);align-items:baseline}
.next-steps li>span{font-size:12px;color:var(--color-muted);flex-shrink:0;width:22px}
.next-steps p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}
.next-steps strong{color:var(--color-text);font-weight:500}
.booking-link{margin-top:var(--space-6);border-bottom:1px solid var(--line);width:fit-content;font-weight:500}
.booking-link:hover{border-color:currentColor;text-decoration:none}
.form-submit>p a{text-decoration:underline;text-underline-offset:3px}
.form-submit>p{max-width:34ch}
.field-error{display:block;font-size:13px;color:#9b1c1c;margin-top:var(--space-2)}
[data-theme=dark] .field-error{color:#ff9d9d}
.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#9b1c1c}
[data-theme=dark] .form-field input[aria-invalid=true],[data-theme=dark] .form-field textarea[aria-invalid=true]{border-color:#ff9d9d}
.form-status{margin-top:var(--space-6);padding:var(--space-5) var(--space-6);border-left:3px solid var(--color-text);background:var(--color-surface)}
.form-status h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.form-status p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}
.form-status.is-error{border-left-color:#9b1c1c}
.form-status:focus{outline:2px solid var(--focus-color);outline-offset:3px}
button[disabled]{opacity:.65;cursor:progress}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-24);align-items:start}
.faq-title p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.7;max-width:36ch}
.faq-title h2{font-size:clamp(2.25rem,.9rem + 2.9vw,3.5rem);line-height:1.05}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;align-items:center;gap:var(--space-4);cursor:pointer;min-height:72px;padding-block:var(--space-4);padding-inline:var(--space-2);transition:background var(--transition)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:var(--color-surface)}
.faq-item h3{font-size:var(--text-lg);font-weight:500;line-height:1.25}
.faq-item[open] .service-toggle::after{transform:rotate(0)}
.faq-item>p{padding:0 var(--space-12) var(--space-6) var(--space-2);color:var(--color-muted);font-size:var(--text-sm);line-height:1.7;max-width:60ch}

/* Optional: people + proof (only rendered when real details are added to site-config.js) */
.people-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:var(--space-16);align-items:start}
.people h2,.proof h2{font-size:clamp(2.25rem,.9rem + 2.9vw,3.5rem);line-height:1.05}
.people-photo{width:100%;max-width:360px;aspect-ratio:4/5;object-fit:cover;display:block}
.people-role{display:block;margin-top:var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted)}
.people-bio{font-size:var(--text-base);line-height:1.7;max-width:56ch;margin-top:var(--space-4)}
.proof-list{margin-top:var(--space-10);display:grid}
.proof-item{display:grid;grid-template-columns:.7fr 1.6fr;gap:var(--space-8);padding-block:var(--space-6);border-top:1px solid var(--line)}
.proof-item:last-child{border-bottom:1px solid var(--line)}
.proof-item h3{font-size:var(--text-lg);font-weight:500}
.proof-item p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.7;max-width:60ch}
.proof-outcome{color:var(--color-text)!important;margin-top:var(--space-3)}
.proof-quote{margin-top:var(--space-12);display:grid;gap:var(--space-8)}
.proof-quote blockquote{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2;letter-spacing:-.02em;max-width:30ch}
.proof-quote figcaption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-muted)}

/* Standalone pages: privacy + 404 */
.page-header{background:var(--black);color:var(--white)}
.page-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:var(--space-6)}
.page-header .brand{display:block;width:176px;flex:0 0 176px}
.page-header .brand img{width:100%;height:auto;display:block}
.page-header a.back{font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center;gap:var(--space-2)}
.page-header a.back:hover{color:var(--yellow)}
.doc{max-width:760px;margin-inline:auto;padding:var(--space-20) var(--gutter) var(--space-24)}
.doc h1{font-family:var(--font-display);font-size:clamp(2.5rem,1.5rem + 3vw,4rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:var(--space-4)}
.doc .updated{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted);margin-bottom:var(--space-10);display:block}
.doc h2{font-size:var(--text-lg);margin:var(--space-10) 0 var(--space-3)}
.doc p,.doc li{font-size:var(--text-base);line-height:1.7;color:var(--color-text)}
.doc p+p{margin-top:var(--space-4)}
.doc ul{padding-left:1.25rem;margin-top:var(--space-3);display:grid;gap:var(--space-2)}
.doc a{text-decoration:underline;text-underline-offset:3px}
.notfound{min-height:70vh;display:grid;align-content:center;gap:var(--space-6)}
.notfound .button{width:fit-content}

@media(max-width:900px){
  .faq-grid,.people-grid,.proof-item{grid-template-columns:1fr;gap:var(--space-8)}
  .faq-item>p{padding-right:var(--space-2)}
}
@media(max-width:680px){
  .faq-item h3{font-size:18px}
  .faq-item summary{min-height:68px}
  .next-steps{margin-top:var(--space-8)}
  .page-header .brand{width:150px;flex-basis:150px}
  .doc{padding-top:var(--space-12)}
}
.faq-title p{margin-top:var(--space-5)}
.people-photo{height:auto}
.proof.dark-surface .proof-outcome{color:var(--white)!important}
.proof-quote figure{margin:0}
.proof-quote blockquote{margin:0}
.proof .eyebrow{color:#b8b8b0}
.doc a.button{text-decoration:none}
.page-header+.doc.notfound{min-height:60vh}
@media(min-width:901px){
  .contact-grid{grid-template-areas:"intro form" "steps form";grid-template-rows:auto 1fr;row-gap:0}
  .contact-intro{grid-area:intro}
  #contact-form{grid-area:form}
  .contact-grid>.next-steps{grid-area:steps;align-self:start}
}
@media(max-width:900px){
  .contact-grid>.next-steps{margin-top:0}
}

/* Longer hero headline (2026-10-21) */
.hero-copy h1.h1-long{font-size:clamp(2.5rem,1.2rem + 4.4vw,5.5rem);line-height:1.02}
