/* ══ CONTACT PAGE - CONTACT-SPECIFIC STYLES (HEADER/FOOTER EXCLUDED) ══ */

/* PAGE HERO & BREADCRUMB */
.page-hero{background:linear-gradient(160deg,#edf2f9 0%,#edf2f9 50%,#e5edf9 100%);padding:70px 0 60px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(11,45,114,.06),transparent 70%);pointer-events:none;}
.page-hero-inner{text-align:center;position:relative;z-index:2;}
.page-hero h1{font-family:'Sora',sans-serif;font-size:42px;font-weight:800;margin:14px 0;line-height:1.15;}
.page-hero h1 span{color:var(--gold);}
.page-hero p{font-size:17px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.7;}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--muted);margin-top:20px;}
.breadcrumb a{color:var(--blue);text-decoration:none;font-weight:600;}
.breadcrumb-sep{opacity:.4;color: rgb(0 0 0 / 70%) !important;}
.breadcrumb-label{color:var(--blue) !important;font-weight:600;}

/* CONTACT SECTION */
.contact-section{padding:80px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:16px;}
.info-card{background:var(--bg);border-radius:20px;padding:28px;border:1.5px solid var(--border);display:flex;align-items:flex-start;gap:18px;transition:.3s;}
.info-card:hover{border-color:var(--gold);box-shadow:var(--shadow);}
.info-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.info-icon-blue{background:var(--blue-light);}
.info-icon-gold{background:var(--gold-light);}
.info-body h4{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;margin-bottom:6px;}
.info-body p,.info-body a{font-size:14px;color:var(--muted);line-height:1.65;text-decoration:none;display:block;}
.info-body a:hover{color:var(--blue);}
.info-card-small-text{font-size:12px;margin-top:4px;color:var(--muted);}

/* CONTACT FORM */
.contact-form-wrap{background:var(--bg);border-radius:28px;padding:44px;border:1.5px solid var(--border);position:relative;overflow:hidden;}
.contact-form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--gold));}
.form-title{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;margin-bottom:6px;}
.form-sub{font-size:14px;color:var(--muted);margin-bottom:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.form-group label{font-size:13px;font-weight:700;}
.form-group input,.form-group select,.form-group textarea{background:white;border:1.5px solid var(--border);border-radius:12px;padding:12px 16px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--text);outline:none;transition:.2s;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,45,114,.08);}
.form-group input::placeholder,.form-group textarea::placeholder{color:#aab4c8;}
.form-group textarea{resize:vertical;min-height:120px;}
.form-submit{width:100%;justify-content:center;padding:16px;font-size:16px;border-radius:14px;margin-top:8px;}
.form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:12px;}
.form-success{display:none;text-align:center;padding:40px 20px;}
.success-icon{width:72px;height:72px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px;}
.form-success h3{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;margin-bottom:8px;}
.form-success p{font-size:14px;color:var(--muted);}
.form-success-btn{margin-top:20px;}

/* OFFICE & MAP */
.office-section{padding:80px 0;background:var(--bg);}
.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.office-info h2{font-family:'Sora',sans-serif;font-size:30px;font-weight:800;margin:12px 0 14px;}
.office-info p{font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:24px;}
.office-details{display:flex;flex-direction:column;gap:14px;}
.office-detail{display:flex;align-items:flex-start;gap:14px;}
.od-icon{width:40px;height:40px;border-radius:10px;background:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.od-text strong{display:block;font-size:14px;font-weight:700;margin-bottom:2px;}
.od-text span,.od-text a{font-size:13px;color:var(--muted);text-decoration:none;display:block;}
.od-text a:hover{color:var(--blue);}
.office-address-normal{font-style:normal;}
.map-wrap{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);position:relative;height:380px;background:linear-gradient(145deg,#e8eef9,#d8e2f5);}
.map-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;position:relative;}
.map-pin{width:64px;height:64px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 8px 24px rgba(11,45,114,.3);animation:bounce 2s ease-in-out infinite;position:relative;z-index:2;}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.map-label{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:var(--blue);position:relative;z-index:2;}
.map-sub{font-size:13px;color:var(--muted);position:relative;z-index:2;}
.map-svg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.15;pointer-events:none;}
.maps-btn{margin-top:14px;padding:10px 22px;font-size:13px;}

/* FAQ */
.faq-section{padding:80px 0;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;}
.faq-item{background:var(--bg);border-radius:16px;padding:24px;border:1.5px solid var(--border);cursor:pointer;transition:.3s;}
.faq-item:hover{border-color:var(--blue);box-shadow:var(--shadow);}
.faq-q{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-icon{font-size:18px;color:var(--gold);flex-shrink:0;transition:transform .3s;display:inline-block;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{font-size:14px;color:var(--muted);line-height:1.7;margin-top:12px;display:none;}
.faq-item.open .faq-a{display:block;}
.faq-header-wrapper{text-align:center;}
.faq-header-title{font-family:'Sora',sans-serif;font-size:32px;font-weight:800;margin-top:12px;}
.faq-header-subtitle{font-size:15px;color:var(--muted);margin-top:10px;}

/* CTA */
.cta-section{padding:80px 0;background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue) 100%);position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,160,32,.12),transparent 70%);pointer-events:none;}
.cta-inner{text-align:center;position:relative;z-index:2;}
.cta-inner h2{font-family:'Sora',sans-serif;font-size:36px;font-weight:800;color:white;margin:12px 0 14px;}
.cta-inner p{font-size:16px;color:rgba(255,255,255,.75);margin-bottom:32px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-tag-custom{background:rgba(255,255,255,.15);color:white;}

/* RESPONSIVE */
@media(min-width:769px) and (max-width:1024px){
  .contact-grid,.office-grid,.faq-grid{grid-template-columns:1fr;}
  .cta-inner h2{font-size:26px;}
}
@media(max-width:768px){
  .container{padding:0 18px;}
  .page-hero h1{font-size:28px;}
  .contact-grid,.office-grid,.faq-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .contact-form-wrap{padding:28px 20px;}
  .map-wrap{height:260px;}
  .cta-inner h2{font-size:26px;}
  .cta-btns{flex-direction:column;align-items:center;}
  .cta-btns .btn{width:100%;max-width:320px;justify-content:center;}
}
