.appointments{position:relative;padding-top:clamp(2.5rem,6vw,4rem)}.appointments__veil{position:absolute;inset:0;background:radial-gradient(circle at 14% 18%,rgba(191,158,130,.16),transparent 24%),radial-gradient(circle at 84% 16%,rgba(160,119,84,.1),transparent 18%);pointer-events:none}.appointments__shell{position:relative;z-index:1;display:grid;gap:clamp(1.25rem,3vw,2rem);align-items:start}.appointments__intro,.appointments__calendar-card{border:1px solid rgba(176,137,104,.16);border-radius:calc(var(--radius-panel) - .45rem);background:linear-gradient(180deg,#fffdfaf5,#f5eadcb8),#fdfcfce0;box-shadow:0 22px 54px #5b4d4314,inset 0 1px #ffffffad}.appointments__intro{position:relative;overflow:hidden;padding:clamp(1.35rem,4vw,2.4rem)}.appointments__intro:after{content:"";position:absolute;inset:auto -4rem -4rem auto;width:clamp(12rem,24vw,18rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(191,158,130,.16),transparent 68%);pointer-events:none}.appointments__label{margin-bottom:.85rem}.appointments__eyebrow{margin:0;color:var(--color-primary);font-size:.9rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.appointments__title{max-width:10ch}.appointments__body{position:relative;z-index:1;max-width:32rem;margin:1rem 0 0;color:var(--color-text-muted);font-size:1rem;line-height:1.8}.appointments__actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.1rem;margin-top:1.75rem}.appointments__back-link{position:relative;display:inline-flex;align-items:center;min-height:3rem;color:var(--color-text-muted);font-size:.95rem;font-weight:600;transition:color .18s ease}.appointments__back-link:after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:1px;background:#a0775447;transition:background-color .18s ease}.appointments__back-link:hover{color:var(--color-text-deep)}.appointments__back-link:hover:after{background:#a0775485}.appointments__calendar-card{position:relative;overflow:hidden;padding:clamp(1.2rem,3vw,1.6rem)}.appointments__calendar-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.36),transparent 42%),radial-gradient(circle at top right,rgba(191,158,130,.14),transparent 28%);pointer-events:none}.appointments__calendar-topline,.appointments__calendar-header,.appointments__calendar-note,.appointments__calendar-frame{position:relative;z-index:1}.appointments__calendar-pill{display:inline-flex;align-items:center;min-height:2.25rem;padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(160,119,84,.18);background:#fffbf7d6;color:var(--color-text-deep);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.appointments__calendar-header{display:grid;gap:.45rem;margin-top:.95rem}.appointments__calendar-kicker{margin:0;color:var(--color-primary);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.appointments__calendar-title{margin:0;color:var(--color-primary);font-family:var(--font-display);font-size:clamp(2rem,4vw,3.1rem);font-weight:500;line-height:.98;text-wrap:balance}.appointments__calendar-copy,.appointments__calendar-note{margin:0;color:var(--color-text-muted);line-height:1.75}.appointments__calendar-note{margin-top:.9rem;padding:.95rem 1rem;border-radius:calc(var(--radius-card) - 1rem);background:#fff8f1c7;box-shadow:inset 0 0 0 1px #b089681f}.appointments__calendar-frame{position:relative;overflow:hidden;margin-top:1rem;padding:.6rem;border-radius:calc(var(--radius-card) - .1rem);background:linear-gradient(180deg,#ffffffd1,#f5eadce0),#ffffffeb;box-shadow:inset 0 0 0 1px #b0896824,0 18px 38px #5b4d4314}.appointments__calendar-glow{position:absolute;inset:-10% auto auto -6%;width:16rem;height:16rem;border-radius:50%;background:radial-gradient(circle,rgba(191,158,130,.14),transparent 66%);pointer-events:none}.appointments__calendar-frame iframe{position:relative;z-index:1;display:block;width:100%;height:1040px;border:0;border-radius:calc(var(--radius-card) - .75rem);background:#fff}@media(min-width:920px){.appointments__shell{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.appointments__calendar-frame iframe{height:clamp(860px,84vh,940px)}}@media(max-width:720px){.appointments{padding-top:2rem}.appointments__intro,.appointments__calendar-card{padding:1.15rem}.appointments__actions{align-items:stretch}.appointments__actions .ui-button{width:100%}.appointments__back-link{min-height:auto}.appointments__back-link:after{bottom:-.1rem}.appointments__calendar-title{max-width:9ch}.appointments__calendar-frame{padding:.5rem}.appointments__calendar-frame iframe{height:1560px}}
