/* Personal contact, composed as a portrait and an open letter. */
.contact-page{background:#fff;color:#252925}
.contact-page .site-header{position:sticky;top:0;height:96px;min-height:96px;padding:20px var(--gutter);background:#fff;color:#252925;border-bottom:1px solid #ededeb;z-index:40}
.contact-page .site-header .original-logo,.contact-page .site-header .language-toggle img{filter:brightness(0);opacity:.85}
.contact-page .site-header .original-logo{width:54px}.contact-page .site-header .brand{padding:0 38px}
.contact-page .site-header nav{gap:clamp(14px,1.7vw,30px);font-size:12px}
.contact-page .site-header #mobile-nav:not([hidden]),.contact-page .site-header:has(#mobile-nav:not([hidden])){background:#fff;color:#252925}
.contact-page .site-header [aria-current=page]{color:#747a70}
.contact-composition{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7.4vw,126px);padding:clamp(48px,5.4vw,88px) var(--gutter) clamp(88px,8vw,138px);align-items:stretch}
.contact-person{position:relative;min-width:0;background:#080808;color:#f6f6f2;overflow:hidden}
.contact-image{position:absolute;margin:0;inset:0 0 210px;overflow:hidden}
.contact-image img{width:100%;height:100%;object-fit:cover;object-position:48% 30%;display:block}
.contact-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#080808);pointer-events:none}
.contact-person-info{position:absolute;bottom:0;left:0;right:0;padding:38px clamp(24px,2.8vw,46px);background:linear-gradient(transparent,#080808 20%)}
.contact-person-info h2{font-size:clamp(20px,1.75vw,27px);line-height:1.4;font-weight:400;letter-spacing:.025em}
.contact-person-info>p{font-size:13px;line-height:1.8;margin-top:8px;color:#babdb8}
.contact-person-details{display:flex;flex-direction:column;gap:7px;margin-top:24px}
.contact-person-details a{font-size:14px;line-height:1.8;overflow-wrap:anywhere;transition:color .25s}
.contact-person-details a:first-child{font-size:19px;letter-spacing:.015em}
.contact-person-details a:hover{color:#b4beac}
.contact-person-info .contact-languages{font-size:12px;letter-spacing:.035em;margin-top:22px;color:#a0a59c}
.contact-conversation{min-width:0;scroll-margin-top:125px}
.contact-intro{margin-bottom:28px}
.contact-intro h1{font-size:clamp(31px,2.9vw,48px);line-height:1.25;font-weight:400;letter-spacing:.035em;text-transform:uppercase}
.contact-intro p{font-size:16px;line-height:1.8;color:#656b61;margin-top:20px}
.contact-page .contact-required{font-size:11px;line-height:1.6;letter-spacing:.015em;color:#7b8075;margin-bottom:22px}
.contact-page #contact-form{margin:0;min-width:0}
.contact-page #contact-form .contact-fields label{font-size:12px;line-height:1.6;letter-spacing:.055em;text-transform:uppercase;margin:0 0 23px;display:block}
.contact-page #contact-form .contact-fields input,.contact-page #contact-form textarea,.contact-page #contact-form select{font-family:var(--font);font-size:16px;font-weight:400;line-height:1.6;display:block;width:100%;min-height:48px;margin-top:5px;border:0;border-bottom:1px solid #c9cdc5;background:transparent;color:#292e29;border-radius:0;padding:10px 0;box-shadow:none;transition:border-color .2s,background .2s;text-transform:none;letter-spacing:0}
.contact-page #contact-form textarea{min-height:108px;resize:vertical}
.contact-page #contact-form input::placeholder,.contact-page #contact-form textarea::placeholder{color:#888e83;opacity:1}
.contact-page #contact-form :is(input,select,textarea):focus{border-color:#343c30;background:#fbfbfa}
.contact-page #contact-form .phone-country-choice{margin-top:5px}
.contact-page #contact-form .phone-country-choice select{margin-top:0;color:transparent!important}
.contact-page #contact-form .phone-country-value{font-family:var(--font);font-weight:400;font-size:16px;left:0;letter-spacing:0}
.contact-page #contact-form .contact-phone-pair{grid-template-columns:112px minmax(0,1fr);gap:24px}
.contact-page #contact-form .contact-name-pair{gap:24px}
.contact-select{display:block;position:relative}
.contact-page #contact-form .contact-select select{appearance:none;padding-right:30px;cursor:pointer}
.contact-select:after{content:'';position:absolute;right:12px;top:19px;width:7px;height:7px;border-right:1px solid #686e65;border-bottom:1px solid #686e65;transform:rotate(45deg);pointer-events:none}
.contact-submit{display:flex;justify-content:flex-start;margin-top:28px}
.contact-submit .primary{min-width:196px;background:#202523;min-height:54px;font-size:12px;letter-spacing:.09em}
.contact-submit .primary:hover{background:#414842}
.contact-status{font-size:14px;line-height:1.8;margin-top:20px;color:#51594d;padding:16px 18px;background:#f3f4f0}
.contact-status:empty{display:none}.contact-no-script{font-size:14px;margin-top:18px}
@media(max-width:1100px){.contact-composition{gap:42px;grid-template-columns:.9fr 1.1fr}.contact-intro h1{font-size:34px}.contact-person-info{padding:30px 23px}.contact-person-details a{font-size:13px}.contact-person-info h2{font-size:20px}}
@media(max-width:800px){.contact-composition{grid-template-columns:1fr;gap:48px;padding-top:40px;padding-bottom:72px}.contact-conversation{grid-row:1}.contact-person{grid-row:2;min-height:620px}.contact-image{inset:0 0 210px}.contact-image img{object-position:center 28%}.contact-person-info{padding:32px}.contact-intro h1{font-size:36px}.contact-intro p{font-size:16px}.contact-person-info h2{font-size:23px}}
@media(max-width:600px){.contact-page .site-header{height:80px;min-height:80px;padding:16px var(--gutter)}.contact-page .site-header .original-logo{width:44px}.contact-composition{padding-top:34px}.contact-intro h1{font-size:clamp(29px,8vw,39px);letter-spacing:.025em}.contact-intro p{margin-top:18px}.contact-intro{margin-bottom:23px}.contact-page #contact-form .contact-name-pair{gap:18px}.contact-page #contact-form .contact-phone-pair{grid-template-columns:104px minmax(0,1fr);gap:20px}.contact-submit .primary{width:100%}.contact-person{min-height:610px}.contact-person-info{padding:28px}.contact-person-info h2{font-size:21px}.contact-person-details a{font-size:14px}.contact-conversation{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.contact-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* An open composition, with the portrait separate from the contact details. */
.contact-intro{padding:clamp(54px,5.4vw,88px) var(--gutter) 0;margin:0}
.contact-intro h1{font-size:clamp(31px,3.2vw,51px);line-height:1.3;letter-spacing:.045em}
.contact-intro-row{display:flex;align-items:center;justify-content:space-between;gap:38px;margin-top:26px}
.contact-intro-row>p{margin:0;font-size:16px;line-height:1.85;color:#666c63}
.contact-direct{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.contact-direct a{font-size:16px;line-height:1.75;transition:color .25s;overflow-wrap:anywhere}
.contact-direct a:first-child{font-size:22px;letter-spacing:.02em}
.contact-direct a:hover{color:#7f8977}
.contact-composition{grid-template-columns:1fr 1.08fr;gap:clamp(48px,7vw,116px);padding-top:58px;align-items:start;scroll-margin-top:125px}
.contact-person{background:none;color:var(--ink);overflow:visible;min-height:0}
.contact-image{position:relative;inset:auto;aspect-ratio:4/5;height:auto;max-height:none;background:#080808}
.contact-image img{object-position:center;aspect-ratio:4/5}
.contact-image:after{display:none}
.contact-person-info{position:static;padding:25px 0 0;background:none}
.contact-person-info h2{font-size:21px;font-weight:400;letter-spacing:.02em}
.contact-person-info>p{font-size:13px;color:#73796e;line-height:1.75;margin-top:4px}
.contact-person-info>a{display:inline-block;font-size:14px;line-height:1.8;margin-top:14px;overflow-wrap:anywhere;transition:color .25s}
.contact-person-info>a:hover{color:#7f8977}
.contact-person-info .contact-languages{margin-top:16px;font-size:12px;color:#73796e}
.contact-form-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:27px}
.contact-form-heading h2{font-size:22px;font-weight:400;letter-spacing:.04em;line-height:1.4;text-transform:uppercase}
.contact-form-heading .contact-required{font-size:11px;line-height:1.6;margin:0;text-align:right;max-width:120px}
.contact-page #contact-form .contact-fields label{font-size:13px;letter-spacing:.015em;text-transform:none;margin-bottom:22px}
.contact-page #contact-form .contact-fields input,.contact-page #contact-form textarea,.contact-page #contact-form select{background:#f7f7f5;border:1px solid #dfe1da;padding:12px 14px;margin-top:8px;min-height:52px}
.contact-page #contact-form .phone-country-choice{margin-top:8px}
.contact-page #contact-form .phone-country-value{left:14px}
.contact-page #contact-form .phone-country-choice select{margin:0}
.contact-page #contact-form :is(input,select,textarea):focus{background:#fff;border-color:#91998a}
.contact-page #contact-form textarea{min-height:122px}
.contact-page #contact-form .contact-name-pair{gap:18px}
.contact-page #contact-form .contact-phone-pair{gap:18px;grid-template-columns:118px minmax(0,1fr)}
.contact-select:after{top:22px;right:16px}
.contact-submit{margin-top:26px}
@media(max-width:1100px){.contact-composition{gap:48px;grid-template-columns:.95fr 1.05fr}.contact-form-heading h2{font-size:20px}.contact-direct a{font-size:15px}.contact-intro h1{font-size:36px}}
@media(max-width:800px){.contact-intro{padding-top:42px}.contact-intro h1{font-size:34px}.contact-intro-row{align-items:flex-start;gap:24px;flex-direction:column}.contact-direct{align-items:flex-start}.contact-composition{grid-template-columns:1fr;gap:44px;padding-top:40px}.contact-form{grid-row:1}.contact-person{grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.contact-person-info{padding:0}.contact-image{aspect-ratio:4/5}.contact-person-info h2{font-size:21px}.contact-image img{object-position:center}}
@media(max-width:600px){.contact-intro{padding-top:35px}.contact-intro h1{font-size:clamp(28px,7.8vw,38px);line-height:1.3;max-width:380px;letter-spacing:.03em}.contact-intro-row{margin-top:21px;gap:20px}.contact-intro-row>p{font-size:16px}.contact-direct a:first-child{font-size:22px}.contact-direct a{font-size:15px}.contact-composition{padding-top:35px;scroll-margin-top:104px}.contact-form-heading h2{font-size:20px}.contact-form-heading{margin-bottom:22px;gap:12px}.contact-page #contact-form .contact-phone-pair{grid-template-columns:110px minmax(0,1fr);gap:14px}.contact-page #contact-form .contact-name-pair{gap:14px}.contact-person{display:block}.contact-person-info{padding-top:22px}.contact-person-info h2{font-size:21px}.contact-person-info>a{font-size:14px}}

/* Put the enquiry first and retain a readable portrait/contact block on tablets. */
@media(max-width:900px){
 .contact-intro{padding-top:40px}
 .contact-intro-row{flex-direction:column;align-items:flex-start;gap:22px}
 .contact-intro-row>p,.contact-direct{min-width:0;max-width:100%}
 .contact-direct{align-items:flex-start}
 .contact-direct a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
 .contact-composition{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:36px;padding-bottom:72px;scroll-margin-top:100px}
 .contact-form{grid-row:1;min-width:0}
 .contact-person{grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;min-height:0}
 .contact-person-info{min-width:0;padding:0}
 .contact-image{min-width:0;aspect-ratio:4/5}
 .contact-person-info h2{font-size:23px;overflow-wrap:break-word}
 .contact-person-info>a{max-width:100%;min-height:44px;display:inline-flex;align-items:center}
 .contact-submit .primary{min-height:54px;text-align:center;white-space:normal}
}
@media(max-width:600px){
 .contact-intro{padding-top:32px}
 .contact-intro h1{font-size:clamp(27px,7.5vw,38px);overflow-wrap:break-word}
 .contact-intro-row{gap:14px}
 .contact-composition{padding-top:32px;padding-bottom:60px;gap:44px}
 .contact-form-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:24px}
 .contact-form-heading .contact-required{text-align:left;max-width:none}
 .contact-person{display:block;max-width:440px;width:100%;margin-inline:auto}
 .contact-person-info{padding-top:22px}
 .contact-person-info h2{font-size:22px}
 .contact-submit .primary{width:100%;min-width:0;padding-inline:18px}
}
