.contact-heading{grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(2rem,8vw,8rem);margin-bottom:2.5rem;display:grid}.contact-label{color:var(--accent);margin:0 0 1rem;font-size:.72rem}.contact-heading h2{letter-spacing:-.065em;max-width:10ch;margin:0;font-size:clamp(2.6rem,6vw,5.8rem);font-weight:520;line-height:.96}.contact-heading>p{max-width:38rem;color:var(--muted);margin:0;font-size:1.08rem;line-height:1.68}.booking-widget{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 0 color-mix(in srgb, var(--ink) 10%, transparent), var(--shadow);overflow:hidden}.booking-widget-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.4rem,3vw,2rem);display:flex}.booking-kicker{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;margin:0 0 .55rem;font-size:.68rem}.booking-widget h3,.booking-confirmation h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:650;line-height:1.05}.booking-meta{color:var(--muted);justify-items:end;gap:.4rem;font-size:.68rem;display:grid}.booking-meta span,.booking-times-head span{align-items:center;gap:.4rem;display:inline-flex}.duration-picker{border:0;border-bottom:1px solid var(--line);margin:0;padding:1.25rem clamp(1.4rem,3vw,2rem)}.duration-picker legend{float:left;width:100%;margin-bottom:.7rem;font-size:.76rem;font-weight:750}.duration-picker>div{clear:both;flex-wrap:wrap;gap:.55rem;display:flex}.duration-picker button,.time-slot-grid button{border:1px solid var(--line);background:var(--bg-elevated);min-height:2.65rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;padding:.55rem .85rem;font-size:.78rem;font-weight:750}.duration-picker button:hover,.time-slot-grid button:hover{border-color:var(--accent);color:var(--accent)}.duration-picker button.is-selected,.time-slot-grid button.is-selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.custom-duration{color:var(--muted);align-items:center;gap:.65rem;margin-top:.8rem;font-size:.75rem;display:flex}.custom-duration input{border:1px solid var(--line);background:var(--bg-elevated);width:5.5rem;min-height:2.5rem;color:var(--ink);font:inherit;border-radius:8px;padding:.5rem}.custom-duration span{font-size:.68rem}.booking-schedule{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);display:grid}.booking-calendar,.booking-times{min-width:0;padding:clamp(1.4rem,3vw,2rem)}.booking-calendar{border-right:1px solid var(--line)}.calendar-head,.booking-times-head,.booking-form-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.calendar-head button{border:1px solid var(--line);background:var(--bg-elevated);width:2.5rem;height:2.5rem;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;display:grid}.calendar-head button:disabled{cursor:not-allowed;opacity:.3}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:.35rem;font-size:.6rem}.calendar-days button,.calendar-empty{aspect-ratio:1;min-width:0;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font-size:.78rem}.calendar-days button:hover:not(:disabled):not(.is-selected){border-color:var(--accent);color:var(--accent)}.calendar-days button.is-selected{background:var(--accent);color:var(--accent-ink);font-weight:800}.calendar-days button:disabled{color:color-mix(in srgb, var(--muted) 28%, transparent);cursor:not-allowed}.booking-times-head span{font-size:.82rem;font-weight:750}.booking-times-head small{color:var(--accent);font-weight:750}.time-slot-grid{scrollbar-width:thin;scrollbar-color:var(--accent) transparent;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;max-height:18.5rem;padding-right:.25rem;display:grid;overflow-y:auto}.booking-loading,.booking-empty{min-height:12rem;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:.55rem;margin:0;font-size:.8rem;display:flex}.booking-loading svg,.booking-submit.is-loading svg{animation:.9s linear infinite booking-spin}.buffer-note{color:var(--muted);margin:1rem 0 0;font-size:.68rem}.booking-form{padding:clamp(1.4rem,3vw,2rem)}.booking-form-head span{color:var(--accent);font-size:.75rem;font-weight:700}.booking-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.booking-fields label{color:var(--ink);gap:.4rem;font-size:.72rem;font-weight:750;display:grid}.booking-fields label>span{color:var(--muted);font-weight:500}.booking-fields input,.booking-fields textarea{border:1px solid var(--line);background:var(--bg-elevated);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:9px;padding:.75rem .85rem;font-size:.82rem}.booking-fields input:focus,.booking-fields textarea:focus,.custom-duration input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.booking-notes{grid-column:span 3}.booking-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.booking-error{color:#9f2f20;margin:1rem 0 0;font-size:.8rem;font-weight:700}.booking-submit{border:1px solid var(--accent);background:var(--accent);min-height:3.15rem;color:var(--accent-ink);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.55rem;margin-top:1rem;padding:.75rem 1.15rem;font-size:.85rem;font-weight:800;display:inline-flex}.booking-submit:disabled{cursor:not-allowed;opacity:.45}.booking-confirmation{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);justify-items:start;gap:.85rem;padding:clamp(2rem,6vw,5rem);display:grid}.booking-confirmation>svg{color:var(--accent)}.booking-confirmation p{max-width:46rem;color:var(--muted);margin:0}.booking-confirmation-plan{gap:.75rem;padding-block:.35rem;display:grid}.booking-confirmation-plan p:first-child{color:var(--ink)}.booking-confirmation-plan ul{max-width:46rem;color:var(--muted);gap:.5rem;margin:0;padding-left:1.2rem;display:grid}.booking-confirmation-plan li::marker{color:var(--accent)}.booking-confirmation a{color:var(--accent);align-items:center;gap:.5rem;font-weight:800;text-decoration:none;display:inline-flex}.booking-confirmation small{color:var(--muted)}.contact-fallback{color:var(--muted);align-items:center;gap:1rem;margin-top:1.5rem;font-size:.78rem;display:flex}.contact-fallback>a,.contact-links a{align-items:center;gap:.4rem;font-weight:700;text-decoration:none;display:inline-flex}.contact-fallback>a{color:var(--ink)}.contact-links{gap:1.2rem;margin-left:auto;display:flex}.contact-links a{color:var(--muted);font-size:.82rem}.contact-links a:hover{color:var(--accent)}.contact-links .linkedin-link{color:#0a66c2}.contact-links .linkedin-link:hover{color:#004182}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (width<=900px){.contact-heading,.booking-schedule{grid-template-columns:1fr}.booking-calendar{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=640px){.booking-widget-head,.contact-fallback{flex-direction:column;align-items:flex-start}.booking-meta{justify-items:start}.booking-fields{grid-template-columns:1fr}.booking-notes{grid-column:auto}.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-links{margin-left:0}.custom-duration{flex-wrap:wrap;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.booking-loading svg,.booking-submit svg{animation:none}}.cancel-page{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.cancel-card{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);width:min(100%,36rem);box-shadow:var(--shadow);justify-items:start;gap:1rem;padding:clamp(1.5rem,5vw,3.5rem);display:grid}.cancel-card>svg{color:var(--accent)}.cancel-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,6vw,3.6rem);line-height:1}.cancel-card p{color:var(--muted);margin:0;line-height:1.65}.cancel-card a,.cancel-actions button{min-height:2.8rem;font:inherit;border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1rem;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}.cancel-card>a{color:var(--accent)}.cancel-actions{flex-wrap:wrap;gap:.7rem;display:flex}.cancel-actions button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}.cancel-actions button:disabled{cursor:wait;opacity:.6}.cancel-actions button svg{animation:.9s linear infinite booking-spin}.cancel-actions a{border:1px solid var(--line);color:var(--ink)}
