:root {
  --dcc-navy:#10243d;
  --dcc-blue:#1e466c;
  --dcc-teal:#2f918b;
  --dcc-teal-soft:#e4f4f1;
  --dcc-ink:#263f52;
  --dcc-muted:#617989;
  --dcc-line:#cbdbe2;
  --dcc-bg:#edf4f6;
}

body:has(.dc-contact) {
  background:var(--dcc-bg);
}

body:has(.dc-contact) .block-page-title-block {
  display:none;
}

.dc-contact,
.dc-contact * {
  box-sizing:border-box;
}

.dc-contact {
  width:min(1220px,calc(100% - 40px));
  margin:28px auto 80px;
  color:var(--dcc-ink);
}

.dc-contact__hero {
  position:relative;
  overflow:hidden;
  padding:54px clamp(28px,5vw,68px);
  border:1px solid #b9d0da;
  border-top:7px solid var(--dcc-teal);
  border-radius:22px;
  background:radial-gradient(circle at 92% 8%,rgba(65,155,148,.26),transparent 28%),linear-gradient(145deg,#fff,#e7f1f5);
  box-shadow:0 22px 52px rgba(16,36,61,.11);
}

.dc-contact__hero h1 {
  max-width:760px;
  margin:0 0 14px;
  color:var(--dcc-navy);
  font:750 clamp(2.9rem,6vw,5.4rem)/.95 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}

.dc-contact__hero>p:last-child {
  max-width:760px;
  margin:0;
  color:#456277;
  font:1.08rem/1.7 Georgia,"Times New Roman",serif;
}

.dc-contact__eyebrow {
  margin:0 0 12px;
  color:#176b66;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.dc-contact__privacy {
  margin:20px 0;
  padding:16px 20px;
  border:1px solid #e1b94f;
  border-left:7px solid #b77b00;
  border-radius:12px;
  background:#fff8df;
  color:#4a390c;
  font-size:.94rem;
  line-height:1.55;
  box-shadow:0 9px 24px rgba(74,57,12,.07);
}

.dc-contact__layout {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr);
  gap:22px;
  align-items:start;
}

.dc-contact__details,
.dc-contact__card {
  border-radius:20px;
  box-shadow:0 20px 46px rgba(16,36,61,.1);
}

.dc-contact__details {
  position:sticky;
  top:24px;
  padding:34px;
  background:radial-gradient(circle at 96% 3%,rgba(73,176,167,.27),transparent 32%),linear-gradient(145deg,var(--dcc-navy),var(--dcc-blue));
  color:#fff;
}

.dc-contact__details .dc-contact__eyebrow {
  color:#89d8d1;
}

.dc-contact__details h2,
.dc-contact__card h2 {
  margin:0 0 14px;
  font:750 clamp(1.8rem,3.5vw,2.7rem)/1.08 Georgia,"Times New Roman",serif;
}

.dc-contact__details h2 {
  color:#fff;
}

.dc-contact__details>p:not(.dc-contact__eyebrow) {
  margin:0 0 28px;
  color:#dbe7ed;
  line-height:1.65;
}

.dc-contact__detail {
  padding:15px 0;
  border-top:1px solid rgba(255,255,255,.17);
}

.dc-contact__detail span,
.dc-contact__detail strong {
  display:block;
}

.dc-contact__detail span {
  margin-bottom:4px;
  color:#9fc4d2;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dc-contact__detail strong {
  color:#fff;
  font-size:.95rem;
}

.dc-contact__card {
  padding:clamp(26px,4vw,44px);
  border:1px solid var(--dcc-line);
  background:#fff;
}

.dc-contact__card h2 {
  color:var(--dcc-navy);
}

.dc-contact__card .form-item {
  margin:0 0 18px;
}

.dc-contact__card label {
  display:block;
  margin:0 0 7px;
  color:var(--dcc-navy);
  font-size:.9rem;
  font-weight:800;
}

.dc-contact__card :is(input[type="text"],input[type="email"],select,textarea) {
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #b8cbd5;
  border-radius:10px;
  background:#fbfdfe;
  color:var(--dcc-ink);
  font:inherit;
}

.dc-contact__card textarea {
  min-height:170px;
  resize:vertical;
}

.dc-contact__card :is(input,select,textarea):focus {
  outline:3px solid rgba(47,145,139,.18);
  outline-offset:1px;
  border-color:var(--dcc-teal);
  background:#fff;
}

.dc-contact__card .description {
  margin-top:6px;
  color:var(--dcc-muted);
  font-size:.79rem;
  line-height:1.45;
}

.dc-contact__submit {
  min-height:48px;
  padding:0 24px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--dcc-teal)!important;
  color:#fff!important;
  font-size:.94rem!important;
  font-weight:900!important;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(47,145,139,.24);
}

.dc-contact__submit:hover,
.dc-contact__submit:focus {
  background:#24736e!important;
}

.dc-contact__trap {
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media(max-width:850px) {
  .dc-contact {
    width:calc(100% - 22px);
    margin-top:14px;
  }
  .dc-contact__layout {
    grid-template-columns:1fr;
  }
  .dc-contact__details {
    position:relative;
    top:auto;
  }
  .dc-contact__hero {
    padding:38px 24px;
  }
}

