
/* Contact page — premium PDN blue, white and navy system */
.contact-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; padding:92px 0 0; background:linear-gradient(115deg,#101b3c 0%,#172b58 58%,#23447e 100%); }
.contact-hero::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:62px 62px; mask-image:linear-gradient(90deg,black,transparent 90%); }
.contact-hero-orbit { position:absolute; z-index:-1; border:1px solid rgba(186,210,255,.13); border-radius:50%; pointer-events:none; }
.contact-orbit-one { width:500px;height:500px;right:8%;top:-150px;box-shadow:0 0 0 55px rgba(186,210,255,.025),0 0 0 110px rgba(186,210,255,.018); }
.contact-orbit-two { width:310px;height:310px;right:13%;top:-55px;border-color:rgba(186,210,255,.19); }
.contact-hero-inner { min-height:390px; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:70px; padding-bottom:72px; }
.contact-hero-copy { max-width:690px; }
.contact-hero h1 { margin:23px 0 20px; font:800 clamp(47px,5.8vw,72px)/1.06 var(--font-display); letter-spacing:-.065em; }
.contact-hero h1 span { color:#9db9ed; }
.contact-hero-copy > p { max-width:590px; margin:0 0 30px; color:#c5d0e5; font-size:14px; line-height:1.95; }
.contact-hero-side { justify-self:end; width:min(100%,310px); padding:30px 0 30px 32px; border-left:1px solid rgba(255,255,255,.2); }
.contact-side-kicker { display:block; margin-bottom:20px; color:#a9c3f0; font:700 10px var(--font-display); letter-spacing:.17em; text-transform:uppercase; }
.contact-hero-side strong { display:block; color:#fff; font:800 clamp(29px,3vw,39px)/1.17 var(--font-display); letter-spacing:-.05em; }
.contact-hero-side em { color:#9db9ed; font-style:normal; }
.contact-side-rule { width:54px;height:3px;margin:24px 0 17px;background:#5e91e7; }
.contact-side-caption { color:#b9c8e1; font-size:10px; letter-spacing:.08em; }
.contact-hero-bottom { border-top:1px solid rgba(255,255,255,.13); }
.contact-hero-bottom .container { min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b7c6e2;font-size:9px;letter-spacing:.14em;text-transform:uppercase; }
.contact-hero-bottom b { margin-left:6px;color:#fff; }
.contact-main { padding-top:100px;padding-bottom:105px; }
.contact-main-grid { display:grid;grid-template-columns:.86fr 1.14fr;gap:85px;align-items:start; }
.contact-info { padding-top:10px; }
.contact-info h2 { margin:22px 0 18px;color:var(--navy);font:800 clamp(37px,4.2vw,52px)/1.12 var(--font-display);letter-spacing:-.055em; }
.contact-info h2 span { color:#8998b4; }
.contact-info-intro { max-width:410px;margin:0;color:#69768e;font-size:13px;line-height:1.9; }
.contact-methods { display:grid;gap:0;margin-top:34px;border-top:1px solid #e7ebf3; }
.contact-method { display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid #e7ebf3;transition:padding .2s; }
.contact-method:hover { padding-left:5px; }
.contact-method-icon { display:grid;place-items:center;width:40px;height:40px;border:1px solid #dce6f7;border-radius:50%;color:#477cda;background:#f7faff;font-size:16px; }
.contact-method-copy small,.contact-method-copy strong,.contact-method-copy em { display:block; }
.contact-method-copy small { margin-bottom:5px;color:#8793a9;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; }
.contact-method-copy strong { color:var(--navy);font:700 13px var(--font-display);overflow-wrap:anywhere; }
.contact-method-copy em { margin-top:5px;color:#8c97aa;font-size:10px;font-style:normal; }
.contact-method-arrow { color:#4f83df;font-size:17px; }
.contact-response-note { display:flex;align-items:flex-start;gap:12px;margin-top:28px;padding:17px 18px;background:#f4f7fd;border:1px solid #e6edf9; }
.response-pulse { flex:0 0 8px;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#4f83df;box-shadow:0 0 0 5px rgba(79,131,223,.13); }
.contact-response-note strong,.contact-response-note small { display:block; }
.contact-response-note strong { color:#263a65;font:700 11px var(--font-display); }
.contact-response-note small { margin-top:5px;color:#78859d;font-size:10px;line-height:1.6; }
.contact-form-wrap { padding:37px 38px 32px;background:#f7f9fd;border:1px solid #e4eaf4;box-shadow:0 20px 55px rgba(22,45,88,.055);scroll-margin-top:115px; }
.contact-form-top { display:flex;justify-content:space-between;gap:20px;margin-bottom:27px;padding-bottom:22px;border-bottom:1px solid #e2e8f2; }
.form-step { color:#4f83df;font:800 10px var(--font-display);letter-spacing:.13em; }
.form-step i { color:#9aa6ba;font-style:normal;font-weight:600; }
.contact-form-top h3 { margin:13px 0 8px;color:var(--navy);font:800 24px var(--font-display);letter-spacing:-.04em; }
.contact-form-top p { margin:0;color:#7b879c;font-size:11px;line-height:1.7; }
.form-decoration { display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #dce6f7;border-radius:50%;color:#4f83df;font-size:18px; }
#contact-whatsapp-form { display:grid;gap:17px; }
.contact-form-row { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
#contact-whatsapp-form label { display:grid;gap:8px;color:#4f5d76;font-size:10px;font-weight:700; }
#contact-whatsapp-form label > span { display:inline;color:#4f83df; }
#contact-whatsapp-form input,#contact-whatsapp-form textarea,#contact-whatsapp-form select { width:100%;min-height:45px;padding:12px 13px;color:#1c2945;background:#fff;border:1px solid #dfe5ef;border-radius:2px;outline:none;font-size:11px;font-weight:400;transition:border .2s,box-shadow .2s; }
#contact-whatsapp-form textarea { min-height:125px;resize:vertical;line-height:1.6; }
#contact-whatsapp-form input:focus,#contact-whatsapp-form textarea:focus,#contact-whatsapp-form select:focus { border-color:#6d96df;box-shadow:0 0 0 3px rgba(79,131,223,.11); }
#contact-whatsapp-form input::placeholder,#contact-whatsapp-form textarea::placeholder { color:#a7b0bf; }
#contact-whatsapp-form select:invalid { color:#9aa5b7; }
.contact-submit { justify-self:start;min-width:190px;margin-top:2px; }
.contact-form-footnote { margin:-5px 0 0;color:#8994a7;font-size:9px;line-height:1.65; }
.contact-form-error { display:none;margin:0;color:#b42318;font-size:11px; }
.contact-form-error.is-visible { display:block; }
.contact-bottom-cta { padding:72px 0;background:linear-gradient(115deg,#101b3c,#1d376d);color:#fff; }
.contact-bottom-inner { display:flex;align-items:center;justify-content:space-between;gap:35px; }
.contact-bottom-inner h2 { margin:17px 0 0;color:#fff;font:800 clamp(35px,4vw,50px)/1.12 var(--font-display);letter-spacing:-.055em; }
.contact-bottom-inner h2 span { color:#9db9ed; }
@media(max-width:900px) {
 .contact-main-grid { gap:45px; }
 .contact-hero-inner { gap:35px; }
}
@media(max-width:760px) {
 .contact-hero { padding-top:70px; }
 .contact-hero-inner { min-height:0;grid-template-columns:1fr;gap:38px;padding-bottom:50px; }
 .contact-hero h1 { font-size:clamp(43px,10vw,59px); }
 .contact-hero-copy > p { font-size:13px; }
 .contact-hero-side { justify-self:start;width:100%;max-width:420px;padding:18px 0 18px 20px; }
 .contact-hero-side strong { font-size:31px; }
 .contact-orbit-one { right:-230px;top:50px; }
 .contact-orbit-two { right:-130px;top:120px; }
 .contact-hero-bottom .container { min-height:50px;flex-wrap:wrap;justify-content:flex-start;gap:10px 20px;font-size:8px; }
 .contact-main { padding-top:72px;padding-bottom:75px; }
 .contact-main-grid { grid-template-columns:1fr;gap:45px; }
 .contact-info h2 { font-size:39px; }
 .contact-form-wrap { padding:27px 21px 24px; }
 .contact-form-top h3 { font-size:21px; }
 .contact-form-row { grid-template-columns:1fr; }
 .contact-bottom-cta { padding:60px 0; }
 .contact-bottom-inner { align-items:flex-start;flex-direction:column; }
 .contact-bottom-inner h2 { font-size:38px; }
}

/* Lighter Contact hero and mobile form refinements */
.contact-hero { color:#17294f; background:linear-gradient(115deg,#edf4ff 0%,#e2edff 58%,#d8e7ff 100%); }
.contact-hero::before { opacity:.5; background-image:linear-gradient(rgba(41,83,150,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(41,83,150,.07) 1px,transparent 1px); }
.contact-hero h1 { color:#17294f; }
.contact-hero h1 span { color:#4778c2; }
.contact-hero-copy > p { color:#52627e; }
.contact-hero-side { border-color:rgba(48,82,135,.22); }
.contact-hero-side strong { color:#203e70; }
.contact-hero-side em { color:#4778c2; }
.contact-hero-bottom { border-color:rgba(48,82,135,.18); }
.contact-hero-bottom .container { color:#526b91; }
.contact-hero-bottom b { color:#203e70; }
.contact-hero-orbit { border-color:rgba(54,95,160,.16); }
@media(max-width:760px) {
 .contact-hero { padding-top:48px; }
 .contact-hero-inner { gap:24px; padding-bottom:30px; }
 .contact-hero h1 { font-size:clamp(38px,9.5vw,54px); line-height:1.08; }
 .contact-hero-copy > p { font-size:14px; line-height:1.75; }
 .contact-hero-side { padding:14px 0 14px 17px; }
 .contact-hero-side strong { font-size:28px; }
 .contact-hero-bottom .container { padding-top:12px; padding-bottom:12px; gap:8px 15px; }
 .contact-info h2 { font-size:clamp(31px,7.5vw,42px); }
 .contact-form-top h3 { font-size:21px; }
 .contact-form-card { border-radius:10px; }
}

/* Mobile contact page: concise hero and cleaner form alignment */
@media (max-width: 760px) {
  .contact-hero { padding-top: 42px; }
  .contact-hero-inner { grid-template-columns: minmax(0,1fr); gap: 0; padding-bottom: 26px; }
  .contact-hero-side { display: none; }
  .contact-hero-bottom .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 14px; }
  .contact-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .contact-info { padding-top: 0; }
  .contact-info-intro { max-width: none; }
  .contact-form-wrap { padding: 22px 16px 20px; }
  .contact-form-top { align-items: flex-start; margin-bottom: 18px; padding-bottom: 16px; }
  .contact-form-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .contact-form-row input, .contact-form-row select, .contact-form-row textarea { min-width: 0; }
}
@media (max-width: 390px) {
  .contact-form-row { grid-template-columns: minmax(0,1fr); }
}
