/* Contact composition only; independent of quote form and other page sections. */
.cs-contact-studio { position:relative; isolation:isolate; padding:70px 0 80px; background:#fff; overflow:clip; }
.cs-contact-composition { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:clamp(36px,6vw,84px); }
.cs-contact-welcome { min-width:0; }
.cs-contact-welcome .cs-kicker { color:#a13b69; margin-bottom:19px; font-size:10px; }
.cs-contact-welcome .cs-heading { font-size:clamp(35px,3.8vw,50px); line-height:1.14; letter-spacing:-.045em; }
.cs-contact-welcome .cs-heading em { color:#c7216c; }
.cs-contact-intro { max-width:35ch; margin-top:22px; font-size:15px; line-height:1.85; color:#526879; }
.cs-contact-art { position:relative; width:min(100%,410px); margin:12px 0 -12px -14px; }
.cs-contact-art img { width:100%; height:auto; display:block; transform:rotate(-3deg); transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.cs-contact-welcome:hover .cs-contact-art img { transform:translateY(-5px) rotate(-1deg); }
.cs-contact-spark { position:absolute; top:8%; right:2%; color:#1684bd; font-size:33px; transform:rotate(8deg); }
.cs-contact-letter { position:relative; isolation:isolate; min-width:0; padding:39px 37px 24px; background:#fffefd; border:1px solid #dbe5eb; border-radius:3px 36px 3px 3px; box-shadow:0 16px 35px #153d5610; }
.cs-contact-letter::before { content:''; position:absolute; z-index:-2; inset:5px -11px -12px 8px; border-radius:4px 30px 5px 7px; background:#fbe6ef; transform:rotate(2deg); }
.cs-contact-letter::after { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:#fffefd; }
.cs-contact-letter-fold { position:absolute; z-index:1; width:37px; height:37px; right:-1px; top:-1px; border-radius:0 34px 0 6px; border-left:1px solid #e5d6de; border-bottom:1px solid #e5d6de; background:#fff0f6; }
.cs-contact-letter-head { display:flex; justify-content:space-between; gap:18px; align-items:center; padding-bottom:28px; }
.cs-contact-eyebrow { color:#607482; font-size:9px; font-weight:600; line-height:1.6; letter-spacing:.08em; text-transform:uppercase; }
.cs-contact-letter-head h3 { color:#15374b; font-size:clamp(22px,2.2vw,28px); font-weight:500; line-height:1.35; letter-spacing:-.035em; max-width:17ch; margin-top:12px; }
.cs-contact-letter-mark { width:39px; height:39px; flex-shrink:0; color:#dd7ba6; margin-right:7px; transform:rotate(13deg); }
.cs-contact-actions { border-top:1px solid #dbe5eb; }
.cs-contact-action { display:grid; grid-template-columns:27px minmax(0,1fr) 25px; align-items:center; gap:17px; min-height:101px; padding:21px 0; border-bottom:1px solid #dbe5eb; color:#173b51; text-decoration:none; transition:color .2s,background .2s; }
.cs-contact-action-icon { width:25px; height:25px; color:#b62f68; }
.cs-contact-action-copy { min-width:0; }
.cs-contact-action-label { display:block; font-size:11px; line-height:1.5; color:#607482; margin-bottom:7px; }
.cs-contact-action strong { display:block; font-weight:500; font-size:clamp(23px,2.2vw,29px); line-height:1.3; letter-spacing:-.03em; }
.cs-contact-action-arrow { display:block; color:#0d78ad; font-size:25px; line-height:1; transition:transform .2s; }
.cs-contact-action-email strong { font-size:clamp(16px,1.8vw,22px); line-height:1.45; letter-spacing:-.025em; overflow-wrap:anywhere; }
.cs-contact-action:hover { color:#b91d63; background:#fff7fa; }
.cs-contact-action:hover .cs-contact-action-arrow { transform:translate(3px,-3px); color:#b91d63; }
.cs-contact-action:focus-visible { outline:3px solid #147fb8; outline-offset:5px; border-radius:3px; }
.cs-contact-signoff { display:flex; align-items:center; gap:9px; margin-top:21px; color:#647984; font-size:11px; line-height:1.6; }
.cs-contact-signoff>span { color:#c7216c; font-size:22px; line-height:1; }
@media(max-width:1059px) {
  .cs-contact-composition { grid-template-columns:.9fr 1.1fr; gap:35px; }
  .cs-contact-letter { padding:31px 25px 23px; }
  .cs-contact-action { gap:12px; }
  .cs-contact-action strong { font-size:24px; }
  .cs-contact-action-email strong { font-size:18px; }
}
@media(max-width:760px) {
  .cs-contact-studio { padding:46px 0 60px; }
  .cs-contact-composition { grid-template-columns:1fr; gap:17px; max-width:550px; }
  .cs-contact-welcome .cs-heading { font-size:38px; }
  .cs-contact-intro { max-width:37ch; margin-top:18px; font-size:14px; }
  .cs-contact-art { width:min(76%,310px); margin:9px 0 -12px auto; }
  .cs-contact-spark { font-size:25px; right:0; }
  .cs-contact-letter { margin-right:8px; padding:29px 24px 22px; }
  .cs-contact-letter::before { inset:6px -8px -10px 5px; transform:rotate(1.5deg); }
  .cs-contact-letter-head { padding-bottom:22px; gap:10px; }
  .cs-contact-letter-head h3 { font-size:25px; }
  .cs-contact-letter-mark { width:32px; height:32px; margin-right:0; }
  .cs-contact-action { min-height:94px; grid-template-columns:24px minmax(0,1fr) 20px; gap:12px; padding:19px 0; }
  .cs-contact-action strong { font-size:25px; }
  .cs-contact-action-email strong { font-size:17px; }
  .cs-contact-action-icon { width:23px; height:23px; }
  .cs-contact-action-arrow { font-size:24px; }
  .cs-contact-signoff { font-size:10px; }
}
@media(max-width:360px) {
  .cs-contact-welcome .cs-heading { font-size:33px; }
  .cs-contact-letter { padding:27px 17px 20px; }
  .cs-contact-letter-head h3 { font-size:22px; }
  .cs-contact-letter-mark { width:28px; height:28px; }
  .cs-contact-action { gap:10px; grid-template-columns:20px minmax(0,1fr) 17px; }
  .cs-contact-action strong { font-size:21px; }
  .cs-contact-action-email strong { font-size:16px; }
  .cs-contact-action-icon { width:20px; height:20px; }
  .cs-contact-signoff { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .cs-contact-art img,.cs-contact-action,.cs-contact-action-arrow { transition:none; }
  .cs-contact-welcome:hover .cs-contact-art img { transform:rotate(-3deg); }
  .cs-contact-action:hover .cs-contact-action-arrow { transform:none; }
}
