.contact-wrap{padding:128px 52px 104px;background:var(--bg);position:relative;overflow:hidden;min-height:calc(100vh - 320px)}
.contact-wrap::before{content:'';position:absolute;width:900px;height:700px;background:radial-gradient(ellipse,rgba(59,130,246,0.07) 0%,transparent 65%);top:-200px;left:-200px;pointer-events:none}
.contact-wrap::after{content:'';position:absolute;width:700px;height:600px;background:radial-gradient(ellipse,rgba(124,58,237,0.06) 0%,transparent 65%);top:0;right:-150px;pointer-events:none}
.contact-inner{max-width:1040px;margin:0 auto;--two-col-template:1fr 0.9fr;--two-col-gap:72px}

.contact-h1{font-family:var(--font-display);font-size:clamp(38px,5vw,60px);font-weight:var(--weight-extrabold);line-height:1.08;letter-spacing:var(--tracking-tight);color:var(--ink);margin-bottom:20px}

.contact-sub{font-size:var(--text-3xl);color:var(--ink2);line-height:var(--leading-copy);font-weight:var(--weight-light);max-width:560px}
.contact-direct{margin-top:36px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px 22px;max-width:460px}
.contact-direct-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--ink3);text-transform:uppercase;letter-spacing:var(--tracking-label);margin-bottom:10px}
.contact-direct a{color:var(--ink2);text-decoration:none;transition:color 0.2s}
.contact-direct a:hover{color:#3b82f6}
.newsletter-card{background:#fff;border:1px solid var(--border2);border-radius:20px;padding:44px 48px;box-shadow:0 8px 40px rgba(12,20,36,0.06)}
.newsletter-title{font-family:var(--font-display);font-size:26px;font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-card);color:var(--ink);margin-bottom:6px}
.newsletter-card-sub{font-size:13.5px;color:var(--ink3);margin-bottom:28px}
.newsletter-form{display:grid;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink2);letter-spacing:0.02em}
input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:var(--bg2);border:1px solid var(--border2);border-radius:9px;padding:12px 14px;transition:border-color 0.2s,box-shadow 0.2s;outline:none;width:100%}
input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.newsletter-form button{width:100%;background:var(--grad);color:#fff;border:none;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);padding:14px 28px;border-radius:10px;cursor:pointer;transition:opacity 0.2s,transform 0.2s,box-shadow 0.3s}
.newsletter-form button:hover{opacity:0.9;transform:translateY(-1px);box-shadow:0 12px 36px rgba(59,130,246,0.28)}
.consent-note{font-size:var(--text-sm);color:var(--ink3);line-height:1.55;font-weight:var(--weight-light);margin-top:-2px}
.form-note{font-size:var(--text-sm);color:var(--ink3);text-align:center;margin-top:14px;font-weight:var(--weight-light);line-height:1.6}
.form-status{font-size:var(--text-sm);text-align:center;margin-top:12px;min-height:20px;font-weight:var(--weight-medium)}
.form-status[data-status='success']{color:#15803d}
.form-status[data-status='error']{color:#b91c1c}
.form-status[data-status='pending']{color:var(--ink3)}
.newsletter-form button:disabled{opacity:0.65;cursor:not-allowed;transform:none;box-shadow:none}
.contact-info-grid{max-width:1040px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:1}
.contact-copy-block{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 30px}
.contact-copy-block h2{font-family:var(--font-display);font-size:24px;font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-card);color:var(--ink);margin-bottom:12px}
.contact-copy-block p{font-size:14px;color:var(--ink2);line-height:var(--leading-copy);font-weight:var(--weight-light)}
.contact-copy-block ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px}
.contact-copy-block li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink2);line-height:var(--leading-body);font-weight:var(--weight-light)}
.contact-copy-block li::before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:#3b82f6}
@media(max-width:900px){
  
  .contact-wrap{padding:104px 24px 72px}
  .newsletter-card{padding:32px 28px}
  .contact-info-grid{grid-template-columns:1fr;margin-top:32px}
  
}
