/* ================================================
   Contact Page — contact.css
   ================================================ */

/* Hero */
.contact-hero{padding:56px 0 48px;position:relative;isolation:isolate;overflow:hidden}
.contact-hero .eye{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pop-1);display:inline-flex;align-items:center;gap:10px;margin-bottom:24px}
.contact-hero .eye::before{content:'';width:28px;height:1px;background:currentColor}
.contact-hero::before{content:'';position:absolute;inset:-20%;z-index:-2;background:radial-gradient(circle at 20% 30%,rgba(255,184,0,.38),transparent 45%),radial-gradient(circle at 80% 70%,rgba(61,91,255,.35),transparent 45%),radial-gradient(circle at 50% 50%,rgba(0,184,107,.25),transparent 55%);animation:contactAurora 30s ease-in-out infinite alternate}
.contact-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(247,246,242,.5),rgba(247,246,242,.85))}
@keyframes contactAurora{0%{transform:scale(1)}100%{transform:scale(1.1) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.contact-hero::before{animation:none}}
.contact-hero h1{font-family:var(--fs);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:1;letter-spacing:-.028em;margin:0 0 24px;max-width:18ch}
.contact-hero h1 em{font-style:italic;font-weight:500;background:linear-gradient(120deg,var(--pop-1),var(--pop-5) 55%,var(--pop-4));-webkit-background-clip:text;background-clip:text;color:transparent}
.contact-hero .hero-lead{font-size:19px;color:var(--ink-2);max-width:62ch;margin:0;line-height:1.55}

/* Layout */
.contact-layout{padding:64px 0 120px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:1000px){.contact-layout{grid-template-columns:1fr;gap:40px}}

/* Form */
.contact-form{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:44px;box-shadow:0 40px 80px -50px rgba(0,0,0,.15)}
.contact-form h3{font-family:var(--fs);font-weight:500;font-size:28px;letter-spacing:-.015em;margin:0 0 6px}
.contact-form .sub{color:var(--muted);font-size:14px;margin:0 0 28px}
.contact-form .field{margin-bottom:16px}
.contact-form .field label{display:block;font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact-form .field label .req{color:var(--pop-1)}
.contact-form .field input,
.contact-form .field select,
.contact-form .field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--bg);font:inherit;font-size:14px;transition:all .15s;font-family:var(--fn)}
.contact-form .field input:focus,
.contact-form .field select:focus,
.contact-form .field textarea:focus{outline:none;border-color:var(--pop-1);background:#fff;box-shadow:0 0 0 3px rgba(255,77,31,.12)}
.contact-form .field textarea{resize:vertical;min-height:120px;font-family:var(--fn);line-height:1.55}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){.contact-form .row{grid-template-columns:1fr}}

/* Chips / Tags */
.contact-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.contact-tag{padding:8px 12px;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer;transition:all .15s;color:var(--ink-2);user-select:none}
.contact-tag:hover{border-color:var(--ink)}
.contact-tag.act{background:var(--ink);color:#fff;border-color:var(--ink)}
.contact-tag.act:nth-child(6n+1){background:linear-gradient(135deg,var(--pop-1),var(--pop-5));border-color:transparent}
.contact-tag.act:nth-child(6n+2){background:linear-gradient(135deg,var(--pop-3),var(--pop-4));border-color:transparent}
.contact-tag.act:nth-child(6n+3){background:linear-gradient(135deg,var(--pop-2),var(--pop-1));border-color:transparent}
.contact-tag.act:nth-child(6n+4){background:linear-gradient(135deg,var(--pop-4),var(--pop-5));border-color:transparent}
.contact-tag.act:nth-child(6n+5){background:linear-gradient(135deg,var(--pop-5),var(--pop-2));border-color:transparent}
.contact-tag.act:nth-child(6n+6){background:linear-gradient(135deg,var(--pop-3),var(--pop-1));border-color:transparent}

.contact-form .submit{width:100%;justify-content:center;margin-top:8px}
.contact-form .foot-n{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--fm);font-size:11px;color:var(--muted);letter-spacing:.05em;line-height:1.6}

/* Success message */
.contact-success{background:#E8FCF0;border:1px solid var(--pop-3);border-radius:8px;padding:20px 24px;margin-bottom:20px;color:#0A6B3A;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px}
.contact-success svg{flex-shrink:0}

/* Error list */
.contact-errors{background:#FFF0ED;border:1px solid var(--pop-1);border-radius:8px;padding:16px 24px;margin-bottom:20px;color:#B91C1C;font-size:13px}
.contact-errors ul{margin:4px 0 0;padding-left:18px}

/* Side info */
.contact-info{display:flex;flex-direction:column;gap:20px}
.i-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px;transition:all .2s;position:relative;overflow:hidden}
.i-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%}
.i-card:nth-child(6n+1)::before{background:linear-gradient(180deg,var(--pop-1),var(--pop-5))}
.i-card:nth-child(6n+2)::before{background:linear-gradient(180deg,var(--pop-3),var(--pop-4))}
.i-card:nth-child(6n+3)::before{background:linear-gradient(180deg,var(--pop-2),var(--pop-1))}
.i-card:nth-child(6n+4)::before{background:linear-gradient(180deg,var(--pop-4),var(--pop-5))}
.i-card .lb{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.i-card .v{font-family:var(--fs);font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.3;margin:0 0 8px;color:var(--ink)}
.i-card .v a:hover{color:var(--pop-1)}
.i-card .d{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.i-card .d strong{color:var(--ink-2)}
.i-card .d a{color:var(--pop-1)}
.i-card .d a:hover{text-decoration:underline}

/* Map placeholder */
.contact-map{aspect-ratio:16/11;border-radius:10px;overflow:hidden;position:relative;background:linear-gradient(135deg,#00B86B,#3D5BFF 70%);box-shadow:0 30px 60px -40px rgba(0,0,0,.3)}
.contact-map::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.15),transparent 40%);animation:mapPulse 4s ease-in-out infinite}
@keyframes mapPulse{0%,100%{opacity:.6}50%{opacity:1}}
.contact-map .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);display:grid;place-items:center;gap:8px}
.contact-map .pin-dot{width:18px;height:18px;border-radius:50%;background:var(--pop-1);box-shadow:0 0 0 6px rgba(255,77,31,.3),0 0 0 12px rgba(255,77,31,.15);animation:pinPulse 2s ease-out infinite}
@keyframes pinPulse{0%{box-shadow:0 0 0 0 rgba(255,77,31,.6),0 0 0 0 rgba(255,77,31,.3)}100%{box-shadow:0 0 0 20px rgba(255,77,31,0),0 0 0 40px rgba(255,77,31,0)}}
.contact-map .pin-lb{background:rgba(15,17,21,.9);color:#fff;padding:6px 12px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;backdrop-filter:blur(8px);white-space:nowrap}
.contact-map .coord{position:absolute;bottom:20px;left:20px;font-family:var(--fm);font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.8);text-transform:uppercase}
.contact-map iframe{width:100%;height:100%;border:0}

/* FAQ */
.contact-faq{padding:100px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.contact-faq .faq-head{max-width:640px;margin:0 auto 48px;text-align:center}
.contact-faq .faq-head .lab{justify-content:center}
.contact-faq .faq-head h2{font-family:var(--fs);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.02em;margin:12px 0 0}
.contact-faq .faq-head h2 em{font-style:italic;background:linear-gradient(120deg,var(--pop-1),var(--pop-5));-webkit-background-clip:text;background-clip:text;color:transparent}
.contact-faq .faq-list{max-width:800px;margin:0 auto;border-top:1px solid var(--line)}
.contact-faq .faq-item{border-bottom:1px solid var(--line);padding:22px 0;cursor:pointer}
.contact-faq .faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--fs);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.3}
.contact-faq .faq-q .ic{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-size:14px;color:var(--pop-1);flex-shrink:0;transition:all .25s}
.contact-faq .faq-item.open .faq-q .ic{background:var(--pop-1);color:#fff;border-color:var(--pop-1);transform:rotate(45deg)}
.contact-faq .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.contact-faq .faq-a-in{padding-top:16px;color:var(--ink-2);font-size:15px;line-height:1.7;max-width:64ch}
.contact-faq .faq-item.open .faq-a{max-height:400px}
