.form-wrapper form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding:var(--gap) var(--gapHalf)}@media (min-width: 60em){.form-wrapper form{padding:var(--gapLarge) var(--gap)}}.form-wrapper form .optional{font-style:italic;font-size:var(--typeMicro);opacity:.8}.form-wrapper form hr,.form-wrapper form h2,.form-wrapper form h3,.form-wrapper form h4,.form-wrapper form h5,.form-wrapper form h6{grid-column:1/-1}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:var(--typeCard);position:relative;line-height:1.3}.form-field label:after{content:"";opacity:0;transition:var(--transition);display:flex;position:absolute;inset:calc(50% - 2px) auto 0 -10px}.form-field[data-col="1"]{grid-column:span 2}@media (min-width: 52em){.form-field[data-col="1"]{grid-column:span 1}}.form-field[data-col="2"]{grid-column:span 2}.form-wrapper input[type=text],.form-wrapper input[type=number],.form-wrapper input[type=tel],.form-wrapper input[type=email],.form-wrapper input[type=date],.form-wrapper textarea{position:relative;width:100%;padding:var(--gapSml);height:50px;border:1px solid var(--greyMid);border-radius:var(--radiusSml);background-color:#ffffff09;color:var(--textColour);transition:var(--transition);line-height:normal}.form-wrapper input[type=text]:focus,.form-wrapper input[type=text] :active,.form-wrapper input[type=text] :focus-visible,.form-wrapper input[type=text] :focus-within,.form-wrapper input[type=number]:focus,.form-wrapper input[type=number] :active,.form-wrapper input[type=number] :focus-visible,.form-wrapper input[type=number] :focus-within,.form-wrapper input[type=tel]:focus,.form-wrapper input[type=tel] :active,.form-wrapper input[type=tel] :focus-visible,.form-wrapper input[type=tel] :focus-within,.form-wrapper input[type=email]:focus,.form-wrapper input[type=email] :active,.form-wrapper input[type=email] :focus-visible,.form-wrapper input[type=email] :focus-within,.form-wrapper input[type=date]:focus,.form-wrapper input[type=date] :active,.form-wrapper input[type=date] :focus-visible,.form-wrapper input[type=date] :focus-within,.form-wrapper textarea:focus,.form-wrapper textarea :active,.form-wrapper textarea :focus-visible,.form-wrapper textarea :focus-within{border-color:var(--greyMid);background-color:var(--greyLightTint)}.form-wrapper input[type=text]::placeholder,.form-wrapper input[type=number]::placeholder,.form-wrapper input[type=tel]::placeholder,.form-wrapper input[type=email]::placeholder,.form-wrapper input[type=date]::placeholder,.form-wrapper textarea::placeholder{color:var(--textColour);opacity:.45;font-style:italic}.form-wrapper input[type=text]:not(:focus):not(:placeholder-shown):valid,.form-wrapper input[type=number]:not(:focus):not(:placeholder-shown):valid,.form-wrapper input[type=tel]:not(:focus):not(:placeholder-shown):valid,.form-wrapper input[type=email]:not(:focus):not(:placeholder-shown):valid,.form-wrapper input[type=date]:not(:focus):not(:placeholder-shown):valid,.form-wrapper textarea:not(:focus):not(:placeholder-shown):valid{border-color:var(--green);background-color:var(--greenTint)}.form-field select{position:relative;width:100%;padding:var(--gapSml);height:50px;border:1px solid var(--greyMid);border-radius:var(--radiusSml);background-color:#ffffff09;color:var(--textColour);transition:var(--transition);line-height:normal}.form-field select option{background-color:var(--cardBackground);color:var(--textColour)}.form-field select:invalid{background-color:var(--cardBackground)}.form-field select:has(option:first-of-type:checked){position:relative;width:100%;padding:var(--gapSml);height:50px;border:1px solid var(--greyMid);border-radius:var(--radiusSml);background-color:#ffffff09;color:var(--textColour);transition:var(--transition);line-height:normal}.form-field select:not(:has(option:first-of-type:checked)){border-color:var(--green);background-color:var(--greenTint)}input[type=text]:not(:focus):not(:placeholder-shown):invalid,input[type=number]:not(:focus):not(:placeholder-shown):invalid,input[type=tel]:not(:focus):not(:placeholder-shown):invalid,input[type=email]:not(:focus):not(:placeholder-shown):invalid{border-color:var(--red);background-color:var(--redTint)}.form-field:has(input[type=text]:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=number]:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=tel]:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=email]:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=date]:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(textarea:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(select:focus) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--greyMid);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=text]:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=number]:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=tel]:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=email]:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=date]:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(textarea:not(:focus):not(:placeholder-shown):valid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--green);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=text]:not(:focus):not(:placeholder-shown):invalid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--red);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=number]:not(:focus):not(:placeholder-shown):invalid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--red);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=tel]:not(:focus):not(:placeholder-shown):invalid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--red);width:5px;height:5px;border-radius:60rem}.form-field:has(input[type=email]:not(:focus):not(:placeholder-shown):invalid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--red);width:5px;height:5px;border-radius:60rem}.form-field:has(textarea:not(:focus):not(:placeholder-shown):invalid) label:after{content:"";opacity:1;transition:var(--transition);background-color:var(--red);width:5px;height:5px;border-radius:60rem}.form-field input:user-invalid{border-color:var(--red);box-shadow:0 0 5px var(--red)}.form-field select:user-invalid{border-color:var(--red);box-shadow:0 0 5px var(--red)}.form-field textarea:user-invalid{border-color:var(--red);box-shadow:0 0 5px var(--red)}.submit-wrapper{align-items:center;margin:var(--gapHalf) 0 var(--gap) 0}.submit-button{position:relative;justify-content:center;align-items:center;padding:.75rem 2.25rem;background-color:var(--red);color:var(--light);border-radius:60rem;overflow:hidden;transition:var(--transition)}.submit-button .button-text{font-size:var(--typeBase);line-height:normal;z-index:1}.submit-button:after{content:"";position:absolute;width:120%;height:120%;transform-origin:right;background-color:var(--redDark);transform:scaleX(0);transition:transform .25s ease-in-out}.submit-button:hover:after{transform-origin:left;transform:scaleX(1)}.range-slide{width:100%;appearance:none;-webkit-appearance:none;height:.5rem;background:var(--greyMid);border-radius:60rem;outline:none;margin:var(--gapHalf) 0}.range-slide::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:2rem;height:2rem;border:none;border-radius:60rem;background:var(--red);transition:var(--transition);cursor:pointer}.range-slide::-webkit-slider-thumb:hover{background:var(--redDark)}.range-slide::-moz-range-thumb{-webkit-appearance:none;appearance:none;width:2rem;height:2rem;border:none;border-radius:0;background:var(--red);transition:var(--transition);cursor:pointer}.range-slide::-moz-range-thumb:hover{background:var(--redDark)}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{outline-offset:.15rem;outline:1px solid var(--blue)}input[type=range]:focus::-moz-range-thumb{outline-offset:.15rem;outline:1px solid var(--blue)}
