:root{--gold: #f0b429;--blue: #1a73e8;--teal: #0d9488;--ocean: #0077b6;--sand: #fef3c7;--sky: #e0f2fe;--dark: #0f172a;--card-bg: #ffffff;--card-border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--text);background:#f8fafc;line-height:1.6}.app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.hero{position:relative;background:linear-gradient(135deg,#0077b6,#00b4d8 40%,#48cae4,#90e0ef);padding:5rem 1.5rem 4rem;text-align:center;color:#fff;overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(240,180,41,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 40%);pointer-events:none}.hero-content{position:relative;max-width:700px;margin:0 auto}.hero-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.35rem 1rem;border-radius:999px;margin-bottom:1.25rem}.hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem}.hero-sub{font-size:1.1rem;opacity:.9;max-width:540px;margin:0 auto 2rem}.hero-stats{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center}.stat strong{font-size:1.75rem;font-weight:700}.stat span{font-size:.8rem;opacity:.8;text-transform:uppercase;letter-spacing:.08em}.search-section{padding:2.5rem 0 1rem;background:#fff;border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:100}.search-bar{display:flex;align-items:center;background:#f1f5f9;border:2px solid transparent;border-radius:999px;padding:.75rem 1.25rem;transition:border-color .2s;max-width:500px;margin:0 auto 1rem}.search-bar:focus-within{border-color:var(--ocean);background:#fff}.search-icon{margin-right:.75rem;font-size:1.1rem}.search-bar input{border:none;background:transparent;font-size:1rem;width:100%;outline:none;color:var(--text)}.search-bar input::placeholder{color:var(--text-muted)}.tags-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;justify-content:center;flex-wrap:wrap}.filter-tag{border:1px solid var(--card-border);background:#fff;color:var(--text-muted);font-size:.8rem;font-weight:500;padding:.35rem .9rem;border-radius:999px;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-tag:hover{border-color:var(--ocean);color:var(--ocean)}.filter-tag.active{background:var(--ocean);color:#fff;border-color:var(--ocean)}.destinations{padding:3rem 0}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}.section-header h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.section-header p{color:var(--text-muted);font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.dest-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.dest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dest-image{height:180px;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.dest-body{padding:1.25rem}.dest-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.dest-top h3{font-size:1.15rem;font-weight:600}.stars{color:var(--gold);font-size:.85rem;white-space:nowrap}.rating-number{color:var(--text-muted);font-size:.8rem;margin-left:.35rem}.dest-region{display:inline-block;font-size:.75rem;color:var(--teal);font-weight:500;margin-bottom:.5rem}.dest-desc{font-size:.88rem;color:var(--text-muted);line-height:1.55;margin-bottom:.75rem}.dest-tags{display:flex;gap:.4rem;flex-wrap:wrap}.dest-tag{font-size:.7rem;font-weight:500;padding:.2rem .6rem;border-radius:999px;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.culture{padding:4rem 0;background:linear-gradient(180deg,#f8fafc,#e0f2fe)}.culture h2,.tips h2{font-size:1.75rem;font-weight:700;text-align:center;letter-spacing:-.02em;margin-bottom:.5rem}.section-sub{text-align:center;color:var(--text-muted);max-width:560px;margin:0 auto 2rem;font-size:.95rem}.culture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.culture-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.culture-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.culture-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.culture-card h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.culture-card p{font-size:.85rem;color:var(--text-muted);line-height:1.55}.tips{padding:4rem 0;background:#fff}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.tip-card{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:#f8fafc;border:1px solid var(--card-border);border-radius:var(--radius);transition:background .2s}.tip-card:hover{background:#f1f5f9}.tip-icon{font-size:1.75rem;flex-shrink:0}.tip-card h3{font-size:.95rem;font-weight:600;margin-bottom:.25rem}.tip-card p{font-size:.85rem;color:var(--text-muted);line-height:1.5}.cta{padding:4rem 0;background:linear-gradient(135deg,#0077b6,#00b4d8,#48cae4);color:#fff;text-align:center}.cta-inner{max-width:600px}.cta h2{font-size:2rem;font-weight:700;margin-bottom:.75rem}.cta p{opacity:.9;margin-bottom:1.5rem;font-size:1.05rem}.cta-btn{background:#fff;color:var(--ocean);font-size:1rem;font-weight:600;padding:.85rem 2rem;border:none;border-radius:999px;cursor:pointer;transition:transform .2s,box-shadow .2s}.cta-btn:hover{transform:scale(1.05);box-shadow:0 4px 20px #0003}.footer{background:var(--dark);color:#cbd5e1;padding:3rem 0 0}.footer-inner{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem}.footer-brand strong{font-size:1.1rem;color:#fff;display:block;margin-bottom:.5rem}.footer-brand p{font-size:.85rem;opacity:.7}.footer-links h4{color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.footer-links ul{list-style:none}.footer-links li{font-size:.85rem;padding:.2rem 0;opacity:.7;cursor:default}.footer-links li:hover{opacity:1}.footer-bottom{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;margin-top:1rem}.footer-bottom p{font-size:.8rem;opacity:.5;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:16px;padding:2rem;max-width:480px;width:100%;position:relative;text-align:center;box-shadow:0 20px 60px #0000004d;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:.75rem;right:1rem;background:none;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;line-height:1}.modal-close:hover{color:var(--text)}.modal-image{font-size:4rem;margin-bottom:.75rem}.modal h2{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.modal-region{display:inline-block;font-size:.8rem;color:var(--teal);font-weight:500;margin-bottom:.5rem}.modal .stars{display:block;margin-bottom:1rem}.modal-desc{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem}.modal-tags{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}@media(max-width:768px){.hero{padding:3.5rem 1rem 3rem}.hero-stats{gap:1.5rem}.stat strong{font-size:1.35rem}.grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-brand{grid-column:1 / -1}.tips-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:.25rem}}@media(max-width:480px){.hero h1{font-size:2rem}.footer-inner{grid-template-columns:1fr}.tags-row{justify-content:flex-start}}
