@font-face{font-family:"Open Sans";src:url("/fonts/OpenSans-Variable.ttf") format("truetype");font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:"Open Sans";src:url("/fonts/OpenSans-Italic-Variable.ttf") format("truetype");font-style:italic;font-weight:300 800;font-display:swap}
:root{
  --ink:#0E0D09;
  --ink-soft:#181610;
  --ink-card:#1C1912;
  --ink-card-2:#242015;
  --gold:#D6B85B;
  --gold-bright:#F0D989;
  --gold-soft:rgba(214,184,91,.92);
  --gold-dim:rgba(214,184,91,.4);
  --gold-faint:rgba(214,184,91,.15);
  --cream:#FAF7F2;
  --cream-dim:rgba(250,247,242,.66);
  --cream-faint:rgba(250,247,242,.42);
  --sage:#A4B484;
  --forest:#3C4A30;
  --danger:#d98b7f;
  --line:rgba(240,217,137,.28);
  --line-strong:rgba(240,217,137,.52);
  --muted:var(--cream-dim);
  --surface:var(--ink-card);
  --serif:var(--umbral-font-display);
  --sans:var(--umbral-font-body);
  --ease:cubic-bezier(.22,1,.36,1);
}
[data-theme="light"]{--ink:#F7F4EB;--ink-soft:#F1EDE2;--ink-card:#FFFDF7;--ink-card-2:#F6F3EA;--cream:#10241A;--cream-dim:rgba(16,36,26,.78);--cream-faint:rgba(16,36,26,.62);--gold:#A77B13;--gold-bright:#8B6306;--gold-soft:#9A700E;--gold-dim:rgba(139,99,6,.45);--forest:#DDE7DA;--danger:#A34036;--line:rgba(16,36,26,.22);--line-strong:rgba(16,36,26,.38);--muted:var(--cream-dim);--surface:var(--ink-card)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100vh;background:var(--ink);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,textarea{font:inherit}
button{cursor:pointer;color:inherit}
.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(1100px 520px at 80% -10%,rgba(212,175,106,.08),transparent 60%),radial-gradient(820px 500px at 10% 110%,rgba(60,74,48,.2),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.015),transparent 34%);z-index:0}
.page{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 28px 72px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:34px 0 0}
.brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--gold-bright)}
.brand img{height:26px;display:block}.brand-fallback{display:none;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.42em;text-indent:.42em;color:var(--gold-bright)}
.meeting-header-actions{display:flex;align-items:center;gap:.65rem}.meeting-theme{padding:.6rem .75rem;border:1px solid var(--gold-dim);border-radius:999px;background:transparent;color:var(--gold-soft);font-size:.75rem;cursor:pointer}
[data-theme="light"] .brand img{filter:none}
.hero{text-align:center;padding:62px 0 34px}.hero-logo{height:clamp(96px,14vw,148px);display:block;margin:0 auto 28px;filter:drop-shadow(0 10px 30px rgba(212,175,106,.16))}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(35px,4.8vw,58px);line-height:1.08}.hero h1 em{color:var(--gold-bright);font-style:italic}.hero p{max-width:590px;margin:18px auto 0;color:var(--cream-dim);font-size:15.5px;line-height:1.7}.hairline{width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:26px auto 0}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:760px;margin:0 auto 42px}.progress-step{position:relative;border:1px solid rgba(212,175,106,.14);border-radius:999px;padding:9px 12px 8px 38px;color:var(--cream-faint);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;background:rgba(28,25,18,.58)}.progress-step::before{content:attr(data-step-dot);position:absolute;left:9px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(212,175,106,.08);border:1px solid rgba(212,175,106,.16);color:var(--gold-soft);font-size:10px}.progress-step.active{color:var(--gold-bright);border-color:var(--gold-dim);background:var(--gold-faint)}
.panel{display:none;animation:rise .55s var(--ease)}.panel.visible{display:block}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.section-head{max-width:720px;margin:0 auto 24px;text-align:center}.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3.5vw,42px);line-height:1.12}.section-head p{color:var(--cream-dim);line-height:1.65;margin-top:10px}.panel-nav{display:flex;justify-content:flex-start;max-width:780px;margin:0 auto 24px}
.cards{display:grid;gap:18px}.topic-grid{grid-template-columns:repeat(3,1fr)}.host-grid{grid-template-columns:repeat(auto-fit,minmax(260px,360px));justify-content:center;max-width:780px;margin-inline:auto}
.card{position:relative;text-align:left;border:1px solid rgba(212,175,106,.17);border-radius:20px;background:linear-gradient(160deg,var(--ink-card),var(--ink-soft));padding:26px;min-height:210px;overflow:hidden;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}.card::after{content:'';position:absolute;inset:0;opacity:0;background:radial-gradient(420px 220px at 50% 0%,rgba(212,175,106,.12),transparent 70%);transition:opacity .4s}.card:hover{transform:translateY(-4px);border-color:var(--gold-dim);box-shadow:0 24px 54px -28px #000}.card:hover::after{opacity:1}.card>*{position:relative;z-index:1}.card .mini{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:13px}.card h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.12;margin-bottom:12px}.card p{color:var(--cream-dim);font-size:14px;line-height:1.6}.card .cta{display:inline-flex;gap:9px;align-items:center;margin-top:22px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);transition:gap .3s}.card:hover .cta{gap:14px}.host-card{min-height:280px;text-align:center}.host-card .cta{justify-content:center}.avatar{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;overflow:hidden;margin:0 auto 20px;color:var(--ink);font-family:var(--serif);font-size:30px;background:linear-gradient(140deg,var(--gold-bright),var(--gold));box-shadow:0 8px 20px rgba(212,175,106,.2)}.avatar.sage{background:linear-gradient(140deg,#DCE6C3,var(--sage))}.avatar.dual{background:linear-gradient(140deg,var(--gold-bright),var(--sage))}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.host-meta{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:6px 0 14px}
.back,.ghost{border:1px solid var(--gold-dim);border-radius:999px;background:rgba(212,175,106,.04);padding:9px 15px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);transition:all .25s}.back:hover,.ghost:hover{background:var(--gold-faint);color:var(--gold-bright)}
.scheduler-shell,.confirm-layout{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}.summary-card,.time-card,.booking-form,.done-card{border:1px solid rgba(212,175,106,.16);border-radius:20px;background:linear-gradient(160deg,var(--ink-card),var(--ink-soft));box-shadow:0 20px 60px -42px #000}.summary-card{padding:24px}.summary-card h3{font-family:var(--serif);font-size:24px;font-weight:500;margin-bottom:16px}.summary-list{display:grid;gap:14px}.summary-item span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.summary-item strong{font-size:14px;color:var(--cream);font-weight:600;line-height:1.4}.summary-note{margin-top:18px;color:var(--cream-faint);font-size:12.5px;line-height:1.6}.time-card{padding:24px}.date-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}.date-btn{border:1px solid rgba(212,175,106,.16);border-radius:14px;background:rgba(255,255,255,.025);padding:12px 8px;color:var(--cream-dim)}.date-btn strong{display:block;color:var(--cream);font-size:15px}.date-btn span{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.date-btn.active{border-color:var(--gold-dim);background:var(--gold-faint)}.slots-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.slots-head h3{font-family:var(--serif);font-weight:500;font-size:25px}.slots-head p{color:var(--cream-faint);font-size:13px;margin-top:3px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{border:1px solid rgba(212,175,106,.18);border-radius:999px;background:rgba(250,247,242,.03);padding:12px 8px;color:var(--cream);font-weight:700}.slot:hover,.slot.active{background:linear-gradient(180deg,rgba(212,175,106,.18),rgba(212,175,106,.07));border-color:var(--gold-dim);color:var(--gold-bright)}.empty-state{border:1px dashed rgba(212,175,106,.22);border-radius:16px;padding:30px;text-align:center;color:var(--cream-dim)}.empty-state strong{display:block;color:var(--gold-bright);margin-bottom:8px}.empty-state span{font-size:13px;line-height:1.5}
.booking-form{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:grid;gap:8px}.booking-form label.wide{grid-column:1/-1}.booking-form span{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.booking-form span em{font-style:normal;color:var(--cream-faint);letter-spacing:.08em}.booking-form input,.booking-form textarea{width:100%;border:1px solid rgba(212,175,106,.16);border-radius:13px;background:rgba(255,255,255,.045);color:var(--cream);padding:13px 14px;outline:none;transition:border-color .2s,background .2s}.booking-form textarea{resize:vertical;min-height:132px}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--gold-dim);background:rgba(255,255,255,.065)}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.primary{border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#17120a;padding:13px 22px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 12px 30px -16px rgba(212,175,106,.7)}.primary:disabled{opacity:.55;cursor:not-allowed}.form-actions p{color:var(--cream-dim);font-size:13px;line-height:1.5}.form-actions p.error{color:var(--danger)}.done-card{max-width:720px;margin:0 auto;text-align:center;padding:54px 36px}.done-card h2{font-family:var(--serif);font-size:clamp(30px,4vw,46px);font-weight:400}.done-card p{max-width:560px;margin:18px auto 24px;color:var(--cream-dim);line-height:1.7}
footer{text-align:center;padding-top:72px;color:var(--cream-faint);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase}
@media(max-width:920px){.topic-grid{grid-template-columns:1fr 1fr}.scheduler-shell,.confirm-layout{grid-template-columns:1fr}.summary-card{order:-1}.date-strip{grid-template-columns:repeat(3,1fr)}.slots{grid-template-columns:repeat(2,1fr)}.booking-form{grid-template-columns:1fr}}
@media(max-width:620px){.page{padding:0 18px 56px}.site-header{padding-top:22px}.hero{padding-top:42px}.progress{grid-template-columns:1fr 1fr;margin-bottom:32px}.topic-grid,.host-grid{grid-template-columns:1fr}.card{min-height:auto}.date-strip{grid-template-columns:repeat(2,1fr)}.slots{grid-template-columns:1fr}.slots-head{align-items:flex-start;flex-direction:column}.brand img{height:22px}.hero-logo{height:94px}}

.date-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.date-nav .date-nav-btn{min-width:132px}.direct-host .progress{max-width:600px;grid-template-columns:repeat(3,1fr)}
@media(max-width:620px){.date-nav{align-items:stretch;flex-direction:column}.date-nav .date-nav-btn{width:100%}.direct-host .progress{grid-template-columns:1fr 1fr 1fr}.direct-host .progress-step{padding-left:34px}}

/* Effective shared accessibility floors for reviewed controls and support copy. */
.primary{font-size:var(--umbral-font-size-control)}
.eyebrow,.kicker{font-size:var(--umbral-font-size-supporting)}

/* Standalone public booking presentation. */
body[data-meeting-embedded="false"] .page {
  max-width: 1180px;
}

body[data-meeting-embedded="false"] .hero {
  padding: clamp(36px, 7vw, 74px) 0 30px;
}

body[data-meeting-embedded="false"] .hero-logo {
  height: clamp(108px, 14vw, 156px);
  margin-bottom: 24px;
}

body[data-meeting-embedded="false"] .hero .eyebrow {
  margin-bottom: 0;
  color: var(--gold-bright);
  font-family: var(--sans);
  font-size: clamp(.72rem, 1.3vw, .86rem);
  line-height: 1.4;
}

.meeting-theme,
.back,
.ghost,
.primary {
  min-height: 44px;
}

:is(.meeting-theme,.back,.ghost,.card,.date-btn,.slot,.primary,.booking-form input,.booking-form textarea):focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: 3px;
}

[data-theme="light"] .progress-step {
  color: var(--cream-dim);
  background: rgba(255,255,255,.7);
}

[data-theme="light"] .progress-step.active {
  color: var(--gold-bright);
  background: rgba(197,155,47,.12);
}

body[data-meeting-embedded="true"] {
  min-height: 100vh;
  background: var(--umbral-color-canvas);
}

body[data-meeting-embedded="true"] .ambient,
body[data-meeting-embedded="true"] .site-header,
body[data-meeting-embedded="true"] .hero-logo {
  display: none;
}

body[data-meeting-embedded="true"] .page {
  max-width: 1180px;
  min-height: 100vh;
  padding-top: clamp(24px, 4vw, 48px);
  padding-bottom: 48px;
}

body[data-meeting-embedded="true"] .hero {
  padding-top: 0;
}

body[data-meeting-embedded="true"] footer {
  padding-top: 48px;
}

@media (max-width: 620px) {
  .site-header {
    min-height: 62px;
    margin-top: 10px;
    padding: 0 14px;
  }

  .hero {
    padding-top: 34px;
  }

  body[data-meeting-embedded="true"] .page {
    padding-top: 24px;
  }
}

.meeting-manage-link { display: inline-flex; align-items: center; justify-content: center; margin: 12px 6px 0; text-decoration: none; }
.managed-status, .managed-proposal, .managed-reschedule { max-width: 720px; margin: 22px auto; padding: 18px; border: 1px solid var(--line); border-radius: 18px; text-align: left; }
.managed-status strong, .managed-status span { display: block; }
.managed-status strong { text-transform: capitalize; }
.managed-status span { margin-top: 4px; color: var(--muted); font-size: .8rem; }
.managed-proposal > div { display: flex; flex-wrap: wrap; gap: 9px; }
.managed-reschedule { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.managed-reschedule label { display: grid; gap: 6px; }
.managed-reschedule input { min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); }
.managed-cancel { margin-top: 12px; }
@media (max-width: 760px) { .managed-reschedule { grid-template-columns: 1fr; } }

/* Clear, consistent booking hierarchy in both Umbral themes. */
.progress-step,
.card,
.summary-card,
.time-card,
.booking-form,
.done-card,
.date-btn,
.slot,
.booking-form input,
.booking-form textarea,
.empty-state {
  border-color: var(--line);
}

.progress-step.active,
.date-btn.active,
.slot:hover,
.slot.active,
.back:hover,
.ghost:hover {
  border-color: var(--line-strong);
}

.section-head p,
.card p,
.summary-note,
.slots-head p,
.form-actions p,
footer {
  color: var(--cream-dim);
}
