/* A quiet invitation, with the form at the centre of the conversation. */
.contact-page{--contact-line:#c8bfb4;--contact-muted:#625b54;--contact-red:#a72429;max-width:1510px;margin-inline:auto;padding:68px 60px 0;color:var(--ink)}
.contact-page [hidden]{display:none!important}
.contact-layout{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:clamp(44px,6vw,100px);align-items:start}
.contact-kicker{font:600 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.15em;margin:0 0 22px;color:var(--contact-muted)}
.contact-kicker>span{color:var(--contact-red);margin-right:15px}
.contact-intro h1{font:400 clamp(56px,5.1vw,79px)/1.04 var(--serif);letter-spacing:-.04em;margin:30px 0 27px}
.contact-intro h1 em,.contact-visit h2 em{font-weight:400;color:var(--contact-red)}
.contact-lead{font-size:16px;line-height:1.9;max-width:38ch;color:var(--contact-muted);margin:0}
.contact-direct{margin:34px 0 28px;max-width:350px}
.contact-direct .contact-kicker{margin-bottom:10px}
.contact-direct>a{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:17px;width:100%}
.contact-direct>a span{font-size:20px;color:var(--contact-red)}
.contact-direct>a:hover{color:var(--contact-red)}
.contact-photo{position:relative;margin:30px 0 0;overflow:hidden;aspect-ratio:1.52}
.contact-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.contact-photo figcaption{position:absolute;inset:auto 0 0;padding:35px 20px 18px;background:linear-gradient(transparent,rgba(20,17,14,.65));color:#fff;font:italic 22px/1.4 var(--serif)}
.contact-panel{padding:36px clamp(24px,2.7vw,43px) 24px;background:#fcfaf6;border:1px solid #ddd5ca;border-top:2px solid var(--contact-red)}
.contact-panel-heading .contact-kicker{margin-bottom:9px;font-size:9px}
.contact-panel h2{font:400 43px/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 13px;scroll-margin-top:110px}
.contact-panel-heading>p:last-child{font-size:13px;line-height:1.8;color:var(--contact-muted);margin:0 0 27px}
.contact-required-note{font-size:11px;color:var(--contact-muted);margin:0 0 18px}
.contact-form :is(label,legend){font:600 12px/1.5 var(--sans);color:#332c27}
.contact-form :is(label,legend)>span[aria-hidden]{color:var(--contact-red)}
.contact-interests{border:0;margin:0 0 18px;padding:0;min-width:0;scroll-margin-top:110px}
.contact-interests legend{padding:0;margin-bottom:12px}
.contact-interest-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.contact-interest-grid label{position:relative;display:block;cursor:pointer;min-width:0}
.contact-interest-grid input{position:absolute;width:1px;height:1px;opacity:0;left:14px;top:24px;margin:0}
.contact-interest-grid span{display:flex;align-items:center;gap:10px;height:100%;min-height:52px;padding:10px 12px;border:1px solid var(--contact-line);font-size:11px;font-weight:500;line-height:1.55;transition:background .2s,border-color .2s}
.contact-interest-grid span:before{content:'';display:block;flex:0 0 12px;width:12px;height:12px;border:1px solid #9d9185;border-radius:50%;background:transparent}
.contact-interest-grid input:checked+span{background:#f3e9e3;border-color:var(--contact-red);color:#7f1c21}
.contact-interest-grid input:checked+span:before{background:var(--contact-red);border-color:var(--contact-red);box-shadow:inset 0 0 0 3px #f3e9e3}
.contact-interest-grid input:focus-visible+span{outline:2px solid var(--contact-red);outline-offset:3px}
.contact-interest-grid label:hover span{border-color:var(--contact-red)}
.contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 17px}
.contact-fields--secondary{grid-template-columns:1fr 1fr;margin-top:18px;align-items:start}
.contact-field{min-width:0}
.contact-field--wide{grid-column:span 2}
.contact-field>label{display:block;margin-bottom:8px}
.contact-field label small{font:400 10px/1.5 var(--sans);color:var(--contact-muted);margin-left:5px}
.contact-form .contact-field :is(input,select,textarea){appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid var(--contact-line);border-radius:0;background:transparent;color:var(--ink);font:400 16px/1.55 var(--sans);padding:12px 13px;min-height:50px;box-shadow:none;transition:border-color .18s,background .18s}
.contact-form .contact-field input[type=date]{height:50px}
.contact-form .contact-field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}
.contact-form .contact-field textarea{resize:vertical;min-height:122px}
.contact-form .contact-field select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 12px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.contact-form .contact-field :is(input,select,textarea):focus{outline:2px solid var(--contact-red);outline-offset:2px;border-color:var(--contact-red);background-color:#fffdf9}
.contact-form .contact-field [aria-invalid=true]{border-color:var(--contact-red);background:#fff7f4}
.contact-message{margin-top:19px}
.contact-message>p:not(.contact-field-error){font-size:11px;line-height:1.8;color:var(--contact-muted);margin:0 0 10px}
.contact-field-help{font-size:11px;line-height:1.75;color:var(--contact-muted);margin:8px 0 0}
.contact-field-error{font-size:12px;line-height:1.6;color:#9d2027;margin:7px 0 0}
.contact-field-error:empty{display:none}
.contact-error-summary{padding:16px 18px;border:1px solid #dcb9b3;background:#f6e8e2;margin-bottom:24px;font-size:13px;line-height:1.8}
.contact-error-summary p{font-weight:600;margin:0 0 6px}
.contact-error-summary ul{margin:0;padding-left:17px}
.contact-error-summary a{text-decoration:underline;text-underline-offset:3px}
.contact-privacy{font-size:11px;line-height:1.9;color:var(--contact-muted);margin:17px 0}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.contact-upload{position:relative}
.contact-upload-box{display:grid;place-items:center;text-align:center;min-height:95px;border:1px dashed var(--contact-line);color:var(--contact-muted);font:600 12px/1.7 var(--sans);cursor:pointer;background:#fff9f4}
.contact-upload-box small{font:400 11px/1.7 var(--sans)}
.contact-upload input[type=file]:focus-visible+.contact-upload-box{outline:2px solid var(--contact-red);outline-offset:3px}
.contact-buyback{border:0;margin:19px 0 0;padding:0}
.contact-buyback legend{margin-bottom:9px}
.contact-buyback label{display:inline-flex;align-items:center;gap:8px;min-height:34px;margin-right:22px;font-size:12px}
.contact-buyback input{width:16px!important;height:16px!important;min-height:0!important;accent-color:var(--contact-red);padding:0!important}
.contact-form .contact-submit{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;min-height:58px;background:var(--contact-red);border:1px solid var(--contact-red);color:white;border-radius:0;padding:17px 22px;font:600 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background .2s}
.contact-submit:hover{background:#851c22!important}
.contact-submit:disabled{opacity:.7;cursor:wait}
.contact-submit svg{transition:transform .25s}
.contact-submit:hover svg{transform:translateX(4px)}
.contact-submit-note{font-size:10px;text-align:center;color:var(--contact-muted);margin:11px 0 0;line-height:1.7}
.contact-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-success{padding:28px 0 44px}
.contact-success-mark{display:grid;place-items:center;width:50px;height:50px;border:1px solid #928978;border-radius:50%;font-size:24px;color:#53604a;margin-bottom:25px}
.contact-success h3{font:400 37px/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 20px}
.contact-success>p{font-size:15px;line-height:1.9;color:var(--contact-muted)}
.contact-success .contact-reference{font-size:11px;letter-spacing:.08em;margin-top:23px}
.contact-again{display:inline-flex;align-items:center;gap:32px;min-height:44px;border-bottom:1px solid #a69a8b;font-size:12px;margin-top:18px}
.contact-visit{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-top:74px;padding:48px 0 58px;border-top:1px solid var(--contact-line)}
.contact-visit h2{font:400 clamp(31px,3.1vw,44px)/1.2 var(--serif);letter-spacing:-.025em;margin:0}
.contact-visit .contact-kicker{margin-bottom:17px}
.contact-address{position:relative;z-index:1;max-width:340px}
.contact-address h3{font:600 12px/1.7 var(--sans);margin:0 0 12px;text-transform:uppercase;letter-spacing:.1em}
.contact-address address,.contact-address p{font:400 13px/1.9 var(--sans);color:var(--contact-muted);margin:0 0 10px}
.contact-address a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;width:fit-content;border-bottom:1px solid #a69a8b;font-size:12px}
.contact-thread{position:absolute;width:180px;right:0;top:10px;color:var(--contact-red);opacity:.28;pointer-events:none}
.contact-page :is(a,button):focus-visible,.contact-error-summary:focus,.contact-success:focus{outline:2px solid var(--contact-red);outline-offset:5px}
.contact-field :is(input,textarea){scroll-margin-top:130px}
.contact-mobile-jump{display:none}
@media(min-width:1600px){.contact-page{padding-inline:30px}.contact-layout{gap:115px}.contact-intro h1{font-size:86px}}
@media(max-width:1100px){.contact-page{padding:48px 32px 0}.contact-layout{gap:40px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}.contact-intro h1{font-size:61px}.contact-panel{padding:30px 24px 24px}.contact-interest-grid span{padding-inline:9px;font-size:10px;gap:7px}.contact-fields{grid-template-columns:1fr 1fr;gap:15px 12px}.contact-field--wide{grid-column:auto}.contact-field label small{display:block;margin:2px 0 0}}
@media(max-width:820px){.contact-page{padding:36px 24px 0}.contact-layout{grid-template-columns:1fr;gap:34px}.contact-intro h1{font-size:clamp(48px,8vw,67px);margin:20px 0}.contact-intro h1 br:nth-of-type(2){display:none}.contact-lead{max-width:55ch;font-size:15px}.contact-direct{margin:24px 0 0;max-width:340px}.contact-photo{display:none}.contact-panel{padding:30px 28px 24px}.contact-panel h2{font-size:40px}.contact-mobile-jump{display:flex;align-items:center;justify-content:space-between;gap:35px;width:fit-content;min-height:44px;border-bottom:1px solid var(--contact-red);font-size:12px;margin:18px 0}.contact-interest-grid span{font-size:12px;padding:12px 14px}.contact-field label small{display:inline;margin-left:4px}.contact-visit{grid-template-columns:1fr 1fr;gap:28px;margin-top:42px;padding:34px 0 42px}.contact-thread{display:none}}
@media(max-width:480px){.contact-page{padding:28px 20px 0}.contact-intro h1{font-size:48px}.contact-intro h1 br:nth-of-type(2){display:block}.contact-panel{padding:26px 18px 20px}.contact-panel-heading>p:last-child{font-size:12px;margin-bottom:22px}.contact-fields,.contact-fields--secondary{grid-template-columns:1fr;gap:17px}.contact-interest-grid{gap:8px}.contact-interest-grid span{padding:10px 9px;font-size:10px;gap:7px;min-height:58px}.contact-interests legend{font-size:12px}.contact-panel h2{font-size:38px}.contact-visit{grid-template-columns:1fr;gap:28px}.contact-direct>a{font-size:16px}.contact-visit h2{font-size:35px}.contact-buyback label{margin-right:14px}}
@media(max-width:360px){.contact-interest-grid{grid-template-columns:1fr}.contact-interest-grid span{min-height:48px;font-size:12px;padding:11px 12px;gap:10px}}
@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important;scroll-behavior:auto!important}}
