*{box-sizing:border-box}body{margin:0;background:#f4f3ed;color:#171817;font-family:var(--gu-font-ui,'GU Manrope',sans-serif);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}:focus-visible{outline:3px solid #b5291d;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:8px;background:#171817;color:white;padding:12px;transform:translateY(-150%);z-index:10}.skip:focus{transform:none}.head,main,footer{width:min(calc(100% - 64px),1320px);margin-inline:auto}.head{min-height:100px;border-bottom:1px solid #cecec6;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:22px;font-weight:700;letter-spacing:-1px}.shift{width:34px;height:34px;fill:#ff4939}.wordmark{height:23px;width:auto}.back{font-size:12px}.back span{margin-left:18px;color:#c53225}main{padding:58px 0 64px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:44px}.eyebrow{font-size:10px!important;letter-spacing:.14em!important;font-weight:600;line-height:1.5!important}.intro .eyebrow{margin-bottom:18px;color:#9b2c22}body[data-gu-system="appointment"] .intro h1{font-size:clamp(36px,4.4vw,62px)!important;line-height:1.03!important;letter-spacing:-.055em!important;font-weight:500!important}.intro-copy{max-width:45ch;font-size:15px;line-height:1.7;padding-bottom:3px;color:#51534d}.meta{margin-top:22px;font-size:12px;color:#171817}.meta span{color:#b5291d;margin-right:8px}.booking-card{display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid #d2d3cb;background:#fff;border-radius:4px;overflow:hidden}.booking-aside{background:#191b18;color:#f4f3ed;padding:40px 32px;display:flex;flex-direction:column;align-items:flex-start}.booking-aside>.eyebrow{color:#ff776a}body[data-gu-system="appointment"] .booking-aside h2{font-size:31px!important;font-weight:400!important;line-height:1.12!important;letter-spacing:-.04em!important;margin:24px 0}.booking-aside>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#c4c7bd}.request-note{display:flex;gap:10px;border-top:1px solid #41443b;margin-top:40px;padding-top:22px;font-size:12px;line-height:1.7;color:#c4c7bd}.request-note strong{color:#fff;font-weight:500}.dot{width:6px;height:6px;border-radius:50%;background:#ff4939;margin-top:7px;flex:none}.email-link{font-size:12px;margin-top:auto;padding-top:32px;text-decoration:underline;text-underline-offset:5px}.booking-main{padding:32px 38px 36px;min-width:0}.steps{list-style:none;padding:0 0 24px;margin:0 0 32px;display:flex;gap:30px;border-bottom:1px solid #e3e4df;font-size:11px;color:#75786f}.steps li{display:flex;align-items:center;gap:8px}.steps span{font-size:10px;border:1px solid #dedfd9;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.steps [aria-current]{color:#171817}.steps [aria-current] span{background:#171817;color:white;border-color:#171817}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading .eyebrow{color:#6c7065;margin-bottom:8px}body[data-gu-system="appointment"] .booking-main h3{font-size:20px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.03em!important}.date-nav{display:flex;gap:7px}.date-nav button{width:34px;height:34px;background:#fff;border:1px solid #dedfd9;border-radius:50%}.date-nav button:disabled{opacity:.3}.month{font-size:12px;color:#666b60;margin:22px 0 12px}.date-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.date-tile{display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #dfe0da;border-radius:3px;background:white;padding:15px 4px;color:#50564a}.date-tile .day{font-size:11px}.date-tile .date{font-size:26px;line-height:1.1;letter-spacing:-1px;color:#171817}.date-tile .month-name{font-size:10px}.date-tile[aria-pressed=true]{background:#171817;color:#fff;border-color:#171817}.date-tile[aria-pressed=true] .date{color:#fff}.time-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:28px 0 14px}.time-heading span{font-size:10px;color:#656c5d}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-grid button{background:#fff;border:1px solid #dfe0da;border-radius:3px;padding:10px 4px;font-size:12px}.time-grid button[aria-pressed=true]{background:#171817;color:white;border-color:#171817}.date-tile:hover,.time-grid button:hover{border-color:#171817}.muted,.availability-note{font-size:11px;color:#6a7062;line-height:1.6}.availability-note{margin-top:14px}.primary{display:flex;width:100%;justify-content:space-between;align-items:center;border:0;border-radius:2px;background:#ff4939;color:#171817;min-height:49px;padding:14px 19px;font-weight:600;font-size:12px;margin-top:24px}.primary:hover{background:#f23b2c}.primary:disabled{background:#e8e9e3;color:#7a7e73}.text-button{background:none;border:0;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:#a6291d}#back-step{margin-bottom:24px}.selection{background:#f4f3ed;padding:13px 15px;margin:16px 0 22px;font-size:12px;line-height:1.6;border-left:2px solid #ff4939}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.fields label{font-size:12px;display:block}.fields .wide{grid-column:1/-1}.optional{color:#777e6e;font-size:11px}input,textarea{display:block;width:100%;border:1px solid #ced1c7;border-radius:2px;background:#fff;color:#171817;padding:11px;margin-top:8px;font-size:14px}textarea{resize:vertical}.privacy,.send-note{font-size:11px;color:#656c5d;line-height:1.7;margin-top:17px}.privacy a,.mail-fallback a{text-decoration:underline;text-underline-offset:3px}.error{font-size:12px;color:#a6291d;line-height:1.6}.mail-fallback{background:#f4f3ed;border:1px solid #d8dacf;padding:18px;margin-top:22px;font-size:12px;line-height:1.7}.mail-fallback p{margin:8px 0}.mail-fallback textarea{font-size:12px;margin-bottom:14px}.topics{margin-top:38px}.topics>.eyebrow{color:#71786a}.topics ol{padding:0;margin:20px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.topics li{display:flex;gap:15px;border-top:1px solid #cecec6;padding-top:20px}.topics li>span{font-size:10px;color:#9b2c22;padding-top:4px}body[data-gu-system="appointment"] .topics h3{font-size:15px!important;letter-spacing:-.02em!important}.topics p{font-size:12px;line-height:1.8;color:#656b5e;margin-top:8px;max-width:37ch}footer{border-top:1px solid #cecec6;padding:25px 0 32px;display:flex;gap:30px;font-size:11px;color:#62695a}footer p{margin-right:auto}footer a:last-child{text-decoration:underline}@media(max-width:1000px){.booking-card{grid-template-columns:270px 1fr}.booking-aside{padding:32px 25px}.booking-main{padding:28px}.intro{gap:40px}.time-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.head,main,footer{width:calc(100% - 36px)}.head{min-height:78px}.brand{font-size:18px}.wordmark{height:18px}.shift{width:27px;height:27px}.back{font-size:10px;max-width:96px;line-height:1.6;text-align:right}.back span{margin-left:4px}main{padding:34px 0 40px}.intro{display:block;margin-bottom:28px}.intro .eyebrow{margin-bottom:14px}.intro-copy{margin-top:20px;font-size:14px;max-width:46ch}.meta{margin-top:14px;font-size:11px}.booking-card{display:block}.booking-aside{padding:27px 24px}.booking-aside h2{margin:16px 0!important;font-size:28px!important}.booking-aside>p:not(.eyebrow){max-width:43ch}.request-note{margin-top:20px;padding-top:16px;max-width:43ch}.email-link{padding-top:18px}.booking-main{padding:25px 22px 28px}.steps{gap:24px;margin-bottom:25px;padding-bottom:21px}.date-grid{gap:6px}.date-tile{padding:13px 3px}.date-tile .date{font-size:24px}.date-nav{gap:5px}.date-nav button{width:30px;height:30px}.section-heading h3{font-size:18px!important}.time-heading{align-items:flex-start;flex-direction:column;gap:5px}.time-grid{grid-template-columns:repeat(4,1fr)}.topics ol{grid-template-columns:1fr;gap:20px}.topics p{max-width:48ch}footer{flex-wrap:wrap;gap:16px}footer p{width:100%}}@media(max-width:380px){.booking-main{padding-inline:16px}.booking-aside{padding-inline:20px}.date-tile .day{font-size:10px}.date-tile .date{font-size:22px}.date-tile .month-name{font-size:9px}.fields{grid-template-columns:1fr}.fields label{grid-column:1/-1}.steps{gap:15px;font-size:10px}.section-heading{gap:8px}.section-heading .eyebrow{font-size:9px!important}.section-heading h3{font-size:16px!important}.time-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.date-nav button{width:44px;height:44px}.time-grid button{min-height:44px}.text-button{min-height:44px}.date-tile:disabled{opacity:.5;cursor:wait}@media(max-width:380px){.date-nav button{width:36px;height:44px}.section-heading{align-items:flex-start}}

.skip{transform:none;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip:focus{clip-path:none;width:auto;height:auto;overflow:visible}

@media(max-width:700px){.fields{grid-template-columns:1fr}.fields label{grid-column:1/-1}}

/* Keep inactive steps and confirmation fields hidden despite shared system styles. */
body[data-gu-system="appointment"] [hidden]{display:none!important}

/* Calendar options appear only for a confirmed booking. */
.calendar-heading{margin-top:24px;font-weight:600}.calendar-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.mail-fallback .calendar-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:11px 14px;border:1px solid #c8ccc1;border-radius:3px;background:#fff;font-size:12px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}.mail-fallback .calendar-links a:hover{border-color:#171817;background:#f4f3ed}.calendar-links+#meet-link{margin-top:16px}
