/* Full-copy contact readability. Routing, form fields and hidden states are unchanged. */
.contact-readable #main { font-size: 1.0625rem; line-height: 1.6; }
.contact-readable #main :is(p,li,small,h2,h3,a) { -webkit-hyphens: none; hyphens: none; }
.contact-readable .contact-heading { margin-bottom: 1.5rem; }
.contact-readable .contact-routing { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); border-radius: 1rem; }
.contact-readable .contact-choice-side { padding: 1.5rem; }
.contact-readable .contact-choices legend { font-size: 1.35rem; margin-bottom: 1rem; }
.contact-readable .contact-choice { min-height: 5.5rem; padding: 1rem .65rem; gap: .75rem; grid-template-columns: 1.4rem minmax(0,1fr) 1.1rem; border-left: 3px solid transparent; border-radius: .5rem; }
.contact-readable .contact-choice input { width: 1.25rem; height: 1.25rem; }
.contact-readable .contact-choice strong { font-size: 1.3rem; line-height: 1.3; }
.contact-readable .contact-choice small { font-size: .9375rem; line-height: 1.5; margin-top: .4rem; }
.contact-readable .contact-choice:has(input:checked) { background: var(--white); border-left-color: var(--accent-text); }
.contact-readable .contact-choice:has(input:focus-visible) { outline: 3px solid var(--accent-text); outline-offset: 3px; }
.contact-readable .contact-topic-toggle { -webkit-hyphens: none; hyphens: none; min-height: 3.25rem; line-height: 1.5; align-items: start; font-size: 1rem; padding: .55rem 0; }
.contact-readable .contact-topic-toggle > span:first-child { max-width: 65%; }
.contact-readable .contact-topic-toggle:focus-visible { outline: 3px solid var(--accent-text); outline-offset: 4px; border-radius: .25rem; }
.contact-readable .contact-direct { padding-top: 1.25rem; margin-top: 1.5rem; }
.contact-readable .contact-direct p { font-size: 1rem; line-height: 1.5; }
.contact-readable .contact-direct a { font-size: 1rem; line-height: 1.5; min-height: 2.75rem; }
.contact-readable .contact-direct .contact-phone { font-size: 1.9rem; }
.contact-readable .contact-panel { padding: 1.5rem; }
.contact-readable .contact-panel h2 { font-size: 1.9rem; line-height: 1.2; scroll-margin-top: 6rem; }
.contact-readable .contact-panel .contact-process { margin: 1rem 0 1.5rem; padding-left: 1rem; }
.contact-readable .contact-process h3 { font-size: 1rem; line-height: 1.5; margin-bottom: .65rem; }
.contact-readable .contact-process ol { font-size: 1rem; line-height: 1.6; }
.contact-readable .contact-process li { margin-top: .35rem; }
.contact-readable .contact-process strong { font-size: 1rem; }
.contact-readable .contact-panel .field:not([hidden]) { font-size: 1rem; margin-bottom: 1.15rem; gap: .5rem; }
.contact-readable .contact-panel .field small { font-size: .9375rem; line-height: 1.5; }
.contact-readable .contact-panel :is(input,select,textarea) { font-size: 1.0625rem; line-height: 1.5; padding: .75rem .85rem; min-height: 3.25rem; border-radius: .5rem; }
.contact-readable .contact-panel textarea { min-height: 7.5rem; resize: vertical; }
.contact-readable .contact-panel :is(input,select,textarea):focus-visible { outline: 3px solid var(--accent-text); outline-offset: 3px; }
.contact-readable .contact-topic-context, .contact-readable .contact-field-error { font-size: .9375rem; line-height: 1.55; }
.contact-readable .contact-send { min-height: 3.5rem; font-size: 1.0625rem; }
.contact-readable .contact-privacy, .contact-readable .contact-reassurance { font-size: .9375rem; line-height: 1.6; }
.contact-readable .contact-privacy summary { min-height: 3rem; padding-block: .75rem; }
.contact-readable .contact-confirmation :is(p,li) { font-size: 1.0625rem; line-height: 1.6; }
.contact-readable #main > .section:not(.contact-entry) p { font-size: 1.0625rem; line-height: 1.65; }
.contact-readable #main > .section:not(.contact-entry) :is(a,button) { min-height: 2.75rem; }
.contact-readable #main > .section:not(.contact-entry) .card { padding: 1.5rem; box-shadow: none; }
.contact-readable #main a[href^="mailto:"] { overflow-wrap: anywhere; }
@media (min-width: 761px) and (max-width: 1000px) {
 .contact-readable .contact-routing { grid-template-columns: minmax(0,1fr); }
 .contact-readable .contact-choices:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1.5rem; }
 .contact-readable .contact-choices legend { grid-column: 1 / -1; }
 .contact-readable .contact-direct { margin-top: 1rem; }
 .contact-readable .contact-panel { padding: 1.75rem; }
}
@media (max-width: 760px) {
 .contact-readable #main .container { padding-left: 20px; padding-right: 20px; }
 .contact-readable .contact-heading h1 { font-size: 2rem; }
 .contact-readable .contact-routing { grid-template-columns: minmax(0,1fr); }
 .contact-readable .contact-choice-side, .contact-readable .contact-panel { padding: 1rem; }
 .contact-readable .contact-choice { min-height: 5.75rem; padding: .9rem .45rem; gap: .6rem; }
 .contact-readable .contact-choice strong { font-size: 1.25rem; }
 .contact-readable .contact-panel .row2 { grid-template-columns: minmax(0,1fr); gap: 0; }
 .contact-readable .contact-panel h2 { font-size: 1.75rem; }
 .contact-readable .contact-direct .contact-phone { font-size: 1.8rem; }
 .contact-readable .contact-direct a { font-size: 1rem; }
 .contact-readable .contact-panel .contact-process { padding-left: .8rem; }
 .contact-readable .contact-topic-toggle > span:first-child { max-width: 63%; }
 .contact-readable .contact-topic-toggle > span:last-child { font-size: .9375rem; }
}

/* Existing document instructions precede the fields for the GW topic. */
.contact-readable [data-gw-documents] { font-size: 1rem; line-height: 1.6; }
.contact-readable [data-gw-documents] a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .4rem; text-underline-offset: .2em; }

/* The same phone action stays above the fields after arrival from any CTA. */
.contact-readable .contact-panel .contact-direct {margin:.8rem 0 1.25rem;padding:0;border:0;}
.contact-readable .contact-panel .contact-direct .contact-phone {display:flex;flex-wrap:wrap;gap:0 .35em;font-family:var(--font-body);font-size:1rem;line-height:1.5;min-height:44px;max-width:100%;text-decoration:underline;}
.contact-readable .contact-phone-number {white-space:nowrap;}
.contact-readable .contact-panel .contact-direct > a {font-size:1rem;}
.contact-readable .contact-panel .contact-process {margin-top:1rem;}
.contact-readable .contact-topic-toggle > span:first-child {max-width:none;}
.contact-readable .contact-topic-toggle {flex-wrap:wrap;gap:.35rem 1rem;}
.contact-readable .contact-routing:has(.contact-choice-side[hidden]) {grid-template-columns:minmax(0,1fr);}
.contact-readable .contact-choice-side[hidden] {display:none;}
.contact-readable [data-gw-documents] .contact-document-link {display:flex;width:fit-content;min-height:44px;font-weight:600;}

.contact-readable #service-note[hidden] {display:none;}

/* P67: the urgent phone route is a full-size action; regular contact keeps a large number. */
.contact-readable .contact-panel .contact-direct .contact-phone-number {font-size:1.55rem;line-height:1.3;}
.contact-readable .contact-panel--breakdown .contact-direct .contact-phone {
 display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;min-height:3rem;
 padding:.75rem 1rem;background:var(--green);color:var(--on-green);border-radius:var(--r-pill);
 font-size:1.125rem;font-weight:600;text-align:center;text-decoration:none;gap:.25rem;
}
.contact-readable .contact-panel--breakdown .contact-direct .contact-phone-number {font-size:1.125rem;}
.contact-readable .contact-panel--breakdown .contact-direct .contact-phone:hover {background:var(--green-700);color:var(--white);}
.contact-readable [data-gw-documents] .contact-document-link {border:1px solid currentColor;border-radius:var(--r-pill);padding:.6rem 1rem;text-decoration:none;}
