
/* Final homepage rhythm and hierarchy. */
.home-site .section{padding:72px 0}
.home-site .personal-intro{padding:62px 0 72px}
.home-site .personal-intro .person-band{gap:56px}
.home-site main h2,.home-site main .section h2{font-size:clamp(1.95rem,3.1vw,2.7rem);line-height:1.16;letter-spacing:-.035em;font-weight:500}
.home-site .eyebrow{margin-bottom:18px}
.home-site .section-heading-row{gap:24px}
.home-site .program-grid,.home-site .tool-grid,.home-site .client-review-grid{gap:18px}
.home-site .program-card,.home-site .tool-grid>a,.home-site .client-review{border-radius:14px;border:1px solid #dde3dc}
.home-site .program-card{padding:25px}
.home-site .program-card h3,.home-site .tool-grid h3{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em;font-weight:500}
.home-site .program-card p,.home-site .tool-grid p{font-size:.9rem;line-height:1.65}
.home-site .tool-grid{margin-top:30px}
.home-site .tool-grid>a{padding:25px 25px 54px}
.home-site .tool-grid h3{margin:18px 0 12px}
.home-site .client-review{padding:25px;box-shadow:none}
.home-site .text-link{font-weight:500;text-underline-offset:5px;text-decoration-thickness:1px}
.home-site .text-link:hover{text-decoration-thickness:2px}
.home-site .full-hero .button:not(.secondary){font-weight:600;box-shadow:0 5px 18px #00000020}
.home-site .full-hero .button.secondary{box-shadow:none}
.home-site .heloc-feature .button.quiet-action{background:transparent;color:#fff;border:1px solid #d6e5d5;box-shadow:none}
.home-site .heloc-feature .button.quiet-action:hover{background:#ffffff12;border-color:#fff;color:#fff}
.home-site .heloc-feature .text-link{font-size:.82rem;font-weight:400}
.home-site .service-stacked{padding:54px 0}
@media(max-width:1050px){.home-site .personal-intro .person-band{gap:36px}}
@media(max-width:800px){.home-site .section{padding:56px 0}.home-site .personal-intro{padding:48px 0 56px}.home-site .program-card{padding:22px}.home-site .tool-grid>a{padding:22px 20px 50px}}
@media(max-width:560px){.home-site .section{padding:44px 0}.home-site .personal-intro{padding:40px 0 44px}.home-site .personal-intro .person-band{gap:28px}.home-site main h2,.home-site main .section h2{font-size:clamp(1.85rem,7.8vw,2.2rem);line-height:1.17}.home-site .section-heading-row{gap:14px}.home-site .program-grid,.home-site .tool-grid,.home-site .client-review-grid{gap:14px}.home-site .program-card,.home-site .client-review{padding:23px}.home-site .tool-grid>a{padding:23px 23px 52px}.home-site .service-stacked{padding:44px 0}.home-site .eyebrow{margin-bottom:14px}}

/* A shorter homepage: compact introduction, secondary options and service area. */
.home-site .personal-intro .portrait-frame>img{height:390px;min-height:0;object-fit:cover;object-position:center 24%}
.home-site .home-extra-options{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:24px 0 0;padding-top:22px;border-top:1px solid #d6ded4;font-size:.9rem}
.home-extra-options>span{color:#435248}.home-extra-options a,.home-resource-links a{color:#1e6942;text-underline-offset:4px;font-weight:500}
.home-site .home-service-compact{padding:38px 0}
.home-service-compact>.wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.home-site .home-service-compact h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:12px}
.home-site .home-service-compact .eyebrow{margin-bottom:12px}
.home-site .home-service-compact .service-intro{margin:0;max-width:650px}
.home-service-compact nav{display:flex;flex-direction:column;gap:16px;flex-shrink:0}
.home-resource-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;max-width:1120px;margin:28px auto 0;padding:24px 24px 0;border-top:1px solid #d6ded4;font-size:.88rem}
@media(max-width:800px){.home-site .personal-intro .portrait-frame>img{height:350px}.home-service-compact>.wrap{align-items:flex-start;flex-direction:column;gap:22px}.home-service-compact nav{flex-direction:row;flex-wrap:wrap;gap:16px 26px}}
@media(max-width:560px){.home-site .personal-intro .portrait-frame>img{height:300px}.home-site .home-service-compact{padding:32px 0}.home-site .home-extra-options{gap:14px 20px}.home-extra-options>span{width:100%}.home-resource-links{justify-content:flex-start;margin:24px 24px 0;padding:20px 0 0;gap:16px}}

/* Restore the state silhouettes with a tighter section rhythm. */
.home-site .home-state-restored{padding:38px 0 42px}
.home-site .home-state-restored h2{font-size:clamp(1.8rem,2.8vw,2.35rem);margin-bottom:12px}
.home-site .home-state-restored .eyebrow{margin-bottom:12px}
.home-site .home-state-restored .service-intro{margin-bottom:24px}
.home-state-restored .home-state-shapes{gap:16px 14px}
@media(max-width:560px){.home-site .home-state-restored{padding:32px 0}.home-state-restored .home-state-shapes{gap:14px 10px}}

/* Selected Craftsman street scene in golden evening light. */
.home-site .full-hero{background-image:linear-gradient(180deg,#15271f32 0%,#15271f85 42%,#15271fe8 100%),url('/craftsman-street-golden.webp');background-position:center,center 54%}
@media(max-width:560px){.home-site .full-hero{background-position:center,31% center}}

/* Give the portrait a natural vertical frame with room above the hair. */
.home-site .personal-intro .portrait-frame{width:100%;max-width:340px;margin-inline:auto}
.home-site .personal-intro .portrait-frame>img{height:420px;object-position:center top}
@media(max-width:560px){.home-site .personal-intro .portrait-frame>img{height:380px}}

/* Keep the selected real photograph complete at every screen size. */
.home-site .scenario-photo{height:auto;aspect-ratio:3/2;object-position:center}

/* Mobile greeting keeps the copy over the image. */
@media(max-width:560px){
.home-site .full-hero{min-height:720px;padding:150px 0 54px;background-image:linear-gradient(180deg,#15271f40 0%,#15271f99 40%,#15271fe8 100%),url('/craftsman-street-golden.webp');background-size:cover;background-position:center,31% center}
.home-site .full-hero .full-hero-photo{display:none}
.home-site .full-hero-copy{max-width:360px}
.home-site .full-hero h1{font-size:clamp(2.3rem,9.5vw,3.3rem);line-height:1.1;margin-bottom:26px}
.home-site .full-hero .full-lead{font-size:.96rem;line-height:1.6;margin-bottom:30px}
}

/* Traditional home imagery and the closing invitation. */
.home-site .heloc-image img{object-position:center;}
.home-site .final-conversation{min-height:440px;display:flex;align-items:center;padding:86px 0;background:linear-gradient(180deg,#15271f66,#15271fcf),url('/craftsman-neighborhood-closing.webp') center 48%/cover no-repeat}
.final-conversation .wrap{max-width:850px}
.home-site .final-conversation .eyebrow{color:#e7eee7;font-size:.7rem;letter-spacing:.14em}
.home-site .final-conversation h2{color:#fff;margin-bottom:20px}
.home-site .final-conversation p:not(.eyebrow){max-width:650px;margin:0 auto 30px;color:#fff;line-height:1.7}
.final-conversation .conversation-text{display:inline-block;margin-top:22px;font-size:.82rem;color:#fff;text-underline-offset:4px}
@media(max-width:600px){.home-site .final-conversation{min-height:490px;padding:66px 0;background-position:center,52% center}.home-site .final-conversation .action-row{flex-direction:column;align-items:center;gap:14px}.home-site .final-conversation .button{width:min(100%,310px);min-height:52px}.home-site .final-conversation h2{font-size:2.1rem}.home-site .final-conversation p:not(.eyebrow){font-size:.96rem}}

/* Keep the complete doorway readable in the mobile equity panel. */
@media(max-width:800px){.home-site .heloc-image img{height:420px;object-position:center 48%}}
@media(max-width:600px){.home-site .heloc-image img{height:400px;object-position:center 48%}}
