/* Edge look for the contact and 404 pages: restyles the existing contact/404 markup (class names kept so assets/site.js and the pick-a-time widget keep working). */
:root{--amber-700:#9a6206}
.page-head{padding:56px 0 28px}.page-head.center{text-align:center}
.page-head h1,.page-head .section-head h1{font-size:clamp(48px,7vw,104px);line-height:.9;max-width:16ch}.page-head.center h1{margin:0 auto}
.page-head .lede{font-size:20px;max-width:46ch;line-height:1.5;margin:22px 0 0}.page-head.center .lede{margin:22px auto 0}
.page-head .btn-row{justify-content:center}
.section{padding:56px 0}.section--tight{padding:20px 0 56px}.section--alt{background:var(--white);border-block:1px solid var(--line)}
.section-head.center{text-align:center}.section-head h2{font-size:clamp(34px,4.4vw,58px);margin:0 0 28px}
#demo>.wrap{display:grid;gap:32px;grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:901px){#demo>.wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
#demo .card,#message-card{background:var(--white);border:1px solid var(--navy);border-radius:3px;box-shadow:none;padding:28px}
#message-card h2{font-size:36px;margin:0 0 8px}
.btn-note{font-size:14px;color:var(--muted);margin:8px 0 0}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn-primary{background:var(--amber)}.btn-ghost{background:var(--amber)}.btn-sm{min-height:40px;padding:8px 16px;font-size:14px}
.form-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.field--full{grid-column:1/-1}}
.field label{display:block;font-weight:700;margin-bottom:6px;font-size:15px}.field .req{color:var(--blue2)}.field .hint{font-weight:400;color:var(--muted)}
.field input,.field textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--navy)}
.field textarea{min-height:140px;resize:vertical}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{margin-top:16px;padding:14px 16px;border:1px solid var(--navy);background:var(--sky);border-radius:3px}
.stages{display:grid;gap:24px;grid-template-columns:1fr}@media (min-width:760px){.stages{grid-template-columns:repeat(3,1fr)}}
.stage{border-top:2px solid var(--navy);padding-top:16px}.stage b{display:block;font:700 28px Edge,sans-serif;margin-bottom:6px}
.contact-strip{background:var(--navy2);color:var(--sky);padding:40px 0}
.contact-strip-grid{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:760px){.contact-strip-grid{grid-template-columns:repeat(3,1fr)}}
.contact-strip .label{display:block;font:12px ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--amber2);margin-bottom:6px}
.contact-strip a{font:700 26px Edge,sans-serif;text-decoration:none}
.footer-contact{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px 40px;font-size:14px;justify-content:space-between}
footer .footer-legal{margin:0;gap:.5rem 1.5rem}footer .copy{opacity:.8}footer .wrap+.wrap{margin-top:20px;border-top:1px solid var(--overlay-light);padding-top:20px}
.stages:before,.stages:after{display:none}
.stage{display:block;position:static}
.stage span{display:block}

.field-error{margin:6px 0 0;color:#b3261e;font-size:14px;font-weight:600}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#b3261e}
