/* Shared homepage heading treatment, matched to Client projects. */
.home-page .home-section-title{font-family:var(--serif);font-size:clamp(32px,3.5vw,44px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin:0 0 18px;text-transform:none}
.home-page .home-heading-accent{position:relative;isolation:isolate;display:inline-block;white-space:nowrap}
.home-page .home-heading-accent::before{content:"";position:absolute;left:-.04em;right:-.06em;bottom:0;height:.29em;background:var(--blush);transform:rotate(-2deg);z-index:-1;pointer-events:none}
.home-page .home-section-deck{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.35;letter-spacing:-.25px;color:var(--ink);margin:0 0 20px;max-width:620px}
.home-page .hero-copy .home-section-deck{font-size:28px;max-width:430px}
.home-page .section-heading>div{max-width:650px}
.home-page .section-heading .home-section-deck{margin-bottom:0}
.home-page .project-section-heading .home-section-title{margin-bottom:0}
.home-page .samples-label{margin-bottom:14px}
.home-page .introduction-actions{margin-top:24px;gap:12px}
.home-page .introduction-actions .button{flex:0 1 auto}
.home-page .about-copy .home-section-title{color:var(--white)}
.home-page .about-copy .home-heading-accent::before{bottom:-.09em;height:.16em}
.home-page .about-copy .home-section-deck{color:var(--white);font-size:25px;margin-bottom:22px}
.home-page .faq-grid>div>.home-section-deck{font-size:25px;color:var(--ink)}
.home-page .contact-copy>.home-section-deck{max-width:430px}
.home-page .contact-section .home-heading-accent::before{background:var(--rose);bottom:-.06em;height:.14em}
/* Bring the disclaimer and client-project heading closer to the video grid. */
.home-page .portfolio-note{margin-top:18px;line-height:1.65}
.home-page .work-section{padding-bottom:24px;border-bottom:0}
.home-page .client-projects{padding-top:28px}
.home-page .work-card:nth-last-child(-n+3){margin-bottom:0}
@media(max-width:1050px) and (min-width:761px){.home-page .work-card:nth-last-child(-n+3){margin-bottom:32px}.home-page .work-card:last-child{margin-bottom:0}}
@media(max-width:760px){
  .home-page .home-section-title{font-size:32px;letter-spacing:-.8px;margin-bottom:16px}
  .home-page .home-section-deck,.home-page .hero-copy .home-section-deck,.home-page .about-copy .home-section-deck,.home-page .faq-grid>div>.home-section-deck{font-size:23px}
  .home-page .introduction-actions .button{flex:1 1 auto}
  .home-page .portfolio-note{margin-top:20px}
  .home-page .work-section{padding-bottom:20px}
  .home-page .client-projects{padding-top:24px}
}


/* Clear playback affordance at the bottom of the portrait, away from Kelly's face. */
.home-page .intro-play-badge{left:50%;right:auto;bottom:14px;transform:translateX(-50%);min-height:44px;white-space:nowrap;padding:10px 16px}
.home-page .intro-play-badge svg{fill:currentColor;flex-shrink:0}
.home-page .project-preview{background:var(--warm)}
/* Practical details: quiet blush accents and individually readable answers. */
.home-page .faq-grid{align-items:start}
.home-page .faq-invitation{max-width:360px;padding:20px 22px;background:#FBE1E1;border:1px solid var(--blush);border-radius:10px;margin-top:28px}
.home-page .faq-invitation a{display:inline-block;padding:8px 0 3px;color:var(--ink);font-weight:700;text-decoration-color:var(--rose);text-decoration-thickness:2px;text-underline-offset:5px}
.home-page .faq-invitation a:hover,.home-page .faq-invitation a:focus-visible{color:var(--rose-text)}
.home-page .faq-list{display:grid;gap:12px}
.home-page .faq-list details{background:white;border:1px solid var(--line);border-radius:10px}
.home-page .faq-list details:hover,.home-page .faq-list details[open]{border-color:var(--rose)}
.home-page .faq-list summary{padding:18px 20px;gap:16px;border-radius:10px}
.home-page .faq-list summary>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--blush);color:var(--ink);font-size:22px;line-height:1}
.home-page .faq-list details[open] summary{background:#FBE1E1;border-radius:9px 9px 0 0}
.home-page .faq-list details p{padding:18px 20px 22px;margin:0}
@media(max-width:760px){.home-page .faq-list summary{padding:16px;gap:12px}.home-page .faq-list details p{padding:16px}.home-page .faq-invitation{margin-top:22px;padding:18px 20px}}

/* Paired actions and visible native form requirements. */
.home-page .process-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.home-page .contact-section label .field-label{display:block;color:var(--ink);font-weight:700}
.home-page .contact-section label .required-mark{display:inline;color:var(--rose-text);font-weight:700}
.home-page .form-required-note{font-size:12px;line-height:1.5;margin:0 0 18px;color:var(--muted)}
@media(max-width:760px){.home-page .process-cta .button{flex:1 1 auto}}
