/* Contact page only. Keep the existing form contract and shared editorial shell. */
.contact-editorial { --ct-ink:#19382b; --ct-muted:#5c6b60; --ct-line:#cbd7c6; --ct-accent:#00765d; }
.contact-editorial [id] { scroll-margin-top:108px; }
.contact-editorial .ct-section { padding:92px 0; }
.contact-editorial .ct-paper { background:#f6f6ef; color:var(--ct-ink); }
.contact-editorial .ct-sage { background:#e3eddc; color:var(--ct-ink); }
.contact-editorial .ct-forest { --ct-muted:#b3c8b9; --ct-line:#3a5746; --ct-accent:#c5ed8a; background:#162d23; color:#f0f5e8; }
.contact-editorial h2 { font-size:clamp(34px,3.5vw,49px); line-height:1.12; letter-spacing:-.045em; }
.contact-editorial h2 span { color:#61765c; }
.contact-editorial .ct-forest h2 span { color:#c5ed8a; }
.contact-editorial h3 { font-size:25px; line-height:1.2; letter-spacing:-.025em; }
.contact-editorial p { line-height:1.75; }
.contact-editorial .ed-eyebrow { color:var(--ct-accent); font-size:10px; line-height:1.6; margin-bottom:24px; }
.contact-editorial .ed-text-link { font-size:13px; border-color:var(--ct-line); }
.contact-editorial .ed-text-link>span { font-size:20px; color:var(--ct-accent); }
.contact-editorial .ct-forest .ed-text-link:hover { color:#c5ed8a; }
.contact-editorial a:focus-visible,.contact-editorial button:focus-visible { outline:3px solid var(--ct-accent); outline-offset:5px; }
.contact-editorial .ct-hero { --ct-accent:#37dbb3; background:#142522; color:#f4f6ed; }
.ct-breadcrumb { position:relative; display:flex; flex-wrap:wrap; gap:12px; padding-top:26px; font-size:10px; color:#b1c6b9; }
.ct-breadcrumb a:hover { color:#37dbb3; }
.ct-hero__copy { position:relative; max-width:860px; margin:auto; padding:72px 0 80px; }
.contact-editorial .ct-hero h1 { font-size:clamp(54px,5.2vw,78px); line-height:1.04; letter-spacing:-.055em; }
.contact-editorial .ct-hero .ed-eyebrow { color:#b1c8bc; margin-bottom:30px; }
.contact-editorial .ct-hero__intro { max-width:570px; margin-top:32px; font-size:20px; line-height:1.55; color:#e0e8df; }
.contact-editorial .ct-hero__detail { max-width:510px; margin-top:16px; font-size:15px; color:#a1b9ab; }
.contact-editorial .ct-hero .ed-text-link { color:#d1dfcf; border-color:#60816b; }
.ct-hero__footer { position:relative; display:grid; grid-template-columns:1.3fr 1fr 1fr; border-top:1px solid #5f7f644f; margin-bottom:32px; }
.contact-editorial .ct-hero__footer>p { align-self:center; padding:27px 16px 25px 0; font-size:12px; color:#b2c6b5; }
.ct-hero__footer>a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 28px; border-left:1px solid #5f7f644f; background:#263f34b3; font-size:14px; }
.ct-hero__footer small { display:block; margin-bottom:8px; color:#9bbca8; font:9px/1.5 ui-monospace,monospace; letter-spacing:.09em; }
.ct-hero__footer b { font-size:22px; font-weight:400; color:#37dbb3; }
.ct-hero__footer>a:hover { background:#38533d; }
.ct-form-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr); gap:90px; align-items:start; }
.ct-form-copy>p:not(.ed-eyebrow) { color:var(--ct-muted); font-size:15px; margin-top:28px; max-width:400px; }
.ct-prompts { margin-top:32px; padding-top:28px; border-top:1px solid var(--ct-line); }
.contact-editorial .ct-prompts .ed-eyebrow { margin-bottom:16px; font-size:9px; }
.ct-prompts ul { list-style:none; margin:0; padding:0; font-size:14px; line-height:1.8; color:var(--ct-muted); }
.ct-prompts li { position:relative; padding-left:20px; margin-top:10px; }
.ct-prompts li::before { content:''; position:absolute; width:5px; height:5px; left:0; top:.7em; background:#00765d; }
.ct-details { display:grid; gap:26px; margin:36px 0 0; padding-top:28px; border-top:1px solid var(--ct-line); font-style:normal; }
.ct-details span { display:block; font:9px/1.6 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.08em; color:#00765d; margin-bottom:10px; }
.ct-details a { font-size:23px; letter-spacing:-.025em; }
.ct-details b { font-size:20px; color:#00765d; font-weight:400; margin-left:12px; }
.contact-editorial .ct-details p { font-size:14px; color:var(--ct-muted); }
.ct-form-panel { min-width:0; background:#fffef9; border:1px solid #cbd7c6; padding:34px; }
.ct-form-panel__heading { margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid #e0e6d8; }
.contact-editorial .ct-form-panel__heading .ed-eyebrow { margin-bottom:12px; }
.contact-editorial .ct-form-panel__heading>p:last-child { color:var(--ct-muted); font-size:12px; }
.contact-editorial .contact-form .form-label { color:#284333; font-size:13px; font-weight:500; margin-bottom:10px; }
.contact-editorial .contact-form .form-control { min-height:52px; border:1px solid #bac9b7; border-radius:0; background:#f9faf4; color:#19382b; box-shadow:none; padding:13px 14px; font-size:15px; }
.contact-editorial .contact-form .form-control::placeholder { color:#647362; opacity:1; }
.contact-editorial .contact-form .form-control:focus { border-color:#00765d; outline:2px solid #00765d; outline-offset:2px; background:#fffef9; }
.contact-editorial .contact-form .form-control[readonly] { background:#eef2e7; color:#52634f; }
.contact-editorial .contact-form textarea.form-control { min-height:180px; resize:vertical; }
.contact-editorial .ct-submit { border-radius:0; min-width:245px; background:#17523c; border-color:#437757; color:#f5f9ef!important; }
.contact-editorial .ct-submit:hover { background:#23684c; }
.contact-editorial .ct-submit:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.contact-editorial .ct-privacy { margin-top:26px; color:var(--ct-muted); font-size:11px; }
.ct-privacy a { text-decoration:underline; text-underline-offset:3px; }
.contact-company-field { position:relative; }
.contact-company-results { position:absolute; z-index:30; top:calc(100% + .5rem); left:0; right:0; max-height:18rem; overflow-y:auto; background:#fffef9; border:1px solid #9fb69a; box-shadow:0 18px 38px #19382b1c; }
.contact-company-option { width:100%; padding:14px 16px; border:0; border-bottom:1px solid #d7e0cf; background:transparent; text-align:left; color:#19382b; }
.contact-company-option:hover,.contact-company-option:focus { background:#e3eddc; }
.contact-company-option__name { display:block; font-size:14px; font-weight:600; }
.contact-company-option__meta { display:block; margin-top:5px; font-size:12px; line-height:1.5; color:#5c6b60; }
.contact-company-status,.contact-company-error { display:block; font-size:12px; line-height:1.5; margin-top:8px; color:#5c6b60; }
.contact-company-status { min-height:18px; }
.contact-company-status.is-valid { color:#00765d; }
.contact-company-error { color:#a52e2e; }
.contact-company-manual-toggle { border:0; padding:5px 0; background:none; color:#00765d; font-size:12px; line-height:1.6; text-align:left; text-decoration:underline; text-underline-offset:3px; }
[data-company-manual-fields] { margin-top:18px; }
.contact-company-details { border:1px solid #cbd7c6; background:#eef2e7; padding:18px; }
.contact-company-details label { display:block; font-size:10px; margin-bottom:8px; color:#45633f; }
.contact-editorial .alert-success { border:1px solid #a9c694; border-radius:0; background:#e3eddc; color:#244b30; padding:24px; line-height:1.8; }
.contact-editorial .alert-danger { border:1px solid #d9aaa4; border-radius:0; background:#fff0eb; color:#8d302b; padding:20px; line-height:1.7; }
.ct-heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:80px; margin-bottom:48px; }
.contact-editorial .ct-heading>p { color:var(--ct-muted); font-size:15px; }
.ct-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; list-style:none; margin:0 0 32px; padding:0; }
.ct-steps>li { position:relative; min-width:0; border-top:1px solid #b9cbb0; padding-top:25px; }
.ct-steps>li>span { display:block; color:#4c703e; font:12px/1.6 ui-monospace,monospace; margin-bottom:22px; }
.contact-editorial .ct-steps h3 { font-size:25px; }
.contact-editorial .ct-steps p { font-size:14px; color:var(--ct-muted); margin-top:18px; }
.contact-editorial .ct-closing h2 { font-size:clamp(42px,4.8vw,68px); max-width:1100px; }
.contact-editorial .ct-closing .ed-wrap>p:not(.ed-eyebrow) { color:var(--ct-muted); max-width:560px; font-size:16px; margin-top:30px; }
.contact-editorial .ct-closing .ed-button--green { background:#c5ed8a; color:#173a29!important; }
.contact-editorial .ct-closing .ed-button--green:hover { background:#d7f8a9; }
@media(max-width:1199px) {
    .ct-form-grid { gap:45px; }
    .ct-form-panel { padding:28px; }
    .ct-heading { gap:45px; }
}
@media(max-width:991px) {
    .ct-hero__copy { max-width:680px; padding:62px 0; }
    .ct-form-grid { grid-template-columns:1fr; gap:36px; }
    .ct-form-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
    .ct-form-copy>.ed-eyebrow,.ct-form-copy>h2,.ct-form-copy>p { grid-column:1/-1; }
    .ct-form-copy>p:not(.ed-eyebrow) { max-width:660px; }
    .ct-details { margin-top:32px; padding-top:28px; }
    .ct-heading { grid-template-columns:1fr; gap:28px; }
    .ct-steps { gap:25px; }
}
@media(max-width:767px) {
    .contact-editorial .ct-section { padding:60px 0; }
    .ct-breadcrumb { padding-top:22px; font-size:9px; }
    .ct-hero__copy { padding:48px 0; }
    .contact-editorial .ct-hero h1 { font-size:clamp(37px,8.9vw,54px); }
    .contact-editorial .ct-hero .ed-eyebrow { font-size:9px; margin-bottom:24px; }
    .contact-editorial .ct-hero__intro { font-size:18px; margin-top:26px; }
    .contact-editorial .ct-hero__detail { font-size:14px; }
    .contact-editorial .ct-hero .ed-button--green { min-width:0; }
    .ct-hero .ed-actions { gap:20px; }
    .ct-hero__footer { grid-template-columns:1fr 1fr; margin-bottom:24px; }
    .contact-editorial .ct-hero__footer>p { grid-column:1/-1; padding:22px 0; font-size:11px; }
    .ct-hero__footer>a { padding:19px 14px; font-size:12px; gap:10px; }
    .ct-hero__footer>a:first-of-type { border-left:0; }
    .ct-hero__footer small { font-size:8px; }
    .contact-editorial .ed-eyebrow { font-size:9px; margin-bottom:20px; }
    .ct-form-copy { display:block; }
    .ct-prompts { margin-top:25px; padding-top:24px; }
    .ct-details { margin-top:25px; padding-top:24px; gap:20px; }
    .ct-details a { font-size:22px; }
    .ct-form-panel { padding:24px; }
    .contact-editorial .ct-submit { width:100%; min-width:0; }
    .contact-editorial .contact-form .form-control { font-size:16px; }
    .ct-heading { margin-bottom:32px; }
    .ct-steps { grid-template-columns:1fr; gap:28px; }
    .ct-steps>li { padding-top:22px; }
    .ct-steps>li>span { margin-bottom:16px; }
    .contact-editorial .ct-steps p { margin-top:14px; }
}
