/* Hanaemy homepage refinement, scoped to the homepage and added About section. */
.home-refined { --home-green:#263d33; --home-paper:#fff; --home-line:#d5d8d0; }
.home-refined .field-overview { display:block; background:var(--home-paper); padding-top:clamp(64px,7vw,112px); padding-bottom:clamp(64px,7vw,112px); }
.home-introduction { margin-bottom:40px; }
.home-introduction .section-index { color:var(--home-green); margin:0 0 32px; letter-spacing:.14em; }
.home-introduction-grid { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; }
.home-introduction h2 { margin:0; font:400 clamp(28px,3.4vw,52px)/1.65 "Noto Sans JP",sans-serif; letter-spacing:.025em; }
.intro-mobile-break,.about-mobile-break { display:none; }
.fields-english { margin:24px 0 0; font:400 12px/1.8 Inter,sans-serif; letter-spacing:.12em; color:#60685f; }
.home-introduction-copy > p { margin:0; font:400 clamp(14px,1.06vw,17px)/2.1 "Noto Sans JP",sans-serif; }
.home-about-link { display:inline-flex; align-items:center; gap:28px; padding:14px 0; margin-top:18px; border-bottom:1px solid #778375; color:inherit; text-decoration:none; font:500 12px/1.8 "Noto Sans JP",sans-serif; }
.home-about-link:hover { color:#47644e; border-color:currentColor; }
.home-about-link:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.home-refined .field-map { grid-template-columns:repeat(4,minmax(0,1fr)); border-color:var(--home-line); }
.home-refined .field-map a { min-width:0; min-height:190px; border-color:var(--home-line); padding:24px 18px; }
.home-refined .field-map a:hover { background:var(--home-green); }
.home-refined .field-map strong,.home-refined .field-map a:first-child strong { font:400 clamp(13px,1.3vw,19px)/1.5 Inter,sans-serif; letter-spacing:.02em; margin-top:24px; overflow-wrap:anywhere; }
.home-refined .field-map small { line-height:1.8; }
.home-refined .business-head h2,.home-refined .partnership-copy h2 { font-weight:400; letter-spacing:.015em; line-height:1.55; }
.home-refined .partnership-copy h2 { font-size:clamp(28px,3.8vw,52px); }
.home-refined .brand-intro h2 { font-weight:400; letter-spacing:.015em; line-height:1.65; }
.home-refined .card-overlay h3 { font-family:Inter,"Noto Sans JP",sans-serif; font-weight:400; line-height:1.15; letter-spacing:.015em; }
.home-refined .card-overlay h3 small { font-weight:400; }
.home-refined .business-grid > * { min-width:0; }
.home-refined .sales-feature-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.home-refined .partner-project-grid h3 { font-family:Inter,sans-serif; font-weight:400; letter-spacing:.02em; }
.home-refined .support-entry { background:#eef1eb; color:#22372c; border-top:1px solid var(--home-line); gap:8%; }
.home-refined .support-entry h2,.home-refined .profile-cta > h2,.home-refined .quiet-contact h2 { margin:24px 0 0; font:400 clamp(30px,3.8vw,54px)/1.65 "Noto Sans JP",sans-serif; letter-spacing:.02em; }
.home-refined .support-entry .button-link:hover { background:var(--home-green); color:#fff; }
.home-refined .profile-cta { background:var(--home-paper); grid-template-columns:1fr 1fr; gap:32px 8%; border-bottom:1px solid var(--home-line); }
.home-refined .profile-cta > h2 { margin:0; }
.home-refined .quiet-contact { background:#e6ece3; grid-template-columns:1fr 1fr; gap:8%; padding-top:clamp(64px,8vw,120px); padding-bottom:clamp(64px,8vw,120px); color:#22372c; }
.home-refined .quiet-contact > div:last-child { min-width:0; }
.home-refined .contact-mail { overflow-wrap:anywhere; }
.home-refined .company-information h2 { font-weight:400; }
.hanaemy-about-intro { padding:clamp(64px,8vw,120px) var(--pad); background:#f7f8f2; color:#263d33; scroll-margin-top:24px; }
.hanaemy-about-intro > h2 { font:400 clamp(28px,4vw,56px)/1.6 "Noto Sans JP",sans-serif; letter-spacing:.02em; margin:32px 0 40px; }
.hanaemy-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.hanaemy-about-grid h3 { font:500 18px/1.8 "Noto Sans JP",sans-serif; margin:0 0 16px; }
.hanaemy-about-grid p { font:400 15px/2 "Noto Sans JP",sans-serif; margin:0 0 20px; }
@media(max-width:800px) {
 .home-introduction-grid { grid-template-columns:1fr; gap:28px; }
 .home-introduction h2 { font-size:clamp(27px,5.6vw,40px); }
 .home-introduction-copy { max-width:620px; }
 .home-refined .field-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-refined .field-map a { min-height:175px; }
 .home-refined .sales-feature-grid { grid-template-columns:minmax(0,1fr); }
 .home-refined .support-entry,.home-refined .profile-cta,.home-refined .quiet-contact { grid-template-columns:minmax(0,1fr); gap:28px; }
 .home-refined .profile-cta .section-index { grid-column:auto; }
 .home-refined .support-entry h2,.home-refined .profile-cta > h2,.home-refined .quiet-contact h2 { font-size:clamp(27px,5.8vw,40px); }
 .hanaemy-about-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media(max-width:500px) {
 .home-refined .field-overview { padding:56px 20px; }
 .home-introduction h2 { font-size:29px; line-height:1.7; }
 .intro-mobile-break,.about-mobile-break { display:initial; }
 .home-introduction .section-index { margin-bottom:24px; }
 .fields-english { font-size:10px; margin-top:16px; letter-spacing:.1em; }
 .home-introduction-copy > p { font-size:14px; }
 .home-about-link { font-size:11px; gap:14px; }
 .home-refined .field-map a { padding:18px 12px; }
 .home-refined .field-map strong,.home-refined .field-map a:first-child strong { font-size:12px; }
 .home-refined .field-map small { font-size:10px; }
 .home-refined .service-list { grid-template-columns:minmax(0,1fr); }
 .home-refined .service-list li:nth-child(odd) { border-right:0; }
 .home-refined .card-overlay h3 { overflow-wrap:anywhere; }
}

/* One compact closing section: message, profile, invitation, contact. */
.home-refined .listening-contact { background:#e6ece3; color:#22372c; padding-top:clamp(48px,5vw,72px); padding-bottom:clamp(48px,5vw,72px); scroll-margin-top:24px; }
.home-refined .listening-contact-inner { max-width:720px; }
.home-refined .listening-contact h2 { margin:0 0 18px; font:400 clamp(28px,3.1vw,44px)/1.6 "Noto Sans JP",sans-serif; letter-spacing:.02em; }
.home-refined .listening-profile-link { display:inline-flex; align-items:center; gap:28px; padding:3px 0 8px; border-bottom:1px solid #899384; font:400 12px/1.8 "Noto Sans JP",sans-serif; }
.home-refined .listening-contact p { margin:24px 0 20px; font:400 14px/2 "Noto Sans JP",sans-serif; }
.home-refined .listening-contact .button-link { margin:0; gap:36px; }
.home-refined .listening-profile-link:hover { color:#47644e; }
.home-refined .listening-profile-link:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:500px) {
 .home-refined .listening-contact { padding:40px 20px; }
 .home-refined .listening-contact h2 { font-size:28px; margin-bottom:14px; }
 .home-refined .listening-contact p { font-size:13px; margin:22px 0 18px; }
}
