/* Two ways to connect: a direct conversation or a gentle, guided brief. */
.c-contact-options {
    --c-paper: #ffffff;
    --c-field: #ffffff;
    --c-border: #d1e0e7;
    --c-control-border: #6f8b9a;
    --c-ink: #18374a;
    --c-muted: #526b78;
    --c-accent: #176b87;
    --c-accent-hover: #10556d;
    --c-on-accent: #ffffff;
    --c-soft: #eaf3f7;
    color: var(--c-ink);
    min-width: 0;
}
.c-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.c-choice-card { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; padding: 24px; border: 1px solid var(--c-border); background: var(--c-paper); }
.c-choice-zalo { background: var(--c-soft); }
.c-choice-card h3 { font-family: var(--font-display); font-size: 30px; line-height: 1.25; font-weight: 400; letter-spacing: -.02em; }
.c-choice-card p { font-size: 16px; line-height: 1.65; color: var(--c-muted); }
.c-choice-card .c-choice-number,.c-choice-card .c-choice-label { font-size: 14px; line-height: 1.5; letter-spacing: .04em; color: var(--c-muted); }
.c-choice-card a:not(.c-phone),.c-open-form { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--c-accent); background: var(--c-accent); color: var(--c-on-accent); font: inherit; font-size: 16px; line-height: 1.5; font-weight: 700; padding: 13px 16px; text-align: left; margin-top: auto; min-height: 48px; width: 100%; }
.c-choice-card a svg,.c-open-form svg { width: 19px; height: 19px; }
.c-choice-card .c-phone { font-size: 20px; color: var(--c-ink); letter-spacing: .025em; }
.c-choice-card small,.c-choice-note { display: block; font-size: 14px; line-height: 1.6; color: var(--c-muted); }
.c-contact-options a:focus-visible,.c-contact-options button:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 4px; }
.c-choice-card a:not(.c-phone):hover,.c-open-form:hover,.c-next:hover,.c-submit:hover { background: var(--c-accent-hover); border-color: var(--c-accent-hover); color: var(--c-on-accent); }
.c-choice-card .c-phone:hover { color: var(--c-accent); }
.c-back:hover { background: var(--c-soft); }
.c-wizard { padding-top: 32px; margin-top: 28px; border-top: 1px solid var(--c-border); scroll-margin-top: 100px; }
.c-wizard-heading h3 { font-family: var(--font-display); font-size: 36px; line-height: 1.3; letter-spacing: -.02em; margin: 10px 0 14px; font-weight: 400; }
.c-wizard-heading p { font-size: 18px; color: var(--c-muted); line-height: 1.75; }
.c-progress { margin: 24px 0; }
.c-progress ol,.c-progress-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.c-progress-step { font-size: 14px; line-height: 1.5; color: var(--c-muted); min-width: 0; }
.c-progress-step[aria-current="step"],.c-progress-step.is-active { color: var(--c-ink); font-weight: 700; }
.c-progress-step span { display: block; }
.c-progress-track { margin-top: 14px; background: var(--c-border); height: 3px; overflow: hidden; }
.c-progress-fill { display: block; width: 33.333%; height: 100%; background: var(--c-accent); transition: width .25s ease; }
.guided-form { margin-top: 24px; }
.c-step { border: 0; padding: 0; margin: 0 0 32px; min-width: 0; scroll-margin-top: 96px; }
.c-step legend { display: block; padding: 0; margin-bottom: 12px; font-family: var(--font-display); font-size: 30px; line-height: 1.3; color: var(--c-ink); letter-spacing: -.02em; }
.c-step>p,.c-step-intro,.c-help { font-size: 16px; color: var(--c-muted); line-height: 1.75; margin-bottom: 22px; }
.c-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
.c-field-wide { grid-column: 1/-1; }
.guided-form label,.guided-form .c-field { font-family: var(--font); color: var(--c-ink); font-size: 16px; line-height: 1.6; margin-bottom: 22px; min-width: 0; }
.guided-form label small,.guided-form .c-hint,.guided-form .c-optional { font-size: 14px; line-height: 1.6; color: var(--c-muted); font-weight: 400; }
.guided-form label small,.guided-form .c-hint { display: block; margin-top: 7px; }
.guided-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.guided-form select,.guided-form textarea {
    display: block; width: 100%; min-width: 0; min-height: 49px; margin-top: 9px; padding: 13px 12px;
    color: var(--c-ink); background: var(--c-field); border: 1px solid var(--c-control-border); border-radius: 2px;
    font-family: var(--font); font-size: 16px; line-height: 1.5; color-scheme: light;
}
.guided-form input::placeholder,.guided-form textarea::placeholder { color: var(--c-muted); opacity: 1; }
.guided-form input:focus,.guided-form select:focus,.guided-form textarea:focus { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.guided-form textarea { resize: vertical; min-height: 118px; }
.c-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 10px 0 24px; }
.guided-form .c-option { display: flex; align-items: flex-start; gap: 10px; padding: 13px; margin: 0; background: var(--c-field); border: 1px solid var(--c-control-border); cursor: pointer; }
.guided-form .c-option:has(input:checked) { border-color: var(--c-accent); background: var(--c-soft); }
.guided-form input[type=checkbox],.guided-form input[type=radio] { accent-color: var(--c-accent); flex-shrink: 0; width: 18px; height: 18px; margin: 4px 0 0; }
.c-budget-note,.c-reassurance { padding: 20px; border-left: 2px solid var(--c-accent); background: var(--c-soft); margin: 20px 0; }
.c-budget-note p,.c-reassurance p { color: var(--c-ink); font-size: 18px; line-height: 1.75; }
.c-actions { display: flex; align-items: center; gap: 12px; justify-content: space-between; margin-top: 20px; flex-wrap: wrap; }
.c-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 14px 18px; min-height: 50px; font-family: var(--font); font-size: 16px; line-height: 1.5; border: 1px solid var(--c-accent); border-radius: 2px; }
.c-next,.c-submit { background: var(--c-accent); color: var(--c-on-accent); font-weight: 700; margin-left: auto; }
.c-back { color: var(--c-ink); background: transparent; border-color: var(--c-control-border) !important; }
.c-actions button svg { width: 19px; height: 19px; }
.c-actions button:disabled { opacity: .65; cursor: wait; }
.c-recaptcha-note { margin-top: 18px; font-size: 14px; line-height: 1.65; color: var(--c-muted); }
.c-recaptcha-note a { text-decoration: underline; text-underline-offset: 3px; }
.c-verification-error[hidden] { display: none; }
.c-review { margin: 20px 0 24px; padding: 20px; background: var(--c-soft); border: 1px solid var(--c-border); }
.c-review h4 { font-size: 18px; margin: 0 0 14px; font-weight: 700; }
.c-review dl { margin: 0; }
.c-review dt { font-size: 14px; color: var(--c-muted); margin-top: 12px; }
.c-review dd { margin: 4px 0 0; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-wrap; }
.guided-form .consent { display: flex; align-items: flex-start; gap: 12px; color: var(--c-muted); font-size: 14px; line-height: 1.75; }
.guided-form .consent a { text-decoration: underline; text-underline-offset: 3px; }
.guided-form .form-footnote { color: var(--c-muted); font-size: 14px; line-height: 1.75; margin-top: 18px; }
.c-contact-options .form-message { margin-block: 24px; }
.c-contact-options .form-message.success { background: #e3f2f7; color: #174e66; border-color: #8ab7cb; }
.c-contact-options .form-message.error { background: #fff1f2; color: #a2273f; border-color: #dba6b0; }
.c-contact-options .form-message p { font-size: 16px; color: inherit; }
.c-form-status { font-size: 14px; color: var(--c-muted); line-height: 1.5; }
.w-inquiry-grid { grid-template-columns: .85fr 1.35fr; gap: 6%; }
.w-form-panel { min-width: 0; }
.w-inquiry-thought>.c-connection-note { font-family: var(--font); font-size: 18px; line-height: 1.75; letter-spacing: 0; color: var(--muted); }
.page-contact .brief-panel { min-width: 0; }
.page-contact .mobile-contact { display: none; }
.page-contact .contact-page {
    grid-template-columns: .85fr 1.35fr;
    grid-template-areas: "intro form" "details form";
    grid-template-rows: auto 1fr;
    column-gap: 6%; row-gap: 0;
}
.page-contact .contact-page-copy { grid-area: intro; display: block; }
.page-contact .brief-panel { grid-area: form; }
.page-contact .contact-page-details { grid-area: details; min-width: 0; }
.page-contact .contact-page-details .contact-photo { height: 320px; margin-top: 35px; }
@media(max-width:1100px) {
    .w-inquiry-grid,.page-contact .contact-page { grid-template-columns: 1fr; gap: 40px; }
    .page-contact .contact-page { grid-template-areas: "intro" "form" "details"; grid-template-rows: auto; }
    .w-form-panel,.page-contact .brief-panel { width: 100%; max-width: 820px; margin-inline: auto; }
    .page-contact .contact-page-copy,.page-contact .contact-page-details { width: 100%; max-width: 820px; margin-inline: auto; }
    .page-contact .contact-page-details .reopening-note { margin-top: 0; }
    .w-inquiry-copy { max-width: 820px; }
    .w-inquiry-copy>p { max-width: 680px; }
}
@media(max-width:600px) {
    .c-choice-grid { grid-template-columns: 1fr; }
    .c-choice-card { padding: 20px; }
    .c-choice-card h3 { font-size: 28px; }
    .c-wizard-heading h3 { font-size: 32px; }
    .c-fields,.c-option-grid { grid-template-columns: 1fr; }
    .c-progress ol,.c-progress-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
    .c-step legend { font-size: 28px; }
    .c-review { padding: 16px; }
    .c-actions button { padding: 13px 15px; }
    .c-submit { width: 100%; }
    .c-wizard { scroll-margin-top: 80px; }
    .c-budget-note,.c-reassurance { padding: 16px; }
}
@media(prefers-reduced-motion:reduce) { .c-progress-fill { transition: none; } }
