/* PAGE CONTACT, 571:2763: source desktop coordinates, reflow below 1280px. */
.contact-page{--contact-unit:min(.05787037037vw,1px);width:100%;margin-inline:auto}
.contact-page{font-synthesis:none}
.contact-hero h1,.contact-section h2{font-family:var(--serif)}
/* Bind the hero to Figma's actual face/variable axis, not an inherited token.
   Explicit shaping preserves Cormorant's glyph forms despite letter spacing. */
#contact-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-style:normal;font-variation-settings:"wght" 600;font-feature-settings:"liga" 1,"clig" 1,"calt" 1;font-synthesis:none}
.contact-hero{position:relative;height:calc(499 * var(--contact-unit));margin-bottom:calc(1 * var(--contact-unit));overflow:hidden}
.contact-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;object-position:bottom}
.contact-hero h1{position:absolute;left:calc(50% + 24.5 * var(--contact-unit));top:calc(194 * var(--contact-unit));transform:translateX(-50%);width:calc(815 * var(--contact-unit));height:calc(143 * var(--contact-unit));font-size:calc(60 * var(--contact-unit));line-height:calc(72 * var(--contact-unit));font-weight:600;letter-spacing:calc(6 * var(--contact-unit));text-transform:uppercase;text-align:center;color:#fff}
.contact-section{--contact-message-growth:0px;position:relative;height:calc(925 * var(--contact-unit) + var(--contact-message-growth));font-family:"Inter Figma",Inter,Arial,sans-serif;background:#fff}
.contact-section__eyebrow{position:absolute;left:calc(108 * var(--contact-unit));top:calc(80 * var(--contact-unit));width:calc(284 * var(--contact-unit));height:calc(19 * var(--contact-unit));display:flex;align-items:center;font-size:calc(16 * var(--contact-unit));font-weight:500;line-height:calc(11 * var(--contact-unit));letter-spacing:calc(5 * var(--contact-unit));color:#524f4a}
.contact-section h2{position:absolute;left:calc(108 * var(--contact-unit));top:calc(146 * var(--contact-unit));width:calc(651 * var(--contact-unit));height:calc(60 * var(--contact-unit));display:flex;align-items:center;padding-top:calc(2 * var(--contact-unit));font-size:calc(62 * var(--contact-unit));line-height:calc(46 * var(--contact-unit));font-weight:400;color:#000}
.contact-section__intro{position:absolute;left:calc(108 * var(--contact-unit));top:calc(217 * var(--contact-unit));width:calc(622 * var(--contact-unit));height:calc(65 * var(--contact-unit));font-size:calc(17 * var(--contact-unit));line-height:calc(28 * var(--contact-unit));color:#737373}
.contact-section__portrait{position:absolute;left:calc(874 * var(--contact-unit));top:calc(146 * var(--contact-unit));width:calc(746 * var(--contact-unit));height:calc(722 * var(--contact-unit));object-fit:cover}
.contact-form{position:absolute;inset:0;pointer-events:none}
.contact-form>*{pointer-events:auto}
.contact-field{position:absolute;left:calc(108 * var(--contact-unit));top:calc(329 * var(--contact-unit));width:calc(235 * var(--contact-unit));height:calc(75 * var(--contact-unit));background:url("../images/contact/line-short.svg") left calc(74 * var(--contact-unit))/100% calc(1 * var(--contact-unit)) no-repeat}
.contact-field--last_name{left:calc(491 * var(--contact-unit))}
.contact-field--email{left:calc(110 * var(--contact-unit));top:calc(462 * var(--contact-unit));width:calc(233 * var(--contact-unit));background-image:url("../images/contact/line-email.svg")}
.contact-field--phone{left:calc(491 * var(--contact-unit));top:calc(462 * var(--contact-unit))}
.contact-field--message{top:calc(595 * var(--contact-unit));width:calc(618 * var(--contact-unit));height:calc(75 * var(--contact-unit) + var(--contact-message-growth));background-image:url("../images/contact/line-message.svg");background-position:left bottom}
.contact-field>label{display:flex;align-items:center;height:calc(40 * var(--contact-unit));font-family:var(--serif);font-size:calc(32 * var(--contact-unit));font-weight:500;line-height:calc(46 * var(--contact-unit));color:#171716}
.contact-field input,.contact-field textarea,.contact-phone__prefix{display:block;min-width:0;width:100%;height:calc(27 * var(--contact-unit));margin:calc(4 * var(--contact-unit)) 0 0;padding:0;border:0;border-radius:0;background:transparent;font-family:inherit;font-size:calc(16 * var(--contact-unit));font-weight:400;line-height:calc(28 * var(--contact-unit));color:#171716;box-shadow:none}
.contact-field input::placeholder,.contact-field textarea::placeholder{opacity:1;color:#d9d9d9}
.contact-field textarea{min-height:calc(28 * var(--contact-unit));height:calc(28 * var(--contact-unit) + var(--contact-message-growth));resize:none;overflow:hidden}
.contact-field input:focus,.contact-field textarea:focus{outline:none;box-shadow:none}
.contact-phone{display:flex;height:calc(27 * var(--contact-unit));margin-top:calc(4 * var(--contact-unit));align-items:center}
.contact-phone input{margin:0;flex:1;padding-left:calc(4 * var(--contact-unit))}
.contact-phone__prefix{flex:0 0 auto;width:auto;height:100%;margin:0;padding-right:calc(8 * var(--contact-unit))}
.contact-consent{position:absolute;left:calc(108 * var(--contact-unit));top:calc(716 * var(--contact-unit) + var(--contact-message-growth));display:flex;gap:calc(5 * var(--contact-unit));width:calc(589 * var(--contact-unit));height:calc(36 * var(--contact-unit));font-size:calc(12 * var(--contact-unit));line-height:calc(16 * var(--contact-unit));color:#939393;cursor:pointer}
.contact-consent input{appearance:none;flex:0 0 calc(14 * var(--contact-unit));width:calc(14 * var(--contact-unit));height:calc(14 * var(--contact-unit));margin:calc(1 * var(--contact-unit)) 0 0;border:.5px solid #939393;border-radius:2px;background:rgba(252,252,252,.59);cursor:pointer}
.contact-consent input:checked{background:#171716;box-shadow:inset 0 0 0 3px #fff}
.contact-consent span{width:calc(570 * var(--contact-unit));height:calc(36 * var(--contact-unit))}
.contact-submit{position:absolute;left:calc(108 * var(--contact-unit));top:calc(868 * var(--contact-unit) - 56px + var(--contact-message-growth));width:calc(398 * var(--contact-unit));height:56px;display:flex;gap:12px;align-items:center;justify-content:center;padding:12px 24px;border:0;border-radius:0;color:#fcfbf7;background:#171716;font-size:18px;line-height:24px;font-weight:500;letter-spacing:.8px;white-space:nowrap;cursor:pointer}
.contact-submit>span:last-child{font-size:28px;line-height:1;font-weight:300;letter-spacing:0}
.contact-consent input:focus-visible,.contact-submit:focus-visible{outline:2px solid #524f4a;outline-offset:3px}
.contact-form [aria-invalid=true]{outline:1px solid #9c3232;outline-offset:3px}
.contact-form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-feedback{margin:0;padding:24px var(--page-gutter);background:#fff7f5;color:#7e2929;scroll-margin-top:100px;font-size:16px;line-height:1.5}
.contact-feedback ul{list-style:disc;padding-left:20px;margin-top:8px}
.contact-feedback--success{background:#f3f8f2;color:#234328}
.contact-page+.msm-newsletter{margin-top:calc(1 * min(.05787037037vw,1px))}
@media(min-width:1729px){
 .contact-section,.contact-feedback{width:1728px;margin-inline:auto}
 .contact-hero__image{object-fit:cover;object-position:center 45%}
}
@media(max-width:1279px){
 .contact-page{--contact-unit:1px}
 .contact-hero{height:clamp(300px,35vw,440px);margin-bottom:0}
 .contact-hero h1{left:50%;top:50%;transform:translate(-50%,-50%);width:min(815px,calc(100% - 64px));height:auto;font-size:clamp(40px,4.5vw,58px);line-height:1.2;letter-spacing:4px}
 .contact-section{height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;padding:64px var(--page-gutter)}
 .contact-section__eyebrow,.contact-section h2,.contact-section__intro,.contact-section__portrait,.contact-form{position:static;width:auto;height:auto;grid-column:1}
 .contact-section__eyebrow{font-size:14px;line-height:20px;letter-spacing:4px}
 .contact-section h2{margin-top:28px;padding-top:0;font-size:clamp(38px,4.4vw,56px);line-height:1.15}
 .contact-section__intro{margin-top:20px;font-size:16px;line-height:26px}
 .contact-section__portrait{grid-column:2;grid-row:2/5;width:100%;aspect-ratio:746/722;align-self:start;margin-top:28px}
 .contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:36px;margin-top:42px}
 .contact-field{position:relative;inset:auto;width:100%;height:75px}
 .contact-field--message{grid-column:1/-1;height:calc(75px + var(--contact-message-growth))}
 .contact-consent{position:static;width:100%;height:auto;grid-column:1/-1;gap:8px}
 .contact-consent span{width:auto;height:auto}
 .contact-submit{position:static;width:auto;height:56px;grid-column:1/-1;justify-self:start;max-width:100%;padding:12px 24px;font-size:16px}
 .contact-page+.msm-newsletter{margin-top:0}
}
@media(max-width:767px){
 .contact-hero{height:300px}
 .contact-hero__image{object-fit:cover;object-position:65% center}
 .contact-hero h1{width:calc(100% - 40px);font-size:clamp(32px,8vw,44px);letter-spacing:3px}
 .contact-section{display:flex;flex-direction:column;padding:48px 20px}
 .contact-section h2{font-size:clamp(34px,8.9vw,46px);margin-top:24px}
 .contact-section__portrait{order:5;margin-top:40px}
 .contact-form{column-gap:24px;row-gap:32px;margin-top:36px}
 .contact-field--first_name,.contact-field--last_name,.contact-field--email{grid-column:1/-1}
 .contact-submit{width:100%;justify-self:stretch;padding-inline:20px}
 .contact-field>label{font-size:30px}
 .contact-field--phone{grid-column:1/-1}
 .contact-phone input{flex:0 1 220px}
}
@media(max-width:359px){.contact-form{grid-template-columns:1fr}.contact-field--phone{grid-column:auto}}
