.home-page { background: var(--black); color: #f7f5f1; }
.home-hero { position: relative; isolation: isolate; background: #242020 url('hands.jpg') 58% center/cover no-repeat; overflow: hidden; }
.ambient-photo { position: absolute; inset: -40px; z-index: 0; background: url('hands.jpg') center/cover; filter: blur(25px) brightness(.3); transform: scale(1.06); }
.hands-photo { position: absolute; z-index: 1; left: 43%; top: 0; width: 57%; height: 100%; max-width: none; object-fit: cover; object-position: 48% center; }
.photo-blend { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,rgba(13,12,12,.56) 0%,rgba(15,13,14,.73) 33%,rgba(15,13,14,.62) 43%,rgba(17,15,16,.14) 57%,transparent 70%),linear-gradient(0deg,#0a090a 0%,#0a090a1a 13%,transparent 34%); }
.hero-inner { position: relative; z-index: 4; max-width: 1600px; padding: 44px 40px 50px; margin: 0 auto; }
.hero-copy { width: 52%; max-width: 795px; text-align: center; }
.hero-wordmark { display: block; width: 100%; height: auto; margin: 0 auto; }
.brand-rule { width: 174px; height: 2px; margin: 15px auto 15px; background: #c91e33; }
.hero-no-cost { margin: -5px 0 12px; color: #f4edef; font-size: 13px; font-weight: 700; letter-spacing: 1.4px; line-height: 1.3; text-transform: uppercase; text-shadow: 0 1px 7px #0007; }
.hero-copy h1 { font: 400 clamp(28px,2.45vw,42px)/1.1 var(--serif); max-width: 680px; margin: 0 auto 14px; color: #faf8f5; text-shadow: 0 1px 8px #0006; }
.hero-description { max-width: 590px; margin: -17px auto 26px; color: #eee7e5; font-size: 15px; line-height: 1.5; text-shadow: 0 1px 8px #0007; }
.audience { padding: 0; margin: 0; min-width: 0; border: 0; }
.audience legend { font: 400 clamp(19px,1.55vw,26px)/1.22 var(--serif); width: 100%; padding: 0; margin-bottom: 15px; }
.audience-options { width: 53%; max-width: 420px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.audience-card { position: relative; display: flex; align-items: center; flex-direction: column; min-height: 130px; padding: 12px 8px 11px; background: linear-gradient(135deg,#fff,#f8f5f2); color: #19191e; border: 2px solid #fff8; border-radius: 15px; cursor: pointer; text-decoration: none; box-shadow: 0 8px 27px #0002; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.audience-icon { width: 46px; height: 45px; fill: none; stroke: var(--wine); stroke-width: 3.1; stroke-linejoin: round; stroke-linecap: round; }
.audience-label { font: 400 20px/1.15 var(--serif); margin: 6px 0; white-space: nowrap; }
.round-arrow { display: grid; place-items: center; width: 31px; height: 31px; background: linear-gradient(145deg,#c91e33,#94101f); border-radius: 50%; color: #fff; }
.round-arrow .icon { width: 20px; height: 20px; stroke-width: 4; }
.audience-card:focus-visible { outline: 3px solid #ef707c; outline-offset: 5px; }
.audience-card:hover,.audience-card:focus-visible { border-color: #cf2a3e; box-shadow: 0 0 0 2px #f9cbd18c,0 8px 30px #0003; transform: translateY(-3px); }
.home-care-phone { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; margin: 18px auto 0; color: #faf8f5; text-decoration: none; text-shadow: 0 1px 7px #0007; }
.home-care-phone .icon { width: 26px; height: 26px; color: #d93445; stroke-width: 3.1; margin-bottom: 2px; }
.home-care-phone span { font-size: 15px; line-height: 1.2; }
.home-care-phone strong { display: block; font-size: 18px; line-height: 1.2; letter-spacing: .2px; }
.home-care-phone:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.home-care-phone:focus-visible { border-radius: 10px; outline-color: #ef707c; }
.hero-quote { position: absolute; z-index: 5; top: 65px; right: max(30px,calc((100vw - 1600px)/2 + 10px)); width: 177px; margin: 0; font: italic 28px/1.22 var(--serif); text-align: center; color: #20232b; text-shadow: 0 1px 5px #fffd,0 0 20px #ffffff9c; }
.hero-quote span { display: block; width: 66px; height: 2px; margin: 19px auto 0; background: var(--wine); }
.ribbons { position: absolute; bottom: -2px; left: 0; width: 100%; height: 295px; z-index: 3; pointer-events: none; }
.benefits { background: var(--black); position: relative; }
.benefits-inner { display: grid; grid-template-columns: 1fr 1.2fr 1fr; max-width: 1350px; padding: 5px 28px 23px; margin: 0 auto; }
.benefits article { padding: 5px 28px 5px 37px; display: flex; align-items: flex-start; justify-content: center; gap: 25px; }
.benefits article+article { border-left: 1px solid #a91527; }
.benefits .icon { width: 51px; height: 51px; stroke-width: 3.2; color: #d93445; }
.benefits h2 { font: 400 20px/1.25 var(--serif); margin: 2px 0 5px; }
.benefits p { font: 400 17px/1.36 var(--serif); margin: 0; color: #dcd6d5; }
.home-info,
.home-founder,
.home-process,
.home-audience { background: #f7f5f2; color: var(--ink); }
.home-info { padding: 64px 28px 32px; }
.home-info-inner,
.home-process-inner,
.home-audience-inner { max-width: 1180px; margin: 0 auto; }
.home-info-inner { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 42px; align-items: start; }
.home-info h2,
.home-process h2,
.home-audience h2 { font: 400 36px/1.12 var(--serif); margin: 0 0 18px; color: #3f2d37; }
.home-info-lead p:not(.eyebrow),
.home-audience p { color: #5f575b; margin: 0 0 22px; }
.home-info-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 27px; }
.home-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.home-info-grid article { min-height: 100%; padding: 24px; border: 1px solid #e6d4d8; border-radius: 8px; background: #fffefd; box-shadow: 0 12px 34px #2a14140a; }
.home-info-grid h3,
.home-steps h3 { font: 400 22px/1.22 var(--serif); margin: 0 0 10px; color: #3f2d37; }
.home-info-grid p,
.home-steps p { margin: 0 0 15px; color: #60575b; font-size: 15px; line-height: 1.62; }
.home-info-grid a,
.home-link-row a { color: var(--wine); font-weight: 700; text-decoration: none; }
.home-info-grid a:hover,
.home-link-row a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-founder { padding: 30px 28px 46px; }
.home-founder-inner { max-width: 1180px; margin: 0 auto; padding: 34px 0 0; border-top: 1px solid #e3d3d5; display: grid; grid-template-columns: 185px minmax(0,1fr); gap: 30px; align-items: center; }
.home-founder img { width: 185px; height: 235px; object-fit: cover; object-position: 50% 28%; border: 1px solid #e6d4d8; box-shadow: 0 16px 38px #2a141414; }
.home-founder h2 { max-width: 760px; font: 400 34px/1.14 var(--serif); margin: 0 0 14px; color: #3f2d37; }
.home-founder p:not(.eyebrow) { max-width: 760px; margin: 0; color: #5f575b; line-height: 1.68; }
.home-founder-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 23px; }
.home-process { padding: 42px 28px; }
.home-process-inner { display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); gap: 42px; padding-top: 38px; border-top: 1px solid #e3d3d5; }
.home-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 0; margin: 0; list-style: none; }
.home-steps li { display: flex; gap: 15px; align-items: flex-start; }
.home-steps li>span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--wine); font-weight: 700; }
.home-audience { padding: 26px 28px 66px; }
.home-audience-inner { padding: 30px 0 0; border-top: 1px solid #e3d3d5; }
.home-link-row { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 25px; }
.home-link-row a { border-bottom: 1px solid #deb7be; padding-bottom: 3px; }
.home-page .site-footer { max-width: 1300px; padding: 16px 28px 21px; color: #aaa0a2; border-top: 1px solid #ffffff12; }
.error-content { padding: 110px 25px 140px; text-align: center; max-width: 750px; margin: auto; }
.error-content>.icon { width: 62px; height: 62px; color: var(--wine); margin-bottom: 20px; }
.error-content h1 { font: 46px/1.1 var(--serif); margin: 16px 0 20px; }
.error-content .button-primary { margin-top: 20px; }
@media (min-width: 1700px) {
 .home-hero { min-height: 700px; }
 .hero-inner { padding-top: 53px; padding-bottom: 66px; }
}
@media (max-width: 1200px) {
 .hero-inner { padding: 38px 28px 54px; }
 .hero-copy { width: 56%; }
 .hands-photo { left: 43%; width: 57%; object-position: 46% center; }
 .hero-copy h1 { font-size: 34px; }
 .hero-description { font-size: 14px; max-width: 500px; }
 .desktop-break { display: none; }
 .audience-options { width: 60%; gap: 9px; }
 .audience-card { min-height: 118px; padding: 11px 6px 8px; border-radius: 13px; }
 .audience-icon { width: 39px; height: 39px; }
 .audience-label { font-size: 18px; }
 .round-arrow { width: 27px; height: 27px; }
 .hero-quote { font-size: 24px; right: 10px; top: 40px; width: 162px; }
 .benefits-inner { padding-inline: 18px; }
 .benefits article { gap: 18px; padding-inline: 19px; }
 .benefits .icon { width: 44px; height: 44px; }
 .benefits h2 { font-size: 18px; }
 .benefits p { font-size: 15px; }
 .home-info-inner,
 .home-process-inner { grid-template-columns: 1fr; gap: 28px; }
 .home-info-grid { grid-template-columns: 1fr; }
 .home-steps { grid-template-columns: 1fr; }
}
@media (max-width: 850px) and (min-width: 701px) {
 .hero-copy { width: 61%; }
 .hero-copy h1 { font-size: 31px; }
 .hero-description { font-size: 14px; }
 .hands-photo { left: 42%; width: 58%; }
 .hero-quote { font-size: 21px; width: 135px; top: 25px; }
 .audience-options { width: 65%; }
 .benefits article { flex-direction: column; gap: 10px; align-items: center; text-align: center; }
 .benefits-inner { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 700px) {
 .home-hero { overflow: hidden; }
 .hero-inner { position: relative; padding: 40px 23px 52px; }
 .hero-copy { width: 100%; max-width: 520px; margin: 0 auto; }
 .hands-photo { left: 0; top: 0; width: 100%; height: 310px; object-fit: cover; object-position: 50% 42%; opacity: .42; }
 .photo-blend { background: linear-gradient(0deg,#0e0c0d 24%,rgba(13,11,12,.47) 75%,rgba(13,11,12,.4)),linear-gradient(90deg,#0a080a88,transparent); }
 .hero-wordmark { max-width: 510px; }
 .brand-rule { width: 110px; margin: 19px auto; }
 .hero-copy h1 { font-size: 30px; max-width: 410px; line-height: 1.16; margin-bottom: 14px; }
 .hero-description { max-width: 390px; margin: -17px auto 24px; }
 .audience legend { font-size: 22px; line-height: 1.25; margin-bottom: 18px; }
 .audience-options { width: 70%; max-width: 326px; gap: 10px; }
 .audience-card { min-height: 123px; padding: 12px 6px 10px; border-radius: 13px; }
 .audience-icon { width: 41px; height: 41px; }
 .audience-label { font-size: 18px; margin: 7px 0; }
 .round-arrow { width: 28px; height: 28px; }
 .hero-quote { display: none; }
 .ribbons { height: 216px; }
 .benefits-inner { display: flex; flex-direction: column; max-width: 470px; padding: 0 25px 8px; gap: 0; }
 .benefits article { justify-content: flex-start; padding: 19px 14px; gap: 25px; }
 .benefits article+article { border-left: 0; border-top: 1px solid #981425; }
 .benefits .icon { width: 43px; height: 43px; }
 .benefits h2 { font-size: 20px; }
 .benefits p { font: 14px/1.5 var(--sans); }
 .home-page .site-footer { margin: 0 22px; }
 .home-info,
 .home-founder,
 .home-process,
 .home-audience { padding-left: 22px; padding-right: 22px; }
 .home-info { padding-top: 44px; }
 .home-info h2,
 .home-process h2,
 .home-audience h2 { font-size: 30px; }
 .home-info-actions { flex-direction: column; align-items: stretch; }
 .home-info-actions .button-primary,
 .home-info-actions .button-secondary { width: 100%; }
 .home-info-grid article { padding: 20px; }
 .home-founder-inner { grid-template-columns: 1fr; gap: 22px; }
 .home-founder img { width: 170px; height: 210px; }
 .home-founder h2 { font-size: 29px; }
 .home-founder-actions { flex-direction: column; align-items: stretch; }
 .home-founder-actions .button-primary,
 .home-founder-actions .button-secondary { width: 100%; }
 .home-link-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 380px) {
 .hero-inner { padding-inline: 18px; padding-top: 32px; }
 .hero-copy h1 { font-size: 27px; }
 .hero-description { font-size: 13px; }
 .audience legend { font-size: 20px; }
 .audience-label { font-size: 16px; }
 .audience-options { gap: 8px; }
 .audience-card { min-height: 116px; }
 .audience-icon { width: 36px; height: 36px; }
 .benefits h2 { font-size: 18px; }
}
/* Feather the supplied photograph into the dark copy area rather than
   stretching it across the entire page. */
@media (min-width: 701px) {
 .hands-photo { -webkit-mask-image: linear-gradient(90deg,transparent,#000 24%); mask-image: linear-gradient(90deg,transparent,#000 24%); }
}
