:root{--navy:#20334c;--red:#82313a;--ink:#28323b;--line:#c9cdce;--paper:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#e9e8e2;color:var(--ink);font:18px/1.7 Arial,Helvetica,sans-serif}a{color:#234e76;text-underline-offset:4px}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ad6b23;outline-offset:4px}[hidden]{display:none!important}.site-shell{max-width:1000px;margin:30px auto;border:1px solid #adb5b8;background:var(--paper)}header{padding:27px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:5px solid var(--navy);border-bottom:1px solid var(--line)}.wordmark{font:bold 33px/1.2 Georgia,serif;text-decoration:none;color:var(--navy)}.wordmark span{color:var(--red)}.wordmark small{display:block;color:#4e5963;font:16px/1.5 Arial,sans-serif;margin-top:5px}nav{display:flex;gap:26px}nav a{padding:10px 0;font-size:17px}main{padding:0 40px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy)}h1{font-size:46px;line-height:1.16;font-weight:normal;letter-spacing:-.6px;margin:12px 0 23px}h2{font-size:30px;line-height:1.3;margin:0 0 25px;font-weight:normal}h3{font-size:23px;margin:0 0 8px;line-height:1.4}p{margin:0 0 18px}.intro{padding:43px 0 35px;max-width:710px}.eyebrow{font-size:14px;letter-spacing:.9px;font-weight:bold;color:var(--red)}.lead{font-size:21px;max-width:640px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:10px 27px;border:1px solid #64242c;border-radius:3px;background:var(--red);box-shadow:inset 0 1px 0 #ffffff30;color:#fff;font-size:18px;font-weight:bold;text-decoration:none;cursor:pointer}.button:hover{background:#65232b;color:#fff}.button:disabled{opacity:.6;cursor:not-allowed}.intro>.button{margin:5px 0 19px}.reassurance{font-size:16px;color:#4d5963;max-width:590px;margin-bottom:0}.services{padding:32px 0;border-top:3px double var(--line)}.service-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.service-list article{border-top:3px solid #a9b2b8;padding-top:16px}.service-list p{font-size:17px;line-height:1.65}.answers{display:grid;grid-template-columns:1fr 1fr;gap:25px;background:#f2f1e9;border:1px solid #d6d5c9;margin-top:15px;padding:20px 23px}.answers p{font-size:17px;margin:0}.answers strong{color:var(--navy)}.appointments{border-top:3px double var(--line);padding:33px 0 38px}.booking-layout{display:grid;grid-template-columns:1fr 410px;gap:30px}.booking-details ol{padding-left:24px;margin:0 0 22px}.booking-details li{padding:0 0 10px 3px}.booking-details p,.booking-details li{font-size:17px}.booking-privacy{color:#4f5d67;font-size:16px;line-height:1.6}.note{padding:17px;border-left:3px solid #ad9871;background:#f5f1e5}.booking-panel{background:#fff;border:1px solid #bcc5c9;padding:18px;align-self:start}.booking-fallback{font-size:16px;color:#455461;margin:0 0 15px;line-height:1.55}.booking-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.booking-toolbar strong{font-size:20px}.booking-toolbar button{width:44px;height:44px;border:1px solid #bbc5ca;border-radius:2px;background:#f0f2ee;color:var(--navy);font-size:22px;cursor:pointer}.booking-toolbar button:disabled{opacity:.4;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays{font-size:15px;text-align:center;color:#445462;margin-bottom:8px}.calendar-days button{border:1px solid #c2ccd0;border-radius:2px;background:#eff2ec;color:var(--navy);height:44px;font-size:17px;cursor:pointer}.calendar-days button:disabled{background:#fff;color:#778087;border-color:transparent;cursor:default}.calendar-days button[aria-pressed=true],#time-slots button[aria-pressed=true]{background:var(--navy);color:#fff}.time-picker{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.time-picker h3{font:normal 17px/1.5 Arial,sans-serif;margin-bottom:12px}#time-slots{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow:auto}#time-slots button{background:#eff2ec;border:1px solid #bcc7cb;border-radius:2px;color:var(--navy);padding:9px 12px;min-height:44px;font-size:16px;cursor:pointer}#appointment-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}#appointment-form h3{font-size:23px}#appointment-summary{font-size:17px}label{display:block;font-size:17px;font-weight:bold;margin:17px 0 0}input,textarea{display:block;width:100%;padding:10px;border:1px solid #8c9ba3;background:#fff;color:var(--ink);border-radius:2px;font-size:18px;line-height:1.5;margin-top:6px}textarea{resize:vertical}#appointment-form .booking-privacy{margin-top:18px}#confirm-booking{width:100%;gap:10px}#appointment-error{color:#9c1e2b;font-size:17px;margin-top:14px}.booking-feedback{font-size:18px}.booking-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{padding:24px 40px;border-top:4px solid var(--navy);background:#f0f0e9;font-size:16px}footer strong{color:var(--navy);font:bold 24px Georgia,serif}footer p{margin:7px 0 13px}footer small{font-size:14px;color:#4e5a63}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:850px){.site-shell{margin:12px}.booking-layout{grid-template-columns:1fr}.booking-panel{width:100%;max-width:410px;justify-self:start}.booking-details ol{margin-bottom:12px}.booking-details .note{max-width:590px}.service-list{gap:20px}}@media(max-width:600px){body{font-size:18px}.site-shell{margin:0;border:0}header{padding:22px;display:block}.wordmark{font-size:31px}nav{margin-top:18px;gap:25px}nav a{font-size:17px}main{padding:0 22px}.intro{padding:30px 0}h1{font-size:37px}h1 br{display:none}.lead{font-size:20px}.eyebrow{font-size:13px}h2{font-size:28px}.service-list,.answers{grid-template-columns:1fr;gap:14px}.service-list p{margin-bottom:5px}.service-list article{padding-top:13px}.answers{padding:18px;margin-top:22px;gap:20px}.booking-panel{padding:12px}.booking-layout{gap:18px}.calendar-weekdays{font-size:13px}.calendar-days{gap:2px}.calendar-days button{height:44px;font-size:16px}footer{padding:24px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A restrained ranger star; the service remains the focus. */
.wordmark .ranger-star{color:var(--navy);font-size:28px;vertical-align:2px}.wordmark small{max-width:360px}@media(max-width:600px){.wordmark{font-size:29px}.wordmark .ranger-star{font-size:24px}.wordmark small{font-size:16px}}

/* Clear, reassuring appointment confirmation. */
#booking-feedback{background:#eaf6e8;color:#21452c;border:1px solid #adcdaa;border-left:4px solid #528453;border-radius:3px;padding:22px;line-height:1.7}
#booking-feedback strong{display:block;color:#21452c;font-size:20px}
#booking-feedback p{color:#21452c;font-size:17px;line-height:1.7;margin:10px 0 0}

.keep-access{max-width:750px;margin:0 0 25px;font-size:18px}.keep-access strong{color:var(--navy)}.booking-details h3{margin-bottom:14px}
