/* Calendar follows the live Quely type, buttons and shell. */
:root { --calendar-paper:#EFEBF8; }
html,body { margin:0; background:var(--calendar-paper); }
body { isolation:isolate; }
#calendar-page { --cal-ui-line:#b8a5cc; --paper:#EFEBF8; --paper-2:#E2DBEC; --card:#F8F5FB; --ink:#0B0A12; --ink-2:#514b63; --purple:#5C28A4; --peri:#9385E6; --peri-soft:#C9C1F2; --amber:#9385E6; --amber-deep:#9385E6; --font-marketing:'Geist',sans-serif; --font-product:'Inter',sans-serif; --font-mono:'Geist Mono',monospace; overflow:clip; position:relative; isolation:isolate; }
#calendar-page::before,body::before { display:none; }
.cal-atmosphere { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; background:#f4f0fa; }
.cal-light { position:absolute; height:150vh; transition:transform 1.4s cubic-bezier(.16,1,.3,1),opacity 1.2s ease; }
.cal-light-one { width:76vw; top:-25vh; right:-22vw; transform:rotate(-12deg); background:#ddcce9; opacity:.62; border-left:1px solid #c4afd7; }
.cal-light-one::after { content:''; position:absolute; top:0; bottom:0; right:17%; width:12%; background:#c9c1f2; opacity:.58; }
.cal-light-two { width:48vw; bottom:-45vh; left:-40vw; transform:rotate(-12deg); background:#e2dbec; opacity:.5; border-right:1px solid #c4afd7; }
#calendar-page[data-active-section="booking"] .cal-light-one { transform:translate(-15vw,40px) rotate(-12deg); opacity:.5; }
#calendar-page[data-active-section="orbit"] .cal-light-one { transform:translate(-42vw,80px) rotate(-12deg); opacity:.58; }
#calendar-page[data-active-section="recordings"] .cal-light-one { transform:translate(-8vw,100px) rotate(-12deg); opacity:.54; }
#calendar-page[data-active-section="orbit"] .cal-light-two { transform:translate(35vw,-100px) rotate(-12deg); opacity:.7; }
#calendar-page[data-active-section="recordings"] .cal-light-two { transform:translate(12vw,-70px) rotate(-12deg); opacity:.6; }
.cal-wrap { position:relative; }
.cal-hero-copy,.cal-copy { position:relative; z-index:1; }
.cal-hero .btn { transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .2s ease; }
.cal-hero .btn:hover { transform:translateY(-3px); }
.cal-hero .btn svg { transition:transform .28s cubic-bezier(.16,1,.3,1); }
.cal-hero .btn:hover svg { transform:translateX(3px); }
#booking,#orbit,#recordings,#calendar-title { scroll-margin-top:100px; }
.cal-section { position:relative; isolation:isolate; border-top:1px solid #d5cada; overflow:clip; }
.cal-booking-section,.cal-orbit,.cal-recordings-section { background:transparent; }
.cal-response-field { position:absolute; inset:0; width:100%; height:100%; opacity:.55; }
.cal-wrap { width:min(1320px,100%); margin-inline:auto; padding-inline:40px; }
.cal-hero { display:grid; grid-template-columns:minmax(310px,.94fr) minmax(0,1.06fr); gap:50px; align-items:center; padding-block:64px 66px; }
.cal-hero-copy { min-width:0; }
#calendar-title { font-family:var(--font-marketing); font-weight:600; font-size:clamp(42px,5.2vw,72px); line-height:1.06; letter-spacing:-.035em; text-wrap:balance; margin:0; }
#calendar-title span { display:inline-block; color:#fff; background:var(--purple); border:2px solid var(--ink); border-radius:3px; box-shadow:5px 5px 0 var(--ink); transform:rotate(-1.4deg); padding:0 .12em .07em; margin-top:8px; white-space:nowrap; }
.cal-lead { margin:26px 0 30px; max-width:39ch; color:var(--ink-2); font-size:18px; line-height:1.55; text-wrap:pretty; }
.cal-ctas { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.cal-ctas .btn { white-space:nowrap; }
.cal-hero-art { min-width:0; }
.cal-hero-art > .cal-art { position:relative; }
.cal-art { min-width:0; width:100%; }
.cal-feature { display:grid; grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr); gap:84px; align-items:center; padding-block:88px; }
.cal-copy { min-width:0; }
.cal-copy h2,.cal-copy h3 { font-family:var(--font-marketing); font-weight:600; font-size:clamp(30px,3.35vw,47px); line-height:1.12; letter-spacing:-.03em; text-wrap:balance; margin:0 0 24px; }
.cal-copy h2 span,.cal-copy h3 span { color:var(--purple); }
.cal-copy > p { font-size:17px; line-height:1.65; color:var(--ink-2); max-width:40ch; margin:0 0 20px; }
.cal-copy > .cal-detail { font-size:15px; line-height:1.6; margin-bottom:0; }
.cal-creative { min-width:0; }
.cal-feature-reverse { grid-template-columns:minmax(0,1.32fr) minmax(280px,.68fr); }
.cal-feature-reverse .cal-copy { grid-column:2; grid-row:1; }
.cal-feature-reverse .cal-creative { grid-column:1; grid-row:1; }
.cal-recordings-row { padding-top:88px; padding-bottom:96px; }
.cal-recordings-row .cal-copy h2 { font-size:clamp(30px,3vw,41px); }
.cal-cta-fallback { text-align:center; color:var(--paper); background:var(--ink); padding:64px 0; }
.cal-cta-fallback h2 { max-width:900px; margin:0 auto 25px; font-size:clamp(35px,5vw,70px); }
.cal-cta-fallback .lead { max-width:500px; margin:0 auto 28px; color:var(--paper); }
.cal-cta-fallback .cal-ctas { justify-content:center; }
.cal-cta-fallback .btn-ghost { color:var(--paper); border-color:var(--peri); }
#calendar-page .home-cta { margin-top:0; }
/* Same CTA rules as parts/app-responsive.js, scoped to this standalone page. */
#calendar-page .home-cta { position:relative; overflow:hidden; background:var(--purple-deep); color:var(--paper); border-top:2px solid var(--line); }
#calendar-page .home-cta .wrap { position:relative; z-index:1; }
#calendar-page .home-cta .hl { color:var(--ink); }
#calendar-page .home-cta .founder-walkthrough { display:flex; align-items:center; justify-content:center; gap:16px; margin:28px auto 0; max-width:620px; text-align:left; }
#calendar-page .home-cta .founder-walkthrough img { width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid var(--peri); flex-shrink:0; }
#calendar-page .home-cta .founder-walkthrough .lead { margin:0; font-size:18px; color:var(--paper); }
#calendar-page .home-cta .founder-title { margin:5px 0 0; font-size:13px; color:rgba(243,234,214,.78); }
#calendar-page .home-cta-deco { position:absolute; inset:0; pointer-events:none; z-index:0; }
#calendar-page .home-cta-deco .ring { position:absolute; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); border:1.5px solid rgba(201,193,242,.16); }
#calendar-page .home-cta-deco .r1 { width:520px; height:520px; }
#calendar-page .home-cta-deco .r2 { width:840px; height:840px; border-color:rgba(201,193,242,.10); }
#calendar-page .home-cta-deco .r3 { width:1180px; height:1180px; border-color:rgba(201,193,242,.06); }
.cal-skip { position:fixed; left:16px; top:-80px; z-index:10000; background:#fff; padding:12px 16px; color:#111827; }
.cal-skip:focus { top:16px; }
::selection { background:#5C28A4; color:#fff; }
@media(max-width:1100px) {
  .cal-wrap { padding-inline:32px; }
  .cal-hero { gap:30px; grid-template-columns:.94fr 1.06fr; }
  .cal-feature { gap:42px; grid-template-columns:.67fr 1.33fr; }
  .cal-ctas { gap:12px; }
  .cal-ctas .btn { padding-inline:17px; font-size:14px; }
}
@media(max-width:900px) {
  .cal-hero { grid-template-columns:1fr; gap:42px; padding-block:44px 50px; }
  .cal-hero-copy { max-width:620px; }
  #calendar-title { font-size:clamp(40px,6vw,56px); max-width:17ch; }
  .cal-lead { max-width:52ch; }
  .cal-feature-reverse .cal-copy,.cal-feature-reverse .cal-creative { grid-column:auto; grid-row:auto; }
  .cal-hero-art { width:100%; max-width:760px; margin-inline:auto; }
  .cal-feature { grid-template-columns:1fr; gap:32px; padding-block:50px; }
  .cal-copy { max-width:630px; }
  .cal-copy h2,.cal-copy h3 { max-width:25ch; font-size:36px; }
  .cal-copy > p { max-width:60ch; }
  .cal-recordings-row { padding-top:40px; padding-bottom:70px; }
}
@media(max-width:600px) {
  .cal-wrap { padding-inline:20px; }
  .cal-hero { padding-block:32px 36px; gap:32px; }
  #calendar-title { font-size:clamp(33px,9.5vw,44px); max-width:17ch; }
  .cal-lead { font-size:16px; margin:22px 0 25px; }
  .cal-ctas { align-items:stretch; gap:12px; }
  .cal-hero .cal-ctas { flex-direction:column; }
  .cal-hero .btn { min-height:48px; width:100%; justify-content:center; }
  .cal-feature { padding-block:38px; gap:26px; }
  .cal-copy h2,.cal-copy h3 { font-size:31px; margin-bottom:20px; }
  .cal-copy > p { font-size:16px; line-height:1.6; }
  .cal-copy > .cal-detail { font-size:14px; }
  .cal-recordings-row { padding-bottom:55px; }
  #calendar-page .home-cta { margin-top:0; }
  #calendar-page .home-cta .founder-walkthrough { gap:12px; max-width:340px; }
  #calendar-page .home-cta .founder-walkthrough .lead { font-size:16px; }
  #calendar-page .home-cta .founder-walkthrough img { width:56px; height:56px; }
}

/* CTA content is visible at first paint. Motion belongs to the product scenes. */
#calendar-page .home-cta .reveal { opacity:1; transform:none; }

@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .cal-light,.cal-hero .btn,.cal-hero .btn svg { transition:none; } }
