.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule)}@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.step{position:relative;padding:24px 24px 28px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:transparent;border:0;border-right:1px solid var(--rule-soft);color:inherit;text-align:left;cursor:pointer;transition:background .25s}.step:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top center;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.step[aria-expanded=true]:before{transform:scaleY(1);background:var(--bg)}.step:last-child{border-right:0}.step:hover{background:rgba(20,24,31,.04)}.step[aria-expanded=true]{background:var(--accent);color:var(--bg)}.step[aria-expanded=true] .step-num,.step[aria-expanded=true] .when{color:var(--bg);opacity:.85}.step .step-num{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.step .step-shape{display:none}.step h4{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(26px,2.4vw,36px);line-height:.98;margin:0;letter-spacing:-.015em;flex:1 1 auto;align-self:flex-end;width:100%}.step .when{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);padding-top:14px;border-top:1px solid var(--rule-soft)}.step[aria-expanded=true] .when{border-top-color:rgba(0,56,116,.3)}.step-readout{padding:40px var(--pad-x) 56px;background:var(--paper);border-bottom:1px solid var(--rule);display:none}.step-readout.is-open{display:grid;grid-template-columns:1fr 2fr;grid-gap:48px;gap:48px}@media (max-width:760px){.step-readout.is-open{grid-template-columns:1fr}}.step-readout .meta{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-direction:column;gap:12px}.step-readout .meta .num{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(56px,7vw,96px);line-height:.85;color:var(--accent);letter-spacing:-.03em;text-transform:none}.step-readout .meta .when-tag b{color:var(--ink);font-weight:500}.step-readout .body p{font-size:16px;line-height:1.7;margin:0 0 12px;max-width:60ch}.step-readout .body p em{color:var(--accent);font-style:italic}.step-readout .body ul{padding-left:18px;margin:8px 0}.step-readout .body ul li{font-size:15px;margin-bottom:4px}.faq-list{border-top:1px solid var(--rule)}.q{display:grid;grid-template-columns:60px 1fr auto;grid-gap:24px;gap:24px;padding:28px var(--pad-x);cursor:pointer;align-items:baseline;background:transparent;border:0;border-bottom:1px solid var(--rule-soft);color:inherit;text-align:left}.q:hover{background:rgba(20,24,31,.04)}.q .num{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.14em}.q .question{font-family:var(--serif);font-size:clamp(18px,1.6vw,26px);line-height:1.25;letter-spacing:-.01em}.q .question em{font-style:italic;color:var(--accent)}.q .tog{width:32px;height:32px;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;line-height:1;transition:transform .3s ease,background .25s,color .25s}.q.open .tog{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:var(--bg)}.a{display:none;padding:0 var(--pad-x) 32px;border-bottom:1px solid var(--rule-soft);background:var(--paper);color:var(--ink)}.a .inner{display:grid;grid-template-columns:60px 1fr;grid-gap:24px;gap:24px;padding-top:24px}.a .inner .key{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.a .inner .text{font-size:16px;line-height:1.7;max-width:65ch;white-space:pre-line}.a .inner .text em{color:var(--accent);font-style:italic}.q.open+.a{display:block}.contact-band{padding:100px var(--pad-x);background:var(--paper)}.contact-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(48px,8vw,120px);line-height:.98;letter-spacing:-.025em;margin:0 0 40px}.contact-band h2 em{font-style:italic;color:var(--accent)}.contact-grid{display:grid;grid-template-columns:80px 1fr;grid-row-gap:32px;row-gap:32px;grid-column-gap:32px;column-gap:32px;margin-top:40px;padding-top:32px;border-top:1px solid var(--rule-soft)}.contact-grid .shape{width:48px;height:48px}.contact-grid .shape.A{background:var(--accent)}.contact-grid .shape.B{background:transparent;border:4px solid var(--accent);border-radius:50%}.contact-grid .shape.lab{background:var(--ink)}.contact-grid h4{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-weight:500}.contact-grid .name{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,32px);line-height:1.1;letter-spacing:-.015em;margin:0 0 4px}.contact-grid .name .en{font-style:italic;color:var(--ink-soft);font-weight:500;font-size:.45em;margin-left:10px}.contact-grid a{color:var(--accent);border-bottom:1px solid var(--accent-soft);font-family:var(--mono);font-size:13px;letter-spacing:.04em}.contact-grid a:hover{color:var(--ink);border-color:var(--ink)}.contact-grid .where{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.12em;margin-top:6px}@media (max-width:760px){.contact-grid{grid-template-columns:60px 1fr;row-gap:20px}}