/* ── CONTACT PAGE SECTIONS ── */
.page-hero{min-height:55vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(180deg,#060610 0%,#050508 100%);}
.hero-grid-bg{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(77,77,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(77,77,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black,transparent);}
.hero-orb{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(77,77,255,.15) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-60%);pointer-events:none;z-index:1;}
.page-hero-inner{position:relative;z-index:10;max-width:1300px;margin:0 auto;width:100%;padding:8rem 4rem 5rem;text-align:center;}
.breadcrumb{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--w60);margin-bottom:2rem;animation:fadeUp .6s .1s ease both;}
.breadcrumb a{color:var(--w60);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--blue-b);}
.breadcrumb-sep{color:var(--w30);}
.breadcrumb span{color:var(--blue-b);}

.page-hero-inner h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.4rem;animation:fadeUp .8s .25s ease both;}
.page-hero-inner h1 .grad{color:var(--blue-b);}
.hero-sub{font-size:1.05rem;line-height:1.85;color:var(--w60);max-width:560px;margin:0 auto;animation:fadeUp .8s .4s ease both;}

/* CONTACT MAIN GRID */
.contact-main{max-width:1300px;margin:0 auto;padding:5rem 4rem 7rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}

/* INFO COLUMN */
.contact-info-col h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500;letter-spacing:-.02em;margin-bottom:.8rem;}
.contact-info-col h2 .grad{color:var(--blue-b);}
.contact-info-col > p{font-size:.9rem;color:var(--w60);line-height:1.8;margin-bottom:2.5rem;}

.contact-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem;}
.c-item{display:flex;gap:1.1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;transition:border-color .3s,transform .2s;}
.c-item:hover{border-color:var(--border-b);transform:translateX(4px);}
.c-icon{width:40px;height:40px;min-width:40px;border-radius:10px;background:var(--blue-subtle);border:1px solid var(--border-b);display:flex;align-items:center;justify-content:center;color:rgba(80,120,255,1);}
.c-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;}
.c-item h4{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--w30);margin-bottom:.2rem;}
.c-item p,.c-item a{font-size:.88rem;color:var(--white);text-decoration:none;transition:color .2s;line-height:1.5;}
.c-item a:hover{color:var(--blue-b);}

.socials-row{display:flex;gap:.75rem;margin-bottom:2.5rem;}
.social-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--w05);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;}
.social-btn:hover{border-color:var(--border-b);background:var(--blue-subtle);transform:translateY(-2px);}
.social-btn svg{width:16px;height:16px;stroke:var(--w60);fill:none;stroke-width:1.5;}

.response-badge{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border-b);border-radius:var(--radius);padding:1.2rem 1.5rem;}
.response-dot{width:10px;height:10px;background:#00e676;border-radius:50%;animation:pulse 2s infinite;flex-shrink:0;}
.response-badge p{font-size:.82rem;color:var(--w60);line-height:1.5;}
.response-badge p strong{color:var(--white);}

/* FORM */
.form-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:3rem;}
.form-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.4rem;}
.form-card > p{font-size:.82rem;color:var(--w60);margin-bottom:2rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--w60);margin-bottom:.5rem;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:.9rem 1.1rem;
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:10px;color:var(--white);font-size:.9rem;font-family:inherit;
  outline:none;transition:border-color .2s,box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--w30);}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:18px;padding-right:2.5rem;}
.form-group select option{background:#0d0d1a;color:#fff;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(77,77,255,.5);box-shadow:0 0 0 3px rgba(77,77,255,.1);}
.form-group textarea{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-submit{width:100%;padding:1rem;background:var(--blue);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.2rem;}
.form-submit:hover{background:var(--blue-b);box-shadow:0 0 30px rgba(77,77,255,.4);transform:translateY(-2px);}
.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;}
.form-success{display:none;text-align:center;padding:3rem 2rem;}
.form-success-icon{font-size:3rem;margin-bottom:1rem;display:block;}
.form-success h3{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;}
.form-success p{font-size:.85rem;color:var(--w60);}
.form-note{font-size:.72rem;color:var(--w30);text-align:center;margin-top:1rem;}

/* MAP STRIP */
.map-strip{background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 4rem;}
.map-inner{max-width:1300px;margin:0 auto;}
.map-head{text-align:center;margin-bottom:3rem;}
.map-head h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500;letter-spacing:-.02em;margin-bottom:.5rem;}
.map-head h2 .grad{color:var(--blue-b);}
.map-head p{font-size:.9rem;color:var(--w60);}
.map-frame{border-radius:20px;overflow:hidden;border:1px solid var(--border-b);height:380px;background:var(--surface);position:relative;}
.map-frame iframe{width:100%;height:100%;border:none;filter:invert(90%) hue-rotate(180deg) saturate(0.8);}
.map-overlay-badge{position:absolute;bottom:1.5rem;left:1.5rem;z-index:2;background:rgba(5,5,10,.85);backdrop-filter:blur(12px);border:1px solid var(--border-b);border-radius:12px;padding:1rem 1.4rem;display:flex;gap:.75rem;align-items:center;}
.map-overlay-badge .mb-icon{width:36px;height:36px;border-radius:8px;background:var(--blue-subtle);border:1px solid var(--border-b);display:flex;align-items:center;justify-content:center;color:rgba(80,120,255,1);flex-shrink:0;}
.map-overlay-badge .mb-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;}
.map-overlay-badge h4{font-size:.82rem;font-weight:700;margin-bottom:.1rem;}
.map-overlay-badge p{font-size:.72rem;color:var(--w60);}

/* OFFICES GRID */
.offices-section{max-width:1300px;margin:0 auto;padding:5rem 4rem 7rem;}
.offices-head{text-align:center;margin-bottom:3rem;}
.offices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.office-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:border-color .3s,transform .2s;position:relative;overflow:hidden;}
.office-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(77,77,255,.07),transparent 60%);opacity:0;transition:opacity .3s;}
.office-card:hover{border-color:var(--border-b);transform:translateY(-3px);}
.office-card:hover::before{opacity:1;}
.office-flag{font-size:2rem;margin-bottom:1rem;display:block;}
.office-card h3{font-size:.92rem;font-weight:700;margin-bottom:.4rem;}
.office-card p{font-size:.78rem;color:var(--w60);line-height:1.6;}
.office-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:.8rem;}
.office-status .sdot{width:6px;height:6px;border-radius:50%;background:#00e676;animation:pulse 2s infinite;}

@media(max-width:1024px){
  .page-hero-inner{padding:8rem 2rem 4rem;}
  .contact-main{grid-template-columns:1fr;gap:3rem;padding:4rem 2rem 5rem;}
  .map-strip{padding:4rem 2rem;}
  .offices-section{padding:4rem 2rem 5rem;}
  .offices-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .form-row{grid-template-columns:1fr;}
  .offices-grid{grid-template-columns:1fr;}
  .form-card{padding:2rem 1.5rem;}
}

/* ===== Responsive Scaffold (Manual Overrides) ===== */

@media (max-width: 479px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}

@media (min-width: 480px and max-width: 639px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}

@media (min-width: 640px and max-width: 767px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}

@media (min-width: 768px and max-width: 1023px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}

@media (min-width: 1024px and max-width: 1279px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}

@media (min-width: 1280px) {
  .page-hero {}
  .hero-grid-bg {}
  .hero-orb {}
  .page-hero-inner {}
  .breadcrumb {}
  .breadcrumb a {}
  .breadcrumb a:hover {}
  .breadcrumb-sep {}
  .breadcrumb span {}
  .page-hero-inner h1 {}
  .page-hero-inner h1 .grad {}
  .hero-sub {}
  .contact-main {}
  .contact-info-col h2 {}
  .contact-info-col h2 .grad {}
  .contact-info-col > p {}
  .contact-items {}
  .c-item {}
  .c-item:hover {}
  .c-icon {}
  .c-icon svg {}
  .c-item h4 {}
  .c-item p {}
  .c-item a {}
  .c-item a:hover {}
  .socials-row {}
  .social-btn {}
  .social-btn:hover {}
  .social-btn svg {}
  .response-badge {}
  .response-dot {}
  .response-badge p {}
  .response-badge p strong {}
  .form-card {}
  .form-card h3 {}
  .form-card > p {}
  .form-group {}
  .form-group label {}
  .form-group input {}
  .form-group select {}
  .form-group textarea {}
  .form-group input::placeholder {}
  .form-group textarea::placeholder {}
  .form-group select option {}
  .form-group input:focus {}
  .form-group select:focus {}
  .form-group textarea:focus {}
  .form-row {}
  .form-submit {}
  .form-submit:hover {}
  .form-submit:disabled {}
  .loading-spinner {}
  .form-success {}
  .form-success-icon {}
  .form-success h3 {}
  .form-success p {}
  .form-note {}
  .map-strip {}
  .map-inner {}
  .map-head {}
  .map-head h2 {}
  .map-head h2 .grad {}
  .map-head p {}
  .map-frame {}
  .map-frame iframe {}
  .map-overlay-badge {}
  .map-overlay-badge .mb-icon {}
  .map-overlay-badge .mb-icon svg {}
  .map-overlay-badge h4 {}
  .map-overlay-badge p {}
  .offices-section {}
  .offices-head {}
  .offices-grid {}
  .office-card {}
  .office-card::before {}
  .office-card:hover {}
  .office-card:hover::before {}
  .office-flag {}
  .office-card h3 {}
  .office-card p {}
  .office-status {}
  .office-status .sdot {}
}
