:root{--psv-navy:#0f2044;--psv-navy-mid:#1a3260;--psv-gold:#c8a96e;--psv-off:#f8f6f1;--psv-muted:#5a6070}
.psv-booking{width:min(1120px,calc(100% - 32px));margin:48px auto;padding:42px;background:linear-gradient(145deg,#0f2044,#1a3260);border:1px solid rgba(200,169,110,.42);border-radius:20px;box-shadow:0 18px 50px rgba(15,32,68,.18);color:#fff;font-family:'DM Sans',Arial,sans-serif;text-align:center}
.psv-booking__eyebrow{margin:0 0 12px;color:var(--psv-gold);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.psv-booking h2{margin:0 auto 12px;max-width:820px;color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.75rem,3.5vw,2.65rem);line-height:1.16}
.psv-booking__lead{max-width:720px;margin:0 auto 30px;color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.7}
.psv-booking__calendar{min-height:700px;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.2)}
.psv-booking .calendly-inline-widget{min-width:280px;height:700px}
.psv-booking__fallback{margin:18px 0 0;font-size:.9rem;color:rgba(255,255,255,.72)}
.psv-booking__fallback a{color:var(--psv-gold);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.appointment-page{margin:0;background:var(--psv-off);color:#1c1c1c;font-family:'DM Sans',Arial,sans-serif}
.appointment-hero{padding:78px 5% 56px;background:radial-gradient(circle at top right,rgba(200,169,110,.16),transparent 34%),linear-gradient(135deg,#0f2044,#1a3260);color:#fff;text-align:center}
.appointment-hero__inner{max-width:880px;margin:0 auto}.appointment-hero__eyebrow{color:var(--psv-gold);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.appointment-hero h1{margin:15px 0 18px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08}.appointment-hero p{max-width:680px;margin:0 auto;color:rgba(255,255,255,.8);font-size:1.08rem;line-height:1.75}
.appointment-back{display:inline-flex;margin-bottom:24px;color:#fff;text-decoration:none;font-weight:700}.appointment-back:hover{color:var(--psv-gold)}
.appointment-details{padding:36px 5% 0}.appointment-details__inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.appointment-detail{padding:22px;background:#fff;border:1px solid rgba(15,32,68,.1);border-top:3px solid var(--psv-gold);border-radius:12px;text-align:center}.appointment-detail strong{display:block;color:var(--psv-navy);margin-bottom:5px}.appointment-detail span{color:var(--psv-muted);font-size:.93rem}
.appointment-footer{padding:34px 5%;background:#080f1e;color:rgba(255,255,255,.55);text-align:center;font-size:.86rem}.appointment-footer a{color:var(--psv-gold)}
.appointment-quick-link{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;padding:13px 24px;border-radius:5px;background:var(--psv-gold);color:var(--psv-navy)!important;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:.84rem}
@media(max-width:720px){.psv-booking{width:calc(100% - 20px);margin:28px auto;padding:26px 10px}.psv-booking__calendar,.psv-booking .calendly-inline-widget{min-height:760px;height:760px}.appointment-details__inner{grid-template-columns:1fr}.appointment-hero{padding-top:54px}}
@media print{.psv-booking{display:none!important}}
