.acc-body{display:none}.acc-body.open{display:block}.acc-btn .acc-icon{transition:transform 0.3s ease}.acc-btn.acc-open .acc-icon{transform:rotate(180deg)}
.tag-blue{background:rgba(99,102,241,0.1);color:#4338ca;border:1px solid rgba(99,102,241,0.2)}
.tag-cyan{background:rgba(100,116,139,0.08);color:#334155;border:1px solid rgba(100,116,139,0.15)}
.tag-lime{background:rgba(124,58,237,0.1);color:#5b21b6;border:1px solid rgba(124,58,237,0.2)}
.prof-row{transition:background 0.18s ease}.prof-row:hover{background:rgba(99,102,241,0.04)}
.prof-row mark{background:rgba(99,102,241,0.2);color:inherit;border-radius:2px;padding:0 2px}
.glass-card{background:white;border:1px solid rgba(0,0,0,0.08);border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),box-shadow 0.3s cubic-bezier(0.4,0,0.2,1);will-change:transform}
.glass-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,0.08);border-color:rgba(99,102,241,0.15)}
.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}
#mobile-menu-shared{display:none}#mobile-menu-shared.open{display:block}
@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.branded-popup .leaflet-popup-content-wrapper{border-radius:16px !important;box-shadow:0 8px 32px rgba(0,0,0,0.12) !important;border:1px solid rgba(0,0,0,0.08) !important;padding:0 !important;overflow:hidden;background:#fff}
.branded-popup .leaflet-popup-content{margin:14px 16px !important}
.branded-popup .leaflet-popup-tip-container{display:none !important}
.leaflet-control-zoom a{border-radius:10px !important;border:none !important;background:white !important;box-shadow:0 2px 10px rgba(0,0,0,0.1) !important;color:#0f172a !important;font-weight:700 !important;font-family:Inter,sans-serif !important}
.leaflet-control-zoom{border:none !important;gap:4px;display:flex;flex-direction:column}
@keyframes pulse-ring{0%{transform:scale(0.6);opacity:0.9}100%{transform:scale(3);opacity:0}}
@keyframes pulse-ring2{0%{transform:scale(0.6);opacity:0.6}100%{transform:scale(2.2);opacity:0}}
@keyframes pulse-dot{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
/* ═══ MOBILE ADAPTATION ═══ */
@media(max-width:639px){
html,body{overflow-x:hidden;width:100%}
*{box-sizing:border-box}
header nav{padding-left:0.75rem;padding-right:0.75rem}
header nav .hidden.sm\:block{display:none !important}
.glass-card{min-width:0 !important}
.acc-btn{display:grid !important;grid-template-columns:1fr auto !important;align-items:start !important;gap:0.5rem 0.75rem !important;padding:0.875rem 1rem !important}
.acc-btn>div:first-child{grid-column:1 !important;display:flex !important;align-items:flex-start !important;gap:0.625rem !important;min-width:0}
.acc-btn>div:last-child{grid-column:2 !important;display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:0.375rem !important;flex-shrink:0}
.acc-btn .w-12{width:2.25rem !important;height:2.25rem !important;font-size:1.1rem !important;flex-shrink:0}
.acc-btn h2{font-size:0.875rem !important;line-height:1.3 !important;white-space:normal !important;overflow-wrap:break-word;word-break:break-word}
.acc-btn p{font-size:0.7rem !important}
.acc-btn .tag-blue,.acc-btn .tag-lime{font-size:0.65rem !important;padding:0.2rem 0.5rem !important;white-space:nowrap}
.acc-body .glass-card{padding:0.875rem !important}
.prof-row{flex-wrap:wrap}.prof-row span{min-width:0;overflow-wrap:break-word}
#industry-filters{flex-wrap:nowrap !important;overflow-x:auto !important;padding-bottom:0.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
#industry-filters::-webkit-scrollbar{display:none}
#industry-filters button{flex-shrink:0 !important}
/* Hero mobile */
section#home h1{font-size:2rem !important;line-height:1.1 !important}
section#home .text-lg.sm\:text-xl,section#home p.text-lg{font-size:1rem !important}
/* Stats cards mobile */
.grid.grid-cols-2.md\:grid-cols-4 .text-3xl{font-size:1.5rem !important}
/* Footer mobile */
footer .grid{gap:1.5rem !important}
footer h4{margin-bottom:0.5rem !important}
/* Contacts page cards */
#page-contacts .font-bold.text-lg{font-size:0.9rem !important}
/* Form sections */
section[id$="-form"] .p-8,section#course .p-8{padding:1.25rem !important}
section[id$="-form"] h2,section#course h2{font-size:1.5rem !important}
/* Bento grid mobile */
section#why .grid{gap:0.75rem !important}
section#why .p-8{padding:1.25rem !important}
section#why h3{font-size:1rem !important}
/* Programs grid */
section#programs .grid{gap:0.75rem !important}
section#programs .aspect-\[4\/3\]{aspect-ratio:3/2 !important}
/* Steps */
section#steps .grid{gap:0.75rem !important}
section#steps .p-7{padding:1.25rem !important}
/* Documents section */
section#documents .p-5{padding:0.875rem !important}
/* Map */
#main-map,#contacts-map{height:250px !important;min-height:250px !important}
}

@media(max-width:767px){
.fade-in{opacity:1 !important;transform:none !important;transition:none !important}
.fade-in.visible{opacity:1 !important;transform:none !important}
/* Two-column layouts to single on small tablets */
.grid.lg\:grid-cols-2.gap-12{gap:2rem !important}
}