.cf-page{color:#183d41;background:#fff}.cf-container{max-width:1160px;margin:auto;padding:0 32px}.cf-hero{padding:40px 0 48px;background:#f2f8f6;border-bottom:1px solid #d6e6df}.cf-breadcrumb{display:flex;gap:12px;font-size:13px;margin-bottom:32px}.cf-hero h1{font-size:clamp(30px,3.4vw,48px);line-height:1.5;letter-spacing:.05em;margin:0 0 18px}.cf-hero h1 span,.cf-lead span{display:block}.cf-lead{font-size:16px;line-height:1.9}.cf-layout{display:grid;grid-template-columns:minmax(0,730px) minmax(0,300px);gap:64px;padding-top:48px;padding-bottom:80px}.cf-layout h2{font-size:25px;line-height:1.6}.cf-demo,.cf-notice{padding:18px 20px;background:#f4f7f6;border-left:3px solid #527b64;font-size:14px;line-height:1.9;margin:24px 0}.cf-progress{list-style:none;display:flex;padding:0;gap:24px;border-bottom:1px solid #dbe4df;margin:28px 0}.cf-progress li{padding:12px 0;color:#687978;font-size:14px}.cf-progress span{margin-right:10px}.cf-progress [aria-current]{color:#194c3e;font-weight:700;border-bottom:3px solid #39775c}.cf-field{border:0;border-bottom:1px solid #dbe4df;padding:0 0 28px;margin:0 0 28px;min-width:0}.cf-field label:not(.cf-choice),.cf-field legend{font-weight:700;font-size:17px;margin-bottom:8px}.cf-required,.cf-optional{font-size:11px;font-weight:500;display:inline-block;padding:2px 7px;margin-left:8px;border:1px solid #75988a;border-radius:2px;vertical-align:middle}.cf-optional{border-color:#afbdb8;color:#667a73}.cf-help{font-size:13px;color:#566d67;line-height:1.8;margin:8px 0 12px}.cf-field>input,.cf-field textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #9eafa8;border-radius:3px;padding:14px;font:inherit;color:inherit;background:#fff}.cf-field textarea{resize:vertical;min-height:170px}.cf-options{display:grid;gap:10px}.cf-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 15px;box-sizing:border-box;border:1px solid #c8d7cf;border-radius:3px;line-height:1.7;font-size:15px;cursor:pointer}.cf-choice:has(input:checked){border-color:#387553;background:#eff7f0}.cf-choice input{flex-shrink:0;width:18px;height:18px;accent-color:#32714e}.cf-choice span{min-width:0;overflow-wrap:anywhere}.cf-clear{background:none;border:0;text-decoration:underline;color:#395e50;padding:12px 0;min-height:44px;font:inherit;font-size:13px;cursor:pointer}.cf-privacy{display:inline-block;margin:0 0 15px;text-decoration:underline;font-size:14px}.cf-confirm{border:0;cursor:pointer;font:inherit;min-height:52px;width:100%;justify-content:center}.cf-page button:disabled{opacity:.55;cursor:not-allowed}#contact-inputs{padding:0;margin:0;border:0;min-width:0}.cf-guide{background:#f6f9f7;border-top:3px solid #73a68a;padding:24px;align-self:start}.cf-guide h2{font-size:20px;margin-top:0}.cf-guide p{font-size:14px;line-height:1.9}.cf-guide h3{margin-top:28px;font-size:16px}.cf-guide ul{list-style:none;padding:0;margin:0}.cf-guide li{border-top:1px solid #dbe4df;padding:18px 0}.cf-guide a{font-size:14px;font-weight:700;text-decoration:underline}.cf-error-summary{padding:20px;background:#fff4f2;border:1px solid #b45446;margin:24px 0;color:#8f3027}.cf-error-summary h3{margin:0 0 12px;font-size:17px}.cf-error-summary ul{padding-left:20px;margin:0}.cf-error-summary a{text-decoration:underline;display:inline-block;padding:5px 0}.cf-error{color:#9c392b;font-size:14px;line-height:1.7;margin:10px 0 0}[aria-invalid=true]{border-color:#b45446!important}.cf-result dl{margin:24px 0}.cf-result dl>div{border-bottom:1px solid #dbe4df;padding:18px 0}.cf-result dt{font-weight:700;font-size:14px}.cf-result dd{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.cf-result button{cursor:pointer;min-height:52px}.cf-page :focus-visible{outline:3px solid #c09229;outline-offset:3px}.cf-page [hidden]{display:none!important}@media(max-width:800px){.cf-layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:32px}.cf-container{padding-left:20px;padding-right:20px}.cf-hero{padding:24px 0 30px}.cf-breadcrumb{margin-bottom:24px}.cf-layout h2{font-size:22px}.cf-progress{gap:15px}.cf-progress li{font-size:12px}.cf-progress span{margin-right:6px}.cf-choice{padding:12px}.cf-guide{padding:20px}}@media(max-width:390px){.cf-hero h1{font-size:clamp(24px,7.5vw,30px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact visual edition v2. Reuse the homepage palette, font and light artwork.
   All selectors are confined to the existing .cf-* contact surface. */
.cf-page {
  color: var(--ink);
  background: linear-gradient(180deg, #f3f7ff 0, #fff 940px);
}
.cf-container { max-width: 1280px; }
.cf-hero {
  color: #fff;
  padding: 30px 0 68px;
  border-bottom: 1px solid #163e70;
  background: linear-gradient(90deg, #041329f0, #041329b8 60%, #04132924), #041329 url('/assets/contact-trails.png') center bottom / cover no-repeat;
}
.cf-breadcrumb { gap: 14px; margin-bottom: 38px; color: #c5d7ef; font-size: 13px; }
.cf-breadcrumb a { text-decoration: none; }
.cf-breadcrumb a:hover { text-decoration: underline; }
.cf-breadcrumb [aria-current] { color: #fff; }
.cf-hero h1 { margin-bottom: 24px; font-size: clamp(36px, 3.55vw, 58px); font-weight: 800; line-height: 1.45; letter-spacing: .025em; }
.cf-hero h1 span:last-child {
  width: fit-content;
  color: transparent;
  background: linear-gradient(95deg, #6cdbff, #95b9ff 40%, #eaa0f7 78%, #f6c0f2);
  -webkit-background-clip: text;
  background-clip: text;
}
.cf-lead { color: #e4edfb; font-size: 17px; line-height: 1.95; }
.cf-layout { grid-template-columns: minmax(0, 1fr) 304px; gap: 40px; padding-top: 52px; padding-bottom: 90px; align-items: start; }
.cf-layout > section {
  min-width: 0;
  padding: 36px 38px 40px;
  background: #fff;
  border: 1px solid #d9e4f7;
  border-radius: 18px;
  box-shadow: 0 12px 40px #16346a08;
}
.cf-layout h2 { margin-bottom: 10px; font-size: 26px; font-weight: 800; line-height: 1.6; }
.cf-layout > section > p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.cf-demo, .cf-notice {
  margin: 24px 0;
  padding: 16px 18px;
  background: #f3f7fe;
  border: 1px solid #d6e3fa;
  border-left: 3px solid #487cff;
  border-radius: 8px;
  color: #405577;
  font-size: 13px;
  line-height: 1.9;
}
.cf-demo strong { color: #173b7a; }
.cf-progress { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border: 0; margin: 28px 0 34px; }
.cf-progress li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 0 16px; color: #6c7b99; border-bottom: 2px solid #dce6f6; font-size: 14px; }
.cf-progress span { display: grid; place-items: center; flex: none; width: 32px; height: 32px; margin: 0; border-radius: 50%; background: #edf2fc; color: #677a9c; font-size: 12px; font-weight: 700; }
.cf-progress [aria-current] { color: #153d85; border-bottom-color: #5268f3; font-weight: 700; }
.cf-progress [aria-current] span { background: var(--gradient); color: #fff; }
.cf-field { margin-bottom: 26px; padding-bottom: 26px; border-bottom-color: #e0e8f5; }
.cf-field label:not(.cf-choice), .cf-field legend { color: var(--ink); font-size: 16px; font-weight: 700; }
.cf-required, .cf-optional { padding: 2px 8px; border: 0; border-radius: 4px; background: #edf3ff; color: #2058c7; font-size: 11px; line-height: 1.8; font-weight: 600; }
.cf-optional { color: #66758d; background: #f1f4f8; }
.cf-help { color: #596b89; font-size: 13px; line-height: 1.85; }
.cf-field > input, .cf-field textarea { padding: 14px 16px; border-color: #b8c8e1; border-radius: 8px; background: #fcfdff; color: var(--ink); font-size: 16px; transition: border-color .15s, box-shadow .15s; }
.cf-field > input:focus, .cf-field textarea:focus { border-color: #3579ff; background: #fff; box-shadow: 0 0 0 3px #2175ff12; }
.cf-options { gap: 10px; }
.cf-choice { gap: 12px; min-height: 52px; padding: 12px 15px; border-color: #cbd8ed; border-radius: 8px; background: #fff; color: #243b60; font-size: 14px; line-height: 1.85; }
.cf-choice:hover { border-color: #719ff4; background: #f8faff; }
.cf-choice:has(input:checked) { border-color: #517ff2; background: #eef4ff; color: #173f8f; }
.cf-choice input { width: 18px; height: 18px; accent-color: #2564e4; }
.cf-clear { color: #2359b7; font-size: 13px; }
.cf-privacy { color: #2359b7; font-size: 14px; }
.cf-privacy-choice { align-items: flex-start; }
.cf-privacy-choice input { margin-top: 4px; }
.cf-page .cf-confirm { min-height: 58px; border: 1px solid #a1dbff; border-radius: 999px; background: var(--gradient); color: #fff; font-size: 17px; font-weight: 700; box-shadow: 0 5px 22px #6838df20; }
.cf-page .cf-confirm:hover { filter: brightness(1.06); }
.cf-guide { padding: 28px 26px; background: linear-gradient(140deg, #10274b, #041329); border: 1px solid #315282; border-radius: 18px; color: #edf3ff; }
.cf-guide h2 { margin-bottom: 16px; color: #fff; font-size: 21px; line-height: 1.75; }
.cf-guide p { color: #c2d1e9; font-size: 13px; line-height: 2; }
.cf-guide h3 { margin-top: 28px; margin-bottom: 8px; color: #9ecbff; font-size: 14px; font-weight: 600; }
.cf-guide li { padding: 18px 0; border-top-color: #8eacd638; }
.cf-guide li:last-child { padding-bottom: 0; }
.cf-guide a { display: inline-block; color: #fff; font-size: 14px; line-height: 1.8; text-decoration-color: #94baff; }
.cf-guide a:hover { color: #9fdcff; }
.cf-guide li p { margin-top: 8px; }
.cf-error-summary { background: #fff4f6; border-color: #b84555; border-radius: 8px; color: #9b283b; }
.cf-error { color: #a22d40; }
.cf-page [aria-invalid=true] { border-color: #b84555 !important; }
.cf-result dl > div { border-bottom-color: #e0e8f5; }
.cf-result dt { color: #526488; }
.cf-result dd { color: var(--ink); font-size: 16px; }
.cf-page .cf-result .button { min-height: 54px; border: 1.5px solid #356be8; border-radius: 999px; color: #2057c0; background: #fff; font-size: 15px; }
.cf-page :focus-visible { outline: 3px solid #2674ed; outline-offset: 3px; }
.cf-hero :focus-visible, .cf-guide :focus-visible { outline-color: #9ed9ff; }
@media (max-width: 1050px) {
  .cf-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; }
  .cf-layout > section { padding: 30px 28px 34px; }
  .cf-guide { padding: 24px 22px; }
}
@media (max-width: 960px) {
  .cf-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cf-guide { padding: 30px; }
}
@media (max-width: 650px) {
  .cf-container { padding-inline: 20px; }
  .cf-hero { padding: 24px 0 42px; background-image: linear-gradient(90deg, #041329e8, #041329a3), url('/assets/contact-mobile-trails.png'); background-size: cover; }
  .cf-breadcrumb { gap: 10px; margin-bottom: 28px; font-size: 11px; }
  .cf-hero h1 { margin-bottom: 20px; font-size: clamp(27px, 7.2vw, 44px); line-height: 1.55; letter-spacing: 0; }
  .cf-lead { font-size: 14px; line-height: 1.95; }
  .cf-lead span { display: inline; }
  .cf-layout { padding-top: 28px; padding-bottom: 54px; gap: 26px; }
  .cf-layout > section { padding: 26px 22px 30px; border-radius: 13px; }
  .cf-layout h2 { font-size: 21px; }
  .cf-layout > section > p { font-size: 13px; }
  .cf-demo, .cf-notice { padding: 14px; font-size: 12px; }
  .cf-progress { gap: 12px; margin: 24px 0 28px; }
  .cf-progress li { gap: 7px; font-size: 12px; }
  .cf-progress span { width: 27px; height: 27px; font-size: 10px; }
  .cf-field label:not(.cf-choice), .cf-field legend { font-size: 15px; }
  .cf-help { font-size: 12px; }
  .cf-choice { padding: 12px; font-size: 13px; }
  .cf-page .cf-confirm { min-height: 54px; padding-inline: 12px; font-size: 15px; }
  .cf-guide { padding: 26px 24px; border-radius: 13px; }
  .cf-guide h2 { font-size: 20px; }
}
@media (max-width: 360px) {
  .cf-layout > section { padding-inline: 16px; }
  .cf-progress { gap: 9px; }
  .cf-progress li { gap: 5px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .cf-field > input, .cf-field textarea { transition: none; }
}
