/* Matteo Brioschi - Contact one-screen layout, isolated to /contact/. */
body.page-contact {background:#efede7;color:#171716;}
body.page-contact .site-nav {flex:none;color:#f1eee8;}
body.page-contact #main {background:#efede7;}
body.page-contact .contact-onepage {background:#efede7;}
body.page-contact .contact-onepage-inner {
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  align-items:center;
  gap:clamp(28px,5vw,90px);
  min-height:100%;
  padding-block:clamp(28px,5vh,62px);
}
body.page-contact .contact-intro{min-width:0;}
body.page-contact .contact-intro .section-kicker{font-size:10px;letter-spacing:.18em;color:#766f67;}
body.page-contact .contact-intro h1{
  margin:28px 0 24px;
  color:#101111;
  font-family:var(--d);
  font-size:clamp(65px,7.7vw,118px);
  font-weight:800;
  line-height:.98;
  letter-spacing:-.094em;
}
body.page-contact .contact-intro h1 i{display:inline-block;color:#9d9084;font-weight:400;font-style:normal;}
body.page-contact .contact-lead{max-width:475px;font-size:clamp(14px,1.25vw,17px);line-height:1.75;color:#55504b;margin:0;}
body.page-contact .contact-addresses{margin-top:clamp(32px,6vh,64px);display:grid;gap:21px;}
body.page-contact .contact-address{display:grid;gap:8px;}
body.page-contact .contact-address-label{color:#80766b;font-size:9px;letter-spacing:.16em;font-weight:700;}
body.page-contact .contact-address a{width:max-content;max-width:100%;border-bottom:1px solid #b8aea4;padding-bottom:6px;font-family:var(--d);font-size:clamp(17px,2vw,25px);font-weight:600;letter-spacing:-.055em;overflow-wrap:anywhere;}
body.page-contact .contact-address a span{font-size:.7em;margin-left:8px;}
body.page-contact .contact-address a:hover{border-color:#1c1d1e;}
body.page-contact .contact-location{color:#8b8177;font-size:9px;letter-spacing:.14em;font-weight:700;margin:clamp(28px,5vh,50px) 0 0;}
body.page-contact .contact-location span{padding:0 8px;}
body.page-contact .contact-panel{
  align-self:center; min-width:0;
  background:radial-gradient(circle at 100% 0%,#343034 0%,transparent 48%),#151718;
  color:#f2eee8;
  padding:clamp(26px,3.5vw,50px);
  box-shadow:0 22px 65px rgba(14,14,14,.11);
}
body.page-contact .contact-panel-kicker{display:block;letter-spacing:.19em;color:#b6a99c;font-weight:700;font-size:9px;}
body.page-contact .contact-panel h2{font-family:var(--d);font-size:clamp(37px,4.4vw,62px);line-height:1.08;letter-spacing:-.075em;margin:23px 0 22px;color:#faf6f0;}
body.page-contact .contact-panel h2 i{font-weight:400;font-style:normal;color:#ab998a;}
body.page-contact .contact-panel-lead{max-width:455px;font-size:14px;color:#c3bbb3;line-height:1.75;margin:0;}
body.page-contact .contact-panel-topics{display:grid;margin:28px 0 26px;border-top:1px solid rgba(255,255,255,.16);}
body.page-contact .contact-panel-topics span{padding:10px 0;font-size:12px;color:#d8d0c7;border-bottom:1px solid rgba(255,255,255,.16);}
body.page-contact .contact-cta{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:14px 18px;background:#eee9e2;color:#151718;font-weight:700;font-size:13px;border:0;transition:background-color .2s;}
body.page-contact .contact-cta:hover{background:#dac7b4;}
body.page-contact .contact-secondary-link{display:block;width:max-content;margin-top:19px;padding-bottom:7px;border-bottom:1px solid #9c9288;font-size:12px;color:#ddd5cd;}
body.page-contact .contact-panel-note{margin:24px 0 0;color:#9f9790;font-size:10px;line-height:1.65;}
/* Compact real enquiry form when activated in config.php. */
body.page-contact .contact-form{gap:12px;}
body.page-contact .contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
body.page-contact .contact-form label{font-size:11px;color:#e3dbd3;gap:6px;}
body.page-contact .contact-form input:not([type=checkbox]),
body.page-contact .contact-form select,
body.page-contact .contact-form textarea{background:#252828;border-color:#66635e;color:#f5f1eb;border-radius:0;padding:10px 11px;font-size:12px;}
body.page-contact .contact-form textarea{min-height:84px;resize:vertical;}
body.page-contact .contact-form select option{background:#252828;color:#f5f1eb;}
body.page-contact .contact-form .consent{font-size:10px;line-height:1.5;font-weight:400;color:#bdb5ad;}
body.page-contact .contact-form .consent a{color:#faf2e7;text-decoration:underline;}
body.page-contact .contact-form .contact-submit{text-align:left;margin-top:2px;}
body.page-contact .contact-panel .notice{margin-bottom:12px;font-size:11px;padding:9px;}
@media(min-width:901px) and (min-height:740px){
  body.page-contact{height:100vh;height:100svh;overflow:hidden;}
  body.page-contact #main{height:calc(100svh - 83px);min-height:0;overflow:hidden;}
  body.page-contact .contact-onepage{height:100%;}
}
@media(min-width:901px) and (max-height:850px){
  body.page-contact .contact-onepage-inner{padding-block:20px;}
  body.page-contact .contact-intro h1{font-size:clamp(64px,6.6vw,91px);margin:13px 0 15px;}
  body.page-contact .contact-addresses{margin-top:24px;gap:14px;}
  body.page-contact .contact-location{margin-top:21px;}
  body.page-contact .contact-panel{padding:clamp(20px,2.2vw,32px);}
  body.page-contact .contact-panel h2{font-size:clamp(36px,3.6vw,50px);margin:14px 0 13px;}
  body.page-contact .contact-panel-topics{margin:19px 0 16px;}
  body.page-contact .contact-panel-topics span{padding:7px 0;}
  body.page-contact .contact-panel-note{margin-top:15px;}
}
@media(max-width:900px){
  body.page-contact{height:auto;overflow-y:auto;}
  body.page-contact #main{height:auto;overflow:visible;}
  body.page-contact .contact-onepage-inner{grid-template-columns:1fr;gap:30px;padding-block:45px;}
  body.page-contact .contact-intro h1{font-size:clamp(62px,10vw,99px);}
  body.page-contact .contact-addresses{margin-top:28px;}
  body.page-contact .contact-location{margin-top:25px;}
  body.page-contact .contact-panel{width:100%;max-width:700px;padding:32px;}
}
@media(max-width:540px){
  body.page-contact .contact-onepage-inner{padding-block:38px;gap:26px;}
  body.page-contact .contact-intro h1{font-size:clamp(57px,13vw,77px);margin:19px 0;}
  body.page-contact .contact-panel{padding:23px;}
  body.page-contact .contact-panel h2{font-size:clamp(36px,9vw,48px);}
  body.page-contact .contact-form-row{grid-template-columns:1fr;gap:12px;}
  body.page-contact .contact-panel-topics{margin:22px 0 20px;}
}
@media(prefers-reduced-motion:reduce){body.page-contact .contact-cta{transition:none}}
