.contact-page { background:var(--surface); color:var(--text); }
.contact-page [hidden] { display:none!important; }
.c-wrap { max-width:1360px; margin-inline:auto; padding-inline:clamp(24px,5vw,72px); }
.contact-page :is(h1,h2,h3,legend) { font-variation-settings:"wdth" 100; font-stretch:normal; text-transform:none; font-weight:520; letter-spacing:-.03em; text-wrap:balance; margin:0; }
.contact-page p { color:var(--text-muted); line-height:1.65; }
.contact-page a { text-underline-offset:5px; }
.contact-page svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; flex-shrink:0; }
.contact-page :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--text); outline-offset:4px; }
.c-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:80px; align-items:end; padding-block:64px 48px; }
.c-intro h1 { max-width:17ch; font-size:clamp(40px,4.4vw,60px); line-height:1.08; }
.c-intro>div>p { max-width:55ch; font-size:17px; margin:24px 0 0; }
.c-intro .c-call-note { max-width:32ch; font-size:14px; margin:0 0 4px auto; }
.c-call-note strong { display:block; color:var(--text); font-weight:550; margin-bottom:8px; }
.c-intake { padding-bottom:72px; scroll-margin-top:100px; }
.c-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:64px; border-top:1px solid var(--line); padding-top:48px; }
.c-guide { align-self:start; }
.c-guide h2 { font-size:34px; line-height:1.15; }
.c-guide>p { font-size:15px; margin:20px 0 32px; max-width:34ch; }
.c-route { list-style:none; margin:0; padding:0; }
.c-route li { display:flex; gap:18px; position:relative; padding-bottom:28px; }
.c-route li:not(:last-child)::after { content:''; position:absolute; left:16px; top:37px; bottom:5px; width:1px; background:var(--line); }
.c-route li>span { width:34px; height:34px; border:1px solid var(--control-line); border-radius:50%; display:grid; place-items:center; font-size:12px; flex-shrink:0; }
.c-route .is-current>span,.c-route .is-complete>span { background:var(--orange); color:var(--ink); border-color:var(--orange); }
.c-route strong { display:block; font-size:15px; font-weight:550; padding-top:5px; }
.c-route p { font-size:13px; margin:6px 0 0; max-width:31ch; }
.c-conversation { border-block:1px solid var(--line); padding-block:24px; margin-top:8px; }
.c-conversation h3 { font-size:22px; line-height:1.2; }
.c-conversation p { font-size:14px; margin:12px 0 24px; max-width:40ch; min-height:70px; }
.c-path { display:flex; align-items:center; gap:10px; font-size:11px; color:var(--text-muted); }
.c-path i { height:1px; flex:1; background:var(--control-line); position:relative; }
.c-path i::after { content:''; position:absolute; inset:-2px 0 auto auto; width:5px; height:5px; background:var(--accent-text); border-radius:50%; }
.c-conversation.is-changing .c-path i::after { animation:c-connect .8s cubic-bezier(.16,1,.3,1) both; }
.c-path span.is-active { color:var(--accent-text); font-weight:650; }
@keyframes c-connect { from { right:100%; } to { right:0; } }
.c-team { display:flex; align-items:center; gap:14px; text-decoration:none; padding-block:24px; }
.c-team img { width:48px; height:48px; object-fit:cover; object-position:center 25%; border-radius:50%; }
.c-team strong { display:block; font-size:13px; font-weight:550; line-height:1.5; }
.c-team>span>span { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-muted); margin-top:4px; }
.c-team svg { width:16px; height:16px; }
.contact-page .intake-form { background:var(--surface-alt); border-radius:12px; padding:32px; min-width:0; }
.c-form-intro { margin-bottom:28px; }
.c-form-intro h2 { font-size:28px; }
.c-form-intro p { font-size:12px; margin:10px 0 0; }
.contact-page fieldset { border:0; padding:0; margin:0 0 32px; min-width:0; }
.contact-page legend { font-size:18px; padding:0; margin-bottom:20px; }
.contact-page .intake-form-grid { gap:20px; }
.contact-page .intake-field { padding:0; border:0; min-width:0; }
.contact-page .intake-field label { color:var(--text); font-weight:500; font-size:13px; letter-spacing:0; text-transform:none; line-height:1.5; margin-bottom:8px; }
.contact-page .intake-field label .c-optional { color:var(--text-muted); font-size:12px; font-weight:400; }
.contact-page .intake-field :is(input,select,textarea) { border-color:var(--control-line); background:var(--surface); border-radius:6px; font-family:inherit; font-size:16px; color:var(--text); }
.contact-page .intake-field :is(input,select) { min-height:48px; padding:10px 12px; }
.contact-page .intake-field select { padding-right:28px; text-overflow:ellipsis; }
.contact-page .intake-field textarea { min-height:128px; padding:12px; }
.contact-page .intake-field :is(input,textarea)::placeholder { color:var(--text-muted); opacity:1; }
.contact-page .intake-counter { position:static; display:block; padding:0; margin-top:6px; text-align:right; background:transparent; font-size:11px; }
.c-email { min-width:0; }
.c-completion { margin:0 0 24px; color:var(--text-muted); font-size:12px; }
.c-completion-line { height:2px; background:var(--line); margin-top:10px; }
.c-completion-line i { display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:var(--accent-text); transition:transform .35s cubic-bezier(.16,1,.3,1); }
.contact-page .intake-submit-row { display:flex; flex-direction:column; align-items:stretch; padding:0; gap:12px; }
.contact-page .intake-status { margin:0; font-size:13px; font-weight:450; }
.c-button { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:52px; border:0; border-radius:6px; background:var(--orange); color:var(--ink); padding:14px 18px; font:inherit; font-weight:550; font-size:14px; }
.c-button:hover { background:var(--text); color:var(--surface); }
.contact-page .intake-privacy { font-size:11px; margin:0; line-height:1.55; }
.c-pricing { padding-block:48px 64px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.3fr; gap:64px; }
.c-pricing h2 { font-size:30px; line-height:1.15; }
.c-pricing p { font-size:14px; max-width:36ch; margin:18px 0; }
.c-pricing a { display:inline-flex; gap:12px; align-items:center; font-size:13px; min-height:44px; }
.c-pricing dl { margin:0; }
.c-pricing dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.c-pricing dt { font-size:14px; }
.c-pricing dd { margin:0; font-size:21px; font-variant-numeric:tabular-nums; }
.c-pricing dd>span,.c-pricing small { font-size:12px; color:var(--text-muted); font-weight:400; }
@media(max-width:1000px) { .c-layout { gap:32px; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); } .contact-page .intake-form { padding:24px; } .contact-page .intake-form-grid { grid-template-columns:1fr; } .c-intro { gap:40px; } .c-path { gap:6px; font-size:10px; } }
@media(max-width:700px) { .c-intro { grid-template-columns:1fr; gap:24px; padding-block:40px 32px; } .c-intro .c-call-note { margin:0; max-width:40ch; } .c-intro h1 { max-width:18ch; } .c-layout { grid-template-columns:1fr; padding-top:32px; gap:32px; } .c-guide h2 { font-size:28px; } .c-guide h2 br { display:none; } .c-guide>p { margin:14px 0 24px; max-width:none; } .c-route { display:flex; gap:16px; } .c-route li { display:block; flex:1; padding-bottom:0; } .c-route li:not(:last-child)::after { left:44px; right:0; width:auto; height:1px; top:17px; bottom:auto; } .c-route strong { font-size:12px; margin-top:10px; } .c-route p { display:none; } .c-conversation { margin-top:24px; } .c-conversation p { min-height:0; } .c-team { padding-block:20px 0; } .c-path { font-size:11px; gap:10px; } .contact-page .intake-form { padding:24px 20px; } .c-pricing { grid-template-columns:1fr; gap:20px; padding-block:40px; } .c-intake { scroll-margin-top:76px; padding-bottom:40px; } }
@media(prefers-reduced-motion:reduce) { .c-conversation.is-changing .c-path i::after { animation:none; } .c-completion-line i { transition:none; } }

@media(max-width:700px) { .contact-page .intake-form { order:-1; } }
