/* ============================================================
   Contact Us
   Legacy form hooks (#cpf-form-wrap, #cf-*, .apply-page-field,
   .popup-field-error, .cpf-*, [data-apply-form], [data-apply-submit])
   are PRESERVED and only restyled — never renamed.
   ============================================================ */

/* — WhatsApp CTA — */
.hb-btn.hbx-wa{color:#fff;background:linear-gradient(180deg,#3ECF74,#25D366 55%,#128C4A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.26),
    0 10px 18px -9px rgba(18,140,74,.6)}
.hb-btn.hbx-wa:hover{color:#fff;transform:translateY(-1px)}
.hb-btn.hbx-app{color:#FCF7EA;background:linear-gradient(180deg,#8A6A38,#6E5327 55%,#4A3714);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.3),
    0 10px 18px -9px rgba(74,55,20,.6)}
.hb-btn.hbx-app:hover{color:#FCF7EA;transform:translateY(-1px)}

/* — channel cards — */
.cn-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1120px;margin:0 auto;
  align-items:stretch}
.cn-ch{display:flex;flex-direction:column;padding:0 0 22px;border-radius:20px;overflow:hidden;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 22px 44px -28px rgba(29,22,28,.32),inset 0 1px 0 #fff}
.cn-face{display:flex;gap:14px;align-items:center;padding:20px 22px;text-decoration:none;
  border-bottom:1px solid var(--hb-border);transition:background .15s ease}
.cn-face:hover{background:rgba(226,177,93,.1)}
.cn-face .ic{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#F3D58C,var(--hb-gold) 55%,#B08542);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 2px rgba(0,0,0,.2)}
.cn-face .ic img{width:23px;height:23px}
.cn-ch--wa .cn-face .ic{background:radial-gradient(circle at 35% 30%,#4ADE80,#25D366 55%,#128C4A)}
.cn-ch--em .cn-face .ic{background:radial-gradient(circle at 35% 30%,#8C3B32,var(--hb-burg) 55%,#5A1F1A)}
.cn-face .tx b{display:block;font:700 14.5px/1.3 var(--hb-display);color:var(--hb-ink)}
.cn-face .tx i{display:block;font:800 16px/1.3 var(--hb-display);font-style:normal;
  color:var(--hb-burg);margin-top:4px;word-break:break-word}
.cn-ch>p{margin:16px 22px 0;font:500 13.8px/1.7 var(--hb-text);color:var(--hb-body)}
.cn-ch .cn-sub{color:var(--hb-muted);font-size:13.2px}
.cn-ch .cn-lbl{font-weight:700;color:var(--hb-ink);margin-bottom:2px}
.cn-ch .ab-checks{margin:8px 22px 0}
.cn-note{margin:16px 22px 0!important;padding:13px 15px;border-radius:12px;
  border:1px solid rgba(226,177,93,.55);background:#FBF3E0;
  font:500 12.8px/1.65 var(--hb-text);color:var(--hb-muted)}
.cn-note .k{display:inline-block;margin-right:8px;padding:5px 12px;border-radius:999px;
  font:700 9.6px/1 var(--hb-text);letter-spacing:.15em;text-transform:uppercase;color:#3F2F10;
  background:linear-gradient(180deg,#F0CE83,var(--hb-gold) 58%,#C89440)}

/* — offices — */
.cn-offices{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1000px;margin:0 auto}
.cn-office{position:relative;padding:26px 26px 24px;border-radius:20px;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 22px 44px -28px rgba(29,22,28,.32),inset 0 1px 0 #fff}
.cn-type{display:inline-block;margin-bottom:10px;padding:6px 14px;border-radius:999px;
  font:700 10px/1 var(--hb-text);letter-spacing:.16em;text-transform:uppercase;color:#FCF7EA;
  background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A)}
.cn-office h3{margin:0 0 10px;font:800 21px/1.25 var(--hb-display);color:var(--hb-ink)}
.cn-office address{font:500 14.5px/1.75 var(--hb-text);font-style:normal;color:var(--hb-body);
  margin-bottom:14px;max-width:40ch}
.cn-time{display:flex;gap:9px;align-items:center;margin:0 0 12px;
  font:600 13px/1.5 var(--hb-text);color:var(--hb-muted)}
.cn-time img{width:17px;height:17px;flex:none}
.cn-tel{display:inline-flex;gap:9px;align-items:center;padding:11px 18px;border-radius:999px;
  text-decoration:none;font:700 13.5px/1 var(--hb-text);color:#3F2F10;margin-right:8px;
  background:linear-gradient(180deg,#F0CE83,var(--hb-gold) 58%,#C89440);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.22),
    0 8px 14px -8px rgba(143,106,46,.6);transition:transform .15s ease}
.cn-tel:hover{transform:translateY(-1px)}
.cn-tel img{width:15px;height:15px}
.cn-map{display:inline-flex;align-items:center;font:700 13px/1 var(--hb-text);color:var(--hb-burg);
  text-decoration:none;border-bottom:2px solid rgba(123,45,38,.35);padding-bottom:2px}
.cn-map:hover{border-color:var(--hb-burg)}

/* — form band — */
.cn-band{display:grid;grid-template-columns:1fr 1.02fr;gap:34px;align-items:start;
  max-width:1120px;margin:0 auto}
.cn-h3{margin:0 0 8px;font:800 19px/1.3 var(--hb-display);color:var(--hb-ink)}
.cn-courses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px}
.cn-courses a{display:inline-flex;padding:9px 15px;border-radius:999px;text-decoration:none;
  font:700 12.5px/1 var(--hb-text);color:#3F2F10;
  background:linear-gradient(180deg,#F6E4B4,#EBD190 58%,#D9B96A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(0,0,0,.16),
    0 8px 14px -9px rgba(143,106,46,.55);transition:transform .15s ease}
.cn-courses a:hover{transform:translateY(-1px)}
.cn-avoid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cn-avoid li{position:relative;padding:10px 14px 10px 36px;border-radius:12px;
  border:1px solid rgba(123,45,38,.26);background:#FBF1EC;
  font:600 12.8px/1.45 var(--hb-text);color:#5A2620}
.cn-avoid li::before{content:"";position:absolute;left:14px;top:13px;width:11px;height:11px;
  background:linear-gradient(45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%)}

/* — the application card (legacy hooks restyled) — */
.cn-form{padding:30px 30px 26px;border-radius:22px;
  border:1.5px solid #D9A64C;background:linear-gradient(180deg,#FFFDF6,var(--hb-cream) 62%,#F6EEDB);
  box-shadow:0 34px 64px -34px rgba(29,22,28,.42),inset 0 1px 0 #fff}
.cn-form h3{margin:0 0 6px;font:800 21px/1.25 var(--hb-display);color:var(--hb-ink);text-align:center}
.cn-form .sub{margin:0 0 20px;font:500 13px/1.6 var(--hb-text);color:var(--hb-muted);text-align:center}
.cn-form .cpf{display:flex;flex-direction:column;gap:13px}
.cn-form .apply-page-field>label{display:block;font:700 10.5px/1 var(--hb-text);letter-spacing:.14em;
  text-transform:uppercase;color:var(--hb-bronze);margin-bottom:7px}
.cn-form input[type=text],.cn-form input:not([type]),.cn-form input[type=email],
.cn-form input[type=tel],.cn-form select{
  width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid var(--hb-border);
  background:#FFFEFA;font:500 14.5px/1.3 var(--hb-text);color:var(--hb-ink);
  box-shadow:inset 0 2px 4px rgba(110,83,39,.08);transition:border-color .15s ease,box-shadow .15s ease}
.cn-form input::placeholder{color:#9A8A72;font-weight:500}
.cn-form input:focus,.cn-form select:focus{outline:none;border-color:var(--hb-bronze);
  box-shadow:inset 0 2px 4px rgba(110,83,39,.08),0 0 0 3px rgba(226,177,93,.35)}
.cn-form select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#6E5327 50%),linear-gradient(135deg,#6E5327 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.cn-form .cpf-row3{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}
.cn-form .cpf-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.cn-form .popup-field-error{display:block;font:600 12px/1.4 var(--hb-text);color:var(--hb-burg);margin-top:5px}
.cn-form input.error,.cn-form select.error{border-color:var(--hb-burg);
  box-shadow:inset 0 2px 4px rgba(123,45,38,.1),0 0 0 3px rgba(123,45,38,.16)}
.cn-form #cf-age-info{font:600 12px/1.4 var(--hb-text);color:var(--hb-green);margin-top:5px}
.cn-form #cf-age-info:empty{display:none}
.cn-form .cpf-consent{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.cn-form .cpf-consent input[type=checkbox]{width:auto;min-width:17px;height:17px;margin-top:2px;
  accent-color:var(--hb-burg);cursor:pointer}
.cn-form .cpf-consent span{font:500 11.6px/1.6 var(--hb-text);color:var(--hb-muted)}
.cn-form button[data-apply-submit]{width:100%;display:inline-flex;align-items:center;justify-content:center;
  gap:10px;padding:16px 22px;border:0;border-radius:14px;cursor:pointer;
  font:700 15.5px/1 var(--hb-text);letter-spacing:.02em;color:#FCF7EA;
  background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.3),
    0 14px 24px -12px rgba(90,31,26,.7);transition:transform .15s ease}
.cn-form button[data-apply-submit]:hover:not(:disabled){transform:translateY(-2px)}
.cn-form button[data-apply-submit]:disabled{opacity:.72;cursor:not-allowed}

/* — help grid — */
.cn-help{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:0 auto}
.cn-help div{padding:26px 22px 22px;border-radius:18px;text-align:center;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F7EFDC);
  box-shadow:0 18px 36px -24px rgba(29,22,28,.3),inset 0 1px 0 #fff}
.cn-help .ic{display:block;width:66px;margin:0 auto 12px;
  filter:drop-shadow(0 10px 16px rgba(74,55,20,.32))}
.cn-help .ic img{width:100%}
.cn-help h3{margin:0 0 10px;font:700 16.5px/1.3 var(--hb-display);color:var(--hb-ink)}
.cn-help p{margin:0 0 10px;font:500 13.8px/1.7 var(--hb-text);color:var(--hb-body)}
.cn-help p:last-child{margin-bottom:0}
.cn-help div:nth-child(4),.cn-help div:nth-child(5){grid-column:span 1}

/* — advisory — */
.cn-warn{list-style:none;margin:0 auto;padding:0;max-width:820px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cn-warn li{position:relative;padding:13px 16px 13px 44px;border-radius:14px;
  border:1px solid rgba(123,45,38,.28);background:#FBF1EC;
  font:600 13.5px/1.5 var(--hb-text);color:#5A2620}
.cn-warn li::before{content:"";position:absolute;left:16px;top:15px;width:13px;height:13px;
  background:linear-gradient(45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%)}

/* — final lines — */
.cn-final{max-width:560px;margin:0 auto 24px;text-align:center}
.cn-final p{margin:0 0 9px;font:600 15.5px/1.7 var(--hb-display);color:rgba(252,247,234,.9)}

@media (max-width:1020px){
  .cn-channels{grid-template-columns:1fr}
  .cn-help{grid-template-columns:1fr 1fr}
  .cn-band{grid-template-columns:1fr;gap:26px}
}
@media (max-width:760px){
  .cn-offices{grid-template-columns:1fr}
  .cn-help{grid-template-columns:1fr}
  .cn-avoid{grid-template-columns:1fr}
  .cn-warn{grid-template-columns:1fr}
}
@media (max-width:520px){
  .cn-form{padding:24px 20px 22px}
  .cn-form .cpf-row{grid-template-columns:1fr}
}
