/* Contact page — layout only; colours, type and header/menu/cursor/footer come from the global styles. */
.contact-page{min-height:100vh;padding:clamp(150px,14vw,210px) var(--pad) clamp(90px,10vw,150px)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(60px,8vw,150px);align-items:start}
.contact-intro{position:sticky;top:110px;min-height:62vh;display:flex;flex-direction:column;justify-content:space-between}
.contact-kicker{margin:0 0 28px;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-title{margin:0;max-width:8ch;font-size:clamp(58px,7vw,118px);font-weight:500;line-height:.88;letter-spacing:-.055em;text-transform:uppercase}
.contact-copy{margin:38px 0 0;max-width:430px;font-size:clamp(18px,1.65vw,28px);line-height:1.18;letter-spacing:-.025em}
.contact-direct{margin-top:70px}
.contact-direct-label{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-direct a{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:clamp(16px,1.25vw,21px)}
.contact-form{width:100%}
.field{border-top:1px solid var(--line);padding:20px 0 30px;transition:border-color .25s ease}
.field:last-of-type{border-bottom:1px solid var(--line)}
.field:focus-within{border-top-color:var(--ink)}
.field-label{display:block;margin-bottom:16px;font-size:10px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.field input,.field textarea{width:100%;border:0;outline:0;padding:0;background:transparent;font:inherit;color:inherit;font-size:clamp(24px,2.4vw,40px);line-height:1.05;letter-spacing:-.035em;border-radius:0;resize:none;-webkit-appearance:none;appearance:none}
.field textarea{min-height:180px;line-height:1.15}
.field input::placeholder,.field textarea::placeholder{color:rgba(10,10,10,.22)}
.select{position:relative}
.select-trigger{width:100%;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;border:0;padding:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:clamp(24px,2.4vw,40px);line-height:1.05;letter-spacing:-.035em;cursor:pointer;border-radius:0}
.select-trigger:focus-visible,.select-option:focus-visible,.submit:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.select-value.is-placeholder{color:rgba(10,10,10,.22)}
.select-mark{flex:0 0 auto;font-size:18px;line-height:1;transition:transform .25s ease}
.select.is-open .select-mark{transform:rotate(45deg)}
.select-menu{max-height:0;overflow:hidden;opacity:0;visibility:hidden;padding-top:0;transition:max-height .38s cubic-bezier(.22,.61,.36,1),opacity .22s ease,padding .38s ease,visibility 0s .38s}
.select.is-open .select-menu{max-height:420px;opacity:1;visibility:visible;padding-top:28px;transition-delay:0s}
.select-option{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--line);padding:14px 0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:15px;line-height:1.2;cursor:pointer;border-radius:0}
.select-option:last-child{border-bottom:1px solid var(--line)}
.select-option:hover,.select-option:focus-visible{opacity:.5}
.select-option[aria-selected="true"]::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.form-actions{display:flex;justify-content:flex-end;padding-top:30px}
.submit{border:0;border-bottom:1px solid currentColor;padding:4px 0 5px;background:transparent;color:inherit;font:inherit;font-size:clamp(18px,1.6vw,26px);line-height:1;letter-spacing:-.025em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:opacity .2s ease}
.submit:hover{opacity:.55}
.secondary{margin-top:clamp(100px,12vw,180px);padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.secondary-title{margin:0;font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.secondary-copy{margin:0;max-width:600px;font-size:clamp(20px,2vw,32px);line-height:1.08;letter-spacing:-.035em}
.secondary-copy a{display:inline-block;margin-top:20px;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:15px;letter-spacing:0}
@media(max-width:980px){.contact-layout{grid-template-columns:1fr;gap:90px}.contact-intro{position:static;min-height:0}.contact-title{max-width:none}.secondary{grid-template-columns:1fr}}
@media(max-width:900px){.contact-page{padding-top:clamp(150px,22vw,190px)}}
@media(max-width:640px){.contact-page{padding-top:150px}.contact-title{font-size:clamp(52px,16vw,76px)}.contact-copy{font-size:19px}.field{padding:17px 0 24px}.field input,.field textarea,.select-trigger{font-size:26px}.field textarea{min-height:150px}.form-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.field,.select-mark,.select-menu,.submit{transition:none}}
