/* Shared timeline for the direct page and accepted-booking panel. */
.preparation-guide{--prep-ink:#151d31;--prep-text:#475467;--prep-line:#e3e5e8;margin-top:28px;color:var(--prep-ink);text-align:left}
.preparation-guide .preparation-heading{margin:0 0 20px;font-size:22px;line-height:1.3;letter-spacing:-.4px;color:var(--prep-ink)}
.preparation-guide .preparation-steps{display:grid;gap:20px;list-style:none;margin:0;padding:0 0 0 64px}
.preparation-guide .preparation-step{position:relative;display:block;margin:0;padding:32px;border:1px solid var(--prep-line);border-radius:22px;background:#fff;box-shadow:0 6px 18px -6px rgba(20,20,30,.12),0 2px 6px -2px rgba(20,20,30,.05)}
.preparation-guide .preparation-number{position:absolute;left:-64px;top:28px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#3559dc;color:#fff;font-size:16px;font-weight:600;line-height:1;box-shadow:0 4px 10px -4px rgba(53,89,220,.5)}
.preparation-guide .preparation-number img{display:block;filter:brightness(0) invert(1)}
.preparation-guide .preparation-step:not(:last-child)::before{content:"";position:absolute;left:-42.5px;top:72px;width:1px;height:calc(100% - 24px);background:#d6def5}
.preparation-guide .preparation-step-title{margin:0 0 12px;color:var(--prep-ink);font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-.4px}
.preparation-guide .preparation-content p,.preparation-guide .preparation-tips li{color:var(--prep-text);font-size:16px;line-height:1.65}
.preparation-guide .preparation-content p{margin:0}
.preparation-guide .preparation-content .preparation-tip{margin-top:16px;color:#5a6475;font-size:14px;line-height:1.6}
.preparation-invitation{width:100%;max-width:384px;margin:20px 0 0}
.preparation-invitation img{display:block;width:100%;height:auto;border:1px solid #eceef1;border-radius:14px}
.preparation-guide .preparation-tips{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.preparation-guide .preparation-tips li{display:flex;align-items:flex-start;gap:8px;margin:0;padding:0}
.preparation-tips img{display:block;flex:none;margin-top:4px}
.review-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.confirmation-page{--ink:#151d31;--muted:#475467;--line:#dde1e7;margin:0;background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.confirmation-page *{box-sizing:border-box}
.confirmation-page a{color:inherit;text-underline-offset:3px}
.confirmation-page :is(a,button):focus-visible{outline:2px solid #3559dc;outline-offset:4px}
.confirmation-wrap{width:min(720px,calc(100% - 48px));margin-inline:auto}
.confirmation-header{display:flex;align-items:center;justify-content:center;min-height:58px;padding-block:7px;border-bottom:1px solid var(--line)}
.confirmation-brand{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:27px;font-weight:650;letter-spacing:-1px;text-decoration:none}
.confirmation-brand .brand-ai{margin-left:5px;font-size:12px;font-weight:500;letter-spacing:1px}
.confirmation-brand svg{width:28px;height:28px}
.confirmation-main{padding-block:40px 40px}
.confirmation-kicker{margin:0 0 12px;color:#3559dc;font-size:11px;font-weight:650;line-height:1.5;letter-spacing:1px;text-transform:uppercase}
.confirmation-main h1{margin:0 0 16px;font-size:clamp(32px,5vw,40px);line-height:1.16;letter-spacing:-1.2px}
.confirmation-intro{max-width:610px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.confirmation-main .preparation-guide{margin-top:28px}
.confirmation-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-block:12px;border:0;color:#657085;font-size:12px}
.confirmation-footer nav{display:flex;gap:18px}
.confirmation-footer a{display:inline-flex;align-items:center;min-height:44px}
.confirmation-copyright{display:inline-flex;align-items:center;min-height:44px}
.confirmation-skip{position:absolute;top:-70px;left:10px;padding:12px;background:#fff;color:var(--ink)}
.confirmation-skip:focus{top:8px;z-index:10}
@media(max-width:480px){
  .confirmation-wrap{width:calc(100% - 40px)}
  .confirmation-main{padding-block:28px 32px}
  .confirmation-main h1{font-size:33px}
  .confirmation-footer{padding-block:8px}
}

/* Match the landing-page opening while keeping instructions easy to scan. */
.confirmation-hero{text-align:center}
.confirmation-hero .confirmation-intro{margin-inline:auto}
.preparation-video-slot{display:grid;place-items:center;width:100%;aspect-ratio:16 / 9;margin:28px 0 0;padding:24px;border-radius:20px;background:#151d31;color:#fff;text-align:center;box-shadow:0 18px 40px -28px rgba(21,29,49,.36)}
.preparation-video-copy{max-width:560px}
.preparation-video-slot .preparation-video-kicker{margin:0 0 12px;color:#d2daed;font-size:11px;font-weight:550;line-height:1.5;letter-spacing:.8px;text-transform:uppercase}
.preparation-video-slot .preparation-video-title{margin:0 0 12px;color:#fff;font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.5px}
.preparation-video-slot .preparation-video-status{margin:0;color:#d2daed;font-size:14px;line-height:1.5}
.preparation-guide>.preparation-video-slot{margin-top:0;margin-bottom:28px}
@media(max-width:480px){
  .preparation-video-slot{margin-top:24px;padding:16px;border-radius:16px}
  .preparation-video-slot .preparation-video-kicker{font-size:10px;margin-bottom:8px}
  .preparation-video-slot .preparation-video-title{font-size:20px;margin-bottom:8px}
  .preparation-video-slot .preparation-video-status{font-size:12px}
  .preparation-guide>.preparation-video-slot{margin-bottom:24px}
}

.confirmation-timeline-band{margin-top:40px;padding:56px 0;background:#f5f5f4}
.confirmation-timeline-wrap{width:min(680px,calc(100% - 48px));margin-inline:auto}
.confirmation-timeline-band .preparation-guide{margin-top:0}
@media(max-width:640px){
  .confirmation-timeline-band{margin-top:28px;padding:32px 0}
  .confirmation-timeline-wrap{width:calc(100% - 40px)}
  .preparation-guide .preparation-steps{gap:16px;padding-left:48px}
  .preparation-guide .preparation-step{padding:24px;border-radius:20px}
  .preparation-guide .preparation-number{left:-48px;top:24px;width:36px;height:36px;font-size:14px}
  .preparation-guide .preparation-step:not(:last-child)::before{left:-30.5px;top:60px;height:calc(100% - 20px)}
  .preparation-guide .preparation-step-title{font-size:18px;line-height:1.4}
}
@media(max-width:360px){
  .preparation-guide .preparation-steps{padding-left:44px}
  .preparation-guide .preparation-step{padding:20px}
  .preparation-guide .preparation-number{left:-44px;top:20px;width:32px;height:32px}
  .preparation-guide .preparation-step:not(:last-child)::before{left:-28.5px;top:52px;height:calc(100% - 16px)}
}

/* Reference-matched opening: large headline, soft grid and wide media frame. */
.confirmation-header{position:sticky;top:0;z-index:10;width:100%;max-width:none;margin-bottom:-58px;border:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.confirmation-main{padding-top:74px}
.confirmation-opening{position:relative;isolation:isolate;width:min(1024px,calc(100% - 64px))}
.confirmation-opening::before{content:"";position:absolute;z-index:-1;left:50%;top:-74px;bottom:-96px;width:100vw;transform:translateX(-50%);pointer-events:none;background-image:linear-gradient(rgba(11,11,13,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(11,11,13,.09) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(60% 55% at 50% 28%,#000 0%,transparent 78%)}
.confirmation-hero h1{max-width:896px;margin:0 auto;font-size:clamp(1.6875rem,min(4.5696vw,7.14svh),3.672rem);font-weight:700;line-height:1.05;letter-spacing:-.045em;text-wrap:balance}
.confirmation-hero h1>span{display:block}
.confirmation-emphasis{color:#3559dc}
.confirmation-hero .confirmation-kicker{margin:32px 0 12px;color:#565866;font:500 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}
.confirmation-hero .confirmation-intro{max-width:960px;margin:0 auto;font-size:18px;line-height:1.625;color:#565866}
.confirmation-opening>.preparation-video-slot{max-width:896px;margin:40px auto 0;border-radius:22px;box-shadow:0 48px 110px -40px rgba(20,20,30,.3),0 20px 48px -24px rgba(20,20,30,.14)}
.confirmation-timeline-band{margin-top:40px}
@media(max-width:640px){
  .confirmation-main{padding-top:84px}
  .confirmation-opening{width:calc(100% - 40px)}
  .confirmation-hero .confirmation-kicker{margin-top:24px}
  .confirmation-hero .confirmation-intro{font-size:16px;line-height:1.6}
  .confirmation-opening>.preparation-video-slot{margin-top:28px;border-radius:18px}
  .confirmation-timeline-band{margin-top:28px}
}
@media(forced-colors:active){.confirmation-emphasis{background:none;color:CanvasText}.confirmation-opening::before{display:none}}

/* Reference typography and rhythm, shared with the after-booking steps. */
.confirmation-page,.preparation-guide{font-family:JvenInter,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.confirmation-hero h1,.preparation-guide .preparation-step-title{font-family:JvenJakarta,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.confirmation-hero .confirmation-kicker{font-family:JvenMono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:400}
.confirmation-hero .confirmation-intro{margin-top:24px;font-size:18px;line-height:1.625;color:#56565f}
.preparation-guide{--prep-ink:#0b0b0d;--prep-text:#56565f}
.preparation-guide .preparation-step-title{font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.02em}
.preparation-guide .preparation-content p,.preparation-guide .preparation-tips li{font-size:16px;line-height:1.625}
.preparation-guide .preparation-tips{padding-top:4px}
.preparation-guide .preparation-content>p + .preparation-tips{margin-top:12px}
.confirmation-main{padding-bottom:28px}
@media(max-width:639px){
 .confirmation-hero .confirmation-intro{font-size:16px;line-height:1.625}
 .preparation-guide .preparation-step-title{font-size:20px;line-height:1.2}
 .preparation-guide .preparation-content p,.preparation-guide .preparation-tips li{font-size:15px;line-height:1.625}
}

.preparation-guide .preparation-step{border:0;box-shadow:0 0 0 1px rgba(11,11,13,.09),inset 0 1px 0 rgba(255,255,255,.85),0 6px 18px -6px rgba(20,20,30,.14),0 2px 6px -2px rgba(20,20,30,.06)}
.confirmation-timeline-band{padding-block:48px}
@media(max-width:639px){.confirmation-timeline-band{padding-block:32px}}

.preparation-invitation img{aspect-ratio:3 / 2;object-fit:contain;object-position:center;border:0;box-shadow:0 0 0 1px rgba(11,11,13,.08),0 8px 22px -12px rgba(20,20,30,.2)}
.preparation-invitation .preparation-example-link{display:block;border-radius:14px;cursor:zoom-in}
.preparation-invitation .preparation-example-link:focus-visible{outline:2px solid #3559dc;outline-offset:4px}

/* Align marker numerals to the first heading baseline, including wrapped titles. */
.preparation-guide .preparation-step{--prep-pad:32px;--prep-track:64px;--prep-badge:44px;--prep-gap:20px;display:grid;grid-template-columns:0 minmax(0,1fr);align-items:first baseline;font-size:clamp(20px,2vw,26px);line-height:1.2;isolation:isolate}
.preparation-guide .preparation-content{grid-column:2;grid-row:1;min-width:0}
.preparation-guide .preparation-number{grid-column:1;grid-row:1;position:relative;left:calc(-1 * (var(--prep-track) + var(--prep-pad)));top:auto;z-index:1;display:block;width:var(--prep-badge);height:0;line-height:1;text-align:center;background:none;border-radius:0;box-shadow:none;isolation:isolate}
.preparation-guide .preparation-number::before{content:"";position:absolute;z-index:-1;left:0;top:calc((1em - var(--prep-badge)) / 2);width:100%;height:var(--prep-badge);border-radius:50%;background:#3559dc;box-shadow:0 4px 10px -4px rgba(53,89,220,.5)}
.preparation-guide .preparation-number img{display:inline-block;vertical-align:-.18em}
.preparation-guide .preparation-step:not(:last-child)::before{left:calc(-1 * var(--prep-track) + var(--prep-badge) / 2 - .5px);top:calc(var(--prep-pad) + .5lh);height:calc(100% + var(--prep-gap))}
@media(max-width:640px){.preparation-guide .preparation-step{--prep-pad:24px;--prep-track:48px;--prep-badge:36px;--prep-gap:16px;font-size:20px}}
@media(max-width:360px){.preparation-guide .preparation-step{--prep-pad:20px;--prep-track:44px;--prep-badge:32px}}
