.contact-hero{padding:120px 0 40px;background:var(--bg)}
.contact-hero .container{max-width:var(--container);margin:0 auto;padding:0 24px}
.contact-title{font-size:clamp(30px,4.5vw,56px);font-weight:600;color:var(--text);margin-bottom:12px}
.contact-sub{font-size:clamp(14px,1.1vw,17px);color:var(--text-muted);max-width:520px;line-height:1.7}
.contact-cards-section{padding:20px 0 90px;background:var(--bg)}
.contact-cards-section .container{max-width:var(--container);margin:0 auto;padding:0 24px}
.contact-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.contact-card{position:relative;background:var(--cream);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(30px);box-shadow:0 2px 10px rgba(10,16,2,0.05);transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}
.contact-card:hover{box-shadow:0 12px 32px rgba(10,16,2,0.14);transform:translateY(-4px);border-color:rgba(10,16,2,0.14)}
.contact-card h3{font-size:19px;font-weight:600;color:var(--text);margin:14px 0 0;line-height:1.3}
.contact-card p{font-size:13.5px;color:var(--text-muted);line-height:1.65;margin:8px 0 0}
.contact-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(148,247,33,0.14);flex-shrink:0}
.contact-card-icon i{font-size:18px;color:var(--accent-dark)}
.contact-links{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.contact-links a{position:relative;display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text);text-decoration:none;width:fit-content}
.contact-links a i{font-size:14px;width:15px;text-align:center;flex-shrink:0;color:var(--text-muted);transition:color .25s ease}
.contact-links a span{position:relative}
.contact-links a span::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--accent-dark);transition:width .25s ease}
.contact-links a:hover{color:var(--accent-dark)}
.contact-links a:hover i{color:var(--accent-dark)}
.contact-links a:hover span::after{width:100%}
.contact-card-feature{background:var(--accent-dark);border:1px solid var(--accent-dark)}
.contact-card-feature h3{color:#fff}
.contact-card-feature p{color:rgba(255,255,255,0.65)}
.contact-card-feature .contact-card-icon{background:var(--accent)}
.contact-card-feature .contact-card-icon i{color:var(--accent-dark)}
.contact-card-feature .contact-links a{color:#fff}
.contact-card-feature .contact-links a i{color:rgba(255,255,255,0.55)}
.contact-card-feature .contact-links a span::after{background:var(--accent)}
.contact-card-feature .contact-links a:hover{color:var(--accent)}
.contact-card-feature .contact-links a:hover i{color:var(--accent)}
.contact-card-feature:hover{box-shadow:0 12px 32px rgba(148,247,33,0.25)}
.contact-offices-section{padding:0 0 100px;background:var(--bg)}
.contact-offices-section .container{max-width:var(--container);margin:0 auto;padding:0 24px}
.contact-offices-title{font-size:clamp(26px,3.5vw,40px);font-weight:600;color:var(--text);margin-bottom:24px; display: inline-block;}
.office-card{display:flex;align-items:center;gap:32px;background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:0 2px 10px rgba(10,16,2,0.05);transition:box-shadow .3s ease,transform .3s ease;opacity:0;transform:translateY(30px)}
.office-card:hover{box-shadow:0 12px 32px rgba(10,16,2,0.12);transform:translateY(-3px)}
.office-map{position:relative;width:280px;height:180px;flex-shrink:0;border-radius:14px;overflow:hidden;background:var(--bg-alt)}
.office-map iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block}
.office-details{flex:1}
.office-details h3{font-size:20px;font-weight:600;color:var(--text);margin:0 0 8px}
.office-details p{font-size:14px;color:var(--text-muted);line-height:1.7;margin:0}
@media(max-width:900px){.contact-cards-grid{grid-template-columns:1fr 1fr}.contact-card-feature{grid-column:1/3}}
@media(max-width:600px){.contact-hero{padding:90px 0 30px}.contact-cards-grid{grid-template-columns:1fr}.contact-card-feature{grid-column:1}.contact-card{padding:20px}.office-card{flex-direction:column;align-items:flex-start;gap:16px}.office-map{width:100%;height:200px}}