:root{--primary-bg: #f4f6f8;--text-main: #2d3436;--text-sec: #636e72;--card-shadow: 0 10px 30px rgba(0, 0, 0, .08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;background-color:var(--primary-bg);color:var(--text-main)}.container{max-width:1100px;margin:0 auto;padding:40px 20px}.apply-method{display:flex;flex-direction:column;align-items:end;gap:.5rem}header{text-align:center;margin-bottom:50px;animation:fadeInDown .8s ease-out}header h1{font-size:2.5rem;margin-bottom:10px;font-weight:800;letter-spacing:-1px}header p{font-size:1.1rem;color:var(--text-sec)}.menu{margin:40px;display:grid;grid-template-columns:repeat(4,150px);gap:30px;justify-content:center}.menu button{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .3s,box-shadow .3s;cursor:pointer}.menu button:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001f;opacity:.8}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;padding-bottom:80px}.card{padding:0!important;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(0,0,0,.05)}.card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.card-img{height:220px;background-size:cover;background-position:center;position:relative}.tag{position:absolute;top:15px;left:15px;color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.3)}.card-content{padding:2em;text-align:left}.meta-info{display:flex;gap:15px;font-size:.85rem;color:var(--text-sec);margin-bottom:10px}.meta-item{display:flex;align-items:center;gap:4px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:#fff;width:100%;max-width:900px;max-height:90vh;border-radius:20px;overflow-y:auto;position:relative;box-shadow:0 25px 50px #00000040;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.close-btn{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;z-index:10;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.close-btn:hover{transform:scale(1.1)}.modal-hero{height:250px;flex-shrink:0;background-size:cover;background-position:center;position:relative}.modal-hero-text{position:absolute;bottom:0;width:100%;padding:30px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff}.modal-body{padding:30px;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;text-align:left}@media(max-width:768px){.modal-body{grid-template-columns:1fr}}.info-box{background:#f8f9fa;padding:15px;border-radius:12px;margin-bottom:12px;display:flex;align-items:flex-start;gap:12px}.info-icon{background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;align-items:center;justify-content:center}.eq-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.eq-list li{background:#fff;border:1px solid #eee;padding:6px 12px;border-radius:6px;font-size:.9rem}.btn-book{width:100%;padding:14px;border:none;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;margin-top:15px;font-size:1rem}.btn-book:hover{opacity:.9}.interaction-area{margin-top:25px;padding:15px;background:#e1f5fe;border-radius:8px;color:#0277bd;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:15px}.gallery-thumb{aspect-ratio:1 / 1;background-size:cover;background-position:center;border-radius:12px;cursor:pointer;position:relative;overflow:hidden;border:1px solid #eee;transition:transform .2s}.gallery-thumb:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.thumb-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.gallery-thumb:hover .thumb-overlay{opacity:1}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out;cursor:zoom-out}.lightbox-img{max-width:90%;max-height:90vh;border-radius:8px;box-shadow:0 0 20px #00000080;cursor:default}.lightbox-close{position:absolute;top:30px;right:30px;background:none;border:none;cursor:pointer;padding:10px;border-radius:50%;transition:background .2s}.lightbox-close:hover{background:#fff3}.filter-menu{display:flex;justify-content:center;gap:15px;margin-bottom:40px;flex-wrap:wrap}.filter-btn{background:#fff;border:1px solid #ddd;padding:10px 24px;border-radius:50px;font-size:1rem;color:#666;cursor:pointer;transition:all .2s ease;font-weight:500}.filter-btn:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.filter-btn.active{background:#2c3e50;color:#fff;border-color:#2c3e50;box-shadow:0 4px 12px #2c3e504d}
