/* One decisive first screen: a direct question, concrete support, a primary CTA. */
.photo-hero{background:#123f3e;color:#fff;border-bottom:3px solid #bd9d55}
.photo-hero .impact-layout{padding:36px 6% 37px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px}
.photo-hero .impact-canvas{background:#173f3b}
.photo-hero .hero-woman{object-position:75% 30%}
.photo-hero .impact-shade{background:linear-gradient(90deg,#103d3efc 0%,#103d3ef7 26%,#103d3edb 43%,#103d3e55 62%,#103d3e10 83%),linear-gradient(0deg,#103d3ef5 0%,#103d3e66 27%,#103d3e00 70%)}
.photo-hero .impact-intro{display:inline-block;color:#ffebbb;font-weight:750;font-size:22px;line-height:1.6;letter-spacing:.07em;margin:0 0 14px;padding:0 0 6px;border-bottom:2px solid #d6b46b}
.photo-hero h1,.photo-hero.is-compact h1,.photo-hero.is-tight h1{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:var(--photo-heading-size,clamp(43px,4.4vw,64px));font-weight:900;line-height:1.3;letter-spacing:-.025em;color:#fff;text-shadow:0 2px 10px #0b30253b}
.photo-hero h1 em{font-weight:900;color:#fff;line-height:1.3;letter-spacing:-.025em;display:block;margin-top:4px}
.photo-hero .hero-question-key{color:#f2d18a;text-decoration:underline;text-decoration-color:#b99b5a;text-decoration-thickness:3px;text-underline-offset:9px}
.photo-hero .impact-description{font-size:18px;line-height:1.8;color:#ecf2e9;margin-top:23px}
.photo-hero .impact-description strong{font-size:18px;line-height:1.8;font-weight:700;color:#fff}
.hero-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:23px;padding:13px 0 12px;border-top:1px solid #b6c4a961;border-bottom:1px solid #b6c4a961;background:#0b30283b}
.hero-values>div{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:0 8px;border-right:1px solid #b6c4a947}
.hero-values>div:last-child{border-right:0}
.hero-values>div>span{color:#d9e5d8;font-size:12px;line-height:1.6;font-weight:500;letter-spacing:0}
.hero-values strong{color:#f5dfad;font-size:18px;line-height:1.6;font-weight:750;letter-spacing:0}
.hero-hours-note{font-size:11px;line-height:1.6;color:#c7d6c7;text-align:right;margin-top:6px}
.photo-hero .hero-contact{max-width:540px;align-self:end}
.photo-hero .hero-tags{gap:9px;margin-bottom:13px}
.photo-hero .hero-tags>span{color:#eff4e6;background:#194f456b;border:1px solid #9bb69c7a;font-weight:600;font-size:13px;padding:3px 10px}
.photo-hero .hero-button{display:flex;align-items:center;justify-content:space-between;gap:13px;width:100%;max-width:none;min-height:76px;padding:18px 20px;background:linear-gradient(120deg,#18a15a,#087b45);color:#fff;border:1px solid #a7d5ad;border-top:2px solid #d2eac0;border-radius:7px;box-shadow:0 7px 0 #07522f,0 11px 24px #001f1d6b;font-weight:800;transition:transform .15s,box-shadow .15s}
.photo-hero .hero-button>.hero-button-label{flex:1;font-size:23px;line-height:1.5;font-weight:800;text-align:center;letter-spacing:0}
.photo-hero .hero-button .hero-chat-icon{width:32px;height:32px;flex-shrink:0;color:#e5ffdc}
.photo-hero .hero-button>.hero-button-arrow{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;font-size:24px;line-height:1;border-radius:50%;background:#ffffffeb;color:#0c7745;box-shadow:0 2px 0 #004f2b3b}
.photo-hero .hero-button:hover{transform:translateY(-2px);box-shadow:0 9px 0 #07522f,0 15px 27px #001f1d6b}
.photo-hero .hero-button:active{transform:translateY(5px);box-shadow:0 2px 0 #07522f,0 5px 12px #001f1d5c}
.photo-hero .hero-caption{font-size:12px;line-height:1.6;color:#d6e1cf;margin-top:15px;text-align:center}
@media(min-width:701px){
 .photo-hero.is-compact .impact-layout{padding-top:24px;padding-bottom:28px;gap:17px}
 .photo-hero.is-compact h1{font-size:var(--photo-heading-size,45px)}
 .photo-hero.is-compact .impact-intro{font-size:18px;margin-bottom:10px;padding-bottom:4px}
 .photo-hero.is-compact .impact-description,.photo-hero.is-compact .impact-description strong{font-size:16px;line-height:1.7}.photo-hero.is-compact .impact-description{margin-top:16px}
 .photo-hero.is-compact .hero-values{margin-top:15px;padding-top:10px;padding-bottom:10px}.photo-hero.is-compact .hero-values strong{font-size:16px}
 .photo-hero.is-compact .hero-button{min-height:64px;padding-top:13px;padding-bottom:13px}.photo-hero.is-compact .hero-button>.hero-button-label{font-size:21px}
}
@media(max-width:1000px) and (min-width:701px){.photo-hero .impact-layout{grid-template-columns:1.3fr 1fr;padding-left:4%;padding-right:4%}.photo-hero .impact-shade{background:linear-gradient(90deg,#103d3efc,#103d3ef2 38%,#103d3e66 75%,#103d3e33),linear-gradient(0deg,#103d3ee6,transparent 70%)}.photo-hero .hero-button>.hero-button-label{font-size:20px}.photo-hero .hero-button{gap:10px;padding-left:15px;padding-right:15px}}
@media(max-width:700px){
 .photo-hero .impact-layout{padding:0 22px 16px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--photo-spacer-min,22px),1fr) auto auto;gap:12px}
 .photo-hero .impact-canvas{height:64%;min-height:135px}
 .photo-hero .hero-woman{object-position:75% 20%}
 .photo-hero .impact-shade{background:linear-gradient(180deg,#103d3e00 0%,#103d3e00 28%,#103d3e66 50%,#103d3ee6 76%,#103d3e 100%),linear-gradient(90deg,#103d3e65,#103d3e00 76%)}
 .photo-hero .impact-intro{font-size:17px;line-height:1.5;letter-spacing:.04em;padding-bottom:4px;margin-bottom:8px;border-bottom-width:2px}
 .photo-hero h1,.photo-hero.is-compact h1,.photo-hero.is-tight h1{font-size:var(--photo-heading-size,min(42px,calc((100vw - 44px)/9)));line-height:1.26;font-weight:900;letter-spacing:-.025em}
 .photo-hero h1 em{line-height:1.26;letter-spacing:-.025em;margin-top:3px}
 .photo-hero .hero-question-key{text-decoration-thickness:2px;text-underline-offset:6px}
 .photo-hero .impact-description{font-size:16px;line-height:1.55;margin-top:15px}.photo-hero .impact-description strong{font-size:16px;line-height:1.55;font-weight:700}
 .hero-values{margin-top:14px;padding:9px 0 8px}.hero-values>div{padding:0 5px;gap:2px}.hero-values>div>span{font-size:10px;line-height:1.6}.hero-values strong{font-size:14px;line-height:1.6}
 .hero-hours-note{font-size:10px;line-height:1.5;margin-top:4px}
 .photo-hero .hero-contact{max-width:none}
 .photo-hero .hero-tags{gap:7px;margin-bottom:10px}.photo-hero .hero-tags>span{font-size:12px;line-height:1.5;padding:3px 8px}
 .photo-hero .hero-button{min-height:66px;padding:14px 15px;gap:10px;border-radius:6px;box-shadow:0 6px 0 #07522f,0 9px 20px #001f1d59}
 .photo-hero .hero-button>.hero-button-label{font-size:clamp(18px,5.2vw,21px);line-height:1.5;font-weight:800}
 .photo-hero .hero-button .hero-chat-icon{width:28px;height:28px}.photo-hero .hero-button>.hero-button-arrow{width:30px;height:30px;font-size:21px}
 .photo-hero .hero-caption{font-size:11px;line-height:1.5;margin-top:12px}
 .photo-hero.is-compact .impact-layout{padding-top:0;padding-bottom:13px;gap:9px}
 .photo-hero.is-compact .impact-intro{font-size:16px;margin-bottom:7px}
 .photo-hero.is-compact .impact-description{margin-top:12px}
 .photo-hero.is-compact .hero-values{margin-top:11px;padding-top:7px;padding-bottom:7px}
 .photo-hero.is-tight .impact-layout{padding:0 20px 10px;gap:7px}
 .photo-hero.is-tight .impact-canvas{height:56%;min-height:90px}
 .photo-hero.is-tight h1{font-size:var(--photo-heading-size,min(34px,calc((100vw - 40px)/9)));line-height:1.22}.photo-hero.is-tight h1 em{line-height:1.22}
 .photo-hero.is-tight .impact-intro{font-size:15px;padding-bottom:3px;margin-bottom:5px}
 .photo-hero.is-tight .impact-description,.photo-hero.is-tight .impact-description strong{font-size:16px;line-height:1.4}.photo-hero.is-tight .impact-description{margin-top:9px}
 .photo-hero.is-tight .hero-values{margin-top:9px;padding-top:6px;padding-bottom:6px}.photo-hero.is-tight .hero-values strong{font-size:13px}.photo-hero.is-tight .hero-values>div>span{font-size:10px}
 .photo-hero.is-tight .hero-tags{gap:6px;margin-bottom:7px}.photo-hero.is-tight .hero-tags>span{font-size:11px;padding:2px 7px;line-height:1.4}
 .photo-hero.is-tight .hero-button{min-height:58px;padding:11px 13px;gap:8px}.photo-hero.is-tight .hero-button>.hero-button-label{font-size:18px}
 .photo-hero.is-tight .hero-button .hero-chat-icon{width:24px;height:24px}.photo-hero.is-tight .hero-button>.hero-button-arrow{width:27px;height:27px;font-size:20px}
 .photo-hero.is-tight .hero-caption{font-size:11px;line-height:1.4;margin-top:10px}
}
@media(max-width:360px){.photo-hero .impact-layout{padding-left:20px;padding-right:20px}.photo-hero .hero-button{padding-left:12px;padding-right:12px;gap:8px}.photo-hero .hero-button .hero-chat-icon{width:24px;height:24px}.photo-hero .hero-button>.hero-button-arrow{width:27px;height:27px;font-size:20px}.hero-values>div{padding-left:3px;padding-right:3px}.hero-values strong{font-size:13px}}
