/* ===================== CONTACT US PAGE ===================== */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ----- hero ----- */
.cuhero{position:relative;padding:calc(var(--h-head) + 44px) 0 56px;background:#fff;overflow:hidden}
.cuhero .hero-mesh .h1b{top:-220px;right:-40px}.cuhero .hero-mesh .h2b{bottom:-180px;left:-70px}
.cuh-copy{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center}
.cuh-copy .eyebrow{margin-bottom:14px}
.cuh-copy h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.02em;margin-bottom:16px}
.cuh-copy .sub{color:var(--slate);font-size:1.06rem;max-width:620px;margin:0 auto 30px}
.cu-quick{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto}
.cu-q{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;display:flex;gap:14px;align-items:center;transition:.28s;cursor:pointer;text-align:left;text-decoration:none;color:inherit}
.cu-q:hover{transform:translateY(-4px);box-shadow:var(--shadow-blue);border-color:var(--blue-18)}
.cu-q .ic{width:46px;height:46px;flex:0 0 auto;border-radius:12px;background:var(--blue-08);color:var(--blue);display:grid;place-items:center}
.cu-q .ic svg{width:23px;height:23px}
.cu-q b{display:block;font-size:.98rem;line-height:1.2}
.cu-q span{font-size:.8rem;color:var(--slate)}

/* ----- main: form + info ----- */
.cumain{background:var(--bg-tint)}
.cu-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:start}
.cu-form{background:#fff;border:1px solid var(--blue-12);border-radius:20px;box-shadow:var(--shadow-blue);padding:34px}
.cu-form h3{font-size:1.35rem;margin-bottom:6px}
.cu-form .fs{color:var(--slate);font-size:.92rem;margin-bottom:22px}
.cu-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cu-field{display:flex;flex-direction:column;gap:6px}
.cu-field.full{grid-column:1/-1}
.cu-field label{font-size:.76rem;font-weight:700;color:var(--ink)}
.cu-field label i{color:var(--fail);font-style:normal}
.cu-field input,.cu-field select,.cu-field textarea{border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:.9rem;font-family:var(--font-body);color:var(--ink);background:#fff;outline:none;transition:.22s;width:100%}
.cu-field textarea{min-height:110px;resize:vertical}
.cu-field input:focus,.cu-field select:focus,.cu-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-12)}
.cu-field.err input,.cu-field.err select,.cu-field.err textarea{border-color:var(--fail);box-shadow:0 0 0 3px var(--fail-bg)}
.cu-consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 18px}
.cu-consent input{width:16px;height:16px;margin-top:3px;accent-color:var(--blue);flex:0 0 auto}
.cu-consent span{font-size:.76rem;color:var(--slate);line-height:1.55}
.cu-consent a{color:var(--blue);font-weight:600;text-decoration:none}
.cu-consent.err span{color:var(--fail)}
.cu-submit{width:100%;justify-content:center}
.cu-done{display:none;text-align:center;padding:44px 20px}
.cu-done.show{display:block}
.cu-done .tick{width:70px;height:70px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto 18px}
.cu-done .tick svg{width:34px;height:34px}
.cu-done h3{font-size:1.4rem;margin-bottom:8px}
.cu-done p{color:var(--slate);font-size:.95rem;max-width:380px;margin:0 auto}
/* info column */
.cu-info{display:flex;flex-direction:column;gap:16px}
.cu-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;box-shadow:var(--shadow-soft)}
.cu-card h4{font-size:1rem;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.cu-card h4 .hi{width:32px;height:32px;border-radius:9px;background:var(--blue-08);color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.cu-card h4 .hi svg{width:17px;height:17px}
.cu-line{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:.88rem;color:var(--slate)}
.cu-line svg{width:16px;height:16px;color:var(--blue);flex:0 0 auto;margin-top:2px}
.cu-line a{color:var(--ink);font-weight:600;text-decoration:none}
.cu-line a:hover{color:var(--blue)}
.cu-line b{color:var(--ink)}
.cu-hours{display:flex;justify-content:space-between;font-size:.86rem;padding:7px 0;border-bottom:1px dashed var(--line)}
.cu-hours:last-child{border-bottom:none}
.cu-hours span{color:var(--slate)}
.cu-hours b{color:var(--ink);font-weight:600}
.cu-hours.off b{color:var(--fail)}
.cu-soc{display:flex;gap:10px;flex-wrap:wrap}
.cu-soc a{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--slate);display:grid;place-items:center;transition:.25s}
.cu-soc a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-blue)}
.cu-soc a svg{width:18px;height:18px}
.cu-map{border-radius:var(--r-card);overflow:hidden;border:1px solid var(--blue-12);box-shadow:var(--shadow-blue);height:400px;background:var(--bg-tint);width:100%}
.cu-map iframe{width:100%;height:100%;border:0;display:block}

/* ----- responsive ----- */
@media(max-width:1024px){
  .cu-quick{grid-template-columns:1fr;max-width:460px}
  .cu-grid{grid-template-columns:1fr}
  .cu-map iframe{min-height:320px}
}
@media(max-width:640px){
  .cu-frow{grid-template-columns:1fr;gap:10px}
  .cu-form{padding:20px 16px}
  .cu-map iframe{min-height:280px}
}
