.process-page {
  --process-ink:#35243b;
  --process-paper:#e7ddee;
  --process-lilac:#c3add2;
  --process-sand:#e4c7a7;
  --process-line:color-mix(in srgb,var(--process-ink) 20%,transparent);
  --process-soft:color-mix(in srgb,var(--process-paper) 58%,white);
  color:var(--process-ink);
  background:var(--process-paper);
  font:18px/1.65 'Helvetica Neue',Arial,sans-serif;
  overflow-wrap:break-word;
  padding-bottom:64px;
}
.process-page * { box-sizing:border-box; }
.process-page h1,.process-page h2,.process-page h3,.process-page p { margin:0; }
.process-page h1,.process-page h2,.process-page h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; text-wrap:balance; }
.process-page h1 { font-size:clamp(48px,5.7vw,78px); line-height:1.08; letter-spacing:-.035em; }
.process-page h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.16; letter-spacing:-.025em; }
.process-page a { color:inherit; text-decoration:none; }
.process-page button,.process-page input { font:inherit; }
.process-page [hidden] { display:none!important; }
.process-page .process-wrap { width:min(1180px,calc(100% - 112px)); margin-inline:auto; }
.process-page .process-eyebrow { font-size:13px; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; margin:0 0 20px; }
.process-page .process-hero { display:grid; grid-template-columns:1.4fr .75fr; gap:12%; align-items:center; padding-block:64px 76px; }
.process-page .process-lead { font-size:20px; line-height:1.6; max-width:39ch; margin-top:25px; }
.process-page .process-first-call { position:relative; isolation:isolate; padding:30px; border-radius:28px; background:var(--process-sand); border:1px solid color-mix(in srgb,var(--process-ink) 13%,transparent); box-shadow:0 18px 40px color-mix(in srgb,var(--process-ink) 10%,transparent); }
.process-page .process-first-call::before { content:''; position:absolute; z-index:-1; inset:-12px 12px 12px -12px; border-radius:28px; border:1px solid var(--process-line); transform:rotate(-3deg); }
.process-page .process-call-time { display:flex; gap:12px; align-items:baseline; font:72px/1 Georgia,serif; letter-spacing:-.05em; margin-bottom:20px; }
.process-page .process-call-time>span { font:16px/1.4 'Helvetica Neue',Arial,sans-serif; letter-spacing:0; }
.process-page .process-call-title { font:26px/1.25 Georgia,serif; letter-spacing:-.02em; margin-bottom:12px; }
.process-page .process-first-call>p:not(.process-call-title) { font-size:16px; line-height:1.6; }
.process-page .process-link { display:flex; justify-content:space-between; gap:16px; align-items:center; min-height:48px; font-size:16px; margin-top:22px; padding-top:16px; border-top:1px solid var(--process-line); text-decoration:underline; text-underline-offset:5px; }
.process-page .process-link>span { font-size:23px; }
.process-page .process-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.process-page .process-section-heading p { font-size:16px; max-width:29ch; }
.process-page .process-explorer { display:grid; grid-template-columns:.85fr 1.4fr; gap:36px; align-items:start; }
.process-page .process-steps { list-style:none; margin:0; padding:8px 0; display:grid; gap:12px; }
.process-page .process-steps li { position:relative; min-width:0; }
.process-page .process-steps li:not(:last-child)::after { content:''; position:absolute; top:100%; left:37px; height:12px; border-left:1px solid var(--process-line); }
.process-page .process-step { display:flex; align-items:center; gap:16px; min-height:103px; padding:18px; border-radius:20px; border:1px solid var(--process-line); background:color-mix(in srgb,var(--process-paper) 74%,white); transition:background .2s,transform .2s; }
.process-page .process-step:hover { background:var(--process-lilac); transform:translateX(3px); }
.process-page .process-step[aria-current=step] { color:var(--process-paper); background:var(--process-ink); border-color:var(--process-ink); box-shadow:0 8px 18px color-mix(in srgb,var(--process-ink) 13%,transparent); }
.process-page .process-step-number { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; font-size:14px; border:1px solid var(--process-line); border-radius:50%; }
.process-page .process-step[aria-current=step] .process-step-number { background:var(--process-sand); color:var(--process-ink); border-color:transparent; }
.process-page .process-step strong { display:block; font-size:17px; font-weight:500; line-height:1.4; }
.process-page .process-step-subtitle { display:block; font-size:14px; margin-top:5px; line-height:1.4; }
.process-page .process-step-arrow { font-size:23px; margin-left:auto; }
.process-page .process-detail-shell { position:relative; isolation:isolate; border-radius:28px; background:linear-gradient(145deg,color-mix(in srgb,var(--process-sand) 56%,var(--process-soft)),var(--process-soft) 74%); border:1px solid color-mix(in srgb,var(--process-ink) 16%,transparent); box-shadow:0 18px 44px color-mix(in srgb,var(--process-ink) 12%,transparent); }
.process-page .process-detail-shell::before { content:''; position:absolute; z-index:-1; inset:12px -10px -12px 10px; border:1px solid var(--process-line); border-radius:28px; background:var(--process-lilac); }
.process-page .process-stage-stack { border-radius:28px 28px 0 0; background:inherit; }
.process-page .process-stage { padding:32px 34px 26px; scroll-margin-top:105px; }
.process-page.process-enhanced .process-stage-stack { min-height:495px; }
.process-page:not(.process-enhanced) .process-stage+.process-stage { border-top:1px solid var(--process-line); }
.process-page .process-stage-top { display:flex; justify-content:space-between; align-items:start; gap:18px; margin-bottom:24px; }
.process-page .process-stage-top .process-eyebrow { margin:0; white-space:nowrap; }
.process-page .process-stage-label { font-size:13px; line-height:1.5; text-align:right; max-width:29ch; }
.process-page .process-stage h3 { font-size:38px; line-height:1.15; letter-spacing:-.025em; margin-bottom:22px; max-width:20ch; }
.process-page .process-stage-body { font-size:18px; line-height:1.65; }
.process-page .process-prepare { margin-top:24px; padding-top:20px; border-top:1px solid var(--process-line); }
.process-page h4 { margin:0 0 6px; font-size:14px; line-height:1.4; font-weight:500; }
.process-page .process-prepare p,.process-page .process-takeaway p { font-size:16px; line-height:1.6; }
.process-page .process-takeaway { display:flex; align-items:start; gap:12px; margin-top:22px; }
.process-page .process-takeaway-mark { font-size:30px; line-height:1.2; }
.process-page .process-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 34px; padding-block:18px 22px; border-top:1px solid var(--process-line); font-size:14px; }
.process-page .process-controls button { min-height:46px; border:1px solid var(--process-line); border-radius:12px; background:var(--process-soft); color:var(--process-ink); cursor:pointer; }
.process-page .process-previous { width:46px; font-size:20px; }
.process-page .process-next { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px 14px; font-size:15px; }
.process-page .process-controls button:hover:not(:disabled) { background:var(--process-lilac); }
.process-page .process-controls button:disabled { opacity:.4; cursor:default; }
.process-page .process-preparation { display:grid; grid-template-columns:.85fr 1.4fr; gap:36px; padding-block:90px 52px; align-items:start; }
.process-page .process-prep-intro { padding:16px 30px 0 0; }
.process-page .process-prep-intro>p:not(.process-eyebrow) { margin-top:22px; font-size:16px; }
.process-page .process-prep-intro .process-review-count { display:inline-block; padding:7px 14px; border:1px solid var(--process-line); border-radius:100px; font-size:14px; margin-top:24px; }
.process-page .process-prep-intro .process-temporary-note { font-size:13px; margin-top:10px; max-width:31ch; }
.process-page .process-checklist { display:grid; gap:12px; }
.process-page .process-check { display:flex; align-items:center; gap:16px; min-height:95px; padding:22px; border-radius:18px; border:1px solid var(--process-line); background:var(--process-soft); font-size:17px; font-weight:400; line-height:1.5; transition:background .2s; cursor:pointer; }
.process-page .process-check:hover { background:color-mix(in srgb,var(--process-lilac) 28%,var(--process-soft)); }
.process-page .process-check:has(input:checked) { background:color-mix(in srgb,var(--process-lilac) 65%,var(--process-soft)); }
.process-page .process-check input { appearance:auto; accent-color:var(--process-ink); flex:0 0 22px; width:22px; height:22px; min-height:22px; padding:0; margin:0; border-radius:4px; }
.process-page .process-check-copy { flex:1; }
.process-page .process-check-order { font:17px Georgia,serif; }
.process-page .process-deadline { display:flex; gap:20px; align-items:start; padding:26px 30px; border-radius:20px; border:1px solid var(--process-line); }
.process-page .process-notice-mark { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; border:1px solid var(--process-ink); font-size:18px; }
.process-page .process-deadline h2 { font:500 18px/1.5 'Helvetica Neue',Arial,sans-serif; letter-spacing:0; margin-bottom:8px; }
.process-page .process-deadline p { font-size:16px; line-height:1.65; max-width:92ch; }
.process-page .process-closing { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:10%; margin-top:64px; border-radius:28px; padding:40px; background:var(--process-ink); color:var(--process-paper); }
.process-page .process-closing .process-eyebrow { margin-bottom:12px; }
.process-page .process-closing h2 { font-size:42px; }
.process-page .process-closing p:not(.process-eyebrow) { font-size:17px; }
.process-page .process-cta { display:inline-flex; align-items:center; gap:26px; border-radius:12px; background:var(--process-sand); color:var(--process-ink); padding:13px 18px; min-height:48px; font-size:16px; margin-top:22px; }
.process-page .process-cta:hover { background:var(--process-paper); }
.process-page .process-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.process-page .process-stage-enter { animation:process-stage-in .24s ease-out; }
@keyframes process-stage-in { from { opacity:.45; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) {
  .process-page .process-wrap { width:calc(100% - 64px); }
  .process-page .process-hero { gap:9%; grid-template-columns:1.2fr .8fr; }
  .process-page .process-explorer,.process-page .process-preparation { gap:24px; grid-template-columns:.85fr 1.25fr; }
  .process-page .process-step { padding:15px 12px; gap:10px; }
  .process-page .process-step-arrow { display:none; }
  .process-page .process-stage { padding:28px; }
  .process-page .process-controls { margin-inline:28px; }
  .process-page.process-enhanced .process-stage-stack { min-height:540px; }
}
@media(max-width:820px) {
  .process-page .process-hero { padding-block:44px 56px; gap:32px; }
  .process-page .process-first-call { padding:24px; }
  .process-page .process-call-time { font-size:58px; }
  .process-page .process-explorer { grid-template-columns:1fr; gap:24px; }
  .process-page .process-steps { grid-template-columns:1fr 1fr; gap:12px; padding:0; }
  .process-page .process-steps li::after { display:none; }
  .process-page .process-step { min-height:98px; }
  .process-page.process-enhanced .process-stage-stack { min-height:0; }
  .process-page .process-preparation { grid-template-columns:1fr; padding-top:68px; gap:24px; }
  .process-page .process-prep-intro { padding:0; }
  .process-page .process-prep-intro h2 br { display:none; }
  .process-page .process-prep-intro .process-temporary-note { max-width:none; }
  .process-page .process-closing { padding:30px; gap:30px; }
}
@media(max-width:600px) {
  .process-page { padding-bottom:32px; }
  .process-page .process-wrap { width:calc(100% - 40px); }
  .process-page .process-hero { grid-template-columns:1fr; padding-top:34px; }
  .process-page h1 { font-size:52px; }
  .process-page .process-hero h1 br { display:none; }
  .process-page .process-lead { font-size:18px; margin-top:18px; }
  .process-page .process-first-call { margin:6px 0 0 10px; }
  .process-page .process-call-time { font-size:54px; margin-bottom:16px; }
  .process-page .process-section-heading { display:block; }
  .process-page .process-section-heading p { margin-top:12px; max-width:none; }
  .process-page .process-step { padding:14px 10px; align-items:start; gap:9px; min-height:115px; }
  .process-page .process-step-number { width:30px; height:30px; flex-basis:30px; font-size:12px; }
  .process-page .process-step strong { font-size:15px; }
  .process-page .process-step-subtitle { font-size:12px; }
  .process-page .process-stage { padding:24px 20px; }
  .process-page .process-stage-top { display:block; margin-bottom:18px; }
  .process-page .process-stage-label { display:block; text-align:left; max-width:none; margin-top:8px; }
  .process-page .process-stage h3 { font-size:32px; }
  .process-page .process-stage-body { font-size:17px; }
  .process-page .process-controls { margin-inline:20px; gap:8px; font-size:12px; }
  .process-page .process-next { gap:12px; font-size:14px; }
  .process-page .process-check { padding:18px; gap:12px; font-size:16px; }
  .process-page .process-check-order { display:none; }
  .process-page .process-deadline { padding:22px; gap:14px; }
  .process-page .process-closing { grid-template-columns:1fr; padding:28px; margin-top:40px; }
  .process-page .process-closing h2 { font-size:36px; }
}
@media(max-width:370px) {
  .process-page .process-steps { grid-template-columns:1fr; }
  .process-page .process-step { min-height:88px; align-items:center; }
  .process-page .process-step strong { font-size:16px; }
  .process-page .process-step-subtitle { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .process-page * { animation:none!important; transition:none!important; }
}
@media print {
  .process-page .process-stage[hidden] { display:block!important; }
  .process-page .process-steps,.process-page .process-controls { display:none!important; }
  .process-page .process-wrap { width:100%; }
  .process-page .process-explorer,.process-page .process-hero,.process-page .process-preparation { display:block; }
  .process-page .process-detail-shell,.process-page .process-first-call { box-shadow:none; }
  .process-page .process-detail-shell::before,.process-page .process-first-call::before { display:none; }
}
