/* Daylight on the desk and the edge of the writing paper. */
.contact-page {background:radial-gradient(ellipse at 32% 12%,#354738 0,transparent 58%),var(--dark)}
.contact-page .contact-layout {align-items:start}
.contact-portrait {align-self:stretch;background-position:50% 22%}
.contact-portrait::before {background:linear-gradient(to top,#102318 2%,#11251bf5 34%,#102318c9 55%,#13251a4d 86%),linear-gradient(90deg,#11251b55,transparent 78%)}
.contact-portrait::after {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(113deg,transparent 15%,#fae2a929 34%,#fdebb40d 40%,transparent 51%)}
.contact-letter {width:100%}
.contact-addresses {border-top:1px solid #c3d3b839;padding-top:1rem}
.contact-addresses a {text-decoration-color:#bbcaab8a}
.write-link {display:none}
.enquiry {position:relative;isolation:isolate;min-width:0;scroll-margin-top:1rem;border-color:#99ad905c;background:radial-gradient(ellipse at 100% 0,#43534155,transparent 46%),linear-gradient(148deg,#283d30,#192d21 60%,#1b3025);box-shadow:inset 0 1px #d7e0bb19,0 18px 48px -32px #020b07}
.enquiry::before {content:"";position:absolute;inset:0 8% auto;height:1px;background:linear-gradient(90deg,transparent,#ddd8adbf,transparent);pointer-events:none}
.form-index {display:flex;align-items:center;gap:12px;margin-bottom:1rem}
.form-index .form-step {margin:0;color:#d6dec9;font:600 .73rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.form-index .step-track {width:56px;margin:0}
.enquiry legend {letter-spacing:-.04em}
.project-options label {padding:12px;gap:10px;background:#162a206e;border-color:#83978372}
.project-options input {appearance:none;display:grid;place-items:center;flex:none;width:1.05rem;height:1.05rem;margin:0;border:1px solid #a9b9a2;border-radius:50%;color:#1c3224}
.project-options input:checked {background:#d4e2c8;border-color:#d4e2c8}
.project-options input:checked::after {content:"";width:.24rem;height:.48rem;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.project-options label:has(:checked) {background:linear-gradient(110deg,#455e43,#334c39);border-color:#c4d6af}
.project-options label:has(:focus-visible) {outline:2px solid #edf9e7;outline-offset:2px}
.enquiry :is(textarea,.field input):focus {border-color:#c4d6af;background:#15291d}
.enquiry .advance,.enquiry .back {border-radius:99px;cursor:pointer}
.enquiry .advance {background:linear-gradient(115deg,#e8edda,#c3d5b9);color:#203525;font-weight:600;padding-inline:22px}
.enquiry .advance:active {box-shadow:inset 0 2px 5px #34492d40}
.enquiry:has(.advance[data-finished]) .form-index {display:none}
.enquiry:has(.advance[data-finished]) .enquiry-status {font:normal clamp(1.6rem,3vw,2.3rem)/1.16 var(--serif);color:#edf2e5;max-width:23ch;margin:.5rem 0 1.5rem}
.enquiry:has(.advance[data-finished]) .enquiry-status::before {content:"✓";display:grid;place-items:center;border:1px solid #aac29c;border-radius:50%;width:2.3rem;height:2.3rem;font:1.1rem var(--sans);color:#dce6ca;margin-bottom:1rem}
.enquiry-status:has(a) {border-left:2px solid #d9c59f;padding-left:12px}
@media (hover:hover) {
  .project-options label:hover {border-color:#bfceaf}
  .enquiry .advance:enabled:hover {box-shadow:0 3px 18px #bfdb9b26}
}
@media (max-width:900px) {
  .contact-page .contact-layout {grid-template-columns:minmax(0,1fr)}
  .contact-page:has(.enquiry:not([hidden])) .write-link {display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#f1f4e6;font-weight:600}
  .contact-addresses {margin-top:.8rem}
}
@media (min-width:601px) and (max-width:900px) {
  .contact-portrait {min-height:0;padding-top:0;background-position:center 35%}
  .contact-portrait::before {background:linear-gradient(90deg,#102318f7,#102318de 47%,#10231817)}
  .contact-letter {max-width:68%;padding:30px}
  .project-options {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:no-preference) {
  .contact-portrait::after {animation:desk-light 4s ease-out both}
  .project-options label,.enquiry .advance {transition:background-color .2s,border-color .2s,box-shadow .25s}
  .enquiry fieldset:not([hidden]),.enquiry:has(.advance[data-finished]) .enquiry-status {animation:unfold-step .32s cubic-bezier(.2,.7,.25,1) both}
  .enquiry:has(.advance:disabled) .step-track i {animation:writing-pulse 1.2s ease-in-out infinite alternate}
  @keyframes desk-light {from{transform:translateX(-14%);opacity:.18}to{transform:translateX(0);opacity:1}}
  @keyframes unfold-step {from{opacity:.55;transform:translateY(6px)}to{opacity:1;transform:none}}
  @keyframes writing-pulse {to{opacity:.45}}
}
@media (forced-colors:active) {.project-options input {appearance:auto}.project-options input:checked::after {content:none}}
