/* Page layout uses the shared brand, navigation, buttons and motion system.
   No input component exists in the source system; fields use its fonts,
   line colour, white surface and red focus treatment. */
body.contact-page{padding-top:0}
.contact-page .skip{z-index:50}
.contact-opening{padding:180px 6% 65px}
.contact-opening h1{font-size:clamp(80px,9vw,150px);line-height:.96;letter-spacing:-.06em;color:var(--green);margin:30px 0}
.contact-opening>p:last-child{font-size:17px;line-height:1.6;max-width:650px}
.contact-routing{margin:0 6%}
.contact-routing article{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:28px 0;border-top:1px solid var(--line)}
.contact-routing article:last-child{border-bottom:1px solid var(--line)}
.contact-routing h2{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.045em;line-height:1.12;color:var(--green)}
.contact-routing p{font-size:15px;line-height:1.8;margin-top:10px}
.contact-routing .text-link{flex-shrink:0;min-height:44px}
.contact-direct,.contact-form-section{display:grid;grid-template-columns:1fr 1.3fr;gap:12%}
.contact-page h2:not(.contact-routing h2){font-size:clamp(48px,5vw,76px);line-height:1.06;letter-spacing:-.05em;color:var(--green);margin:23px 0}
.contact-details{padding-top:8px;min-width:0}
.contact-details>a{display:block;font-family:var(--font);font-size:clamp(20px,2.4vw,35px);letter-spacing:-.03em;margin-top:18px;overflow-wrap:anywhere;width:fit-content}
.contact-details>a:hover{text-decoration:underline;text-underline-offset:6px}
.contact-details>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:470px;margin-top:24px}
.contact-placeholder{border-top:1px solid var(--line);padding-top:18px}
.contact-form-section{margin:0 3%;padding:65px 3.2%;border:1px solid var(--line);border-radius:48px;gap:8%;grid-template-columns:.8fr 1.3fr}
.contact-form-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:370px;margin-top:22px}
.contact-form-intro #form-hint{margin-top:32px}
.contact-form-intro>p:last-child{font-size:13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field{min-width:0}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:13px;font-weight:500;margin-bottom:10px}
.field label span{font-weight:400}
.field input,.field select,.field textarea{display:block;width:100%;min-height:52px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--deep);padding:14px 16px;font:400 16px/1.5 'DM Sans',sans-serif}
.field textarea{resize:vertical;min-height:160px}
.field :is(input,select,textarea):focus-visible{outline:3px solid var(--red);outline-offset:3px}
.field :is(input,select,textarea):hover{border-color:var(--green)}
.required-note,.contact-privacy{font-size:12px;line-height:1.7;margin-bottom:24px}
.contact-privacy{margin:22px 0}
.contact-page button.button{border:0;cursor:pointer}
.form-status{font-size:14px;line-height:1.7;margin-top:18px}
.form-status:empty{display:none}
.contact-locations{margin:75px 6% 0;display:flex;justify-content:space-between;align-items:center;gap:40px}
.contact-locations p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:570px}
.contact-locations .button{flex-shrink:0}
@media(max-width:1000px){.contact-opening{padding-top:165px}.contact-direct{gap:7%}.contact-form-section{grid-template-columns:1fr;gap:35px}.contact-form-intro>p:not(.eyebrow){max-width:570px}.contact-form-intro #form-hint{margin-top:22px}.contact-locations{align-items:start;flex-direction:column;gap:24px}.contact-routing article{gap:25px}}
@media(max-width:700px){.contact-opening{padding:135px 6% 45px}.contact-opening h1{font-size:clamp(58px,15vw,92px);line-height:1;margin:26px 0}.contact-opening>p:last-child{font-size:14px}.contact-opening br:not(h1 br){display:none}.contact-routing article{align-items:start;flex-direction:column;gap:14px;padding:24px 0}.contact-routing h2{font-size:29px}.contact-routing p{font-size:14px}.contact-direct{grid-template-columns:1fr;gap:20px}.contact-page h2:not(.contact-routing h2){font-size:clamp(40px,10.5vw,65px)}.contact-form-section{margin:0 4%;padding:35px 6%;border-radius:30px}.form-grid{grid-template-columns:1fr;gap:22px}.contact-form-intro>p:not(.eyebrow){font-size:14px}.contact-locations{margin:55px 6% 0}.contact-locations p:not(.eyebrow){font-size:14px}}

.contact-page button.button:disabled{opacity:.5;cursor:not-allowed}
