/* Standalone contact sections consume the shared palette and typography. */
.message-section{display:block;width:100%;max-width:none;margin:0;padding-block:52px;text-align:left}
.message-shell{width:min(1120px,90%);margin-inline:auto}
.message-heading{max-width:760px;margin:0 0 26px}.message-heading h2{font-family:var(--pcg-font-family,Jost,Arial,sans-serif);margin:12px 0;font-size:var(--pcg-type-section,32px);font-weight:450;line-height:1.2}.message-heading>p:not(.eyebrow){max-width:65ch;margin:0;font-size:var(--pcg-type-body,15px);line-height:1.65}
.message-form{width:100%;margin:0;padding:28px;background:var(--pc-surface);color:var(--pc-ink);border-block:1px solid var(--pc-border);text-align:left}
.message-modes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.message-modes button{font:inherit;font-size:13px;padding:10px 16px;min-height:44px;color:var(--pc-ink);background:transparent;border:1px solid var(--pc-border);cursor:pointer}.message-modes button[aria-pressed=true]{background:var(--pc-gold);color:var(--pc-black);border-color:var(--pc-gold)}
.message-requirements,.brief-mode-note{margin:0 0 18px;color:var(--pc-muted);font-size:13px;line-height:1.6}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.message-form .field{display:grid;gap:7px;align-content:start;min-width:0;font-size:13px}
.message-form .field input,.message-form .field select,.message-form .field textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--pc-border);border-radius:0;background:var(--pc-surface);color:var(--pc-ink);font:inherit;font-size:16px}.message-form .field textarea{height:auto;resize:vertical}.message-form .field input::placeholder,.message-form .field textarea::placeholder{color:var(--pc-muted);opacity:1}.message-form .field [aria-invalid=true]{border-color:var(--pc-orange)}
.message-field{margin-top:22px}.message-field textarea{min-height:130px}.area-field{margin-top:22px;max-width:460px}.message-form-footer{margin-top:22px}
.enquiry-consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:13px;line-height:1.6;max-width:78ch}.enquiry-consent input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--pc-gold)}
.enquiry-privacy{font-size:12px;color:var(--pc-muted);max-width:85ch;margin:0 0 22px;line-height:1.65}.enquiry-privacy summary,.brief-more>summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.message-section .message-form .action{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;width:auto;min-width:210px;min-height:48px;margin:0;padding:12px 18px;background:var(--pc-gold);color:var(--pc-black);border:1px solid var(--pc-gold);font:inherit;font-size:14px;cursor:pointer}.message-section .message-form .action:hover{background:var(--pc-gold-light)}.message-form .action:disabled{opacity:.65;cursor:wait}
.message-feedback{max-width:85ch;margin-top:18px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.message-feedback:empty{display:none}.message-feedback[data-state=error]{border-left:3px solid var(--pc-orange);padding-left:14px}.message-feedback[data-state=success]{border-left:3px solid var(--pc-gold-light);padding-left:14px}.message-feedback ul{padding-left:20px;margin:6px 0 0}.field-error{color:var(--pc-ink);font-size:12px;line-height:1.5}
.message-form input:focus-visible,.message-form select:focus-visible,.message-form textarea:focus-visible,.message-form button:focus-visible,.message-form summary:focus-visible{outline:2px solid var(--pc-gold);outline-offset:3px}
.detailed-brief{border-top:1px solid var(--pc-border);margin-top:26px;padding-top:24px}.enquiry-section{width:100%;min-width:0;border:0;margin:0 0 22px;padding:0}.enquiry-section legend{font-size:14px;font-weight:500;margin-bottom:16px;padding:0}.enquiry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 22px}.enquiry-grid .wide{grid-column:1/-1}.enquiry-grid textarea{min-height:86px}.brief-more{margin:0 0 20px}.brief-more>summary{font-size:14px;margin-bottom:22px}
.contact-alternative{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;font-size:13px}.contact-alternative .contact-button{display:inline-flex;width:auto;margin:0;padding:10px 14px;font-size:13px}
.enquiry-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.message-form [hidden]{display:none!important}
@media(max-width:900px){.enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:16px}}
@media(max-width:650px){.message-section{padding-block:34px}.message-form{padding:20px 16px}.message-heading{margin-bottom:22px}.contact-grid,.enquiry-grid{grid-template-columns:minmax(0,1fr);gap:18px}.message-modes{display:grid;grid-template-columns:1fr;width:100%}.message-modes button{text-align:left}.message-section .message-form .action{width:100%}.message-field textarea{min-height:150px}.contact-alternative{align-items:flex-start;flex-direction:column}}

.message-heading .eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.enquiry-consent{flex-wrap:wrap}.enquiry-consent .field-error{flex-basis:100%;margin-left:30px}

.contact-opening h3,.contact-details h3{font:500 20px/1.3 var(--pcg-font-family,Jost,Arial,sans-serif);margin:0 0 12px}
.contact-details{border-top:1px solid var(--pc-border);padding-top:26px;margin-top:28px}
.additional-guidance,.additional-state{max-width:85ch;font-size:13px;line-height:1.6;margin:0 0 16px}
.additional-state{border-left:2px solid var(--pc-gold);padding-left:12px;margin-bottom:24px;color:var(--pc-muted)}
.contact-details .enquiry-section:last-child{margin-bottom:0}
