.contact-page{
  --contact-red:#8E1212;
  --contact-red-dark:#8E1212;
}
.contact-page .contact-hero{
  position:relative;height:500px;color:#fff;overflow:hidden;background:#252525;
}
.contact-page .contact-hero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;
}
.contact-page .contact-hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(16,14,12,.62) 0%,rgba(16,14,12,.28) 48%,rgba(16,14,12,.18) 100%);
}
.contact-page .contact-hero-in{
  position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:36px 0;
}
.contact-page .contact-hero .qs-kicker{color:#fff;letter-spacing:.18em}
.contact-page .contact-hero h1{
  font-family:var(--font-serif, "Cormorant Garamond", Georgia, serif);font-weight:500;
  font-size:clamp(48px,7vw,86px);line-height:.92;margin:12px 0 18px;max-width:640px;letter-spacing:-1px;
}
.contact-page .contact-hero-sub{max-width:460px;margin:0;font-size:17px;line-height:1.5;opacity:.95}
.contact-page .contact-hero-note{
  position:absolute;z-index:1;right:7%;top:72px;margin:0;text-align:right;
  font:italic 500 26px/1.15 "Cormorant Garamond", Georgia, serif;
  transform:rotate(-7deg);
}
.contact-page .contact-hero-note:after{
  content:"";display:block;width:42px;height:2px;margin:12px 0 0 auto;background:var(--contact-red);
}

.contact-page .contact-benefits{background:#fff;border-bottom:1px solid #F2EFEB}
.contact-page .contact-benefits-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:28px 0;
}
.contact-page .contact-benefits-grid article{
  display:flex;align-items:flex-start;gap:12px;padding:8px 22px;border-right:1px solid #F2EFEB;
}
.contact-page .contact-benefits-grid article:first-child{padding-left:0}
.contact-page .contact-benefits-grid article:last-child{border-right:0;padding-right:0}
.contact-page .contact-benefits-grid .fi{color:var(--contact-red);font-size:20px;margin-top:3px;flex:none}
.contact-page .contact-benefits-grid strong{display:block;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.contact-page .contact-benefits-grid span{display:block;color:#606060;font-size:13px;line-height:1.4;margin-top:4px}

.contact-page .contact-main{padding:72px 0 40px;background:#fff}
.contact-page .contact-layout{display:grid;grid-template-columns:.42fr .58fr;gap:72px;align-items:start}
.contact-page .contact-details .qs-copy{margin-bottom:28px}
.contact-page .contact-lines{list-style:none;margin:0 0 28px;padding:0}
.contact-page .contact-lines li{display:flex;align-items:flex-start;gap:14px;margin:0 0 22px;color:#252525}
.contact-page .contact-lines .fi{color:var(--contact-red);font-size:20px;margin-top:4px;flex:none}
.contact-page .contact-lines a,.contact-page .contact-lines span{display:block;font-weight:600}
.contact-page .contact-lines a:hover{color:var(--contact-red)}
.contact-page .contact-lines small{display:block;margin-top:4px;color:#606060;font-weight:400;font-size:13px;line-height:1.45}
.contact-page .contact-agency{
  background:#FAF8F5;border:1px solid #F2EFEB;border-radius:10px;padding:22px 22px 8px;
}
.contact-page .contact-agency p{color:#606060;font-size:14px;line-height:1.6;margin:0 0 14px}
.contact-page .contact-agency a{color:#252525;text-decoration:underline;text-underline-offset:3px}
.contact-page .contact-agency a:hover{color:var(--contact-red)}

.contact-page .contact-form-col .qs-title{max-width:16ch}
.contact-page .contact-form{display:block}
.contact-page .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-page .contact-fields .is-full{grid-column:1/-1}
.contact-page .contact-form label{
  display:grid;gap:7px;font-size:13px;font-weight:600;color:#252525;
}
.contact-page .contact-form input,
.contact-page .contact-form select,
.contact-page .contact-form textarea{
  width:100%;box-sizing:border-box;height:52px;border:1px solid #F2EFEB;border-radius:8px;
  padding:14px 16px;background:#fff;color:#252525;
  font:500 15px/1.4 var(--body), "Source Sans Pro", Arial, sans-serif;outline:none;appearance:none;
}
.contact-page .contact-form textarea{height:auto;min-height:150px;resize:vertical}
.contact-page .contact-form input:focus,
.contact-page .contact-form select:focus,
.contact-page .contact-form textarea:focus{border-color:var(--contact-red);box-shadow:none}
.contact-page .contact-form input:focus-visible,
.contact-page .contact-form select:focus-visible,
.contact-page .contact-form textarea:focus-visible,
.contact-page .contact-submit:focus-visible,
.contact-page .contact-faq-trigger:focus-visible{outline:2px solid var(--contact-red);outline-offset:2px}
.contact-page .contact-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23706966' d='M1 1l5 5 5-5'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;
}
.contact-page .contact-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;margin-top:18px;padding:16px 22px;border:0;border-radius:8px;cursor:pointer;
}
.contact-page .contact-privacy{
  display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:14px 0 0;color:#606060;font-size:13px;line-height:1.45;
}
.contact-page .contact-privacy .fi{color:var(--contact-red)}
.contact-page .contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-page .contact-privacy a:hover{color:var(--contact-red)}
.contact-page .contact-hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.contact-page .contact-ok{
  background:#FAF8F5;border-left:3px solid var(--contact-red);padding:14px 16px;margin:0 0 18px;color:#252525;
}
.contact-page .contact-error{color:var(--contact-red);font-size:12px;font-weight:600}

.contact-page .contact-location{
  position:relative;margin:36px 0 0;border-radius:12px;overflow:hidden;min-height:240px;
}
.contact-page .contact-location img{width:100%;height:240px;object-fit:cover;display:block}
.contact-page .contact-location figcaption{
  position:absolute;left:18px;bottom:18px;display:flex;gap:10px;align-items:flex-start;
  background:#fff;border-radius:10px;padding:14px 16px;max-width:min(320px,calc(100% - 36px));
  box-shadow:0 10px 28px rgba(16,12,8,.16);
}
.contact-page .contact-location .fi{color:var(--contact-red);margin-top:2px}
.contact-page .contact-location strong{display:block;font-size:14px}
.contact-page .contact-location span{display:block;color:#606060;font-size:13px;line-height:1.4}

.contact-page .contact-human{padding:28px 0 80px;background:#fff}
.contact-page .contact-human-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact-page .contact-human-photo{position:relative;margin:0;border-radius:12px;overflow:hidden;min-height:420px}
.contact-page .contact-human-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center;display:block}
.contact-page .contact-human-photo figcaption{
  position:absolute;right:20px;bottom:22px;margin:0;color:#fff;text-align:right;
  font:italic 500 28px/1.15 "Cormorant Garamond", Georgia, serif;text-shadow:0 8px 24px rgba(0,0,0,.35);
}
.contact-page .contact-faq-list{margin-top:8px;border-top:1px solid #F2EFEB}
.contact-page .contact-faq-item{border-bottom:1px solid #F2EFEB}
.contact-page .contact-faq-trigger{
  width:100%;background:none;border:0;padding:16px 36px 16px 0;margin:0;
  font:600 15px/1.4 var(--body), "Source Sans Pro", Arial, sans-serif;color:#252525;text-align:left;cursor:pointer;position:relative;
}
.contact-page .contact-faq-trigger:after{
  content:"+";position:absolute;right:0;top:16px;color:var(--contact-red);font-size:22px;line-height:1;
}
.contact-page .contact-faq-trigger[aria-expanded="true"]:after{content:"−"}
.contact-page .contact-faq-panel p{margin:0 0 16px;color:#606060;max-width:none}

.contact-page .contact-cta{position:relative;min-height:320px;color:#fff;overflow:hidden}
.contact-page .contact-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.contact-page .contact-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.62),rgba(12,10,8,.28) 55%,rgba(12,10,8,.2))}
.contact-page .contact-cta-in{
  position:relative;z-index:1;min-height:320px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:48px 0;
}
.contact-page .contact-cta h2{
  font-family:var(--font-serif, "Cormorant Garamond", Georgia, serif);font-weight:500;font-size:clamp(32px,4vw,48px);line-height:1.1;margin:0 0 12px;
}
.contact-page .contact-cta p{margin:0 0 22px;max-width:420px}
.contact-page .contact-cta-note{
  margin:0;text-align:right;font:italic 500 28px/1.15 "Cormorant Garamond", Georgia, serif;transform:rotate(-8deg);
}
.contact-page .contact-cta-note:after{content:"";display:block;width:42px;height:2px;margin:12px 0 0 auto;background:var(--contact-red)}

@media (max-width:1024px){
  .contact-page .contact-layout,.contact-page .contact-human-grid{grid-template-columns:1fr;gap:40px}
  .contact-page .contact-benefits-grid{grid-template-columns:1fr 1fr}
  .contact-page .contact-benefits-grid article{border-right:0;padding:16px 12px;border-bottom:1px solid #F2EFEB}
  .contact-page .contact-hero-note{right:24px;font-size:22px}
}
@media (max-width:768px){
  .contact-page .contact-hero{height:520px}
  .contact-page .contact-hero h1{font-size:52px}
  .contact-page .contact-hero img{object-position:center 30%}
  .contact-page .contact-hero-note{display:none}
  .contact-page .contact-fields{grid-template-columns:1fr}
  .contact-page .contact-cta-in{flex-direction:column;align-items:flex-start}
  .contact-page .contact-cta-note{display:none}
  .contact-page .contact-human-photo,.contact-page .contact-human-photo img{min-height:320px}
  .contact-page .contact-main{padding:48px 0 24px}
}
@media (max-width:430px){
  .contact-page .contact-hero{height:540px}
  .contact-page .contact-hero h1{font-size:48px}
  .contact-page .contact-benefits-grid{grid-template-columns:1fr 1fr;gap:0}
  .contact-page .contact-form input,
  .contact-page .contact-form select{min-height:48px;height:48px}
}
@media (prefers-reduced-motion:reduce){
  .contact-page *{scroll-behavior:auto}
}
html:has(.contact-page){scroll-behavior:smooth}
