/* Each step fits the available view. The footer remains further down the page. */
body[data-page=contact] .contact-experience{height:calc(100svh - 116px);min-height:0;box-sizing:border-box;grid-template-columns:.8fr 1.2fr;gap:8vw;padding-top:18px;padding-bottom:24px;align-items:center}
body[data-page=contact] .contact-place h1{font-size:clamp(48px,4.6vw,80px)}
body[data-page=contact] .contact-garden{height:clamp(150px,24svh,260px);margin-top:25px}
body[data-page=contact] .contact-journey{margin:0;align-self:center;width:100%;max-width:560px}
body[data-page=contact] .contact-journey.is-stepped{height:min(480px,calc(100svh - 152px));display:flex;flex-direction:column}
body[data-page=contact] .contact-journey.is-stepped>fieldset{flex:1;min-height:0}
body[data-page=contact] .contact-journey.is-stepped>.contact-progress,body[data-page=contact] .contact-journey.is-stepped>.contact-form-actions{flex:none}
body[data-page=contact] .contact-progress{margin-bottom:22px;padding-bottom:14px}
body[data-page=contact] .contact-journey legend{font-size:36px;line-height:1.1;margin-bottom:24px}
body[data-page=contact] .contact-journey label{line-height:1.25;margin-bottom:16px}
body[data-page=contact] .contact-journey input:not([type=radio],[type=checkbox]){height:40px;min-height:40px}
body[data-page=contact] .contact-journey textarea{min-height:95px;height:110px;resize:none}
.contact-phone{margin:1px 0 15px}.contact-phone summary{font:12px/1.5 var(--sans);letter-spacing:0;color:var(--bark);justify-content:flex-start;gap:8px;padding:5px 0}.contact-phone summary::before{content:'+';font-size:16px}.contact-phone[open] summary::before{content:'−'}.contact-phone summary>span{font-size:10px;color:var(--stone);margin-left:auto}.contact-phone input{width:100%;margin-top:3px}.contact-journey .consent{margin-top:10px;font-size:11px;line-height:1.5}.contact-form-actions{margin-top:20px}.contact-form-actions>button{min-height:46px}.contact-journey #form-status{font-size:12px;line-height:1.5}
.contact-identity{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
body[data-page=contact] .contact-journey .project-choice{flex-direction:row;margin:0}
@media(max-width:720px){
 body[data-page=contact] .contact-experience{height:calc(100svh - 94px);display:flex;flex-direction:column;justify-content:center;padding:16px var(--gutter) 24px;gap:0}
 body[data-page=contact] .contact-place{display:none}
 body[data-page=contact] .contact-journey{max-width:460px}
 body[data-page=contact] .contact-progress{margin-bottom:22px;padding-bottom:12px;gap:20px}
 body[data-page=contact] .contact-journey legend{font-size:clamp(28px,8.2vw,38px);margin-bottom:24px}
 body[data-page=contact] .project-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body[data-page=contact] .contact-journey .project-choice{padding:20px 15px;margin:0;min-height:123px}
 body[data-page=contact] .project-choice strong{font-size:25px;line-height:1.05}
 body[data-page=contact] .project-choice small{font-size:11px;line-height:1.5}
 body[data-page=contact] .project-choice>span:first-of-type{min-width:0}
 body[data-page=contact] .contact-journey .project-choice strong{font-size:clamp(21px,5.8vw,25px)}
 body[data-page=contact] .project-choice .choice-check{display:none}
 body[data-page=contact] .contact-journey label{font-size:13px;gap:4px;margin-bottom:15px}
 body[data-page=contact] .contact-journey input:not([type=radio],[type=checkbox]){height:40px;min-height:40px;font-size:16px}
 body[data-page=contact] .contact-journey textarea{height:125px;min-height:100px;font-size:16px}
 body[data-page=contact] .contact-form-actions{margin-top:18px}
 body[data-page=contact] .contact-success{padding:0}
 .contact-identity{grid-template-columns:1fr;gap:0}
}
@media(max-height:700px){
 body[data-page=contact] .contact-garden{display:none}
 body[data-page=contact] .contact-progress{margin-bottom:16px;padding-bottom:10px}
 body[data-page=contact] .contact-journey legend{font-size:29px;margin-bottom:18px}
 body[data-page=contact] .contact-journey .project-choice{min-height:85px;padding:16px 13px}
 body[data-page=contact] .project-choice small{display:none}
 body[data-page=contact] .project-choice strong{font-size:23px;margin:0}
 body[data-page=contact] .contact-journey label{font-size:12px;line-height:1.25;margin-bottom:10px}
 body[data-page=contact] .contact-journey input:not([type=radio],[type=checkbox]){height:36px;min-height:36px;padding-top:7px;padding-bottom:7px}
 body[data-page=contact] .contact-journey textarea{height:92px;min-height:92px}
 body[data-page=contact] .contact-phone{margin-bottom:8px}
 body[data-page=contact] .contact-journey .consent{font-size:10px;line-height:1.45;margin-top:8px;margin-bottom:10px}
 body[data-page=contact] .contact-form-actions{margin-top:12px}
 body[data-page=contact] .contact-form-actions>button{min-height:42px;padding-top:10px;padding-bottom:10px}
}
@media(max-height:500px) and (min-width:721px){
 body[data-page=contact] .project-choices{grid-template-columns:1fr 1fr;gap:10px}
 body[data-page=contact] .contact-project-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}
 body[data-page=contact] .contact-contact-extras{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:center}
 body[data-page=contact]:has(.site-header){padding-top:84px}
 body[data-page=contact] .contact-experience{height:calc(100svh - 84px);padding-top:8px;padding-bottom:12px;gap:5vw;grid-template-columns:.6fr 1.4fr}
 body[data-page=contact] .contact-place h1{font-size:40px}
 body[data-page=contact] .contact-place>.eyebrow,body[data-page=contact] .contact-direct>span{display:none}
 body[data-page=contact] .contact-direct{font-size:11px}
 body[data-page=contact] .contact-progress{margin-bottom:8px;padding-bottom:4px}
 body[data-page=contact] .contact-progress button{font-size:11px;line-height:1.3;padding:2px 0}
 body[data-page=contact] .contact-journey legend{font-size:25px;margin-bottom:12px}
 body[data-page=contact] .contact-journey .project-choice{min-height:67px;padding:12px}
 body[data-page=contact] .contact-journey textarea{height:65px;min-height:65px}
 body[data-page=contact] .contact-journey label{margin-bottom:7px}
 body[data-page=contact] .contact-journey input:not([type=radio],[type=checkbox]){height:32px;min-height:32px;padding-top:4px;padding-bottom:4px;line-height:1.25}
 body[data-page=contact] .contact-journey .consent{margin:0;font-size:10px}
 body[data-page=contact] .contact-form-actions{margin-top:8px}
 body[data-page=contact] .contact-form-actions>button{min-height:40px;padding-top:8px;padding-bottom:8px}
}
