:root{--ink:#183d58;--paper:#fbf8f1;--muted:#606b70;--line:#ddd8cc;--gold:#b18c4f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{max-width:1440px;margin:auto;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:229px;height:109px;object-fit:contain}.home-link{font-size:14px;text-decoration:none}.home-link:hover{text-decoration:underline}.skip{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:5}.skip:focus{top:16px}main{max-width:1440px;margin:auto;padding:32px 6% 100px}.intro{margin:0 0 44px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;margin:0 0 16px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(40px,5.2vw,72px);letter-spacing:-.04em;margin:0 0 18px}.intro>p:last-child{color:var(--muted);font-size:19px;margin:0}.appointment-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:40px;align-items:start}.host{background:#eeeae0}.portrait{width:100%;height:310px;display:block;object-fit:cover;object-position:center 25%}.host-copy{padding:30px}.host h2{font-size:34px;margin:0 0 18px}.host-copy>p:not(.eyebrow){color:var(--muted);margin:0 0 24px}.contact{border-top:1px solid #d2ccbd;padding-top:20px;display:grid;gap:7px;font-size:15px}.contact a{text-decoration:none}.contact a:hover{text-decoration:underline}.booking{background:white;border:1px solid var(--line);padding:38px;min-height:630px}.booking h2{font-size:38px;margin:0 0 30px}.booking-contact{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f8f7f3;padding:32px 24px}.calendar-icon{width:58px;height:58px;color:var(--gold);margin-bottom:18px}.calendar-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.5}.booking h3{font-size:28px;margin:0 0 12px}.booking-contact p{color:var(--muted);max-width:340px;margin:0 0 26px}.button{display:inline-block;background:var(--ink);color:white;padding:14px 22px;text-decoration:none;font-size:14px;min-height:48px}.button:hover{background:#244e6c}.call-link{margin-top:18px;font-size:14px}iframe{width:100%;min-height:700px;border:0}@media(max-width:760px){header{padding:18px 6%}.brand img{width:175px;height:84px}.home-link{font-size:12px}main{padding-top:26px}.appointment-layout{grid-template-columns:1fr;gap:24px}.host{display:grid;grid-template-columns:120px 1fr}.portrait{height:100%;min-height:245px}.host-copy{padding:24px 18px}.host h2{font-size:28px}.host-copy .eyebrow{font-size:9px}.host-copy>p:not(.eyebrow){font-size:14px}.contact{font-size:13px}.booking{padding:24px 18px;min-height:0}.booking h2{font-size:32px}.booking-contact{padding:28px 16px;min-height:350px}.intro{margin-bottom:30px}}@media(max-width:380px){.host{grid-template-columns:1fr}.portrait{height:260px}.brand img{width:150px}}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.timezone{font-size:13px;color:var(--muted)}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:28px 0 20px}.month-nav h3{font-size:23px;margin:0}.month-nav button{border:1px solid var(--line);background:white;min-width:44px;min-height:44px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{font-size:12px;text-align:center;color:var(--muted);margin-bottom:10px}.calendar-days button{border:1px solid var(--line);background:white;min-height:44px;color:var(--ink);padding:6px}.calendar-days button[aria-pressed=true],.time-slots button[aria-pressed=true]{background:var(--ink);color:white}.calendar-days button:disabled{background:#f4f2ed}.times-title{margin:28px 0 16px!important;font-size:23px!important}.time-slots{display:flex;flex-wrap:wrap;gap:8px}.time-slots button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;min-height:44px}#appointment-form{margin-top:32px;border-top:1px solid var(--line);padding-top:28px}fieldset{padding:0;border:0;margin:0}form label{display:grid;gap:7px;font-size:14px;margin-bottom:18px}form input:not([type=checkbox]),form select,form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #acb4b9;border-radius:0;background:white;color:var(--ink)}form small,form label>span{color:var(--muted)}form .consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}form .consent input{width:19px;height:19px;flex-shrink:0;accent-color:var(--ink)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button{border:0;cursor:pointer}#confirmation{padding:32px 24px;background:#edf3ed;margin-top:28px}#booking-status,#form-status{font-size:14px}#form-status:not(:empty){padding:12px;background:#fbf2df}#appointment-summary{margin-bottom:4px}

.booking-contact.compact{min-height:0;margin-top:28px;padding:24px}.booking-contact.compact .calendar-icon{display:none}.booking-contact.compact h3{font-size:23px}#booking-status:not(:empty){padding:12px 16px;background:#f5efdf;border-left:3px solid var(--gold)}
.appointment-types{border:0;padding:0;margin:0 0 18px;display:grid;gap:10px}.appointment-types legend{font-weight:600;margin-bottom:8px}.appointment-types label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:white;padding:12px 14px;cursor:pointer;line-height:1.45}.appointment-types input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:var(--ink)}.appointment-types label:has(input:checked){border-color:var(--ink);background:#f8f7f3}.appointment-types strong{display:block}.appointment-types small{display:block;color:#5c5a55}.appointment-types input:disabled+span{opacity:.6}
.calendar-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.calendar-days button small{font-size:10px;line-height:1;letter-spacing:.02em}.calendar-days button.open small{color:#375843}.calendar-days button.full{color:#9a958c;background:#f4f2ed}.calendar-days button.full small{color:#9a958c;text-transform:uppercase}.calendar-days button[aria-pressed=true] small{color:white}.legend{display:flex;gap:16px;font-size:12px;color:#5c5a55;margin:8px 0 0}.legend span:first-child{color:#375843}
