/* Shared contact presentation; existing fields and API behaviour stay intact. */
.home-contact{padding:70px var(--gutter) 92px;scroll-margin-top:32px;background:var(--cream);color:var(--dark-green)}
.home-contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:'heading form' 'talk form' 'privacy form';gap:32px 70px;align-items:start}
.home-contact-heading{grid-area:heading}
.home-contact h2{margin:0 0 24px;color:var(--green);font-size:clamp(3.2rem,5.2vw,5.6rem);line-height:1.06}
.home-contact-subtitle{font-size:clamp(1.25rem,2vw,1.85rem);line-height:1.35;font-weight:700;text-transform:uppercase;color:var(--green);margin:0 0 16px}
:is(.home-contact,.activity-enquiry-panel) .contact-form{grid-area:form;display:flex;flex-direction:column;margin:0;padding:30px;background:#e9e3da;border:0;width:100%}
:is(.home-contact,.activity-enquiry-panel) .form-fields{gap:24px 20px}
:is(.home-contact,.activity-enquiry-panel) .form-field{font-size:18px;font-weight:700;gap:10px}
:is(.home-contact,.activity-enquiry-panel) .form-field :is(input,select,textarea){font-size:17px;font-weight:400;background:#faf8f4;border:1px solid #7c8572;border-radius:4px;min-height:52px;padding:13px 14px}
:is(.home-contact,.activity-enquiry-panel) .form-field textarea{min-height:174px}
:is(.home-contact,.activity-enquiry-panel) .form-field input::placeholder{font-size:16px}
:is(.home-contact,.activity-enquiry-panel) .submit-button{width:100%;font-size:19px;min-height:60px;margin-top:0}
:is(.home-contact,.activity-enquiry-panel) .form-reassurance{font-size:16px;line-height:1.55;margin:18px 0 0}
:is(.home-contact,.activity-enquiry-panel) .form-status{order:-1;font-size:16px;line-height:1.5;margin:0 0 18px;min-height:0}
:is(.home-contact,.activity-enquiry-panel) .form-status:empty{display:none}
.home-contact-alternatives{grid-area:talk;border-top:1px solid var(--rule);padding-top:26px;min-width:0}
.home-contact-alternatives h3{color:var(--green);font-size:28px;margin:0 0 22px;line-height:1.3}
.home-contact-alternatives ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.home-contact-alternatives li{display:flex;align-items:center;gap:18px;font-size:clamp(1.125rem,1.6vw,1.4rem);line-height:1.5;min-width:0}
.home-contact-alternatives svg{width:28px;height:28px;flex:0 0 28px;color:var(--green)}
.home-contact-alternatives a{overflow-wrap:anywhere;text-decoration:none;text-underline-offset:5px}
.home-contact-alternatives a:hover{text-decoration:underline}
.home-contact-privacy{grid-area:privacy;margin:0;border-top:1px solid var(--rule);padding-top:22px;font-size:18px;font-weight:700;color:var(--green)}
.home-contact-privacy a{text-underline-offset:4px}

@media(max-width:1050px){
 .home-contact-layout{column-gap:36px}
 :is(.home-contact,.activity-enquiry-panel) .contact-form{padding:24px}
 :is(.home-contact,.activity-enquiry-panel) .form-fields{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .home-contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'form' 'talk' 'privacy';gap:30px}
 :is(.home-contact,.activity-enquiry-panel) .contact-form{padding:24px}
 .home-contact h2{font-size:clamp(3rem,12vw,4.5rem)}
 .home-contact-subtitle{font-size:clamp(1.2rem,4.8vw,1.7rem)}
 :is(.home-contact,.activity-enquiry-panel) .form-field{font-size:18px}
 :is(.home-contact,.activity-enquiry-panel) .form-status{margin-block:18px}
 .home-contact-alternatives{padding-top:24px}
 .home-contact-alternatives h3{font-size:27px}
 .home-contact-alternatives li{font-size:18px;gap:15px}
}
@media(max-width:400px){
 :is(.home-contact,.activity-enquiry-panel) .contact-form{padding:20px 17px}
}

.home-contact>.home-section-inner{max-width:1440px;margin-inline:auto}
.home-contact .home-intro{font-size:clamp(1.125rem,1.5vw,1.4rem);line-height:1.6;margin:0;color:var(--dark-green)}
.home-contact h3{font-family:Georgia,'Times New Roman',serif;font-weight:700;text-transform:none;letter-spacing:0}
.activity-enquiry-panel{background:#e9e3da}
.activity-enquiry-panel .activity-enquiry-form{padding:0;margin:24px 0 0;border:0;background:transparent}
@media(max-width:640px){.home-contact{padding:60px 6vw}}
html[lang=fi] .home-contact h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.2}
@media(max-width:760px){html[lang=fi] .home-contact h2{font-size:clamp(2.5rem,10.2vw,3.6rem)}}

/* Preserve Vätsäri's dark setting, with a clearly readable light form card. */
.vatsari-page .home-contact{background:var(--v-background);color:var(--v-text)}
.vatsari-page .home-contact :is(h2,.home-contact-subtitle,.home-intro,.home-contact-alternatives h3,.home-contact-privacy){color:var(--v-text)}
.vatsari-page .home-contact :is(.home-contact-alternatives,.home-contact-privacy){border-color:#f2e9dc55}
.vatsari-page .home-contact-alternatives svg{color:var(--v-accent)}
.vatsari-page .home-contact .contact-form{color:var(--dark-green)}
.vatsari-page .home-contact .form-field :is(input,select,textarea){color:var(--dark-green);background:#faf8f4;border-color:#7c8572;color-scheme:light}
.vatsari-page .home-contact .form-field :is(input,textarea)::placeholder{color:#626959;opacity:1}
.vatsari-page .home-contact :is(#form-required,.form-status,.form-reassurance){color:var(--dark-green)}
.vatsari-page .home-contact .form-status[data-state=error]{color:#8b291f}
.vatsari-page .home-contact .submit-button{background:var(--green);border-color:var(--green);color:var(--cream)}
