.appointment-page{padding-bottom:6.5rem}.appointment-hero{padding:6.5rem 0 4.5rem}.appointment-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:3.5rem;display:grid}.appointment-hero-text{gap:1.2rem;display:grid}.appointment-kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-soft);font-size:.68rem;font-weight:600}.appointment-title{letter-spacing:-.02em;color:var(--accent);margin:0;font-family:Noto Serif,Georgia,serif;font-size:clamp(2.6rem,3.6vw,3.8rem);line-height:1.1}.appointment-body{color:var(--ink-soft);max-width:34rem;margin:0;font-size:1.05rem;line-height:1.7}.appointment-hero-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:0 22px 42px var(--shadow-soft);gap:.7rem;margin-top:.6rem;padding:1.6rem;display:grid}.appointment-hero-card-title{color:var(--accent);margin:0;font-family:Noto Serif,Georgia,serif;font-size:1.4rem}.appointment-hero-card-text{color:var(--ink-soft);margin:0;line-height:1.6}.appointment-hero-card-link{justify-self:flex-start}.appointment-hero-media{position:relative}.appointment-hero-blob{background:#79542e14;border-radius:62% 38% 55% 45%/55% 48% 52% 45%;position:absolute;inset:-10% 6% 20% -14%;transform:rotate(-4deg)}.appointment-hero-image{border-radius:var(--radius-xl);box-shadow:0 30px 56px var(--shadow);position:relative;overflow:hidden;transform:rotate(1.5deg)}.appointment-hero-note{background:var(--chip-bg);border-radius:var(--radius-md);box-shadow:0 18px 30px var(--shadow-soft);gap:.4rem;max-width:240px;padding:1rem 1.4rem;display:grid;position:absolute;bottom:-1.4rem;right:-1.2rem}.appointment-hero-note span{color:var(--accent-strong);font-weight:600}.appointment-hero-note p{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.4}.appointment-booking{padding:1rem 0 0}.appointment-booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,.52fr);align-items:start;gap:3rem;display:grid}.appointment-flow{gap:2.4rem;display:grid}.appointment-panel{background:var(--paper);border-radius:var(--radius-xl);box-shadow:0 26px 50px var(--shadow-soft);gap:1.4rem;padding:2rem;display:grid}.appointment-panel-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.appointment-panel-title{color:var(--accent);margin:0;font-family:Noto Serif,Georgia,serif;font-size:clamp(1.6rem,2.2vw,2rem)}.appointment-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.appointment-service-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 18px 34px var(--shadow-soft);border:1px solid #79542e14;gap:.9rem;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid}.appointment-service-card:hover{box-shadow:0 22px 40px var(--shadow-soft);border-color:#79542e29;transform:translateY(-2px)}.appointment-service-card.is-selected{border-color:#79542e4d;box-shadow:0 26px 50px #79542e24}.appointment-service-head{align-items:center;gap:.75rem;display:flex}.appointment-service-icon{color:var(--accent);place-items:center;display:grid}.appointment-service-title{color:var(--accent);margin:0;font-family:Noto Serif,Georgia,serif;font-size:1.3rem}.appointment-service-desc{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.6}.appointment-service-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.appointment-service-select{background:var(--cream-soft);color:var(--accent-strong);box-shadow:0 12px 22px var(--shadow-soft);cursor:pointer;border:0;border-radius:999px;padding:.5rem 1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.appointment-service-select:hover{box-shadow:0 16px 28px var(--shadow-soft);transform:translateY(-1px)}.appointment-service-select.is-selected{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-soft) 100%);color:#fff;box-shadow:0 18px 32px #79542e38}.appointment-panel-meta{margin:0}.appointment-calendar{background:var(--cream-soft)}.appointment-calendar-top{justify-content:space-between;align-items:end;gap:1rem;display:flex}.appointment-calendar-nav{gap:.6rem;display:flex}.appointment-calendar-navbtn{background:var(--paper);width:2.6rem;height:2.6rem;color:var(--accent);box-shadow:0 12px 22px var(--shadow-soft);cursor:pointer;border:0;border-radius:999px;font-size:1.3rem;line-height:1;transition:transform .2s,box-shadow .2s,background .2s}.appointment-calendar-navbtn:hover{box-shadow:0 16px 28px var(--shadow-soft);background:#ffffffeb;transform:translateY(-1px)}.appointment-calendar-month{color:var(--ink-soft);margin:0;font-weight:600}.appointment-calendar-weekdays{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;display:grid}.appointment-calendar-weekday{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);opacity:.85;font-size:.68rem;font-weight:700}.appointment-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;display:grid}.appointment-day{aspect-ratio:1;background:var(--paper);box-shadow:0 12px 22px var(--shadow-soft);cursor:pointer;color:var(--ink);border:0;border-radius:1rem;font-weight:700;transition:transform .16s,box-shadow .2s,background .2s,color .2s}.appointment-day.is-selected{background:var(--accent);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-soft) 100%);color:#fff;box-shadow:0 18px 32px #79542e3d}.appointment-day:not(:disabled):hover{box-shadow:0 16px 28px var(--shadow-soft);background:#79542e14;transform:translateY(-1px)}.appointment-day.is-selected:hover{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-soft) 100%);transform:translateY(-1px);box-shadow:0 22px 40px #79542e3d}.appointment-day.is-outside,.appointment-day:disabled,.appointment-day.is-disabled{color:#5c4a3b8c;box-shadow:none;cursor:not-allowed;background:#ffffff8c;outline:none;transform:none}.appointment-summary{background:var(--chip-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-xl);box-shadow:0 28px 54px var(--shadow-soft);border:1px solid #79542e1f;gap:1.6rem;padding:2rem;display:grid;position:sticky;top:7.5rem}.appointment-summary-title{color:var(--accent);margin:0;font-family:Noto Serif,Georgia,serif;font-size:1.8rem}.appointment-summary-items{gap:1rem;display:grid}.appointment-summary-item{background:var(--paper);border-radius:var(--radius-md);box-shadow:0 16px 30px var(--shadow-soft);gap:.3rem;padding:1rem 1.1rem;display:grid}.appointment-summary-label{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);font-size:.68rem;font-weight:700}.appointment-summary-value{color:var(--ink);font-weight:700;line-height:1.5}.appointment-cta{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-soft) 100%);color:#fff;cursor:pointer;border:0;border-radius:999px;width:100%;padding:1rem 1.4rem;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 24px 44px #79542e38}.appointment-cta:hover{transform:translateY(-1px);box-shadow:0 28px 50px #79542e42}.appointment-cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 18px 34px var(--shadow-soft);transform:none}.appointment-summary-note{color:var(--ink-soft);text-align:center;margin:0;font-size:.92rem;line-height:1.6}@media (width<=960px){.appointment-hero-grid{grid-template-columns:1fr}.appointment-hero-media{order:-1}.appointment-booking-grid{grid-template-columns:1fr}.appointment-summary{position:static}}@media (width<=720px){.appointment-hero{padding:5rem 0 4.5rem}.appointment-hero-note{bottom:-2.7rem;right:0}.appointment-services-grid{grid-template-columns:1fr}.appointment-panel{padding:1.6rem}}
