@import url("./site-layout-tokens.css?v=20260818-03");

@font-face{font-family:"Montserrat";src:url("/assets/fonts/Montserrat-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Anton";src:url("/assets/fonts/Anton-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}

.cp-contact-section{
  --cp-contact-ink:#000;
  --cp-contact-paper:#fff;
  --cp-contact-line:rgba(0,0,0,.28);
  --cp-contact-line-soft:rgba(0,0,0,.14);
  --cp-contact-muted:rgba(0,0,0,.62);
  --cp-contact-error:#9a2020;
  --cp-contact-ease:cubic-bezier(.7,0,.2,1);
  position:relative;
  z-index:2;
  width:100%;
  color:var(--cp-contact-ink);
  background:var(--cp-contact-paper);
  font-family:"Montserrat",Arial,sans-serif;
  font-synthesis:none;
}
.chapter.cp-contact-section,.page-section.cp-contact-section{padding:0}

.cp-contact-section,.cp-contact-section *,.cp-contact-section *::before,.cp-contact-section *::after{box-sizing:border-box}
.cp-contact-layout{width:100%;margin:0 auto;padding:var(--deck-section-padding-start) var(--section-rail-inline-end) var(--deck-section-padding-end) var(--section-rail-inline-start);display:grid;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);column-gap:clamp(64px,8vw,148px);align-items:start;background:#fff}
.cp-contact-intro{max-width:520px;padding-top:8px}
.cp-contact-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 17px!important;font-size:11px!important;font-weight:720!important;line-height:1.35!important;letter-spacing:.13em!important;text-transform:uppercase}
.cp-contact-eyebrow::after{width:52px;height:1px;background:currentColor;content:"";opacity:.45}
.cp-contact-title{max-width:460px;margin:0!important;font-family:"Anton",Impact,sans-serif!important;font-size:clamp(68px,7vw,112px)!important;font-weight:400!important;line-height:.88!important;letter-spacing:0!important;text-transform:uppercase;text-wrap:balance}
.cp-contact-lede{max-width:46ch;margin:28px 0 0!important;font-size:clamp(15px,1.05vw,17px)!important;line-height:1.65!important;text-wrap:pretty}
.cp-contact-note{margin-top:32px;padding-top:24px;display:grid;gap:10px;border-top:1px solid var(--cp-contact-line-soft)}
.cp-contact-note span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cp-contact-note a{width:max-content;color:#000;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.cp-contact-panel{width:100%;max-width:760px;margin:0;padding-left:clamp(34px,4vw,64px);border-left:1px solid var(--cp-contact-line);background:#fff}
.cp-contact-form-head{min-height:48px;padding:0 0 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--cp-contact-line)}
.cp-contact-form-head p{margin:0!important;font-size:11px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.12em!important;text-transform:uppercase}
.cp-contact-form-head span{color:var(--cp-contact-muted);font-size:11px;line-height:1.4}
.cp-enquiry-form{padding:34px 0 4px;display:block;color:#000;background:#fff}
.cp-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 34px;margin-bottom:30px}
.cp-contact-field{display:grid;gap:9px}
.cp-contact-field--full{grid-column:1/-1}
.cp-contact-field label{font-size:16px!important;font-weight:650!important;line-height:1.35!important;letter-spacing:.025em!important;text-transform:uppercase}
.cp-contact-field input,.cp-contact-field textarea{width:100%;min-height:52px;padding:13px 0;color:#000;border:0;border-bottom:1px solid var(--cp-contact-line);border-radius:0;outline:0;background:transparent;font-family:"Montserrat",Arial,sans-serif;font-size:16px;transition:border-color .2s ease,background-color .2s ease}
.cp-contact-field textarea{min-height:116px;resize:vertical;line-height:1.55}
.cp-contact-field input::placeholder,.cp-contact-field textarea::placeholder{color:rgba(0,0,0,.5)}
.cp-contact-field input:focus,.cp-contact-field textarea:focus{border-color:#000;background:#fff}
.cp-contact-hint{color:var(--cp-contact-muted);font-size:11px}
.cp-contact-consent{margin:0 0 26px;display:flex;align-items:flex-start;gap:12px}
.cp-contact-consent input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;border:1px solid var(--cp-contact-line);border-radius:0;background:#fff;cursor:pointer;display:grid;place-items:center}
.cp-contact-consent input::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;opacity:0;transform:translateY(-1px) rotate(-45deg)}
.cp-contact-consent input:checked{background:#000;border-color:#000}
.cp-contact-consent input:checked::after{opacity:1}
.cp-contact-consent label{font-size:16px!important;line-height:1.55!important;cursor:pointer}
.cp-contact-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start}
.cp-contact-submit{min-width:196px;min-height:52px;padding:0 20px;border:1px solid #000;border-radius:8px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:#000;color:#fff;cursor:pointer;font-family:"Montserrat",Arial,sans-serif;font-size:13px;font-weight:700;transition:transform .22s var(--cp-contact-ease),opacity .2s ease,background .2s ease,color .2s ease}
.cp-contact-submit::after{content:"→";font-size:18px;font-weight:400;transition:transform .22s var(--cp-contact-ease)}
.cp-contact-submit:hover,.cp-contact-submit:focus-visible{background:#fff;color:#000}
.cp-contact-submit:hover::after,.cp-contact-submit:focus-visible::after{transform:translateX(4px)}
.cp-contact-submit:active{transform:translateY(1px)}
.cp-contact-submit[disabled]{opacity:.48;cursor:wait}
.cp-contact-status{display:none;margin:0!important;padding:12px 0;border-top:1px solid var(--cp-contact-line);font-size:16px!important;line-height:1.55!important}
.cp-contact-status.show{display:block}
.cp-contact-status.ok{color:#000}
.cp-contact-status.bad{color:var(--cp-contact-error);border-color:rgba(162,35,35,.45)}
.cp-contact-status.wait{color:var(--cp-contact-muted)}
.cp-contact-bot{position:absolute;left:-5000px}
.cp-contact-section :focus-visible{outline:2px solid #000;outline-offset:3px}

@media(max-width:980px){
  .cp-contact-layout{display:block}
  .cp-contact-intro{max-width:700px;padding-top:0}
  .cp-contact-title{max-width:none}
  .cp-contact-panel{max-width:760px;margin-top:58px;padding:0;border-top:1px solid var(--cp-contact-line);border-left:0}
  .cp-contact-form-head{padding-top:22px}
}

@media(max-width:620px){
  .cp-contact-layout{padding-top:104px;padding-bottom:64px}
  .cp-contact-title{font-size:clamp(56px,17vw,74px)!important}
  .cp-contact-lede{margin-top:22px!important;font-size:15px!important}
  .cp-contact-note{margin-top:26px}
  .cp-contact-panel{margin-top:44px}
  .cp-contact-form-head{min-height:64px}
  .cp-contact-form-head span{max-width:120px;text-align:right}
  .cp-enquiry-form{padding-top:28px}
  .cp-contact-fields{grid-template-columns:1fr;gap:26px}
  .cp-contact-field--full{grid-column:1}
  .cp-contact-actions{grid-template-columns:1fr}
  .cp-contact-submit{width:100%}
}

@media(prefers-reduced-motion:reduce){.cp-contact-section *,.cp-contact-section *::before,.cp-contact-section *::after{transition-duration:.01ms!important}}
