.review-banner{background:#e9ddc0;color:#17382b;padding:10px 24px;text-align:center;font:500 13px/1.5 'Lora',Georgia,serif;letter-spacing:.03em}.review-banner strong{letter-spacing:.12em;font-size:11px;margin-right:16px}.contact-stage{background:radial-gradient(ellipse at 8% 10%,#f1ecdfff,transparent 48%),#faf9f5;padding:62px 0 0}.contact-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(40px,5vw,84px);align-items:start}.contact-introduction{padding:28px 0 0;min-width:0}.contact-introduction>.eyebrow{color:#7a6332;margin-bottom:25px}.contact-introduction h1{font-size:clamp(3.4rem,5.3vw,5.05rem);letter-spacing:-.03em;line-height:1.08}.contact-introduction h1 em{color:#6c7048;font-weight:400}.contact-lede{color:#526158;font-size:19px;line-height:1.8;max-width:34ch;margin:28px 0 0}.contact-person{display:flex;align-items:center;gap:17px;margin-top:30px}.contact-person-rule{width:45px;height:1px;background:#a58c50}.contact-person strong{display:block;font:500 27px/1.3 var(--serif)}.contact-person span:not(.contact-person-rule){display:block;font-size:14px;color:#526158;line-height:1.7}.contact-details{margin-top:36px}.contact-detail-label{font-size:11px;letter-spacing:.13em;color:#6d6a53;margin:0 0 9px}.contact-email{font-size:16px;text-decoration-thickness:1px;text-underline-offset:6px;overflow-wrap:anywhere}.contact-details p:last-child{font-size:15px;line-height:1.7;color:#526158;margin-top:12px}.contact-project-link{display:block;margin:29px 0 0;padding:21px 0 0;border-top:1px solid #d8d2bf;text-decoration:none;max-width:390px}.contact-project-link>span{font-size:14px;line-height:1.65;display:block;color:#526158}.contact-project-link strong{font-size:15px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:5px;text-decoration:underline;text-underline-offset:5px}.contact-card{background:#fffefa;border:1px solid #d7c9a6;border-radius:2px;padding:34px 38px 30px;box-shadow:0 18px 55px #17382b09;position:relative;min-width:0}.contact-card:before{content:'';position:absolute;top:-1px;left:38px;right:38px;height:2px;background:#a99150}.contact-card-heading{position:relative}.contact-card-heading .eyebrow{font-size:11px;letter-spacing:.11em;color:#746641;margin:0 0 12px}.contact-card-heading h2{font-size:35px;letter-spacing:-.02em;line-height:1.2}.contact-card-heading>p:last-child{font-size:15px;line-height:1.7;color:#526158;margin-top:12px;max-width:40ch}#contact-form{margin-top:28px}.contact-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.contact-field{margin-bottom:19px;min-width:0}.contact-field label{display:block;color:#284436;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:9px}.contact-field label>span:not(.contact-optional){font-size:12px;color:#8d733e}.contact-optional{font-size:12px;font-weight:400;color:#687365;margin-left:8px}.contact-field input,.contact-field select,.contact-field textarea{appearance:none;width:100%;min-width:0;border:1px solid #cbd0c3;border-radius:2px;background:#fffefb;color:#17382b;padding:12px 14px;font:400 16px/1.5 var(--sans);transition:border-color .15s,box-shadow .15s;min-height:49px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#6c776d;opacity:1}.contact-field select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%2317382b' stroke-width='1.3'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat}.contact-field textarea{resize:vertical;min-height:116px;line-height:1.7}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:2px solid #a99150;outline-offset:3px;border-color:#607555;box-shadow:0 0 0 3px #b393480c}.contact-field-help{font-size:12px;color:#65715f;margin-top:7px}.contact-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-send{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #17382b;border-radius:2px;background:#17382b;color:#fffdf4;font:500 17px/1.4 var(--sans);padding:16px 21px;min-height:56px;cursor:pointer}.contact-send:hover{background:#254c38}.contact-send:disabled{opacity:.65;cursor:wait}.contact-send>span:last-child{font-size:23px;line-height:1;font-family:Arial,sans-serif;color:#eadbb5}.contact-privacy{font-size:12px;line-height:1.8;color:#5b685c;margin-top:16px}.contact-privacy a{white-space:nowrap;text-underline-offset:3px}.contact-preview-note{font-size:10px;letter-spacing:.08em;color:#79683c;border-top:1px solid #ece7d8;margin-top:17px;padding-top:12px}.contact-closing{display:flex;align-items:center;justify-content:center;gap:23px;color:#8b7541;padding:43px 0 39px}.contact-closing p{font:italic 19px/1.5 var(--serif);color:#626548}.contact-error{border-left:3px solid #923e27;background:#faf2eb;padding:13px 15px;color:#722d1c;font-size:14px;line-height:1.7;margin-bottom:16px}.contact-result{background:#eff2e9;border:1px solid #cbd4bc;padding:22px;margin-top:22px}.contact-result h3{font-size:29px}.contact-result .eyebrow{font-size:10px;margin-bottom:10px}.contact-result p{font-size:14px;line-height:1.75;margin-top:10px}.contact-result details{margin-top:16px;font-size:14px}.contact-result summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.contact-email-envelope{overflow-wrap:anywhere}.contact-result pre{font:13px/1.8 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #cbd4bc;padding-top:15px;margin-top:16px;color:#294333}[hidden]{display:none!important}.contact-launch-hint{font-size:13px;line-height:1.7;color:#6b7465;margin-top:14px}
@media(min-width:1700px){.contact-stage{padding-top:80px}.contact-card{padding:40px 44px}}
@media(max-width:1050px){.contact-grid{gap:36px}.contact-card{padding:30px 27px}.contact-card:before{left:27px;right:27px}.contact-introduction h1{font-size:clamp(3rem,5.3vw,4.3rem)}.contact-field-row{grid-template-columns:1fr;gap:0}}
@media(max-width:780px){.contact-stage{padding:32px 0 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-introduction{padding-top:0}.contact-introduction h1{font-size:clamp(2.8rem,10vw,4.1rem)}.contact-lede{font-size:18px;max-width:37ch;margin-top:24px}.contact-person{margin-top:25px}.contact-details{margin-top:26px}.contact-project-link{margin-top:22px;padding-top:18px;max-width:100%}.contact-card{padding:29px 24px 25px}.contact-card-heading h2{font-size:34px}.contact-card-heading>p:last-child{font-size:16px}.contact-field label{font-size:15px}.contact-field input,.contact-field textarea,.contact-field select{font-size:16px}.contact-privacy{font-size:13px}.contact-closing{gap:15px;padding:32px 0}.contact-closing p{font-size:17px;text-align:center}.review-banner{padding:10px 18px;font-size:12px}.review-banner strong{display:block;margin:0 0 2px;font-size:10px}.contact-preview-note{font-size:10px}.contact-result{padding:18px}}
@media(max-width:370px){.contact-card{padding:25px 19px}.contact-card-heading h2{font-size:31px}.contact-introduction h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field select,.contact-field textarea{transition:none}}

/* Compact form rhythm and a direct route to the form on phones. */
.contact-stage{padding-top:45px}.contact-card{padding-top:29px;padding-bottom:27px}.contact-card-heading>p:last-child{max-width:none}.contact-field{margin-bottom:17px}.contact-field textarea{min-height:100px}#contact-form{margin-top:23px}.contact-privacy{line-height:1.7}
@media(max-width:780px){.contact-stage{padding-top:30px}.contact-grid{gap:0}.contact-introduction>.eyebrow{margin-bottom:17px}.contact-lede{margin:20px 0 0;font-size:17px;line-height:1.75;max-width:40ch}.contact-card{margin-top:29px}.contact-person{margin-top:29px}.contact-details{margin-top:25px}.contact-card-heading>p:last-child{font-size:15px}.contact-field{margin-bottom:17px}}

/* Match the reading and keyboard order to the mobile visual order. */
.contact-grid{grid-template-rows:auto 1fr;row-gap:0}.contact-introduction{grid-column:1;grid-row:1}.contact-card{grid-column:2;grid-row:1/3}.contact-connections{grid-column:1;grid-row:2;min-width:0}
@media(max-width:780px){.contact-grid{grid-template-rows:auto auto auto}.contact-introduction{display:block;grid-column:auto;grid-row:auto}.contact-card{grid-column:auto;grid-row:auto}.contact-connections{grid-column:auto;grid-row:auto}}
