/* Gript -- Request a demo */
.page-hero{padding:var(--hero-pad-top) var(--hero-pad-x) 16px;text-align:center}
.page-hero h1{font-family:var(--font);font-size:var(--hero-h1-size);font-weight:700;letter-spacing:var(--hero-h1-tracking);line-height:var(--hero-h1-leading);margin-bottom:16px}
.page-hero p{font-size:var(--hero-sub-size);color:var(--ink-2);max-width:560px;margin:0 auto;line-height:var(--hero-sub-leading)}

.rd-wrap{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:clamp(32px,5vw,56px) clamp(20px,5.6vw,48px) clamp(48px,6vw,80px)}

/* Rail on the left, booker on the right. Single column under 900px so the
   calendar never gets squeezed below its own minimum width. */
.rd-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:900px){.rd-grid{grid-template-columns:1fr}}

/* ── Left rail ── */
.rd-rail h2{font-family:var(--font);font-size:18px;font-weight:700;letter-spacing:-0.3px;margin-bottom:24px}
.rd-steps{list-style:none;margin:0 0 32px;padding:0}
.rd-step{display:flex;gap:14px;margin-bottom:22px}
.rd-step:last-child{margin-bottom:0}
.rd-step-num{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--font);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.rd-step h3{font-family:var(--font);font-size:15px;font-weight:700;margin:0 0 5px}
.rd-step p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0}

.rd-facts{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid var(--line)}
.rd-facts li{position:relative;padding-left:18px;font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:8px}
.rd-facts li:last-child{margin-bottom:0}
.rd-facts li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--ink-3)}

/* ── Booker ── */
.rd-booker{min-width:0}

/* Consent gate: stands in for the widget until the visitor asks for it, sized
   close to the embed so the page does not jump when the calendar appears. */
/* the display:flex below beats the UA stylesheet's [hidden]{display:none}, so
   the attribute has to be re-honoured explicitly or the gate never goes away */
.rd-gate[hidden]{display:none}
.rd-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:520px;padding:clamp(28px,4vw,48px);background:var(--surface);border:1px solid var(--line);border-radius:14px}
.rd-gate-icon{width:34px;height:34px;color:var(--ink-3);margin-bottom:18px}
.rd-gate h2{font-family:var(--font);font-size:20px;font-weight:700;letter-spacing:-0.3px;margin:0 0 10px}
.rd-gate p{font-size:14.5px;color:var(--ink-2);line-height:1.65;max-width:380px;margin:0 0 24px}
.rd-gate-btn{border:none}
.rd-gate-note{font-size:12.5px;color:var(--ink-3);max-width:380px;margin:18px 0 0}

/* Cal owns this element's height. embed.js sets the iframe to height:100%, pushes
   a computed pixel height in, and adds its own .cal-inline-container class here
   (which hides the scrollbar via scrollbar-width:none).

   So do NOT set a height, a min-height or an overflow on the loaded element:
   - a min-height stops Cal shrinking the box when it swaps the tall calendar for
     the much shorter "meeting is scheduled" screen, which leaves dead white space
     under the confirmation
   - overflow:hidden fights the scroll behaviour Cal is trying to manage itself

   :empty applies the placeholder height only until Cal injects <cal-inline>, so
   the box still reserves space between the gate closing and the widget arriving,
   then gets out of the way. The element is written with no whitespace inside it
   precisely so :empty matches. */
.rd-embed:empty{min-height:520px}
.rd-embed{width:100%}
.rd-embed iframe{display:block;width:100%;max-width:100%;border:0}

.rd-noscript{font-size:14px;line-height:1.6}
.rd-noscript a{color:var(--ink);font-weight:600}

/* ── Fallback ── */
.rd-fallback{margin-top:clamp(48px,6vw,72px);padding-top:clamp(32px,4vw,44px);border-top:1px solid var(--line);text-align:center}
.rd-fallback h2{font-family:var(--font);font-size:18px;font-weight:700;letter-spacing:-0.3px;margin-bottom:10px}
.rd-fallback p{font-size:14.5px;color:var(--ink-2);line-height:1.65;max-width:480px;margin:0 auto 22px}
