/* A calm, stationary form beside Noemer's invitation to talk. */
.route-contact .contact-page{grid-template-columns:.9fr 1.1fr;grid-template-rows:min-content 1fr;column-gap:3.5rem;row-gap:2.5rem;padding-top:3.7rem;padding-bottom:var(--space-section)}
.route-contact .contact-copy{padding:2.7rem;background:var(--color-sage-surface);border:1px solid var(--color-sage-border);border-radius:1.6rem;align-self:start}
.contact-emblem{color:var(--color-gold);width:6rem;margin-bottom:2rem}
.contact-emblem svg{display:block;width:100%;height:auto}
.contact-emblem circle,.contact-glyph :is(path,circle){stroke-width:var(--gold-stroke);vector-effect:non-scaling-stroke}
.contact-glyph{display:block;flex:none;color:var(--color-gold);width:var(--gold-icon-size);height:var(--gold-icon-size)}
.route-contact .contact-copy h1{font-size:clamp(2.8rem,3.9vw,3.75rem);line-height:1.04;max-width:none}
.route-contact .contact-copy>.lead{font-size:.96rem;margin-top:1.7rem;color:var(--color-lead);max-width:42ch}
.contact-copy-rule{display:block;width:3rem;height:1px;background:var(--color-gold);margin-top:2rem}
.route-contact .contact-page form{padding:2.5rem;box-shadow:0 18px 40px -34px #173a3d55;border-radius:1.6rem;grid-row:1/3}
.route-contact .intent-picker{display:grid;grid-template-columns:1fr;gap:.65rem;margin-bottom:1.5rem}
.route-contact .intent-picker legend{font-family:var(--font-display);font-size:1.9rem;line-height:1.15;font-weight:400;letter-spacing:-.02em;margin-bottom:1.5rem}
.route-contact .intent-picker label{width:100%}
.route-contact .intent-picker label>span{display:grid;grid-template-columns:var(--gold-icon-size) minmax(0,1fr) 1rem;gap:.8rem;min-height:3.65rem;padding:.8rem 1rem;border-radius:.75rem;border-color:#9ba993;transition:background-color 180ms,border-color 180ms}
.route-contact .intent-picker .intent-label{font-size:.85rem;line-height:1.5}
.route-contact .intent-picker input:checked+span{background:var(--color-sage-surface);color:var(--color-text);border-color:var(--color-dark)}
.route-contact .intent-picker input:focus+span{outline:3px solid var(--color-focus);outline-offset:4px}
.intent-indicator{display:block;width:1rem;height:1rem;border:1px solid #718371;border-radius:50%;position:relative}
.intent-picker input:checked+span .intent-indicator{border-color:var(--color-dark);background:var(--color-dark)}
.intent-picker input:checked+span .intent-indicator::after{content:"";position:absolute;inset:4px;background:var(--color-paper);border-radius:50%}
.route-contact .test-notice{background:transparent;border:0;border-top:1px solid var(--color-gold-line);border-bottom:1px solid var(--color-line);border-radius:0;padding:1rem 0;margin:0 0 1.4rem;font-size:.77rem}
.route-contact .test-notice strong{font-size:.78rem;color:var(--color-text)}
.route-contact .required-note{font-size:.75rem;margin-bottom:1.5rem}
.route-contact .field{margin-bottom:1.3rem}
.route-contact .field input,.route-contact .field textarea{border-color:var(--color-field-border);border-radius:var(--field-radius);background:var(--color-field-fill);transition:border-color 160ms,background-color 160ms}
.route-contact .field input:focus,.route-contact .field textarea:focus{background:var(--color-paper);border-color:var(--color-brand)}
.route-contact .field [aria-invalid=true]{border-color:var(--color-error)}
.route-contact .field label{font-size:.84rem}
.route-contact .form-grid{grid-template-columns:1fr 1fr;gap:1rem}
.route-contact .privacy-field{padding-top:.4rem}
.route-contact .privacy-field label{font-size:.78rem}
.route-contact .contact-page form>.button{width:100%;min-height:3.45rem;justify-content:center;gap:1rem}
.route-contact .contact-page form>.button svg{width:18px;height:18px}
.route-contact .contact-reassurance{padding:0 .5rem;align-self:start}
.contact-reassurance-item+ .contact-reassurance-item{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-gold-line)}
.route-contact .contact-reassurance h2{display:grid;grid-template-columns:var(--gold-icon-size) minmax(0,1fr);gap:.85rem;align-items:start;font-size:1.5rem;line-height:1.2;margin:0 0 .9rem}
.route-contact .contact-reassurance p{font-size:.86rem;line-height:1.8;max-width:46ch}
.route-contact .contact-reassurance .text-link{margin-top:1.2rem}
@media(hover:hover) and (pointer:fine){.route-contact .intent-picker input:not(:checked)+span:hover{border-color:var(--color-brand);background:#f1f4eb}}
@media(max-width:1100px){.route-contact .contact-page{column-gap:var(--space-card)}.route-contact .contact-copy{padding:2rem}.route-contact .contact-copy h1{font-size:3.1rem}.route-contact .contact-page form{padding:1.8rem}.route-contact .form-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:800px){.route-contact .contact-page{display:flex;flex-direction:column;gap:var(--space-card);padding-top:2.5rem}.route-contact .contact-copy,.route-contact .contact-page form,.route-contact .contact-reassurance{width:100%}.route-contact .contact-copy h1{font-size:3.5rem}.route-contact .contact-copy>.lead{max-width:56ch}.route-contact .contact-reassurance{padding:1rem .5rem 0}.route-contact .form-grid{grid-template-columns:1fr 1fr;gap:1rem}}
@media(max-width:700px){
 .route-contact .contact-page{padding:2rem 1rem 4rem;gap:1.5rem}
 .route-contact .contact-copy{padding:2rem 1.6rem;border-radius:var(--radius-card)}
 .contact-emblem{width:4.8rem;margin-bottom:1.5rem}
 .route-contact .contact-copy h1{font-size:clamp(2.5rem,10vw,3.3rem)}
 .route-contact .contact-copy>.lead{font-size:.94rem;margin-top:1.4rem}
 .contact-copy-rule{margin-top:1.5rem}
 .route-contact .contact-page form{padding:1.5rem 1.2rem;border-radius:var(--radius-card)}
 .route-contact .intent-picker legend{font-size:1.75rem;margin-bottom:1.2rem}
 .route-contact .intent-picker label>span{padding:.75rem .7rem;gap:.65rem}
 .route-contact .intent-picker .intent-label{font-size:var(--text-caption)}
 .route-contact .form-grid{grid-template-columns:1fr;gap:0}
 .route-contact .contact-reassurance{padding:1rem .6rem 0}
 .route-contact .contact-reassurance h2{font-size:1.5rem}
}
.route-contact.large-text .contact-page{display:flex;flex-direction:column}
.route-contact.large-text .contact-page>*{width:100%}
.route-contact.large-text .form-grid{grid-template-columns:1fr;gap:0}
@media(prefers-reduced-motion:reduce){.route-contact .intent-picker label>span,.route-contact .field input,.route-contact .field textarea{transition:none}}
@media print{.route-contact .contact-page{display:block}.route-contact .contact-copy{background:white}.route-contact .contact-reassurance{margin-top:2rem}}

/* Direct contact uses the established paper/sage composition, without an inactive form. */
.route-contact .contact-details{grid-column:2;grid-row:1/3;align-self:start;padding:2.5rem;background:var(--color-paper);border:1px solid var(--color-line);border-radius:1.6rem}
.contact-details h2{font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.12;font-weight:400;margin:.6rem 0 1.2rem}
.contact-details>p{max-width:48ch;line-height:1.7}
.contact-method,.contact-business{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--color-line)}
.contact-details h3{font-size:.9rem;font-weight:600;margin:0 0 .65rem}
.contact-address{font-size:clamp(1.05rem,2vw,1.4rem);min-height:44px;overflow-wrap:anywhere;max-width:100%}
.contact-address>span:first-child{min-width:0;overflow-wrap:anywhere}
.contact-method>p,.contact-business>p{font-size:.88rem;line-height:1.75;margin-top:.6rem;color:var(--color-lead)}
.route-contact .contact-direct .contact-reassurance{grid-column:1;grid-row:2}
@media(max-width:800px){.route-contact .contact-details{width:100%;padding:1.8rem}.route-contact .contact-direct .contact-reassurance{order:3}}
@media(max-width:400px){.route-contact .contact-details{padding:1.4rem 1.2rem}.contact-address{font-size:1.05rem}}
