:root{--rw-navy:#0B2A5B;--rw-blue:#1769D2;--rw-cyan:#00AEEF;--rw-light:#F4F7FB;--rw-line:#DCE4EE;--rw-text:#242424;--rw-muted:#667085;
}
.directions-page{color:var(--rw-text);overflow:hidden}
.directions-section{padding:96px 0}
.directions-section.bg-light{background:var(--rw-light)}
.directions-head{text-align:center;margin-bottom:48px}
.directions-head .kicker{font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--rw-blue);margin-bottom:10px}
.directions-head h2{margin:0 0 15px;font-size:42px;line-height:1.3;color:var(--rw-navy);font-weight:800}
.directions-head p{max-width:840px;margin:0 auto;font-size:17px;line-height:1.8;color:#667085}


.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.location-card{overflow:hidden;border:1px solid var(--rw-line);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(11,42,91,.06)}
.location-top{padding:31px 30px 26px;border-bottom:1px solid var(--rw-line)}
.location-tag{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--rw-blue);margin-bottom:10px}
.location-top h3{margin:0 0 14px;font-size:28px;line-height:1.35;color:var(--rw-navy);font-weight:800}
.location-address{font-size:17px;line-height:1.75;color:#4F5F73;font-weight:600}
.location-visual{position:relative;min-height:310px;padding:28px;background:linear-gradient(145deg,#071A35 0%,#0B2A5B 60%,#17447F 100%);overflow:hidden}
.location-visual:before{content:"";position:absolute;width:280px;height:280px;right:-65px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(0,174,239,.26),rgba(0,174,239,0) 70%)}
.map-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);background-size:38px 38px}
.map-pin{position:relative;z-index:2;width:82px;height:82px;margin:38px auto 20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#39C4FF,#1769D2);box-shadow:0 16px 35px rgba(0,174,239,.28)}
.map-pin:after{content:"";position:absolute;width:30px;height:30px;left:26px;top:26px;border-radius:50%;background:#fff}
.map-label{position:relative;z-index:2;text-align:center;color:#fff}
.map-label strong{display:block;font-size:20px;margin-bottom:7px}
.map-label span{font-size:13px;line-height:1.6;color:rgba(255,255,255,.72)}
.location-actions{display:flex;gap:10px;flex-wrap:wrap;padding:24px 30px 30px}
.location-actions a,.location-actions button{display:inline-flex;height:48px;align-items:center;justify-content:center;padding:0 19px;border-radius:10px;border:0;text-decoration:none;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.location-actions .primary{background:var(--rw-navy);color:#fff}
.location-actions .secondary{background:#EDF4FC;color:var(--rw-blue);border:1px solid #C9DDF2}
.location-actions .copy{background:#fff;color:#4B5C70;border:1px solid #CBD6E2}


.visit-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}
.visit-card,.contact-card{padding:34px 30px;border-radius:22px;background:#fff;border:1px solid var(--rw-line)}
.visit-card h3,.contact-card h3{margin:0 0 18px;font-size:25px;color:var(--rw-navy);font-weight:800}
.visit-list{display:grid;gap:14px}
.visit-item{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #E7EDF4}
.visit-item:last-child{border-bottom:0}
.visit-item strong{color:#344054}
.visit-item span{color:#667085;line-height:1.65}
.contact-card{background:linear-gradient(135deg,#F4F8FD 0%,#F7F5FF 100%)}
.contact-card .line{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #DCE6F0}
.contact-card .line:last-child{border-bottom:0}
.contact-card .label{flex:0 0 80px;font-size:13px;font-weight:800;color:var(--rw-blue)}
.contact-card .value{font-size:16px;color:#4F5F73;line-height:1.6}
.contact-card a{color:var(--rw-navy);text-decoration:none;font-weight:700}

@media(max-width:900px){.location-grid,.visit-wrap{grid-template-columns:1fr}
}
@media(max-width:768px){.directions-section{padding:72px 0}.directions-head h2{font-size:32px}.location-top h3{font-size:24px}.location-address{font-size:16px}.visit-item{grid-template-columns:1fr;gap:5px}
}
