/* Functional additions only. Page layout comes from the original Webstudio export.
   Sizes follow the viewport directly; there is no fixed canvas or scaling transform. */
body{width:100%;margin:0}
.field-label{display:block;height:auto;font-weight:400}
.field-group{min-width:0}
input,textarea{box-sizing:border-box}
/* Preserve the original paired fields and full-width availability rows. */
.information-section,.information-shell,.information-grid{height:auto}
.information-grid{row-gap:2vw;padding-bottom:2vw}
.availability-block{width:100%;height:auto;margin-top:2vw}
.availability-block>h1{height:auto;font-size:3vw;line-height:1.4;margin:0 0 1.5vw}
.availability-row{display:grid;grid-template-columns:18% 12% minmax(0,1fr);align-items:center;gap:2vw;width:100%;height:auto;margin:0 0 1.5vw;font-size:2vw}
.day-choice{display:flex;align-items:center;gap:1vw;min-width:0;height:auto;white-space:nowrap;font-size:2vw;line-height:1.4}
.day-choice span{font-size:inherit}
.day-choice input[type=checkbox]{appearance:auto;width:2vw;min-width:2vw;max-width:2vw;height:2vw;min-height:2vw;max-height:2vw;flex:0 0 2vw;margin:0;accent-color:#357b5f}
.availability-row .time-label{width:auto;height:auto;margin:0;font-size:2vw;line-height:1.4}
.availability-row input[id^=time_]{width:100%;min-width:0;height:4vw;font-size:2vw;padding:.4vw}
.information-action{display:block;width:20vw;height:4vw;margin:2vw auto;font-size:2vw}
.contact-grid textarea{resize:vertical}
.home-action{text-decoration:none;text-align:center}
.package-actions a{box-sizing:border-box;text-align:center}
body[data-page=services] section img{aspect-ratio:1;width:auto}
/* Exported letter spacing and package content must scale with their container. */
.c1ma3prs{letter-spacing:.138889vw}
/* Account card follows its original percentage width instead of a converted cap. */
/* Consistent sizing across viewport widths and aspect ratios. */
.home-section li{font-size:2.5vw;line-height:6vw}
.availability-row .day-choice{width:100%;margin:0}
#account-toggle>span{display:flex;align-items:center;justify-content:center;width:3vw;height:3vw}
#account-toggle>span>img,#account-toggle .account-initial{width:3vw;height:3vw;object-fit:contain}
/* Entered and prefilled text uses the same Optima family and green as form labels. */
section :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select){
 font-family:"Saba Optima",Optima,Candara,sans-serif;
 font-size:2vw;font-weight:400;font-style:normal;line-height:1.4;
 color:#357b5f;-webkit-text-fill-color:#357b5f;caret-color:#357b5f;
 letter-spacing:normal;text-transform:none;text-align:left;
 padding:.4vw .6vw;box-sizing:border-box;
}
section input:autofill,section textarea:autofill,section select:autofill{
 color:#357b5f;-webkit-text-fill-color:#357b5f;
 box-shadow:0 0 0 1000px #d8f1f6 inset;
}
section input:-webkit-autofill,section textarea:-webkit-autofill,section select:-webkit-autofill{
 color:#357b5f;-webkit-text-fill-color:#357b5f;
 -webkit-box-shadow:0 0 0 1000px #d8f1f6 inset;
 caret-color:#357b5f;
}

/* Browser defaults must scale like the exported Webstudio design too. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:geometricPrecision}
nav ul{padding-inline-start:2.777778vw}
button,input,textarea,select{text-rendering:inherit}
/* The contact labels use the original Comic Sans face; entries match them. */
body[data-page=contact] section input,body[data-page=contact] section textarea{font-family:"Comic Sans MS",sans-serif!important}
/* Retain the export's package dimensions and equal button baselines. */
.package-copy{min-width:0}

/* The supplied PDFs use each heading’s original Webstudio margins. */
.auth-card #verify-email-button{width:35%;min-height:3.055556vw;font-size:1.5vw;margin:1.35vw auto 6.75vw;padding:.3vw .5vw}

