.contact-us-page{min-height:100vh}.contact-hero{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:white;padding:120px 0 80px;text-align:center;position:relative}.contact-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/images/dojo-background.jpg) 50%/cover;opacity:.3;z-index:1}.contact-hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:0 20px}.contact-hero h1{font-size:3.5rem;margin-bottom:20px;font-weight:700}.contact-hero p{font-size:1.3rem;opacity:.9;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.general-contact-section{padding:80px 0;background:#f8f9fa}.general-contact-section h2{text-align:center;font-size:2.5rem;margin-bottom:60px;color:#333}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-bottom:60px}.contact-card{background:white;padding:40px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.contact-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.contact-card-header{display:flex;align-items:center;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #eee}.contact-card-header .material-symbols-outlined{font-size:2rem;margin-right:15px;color:#d32f2f}.contact-card-header h3{font-size:1.5rem;color:#333;margin:0}.contact-details p{margin:15px 0;display:flex;align-items:center}.contact-details .material-symbols-outlined{font-size:1.2rem;margin-right:10px;color:#666;width:20px}.contact-details a{color:#d32f2f;text-decoration:none;transition:color .3s ease}.contact-details a:hover{color:#b71c1c;text-decoration:underline}.contact-details .title{color:#666;font-style:italic;margin-top:5px}.departments-section{margin-top:60px}.departments-section h3{text-align:center;font-size:2rem;margin-bottom:40px;color:#333}.departments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.department-card{background:white;padding:30px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:transform .3s ease}.department-card:hover{transform:translateY(-3px)}.department-card h4{font-size:1.2rem;margin-bottom:15px;color:#333}.department-card p{margin:8px 0;display:flex;align-items:center}.department-card .material-symbols-outlined{font-size:1rem;margin-right:8px;color:#666}.locations-section{padding:80px 0;background:white}.locations-section h2{text-align:center;font-size:2.5rem;margin-bottom:60px;color:#333}.locations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:40px}.location-card{background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.location-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.location-image{height:250px;overflow:hidden}.location-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.location-card:hover .location-image img{transform:scale(1.05)}.location-content{padding:30px}.location-content h3{font-size:1.5rem;margin-bottom:5px;color:#333}.established{color:#666;font-style:italic;margin-bottom:25px}.location-details{display:grid;gap:25px}.contact-info p{margin:10px 0;display:flex;align-items:flex-start}.contact-info .material-symbols-outlined{font-size:1.2rem;margin-right:10px;color:#d32f2f;margin-top:2px;flex-shrink:0}.contact-info a{color:#d32f2f;text-decoration:none;transition:color .3s ease}.contact-info a:hover{color:#b71c1c;text-decoration:underline}.disciplines h4,.opening-hours h4{font-size:1.1rem;margin-bottom:15px;color:#333;display:flex;align-items:center}.discipline-tags{display:flex;flex-wrap:wrap;gap:8px}.discipline-tag{background:#f5f5f5;color:#333;padding:5px 12px;border-radius:20px;font-size:.9rem;border:1px solid #ddd}.hours-list{display:grid;gap:8px}.hours-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.day{font-weight:600;color:#333}.hours{color:#666}.instructor-info{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.head-instructor{display:flex;align-items:center;margin:0}.head-instructor .material-symbols-outlined{font-size:1.2rem;margin-right:10px;color:#d32f2f}.quick-contact-section{padding:80px 0;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:white}.quick-contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.quick-contact-info h2{font-size:2.5rem;margin-bottom:20px}.quick-contact-info p{font-size:1.2rem;opacity:.9;margin-bottom:40px;line-height:1.6}.quick-contact-methods{display:grid;gap:25px}.contact-method{display:flex;align-items:center;padding:20px;background:rgba(255,255,255,.05);border-radius:8px;transition:background .3s ease}.contact-method:hover{background:rgba(255,255,255,.1)}.contact-method .material-symbols-outlined{font-size:2rem;margin-right:20px;color:#d32f2f}.contact-method h4{margin:0 0 5px;font-size:1.2rem}.contact-method p{margin:0;opacity:.8}.contact-method a{color:#fff;text-decoration:none;transition:opacity .3s ease}.contact-method a:hover{opacity:.8;text-decoration:underline}.contact-form{background:rgba(255,255,255,.05);padding:40px;border-radius:12px;backdrop-filter:blur(10px)}.contact-form h3{font-size:1.8rem;margin-bottom:30px;text-align:center}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#fff}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1);color:white;font-size:1rem;transition:border-color .3s ease,background .3s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.6)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d32f2f;background:rgba(255,255,255,.15)}.form-group select option{background:#333;color:white}.submit-btn{width:100%;padding:15px;background:#d32f2f;color:white;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.submit-btn:hover{background:#b71c1c;transform:translateY(-2px)}.submit-btn .material-symbols-outlined{font-size:1.2rem}@media (max-width:768px){.contact-hero h1{font-size:2.5rem}.contact-hero p{font-size:1.1rem}.contact-cards,.departments-grid,.locations-grid,.quick-contact-content{grid-template-columns:1fr}.quick-contact-content{gap:40px}.contact-form{padding:30px 20px}}@media (max-width:480px){.contact-hero{padding:100px 0 60px}.contact-hero h1{font-size:2rem}.general-contact-section,.locations-section,.quick-contact-section{padding:60px 0}.contact-card,.department-card,.location-content{padding:25px 20px}}