/* Shared, explicitly illustrative booking overlay. */
.demo-open{overflow:hidden}
.cinematic .film-link[data-demo]{padding:15px 22px;background:#1c1917;border:1px solid #1c1917;border-radius:5px;box-shadow:0 6px 23px #1c191740;color:#fff;gap:37px;text-shadow:none;font-size:15px;transition:background .2s,transform .2s}
.cinematic .film-link[data-demo]:hover{background:#1c1917;transform:translateY(-2px)}
.cinematic .nav-cta[data-demo]{background:#1c1917;border-color:#1c1917;color:white}
.demo-dialog{padding:0;border:1px solid #e2e0dd;border-radius:13px;width:min(950px,calc(100% - 40px));max-width:none;max-height:calc(100svh - 48px);overflow:auto;color:#34322e;background:white;box-shadow:0 35px 140px #00000055;margin:auto;font-family:'Diatype',Arial,sans-serif}
.demo-dialog::backdrop{background:#16141199;backdrop-filter:blur(8px)}
.demo-dialog button{font:inherit;cursor:pointer}.demo-dialog button:focus-visible{outline:3px solid #1c1917;outline-offset:3px}.demo-dialog button:disabled{cursor:default}
.demo-close{position:absolute;right:16px;top:15px;display:grid;place-items:center;border:1px solid #e5e3e0;background:white;border-radius:50%;width:32px;height:32px;color:#7e7c79;font-size:24px!important;line-height:1;z-index:2}.demo-close:hover{color:#1c1917;border-color:#1c1917}
.demo-layout{display:grid;grid-template-columns:.9fr 1.15fr}
.demo-intro{background:#f7f5f2;padding:44px 36px 28px;border-right:1px solid #eae8e6;display:flex;flex-direction:column;align-items:flex-start}
.demo-brand{display:flex;align-items:center;gap:7px;font:34px Anton,Impact,sans-serif;color:#1c1917}.demo-brand svg{width:29px;height:29px}
.demo-eyebrow{font:10px monospace;letter-spacing:.08em;margin-top:54px;color:#1c1917}
.demo-intro h2{font-size:37px;letter-spacing:-.045em;line-height:1.08;font-weight:400;margin:19px 0}
.demo-intro>p{font-size:15px;line-height:1.6;color:#898784;margin:0}
.demo-meeting-meta{display:flex;gap:20px;font-size:12px;color:#6e6c68;margin-top:23px;padding-bottom:26px;border-bottom:1px solid #e8e6e2;width:100%}
.demo-agenda{display:flex;flex-direction:column;gap:12px;margin-top:26px;font-size:13px;color:#908e8c}.demo-agenda strong{font-weight:400;color:#4e4c4a;margin-bottom:3px}
.demo-sample-badge{margin-top:auto;padding-top:40px;font:10px monospace;text-transform:uppercase;letter-spacing:.03em;color:#9f9d9a}
.demo-calendar{padding:47px 36px 29px}
.demo-calendar-kicker{font:10px monospace;color:#1c1917;letter-spacing:.08em}.demo-calendar h3{font-size:24px;font-weight:400;letter-spacing:-.03em;line-height:1.25;margin:14px 0 25px}
.calendar-month-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-month-row strong{font-size:15px;font-weight:400}.calendar-month-row>div{display:flex;gap:5px}.calendar-month-row button{border:1px solid #e6e4e0;width:28px;height:28px;background:#fff;border-radius:50%;font-size:19px;color:#787673}.calendar-month-row button:disabled{opacity:.3}
.calendar-weekdays,.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{color:#a2a09e;font:10px monospace;text-align:center;margin-bottom:11px}.calendar-dates button{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:0;background:transparent;color:#1c1917;border-radius:50%;font-size:13px;max-height:43px}.calendar-dates button:not(:disabled):hover{background:#f5f3f0;color:#1c1917}.calendar-dates button[aria-pressed=true]{background:#1c1917;color:white}.calendar-dates button:disabled{color:#d0ceca}.calendar-dates button[aria-pressed=true]:hover{background:#1c1917;color:#fff}
.sample-time-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 12px;font-size:10px;color:#1c1917}.sample-time-label>span:last-child{color:#aaa8a4;font-size:9px}
.calendar-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calendar-times button{padding:11px 4px;border:1px solid #e5e3e0;border-radius:5px;background:white;color:#63615e;font-size:12px}.calendar-times button[aria-pressed=true]{border-color:#1c1917;background:#f8f6f3;color:#1c1917}.calendar-times button:hover{border-color:#1c1917}
.demo-confirm{margin-top:22px;width:100%;display:flex;align-items:center;justify-content:space-between;background:#1c1917;color:white;border:1px solid #1c1917;border-radius:5px;padding:14px 17px;font-size:13px}.demo-confirm:disabled{background:#f4f2ef;border-color:#f4f2ef;color:#b1afac}.demo-preview-note{margin:13px 0 0;font-size:10px;line-height:1.5;color:#a9a7a4;min-height:31px}
@media(max-width:700px){.demo-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}.demo-layout{grid-template-columns:1fr}.demo-intro{padding:27px 25px 24px;border:0;border-bottom:1px solid #eae8e6}.demo-brand{font-size:27px}.demo-brand svg{width:25px;height:25px}.demo-eyebrow{display:none}.demo-intro h2{font-size:29px;margin:24px 0 12px}.demo-intro h2 br{display:none}.demo-intro>p{font-size:14px;max-width:420px}.demo-meeting-meta{margin-top:18px;padding:0;border:0}.demo-agenda{display:none}.demo-sample-badge{padding-top:19px;font-size:9px}.demo-calendar{padding:25px}.demo-calendar h3{font-size:22px;margin-bottom:24px}.calendar-dates button{max-height:42px}.demo-close{top:17px;right:16px}.sample-time-label{font-size:10px}.calendar-times button{font-size:12px}}
.waitlist-dialog{width:min(510px,calc(100% - 30px))}
.waitlist-content{padding:42px}
.waitlist-content .demo-eyebrow{display:block;margin-top:42px;font-size:9px}
.waitlist-content h2{font-size:42px;letter-spacing:-.05em;line-height:1.06;font-weight:400;margin:18px 0 21px}
.waitlist-content>p:not(.demo-preview-note){font-size:16px;line-height:1.6;color:#868481}
.waitlist-content form{margin-top:30px}
.waitlist-content label{display:block;font-size:12px;color:#6b6966;margin:18px 0 9px}
.waitlist-content input{width:100%;padding:13px;border:1px solid #dedcda;border-radius:5px;font-size:15px;color:#1c1917;background:#fafbfd}
.waitlist-content input:focus{outline:2px solid #1c1917;outline-offset:2px}
.waitlist-content .demo-confirm{font-size:16px;min-height:51px;margin-top:24px}
.waitlist-content .demo-preview-note{margin-top:18px;font-size:11px}
@media(max-width:600px){.waitlist-content{padding:30px 25px}.waitlist-content h2{font-size:37px}.waitlist-content input{font-size:16px}}

/* =====================================================================================================
   Prototype 36's Book a demo (Oct 6): a real request form in place of the sample calendar, in the page's own system
   (stone and ink, Season Mix and Geist, the launch form's fields). No colours of its own: the tokens are the page's.
   ===================================================================================================== */
.demo-dialog{border:0;border-radius:24px;width:min(900px,calc(100% - 40px));color:var(--ink);font-family:var(--sans);box-shadow:0 40px 120px -40px #0c0a0999}
.demo-dialog::backdrop{background:#0c0a0980}
.demo-close{border-color:var(--line);color:var(--muted);font-family:var(--sans)}
.demo-close:hover{border-color:var(--line-strong);color:var(--ink)}
.demo-layout{grid-template-columns:.86fr 1fr}
.demo-intro{padding:40px 36px 34px;border-right:1px solid var(--line);background:var(--bg)}
.demo-wordmark{display:block;width:94px;height:auto}
.demo-intro h2{margin:46px 0 14px;font-family:var(--display);font-weight:420;font-size:36px;line-height:1.06;letter-spacing:-.02em;color:var(--ink)}
.demo-intro h2 span{display:block;color:var(--faint)}
.demo-intro>p{font-size:16px;line-height:1.5;color:var(--muted)}
.demo-meeting-meta{gap:8px;margin-top:22px;padding-bottom:26px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.demo-meeting-meta span{padding:5px 11px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.demo-agenda{gap:10px;margin-top:24px;font-size:14.5px;line-height:1.4;color:var(--muted)}
.demo-agenda strong{font-weight:500;color:var(--ink)}
.demo-form{padding:42px 36px 30px}
.demo-form .demo-calendar-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.demo-form h3{margin:10px 0 22px;font-family:var(--display);font-weight:420;font-size:26px;line-height:1.15;letter-spacing:-.02em;color:var(--ink);outline:none}
.demo-form .lf-fields{gap:16px;margin-top:0}
.demo-form .lf-field textarea{min-height:88px}
.demo-form .demo-send{width:100%;justify-content:center;margin-top:22px;min-height:50px;font-size:16px}
.demo-form .demo-send:disabled{opacity:.7;cursor:progress}
.demo-form .demo-preview-note{margin-top:14px;min-height:0;font-size:13.5px;line-height:1.45;color:var(--faint)}
.demo-form .demo-preview-note.is-error{color:var(--error)}
.demo-done{display:grid;gap:10px;padding:26px 0 40px}
.demo-done h3{margin:0;font-size:34px}
.demo-done p{font-size:17px;line-height:1.5;color:var(--muted)}
@media(max-width:700px){
  .demo-layout{grid-template-columns:1fr}
  .demo-intro{padding:26px 24px 22px;border-right:0;border-bottom:1px solid var(--line)}
  .demo-intro h2{margin:22px 0 10px;font-size:28px}
  .demo-intro h2 span{display:inline}
  .demo-intro>p{font-size:15px}
  .demo-meeting-meta{margin-top:16px;padding:0;border:0}
  .demo-form{padding:26px 24px 24px}
  .demo-form h3{font-size:22px;margin-bottom:18px}
}
