*{box-sizing:border-box}body{color:#173f36;background:#f4f6f0;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1.6}button,input{font:inherit}button{cursor:pointer;color:#164d3d;background:#fff;border:2px solid #c7d9cf;border-radius:12px;min-height:58px;padding:14px 18px;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){background:#e8f3eb;border-color:#176853}:is(button:focus-visible,input:focus-visible,a:focus-visible){outline-offset:4px;outline:4px solid #c38b16}button.chosen,.confirm{color:#fff;background:#176853;border-color:#176853}.booking{max-width:940px;margin:auto;padding:28px 24px}header{border-bottom:1px solid #ccd9ce;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;display:flex}.brand{color:#176853;align-items:center;gap:14px;font-size:28px;font-weight:800;text-decoration:none;display:flex}.brand>span{font-size:23px}.phonecall{font-size:16px}.intro{padding:46px 0 20px}.eyebrow{letter-spacing:2px;font-size:13px;font-weight:700}h1{letter-spacing:-1px;max-width:740px;margin:18px 0;font-size:clamp(30px,5vw,44px);line-height:1.2}p{margin:12px 0}.timezone{color:#49665a;font-size:17px;font-weight:700}.step{background:#fff;border:1px solid #d6e0d6;border-radius:18px;margin:22px 0;padding:28px}h2{align-items:center;gap:12px;margin:0 0 20px;font-size:25px;display:flex}h2>span{background:#e8f2e7;border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.weeknav{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.weeknav button{padding:10px;font-size:17px}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.days button{padding:12px 4px;font-size:16px;font-weight:400}.days strong{font-size:27px;line-height:1.5;display:block}.times{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:350px;padding:5px;display:grid;overflow-y:auto}.times button{padding:12px 6px;font-size:18px}.fields{gap:18px;display:grid}.fields label{gap:7px;font-weight:700;display:grid}.fields input{border:2px solid #c7d9cf;border-radius:9px;width:100%;min-width:0;padding:14px}.optional{color:#176853;background:#e9f4e5;border-radius:6px;width:fit-content;padding:3px 8px;font-size:16px}.yourdetails{overflow-wrap:anywhere;background:#f1f6ef;border-radius:12px;padding:20px}.yourdetails>strong,.yourdetails>span{display:block}.yourdetails p{font-size:17px}.confirm{width:100%;margin-top:18px;font-size:23px}.selectedtime{border-left:4px solid #176853;margin-top:24px;padding:12px 16px}.error{color:#9a291c;background:#fff0ee;border:1px solid #e6b9b0;border-radius:10px;padding:18px}.confirmation{text-align:center;padding:40px 0}.confirmation h1{margin:20px auto}.checkmark{color:#176853;background:#dcefdc;border-radius:50%;width:90px;height:90px;margin:auto;font-size:55px}.appointment{background:#fff;border-radius:16px;gap:10px;margin:28px 0;padding:30px;font-size:25px;display:grid}.appointment span{font-size:18px}footer{color:#5f7468;text-align:center;padding:30px 0;font-size:15px}@media (max-width:600px){.booking,.step{padding:20px 14px}.times{grid-template-columns:repeat(3,minmax(0,1fr))}.phonecall{display:none}.days{gap:5px}.days button{font-size:14px}.days strong{font-size:23px}.weeknav button{font-size:15px}}@media print{button,header,footer{display:none}.booking,.confirmation{padding:0}body{background:#fff}}button.chosen:hover:not(:disabled),.confirm:hover:not(:disabled){color:#fff;background:#12533f;border-color:#12533f}@media (max-width:600px){.days{grid-template-columns:repeat(4,minmax(0,1fr))}.days button{padding:12px 6px;font-size:16px}}.wizard{max-width:820px;padding-top:18px}.wizard header{padding-bottom:14px}.wizard .intro{padding:18px 0 8px}.wizard .intro h1{margin:8px 0;font-size:clamp(27px,4vw,38px)}.wizard .intro p{margin:6px 0;font-size:18px}.wizard .intro .timezone{font-size:15px}.stepcounter{color:#617568;justify-content:space-between;gap:6px;margin:12px 0;font-size:14px;display:flex}.stepcounter span{border-radius:6px;padding:5px 9px}.stepcounter .current{color:#fff;background:#176853;font-weight:700}.wizardpanel{outline:none;margin:12px 0;padding:22px}.wizardpanel h2{margin:0 0 14px}.quickdays{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quickdays button{background:#e6f2e5;border:2px solid #176853;gap:2px;padding:16px 8px;display:grid}.quickdays strong{font-size:22px}.quickdays span{font-size:17px;font-weight:400}.otherdaytitle{margin:18px 0 10px;font-size:17px}.wizard .days{grid-template-columns:repeat(4,minmax(0,1fr))}.wizard .days button{padding:8px 4px}.wizard .days strong{font-size:24px}.wizard .weeknav{margin:14px 0 0}.wizard .weeknav button{min-height:46px;padding:8px 10px;font-size:15px}.periods{gap:8px;margin:16px 0;display:flex}.periods button{flex:1;min-width:0;min-height:48px;padding:10px 4px;font-size:16px}.wizard .times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:none;padding:0;overflow:visible}.wizard .times button{min-height:62px;padding:13px 4px;font-size:20px}.wizard .back{background:0 0;border:0;min-height:36px;margin-bottom:12px;padding:0;font-size:16px}.wizard .dayheading{margin:8px 0;font-size:18px}.wizard .selectedtime{background:#f1f6ef;margin:10px 0 16px;padding:10px 14px;line-height:1.5}.wizard .yourdetails{padding:14px;font-size:17px}.wizard .confirm{color:#fff;cursor:pointer;background:#176853;border:3px solid #0f4937;border-radius:12px;min-height:76px;margin:22px 0 8px;padding:18px 10px;font-size:22px;font-weight:800;box-shadow:0 5px #0c3a2c}.wizard .confirm:active{transform:translateY(3px);box-shadow:0 2px #0c3a2c}.wizard footer{padding:14px 0;font-size:14px}.wizard .fields{gap:12px}.wizard .fields label{font-size:17px}.wizard .fields input{padding:10px}.wizard .optional{padding:1px 5px;font-size:13px}@media (max-width:600px){.wizard{padding:12px}.wizard .brand>span{font-size:21px}.wizard .intro{padding-top:10px}.wizard .intro h1{font-size:28px}.wizardpanel{padding:16px}.wizardpanel h2{font-size:24px}.quickdays strong{font-size:19px}.quickdays button{padding:12px 4px}.stepcounter{font-size:12px}.stepcounter span{padding:4px}.wizard .weeknav button{padding:6px;font-size:13px}.wizard .times button{min-height:58px;font-size:18px}.wizard .confirm{font-size:20px}}.quickdays button{color:#164d3d;background:#fff;border-color:#c7d9cf}.quickdays button:hover:not(:disabled){background:#e8f3eb;border-color:#176853}.quickdays button:disabled{color:#68756c;background:#f4f5f2;border-color:#dce2dc}
