/* Caribe Explorer / Art Direction v0.2 — three intentionally distinct visual systems */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{font-synthesis:none;-webkit-font-smoothing:antialiased}
button,select,input{transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #efae5c;outline-offset:3px}
button:hover{transform:translateY(-1px)}
a:hover{text-decoration-thickness:2px}
.shell{max-width:1540px;padding:32px clamp(20px,4.5vw,76px)}
.top{padding:8px 0 20px;border-bottom:1px solid #dae5e0}
.brand{font-size:28px;letter-spacing:-.065em}.tabs{padding:5px;background:#eaf1ee;border-radius:100px;gap:2px}
.tabs button{border:0;background:transparent;border-radius:100px;padding:12px 20px;font-weight:700;font-size:12px;letter-spacing:.02em}
.tabs button.active{box-shadow:0 4px 14px #143a4024}
.hero{min-height:380px;border-radius:22px;margin-top:27px;position:relative;overflow:hidden;box-shadow:0 22px 55px #0d3a421b}
.hero:after{content:"CARIBE / 2027";position:absolute;bottom:26px;right:34px;color:#fff9;font-size:11px;letter-spacing:.25em;font-weight:800}
.hero h1{max-width:770px;font-weight:700;letter-spacing:-.065em;font-size:clamp(44px,5.3vw,82px);line-height:1.01}
.hero p{font-size:16px;line-height:1.7;max-width:520px}
.eyebrow{font-size:11px;letter-spacing:.23em}
.stats{gap:16px;margin:25px 0 38px}.stat{border-radius:13px;padding:23px 24px;border-color:#dfe8e3}.stat strong{font-size:36px;font-weight:800}.stat small{font-size:12px;letter-spacing:.02em}
.sectionHead{margin:32px 0 18px}.sectionHead h2{font-size:32px;letter-spacing:-.05em}
.toolbar{padding:14px;background:#eaf1ee;border-radius:14px;gap:12px;margin:20px 0 24px}
.control{border-radius:9px;padding:13px 15px;border:1px solid #d8e5df;min-height:46px}.toolbar label.control{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.grid{gap:21px}.hotel{border-radius:15px;box-shadow:0 6px 25px #173b400b;transition:transform .25s ease,box-shadow .25s ease}.hotel:hover{transform:translateY(-5px);box-shadow:0 20px 50px #173b401c}
.hotel img{height:245px}.hotel-body{padding:22px}.hotel h3{font-size:23px;margin:12px 0 8px}.meta{margin:18px 0}.meta span{font-size:11px}.buttons{gap:7px}.action{min-height:39px;border-radius:9px}
.pill{font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.panel{box-shadow:0 14px 38px #173b400d}.comparison table{margin-top:16px}.comparison th,.comparison td{padding:17px}
.foot{border-top:1px solid #dce7e2;padding-top:24px}
.modal{box-shadow:0 25px 110px #071f26aa}.modal img{height:290px}
.view-atlas{background:#f4f0e7;color:#2d3430;font-family:'DM Sans',sans-serif}
.view-atlas .top{border-color:#d9d4c9}.view-atlas .brand{font-family:'DM Serif Display',serif;font-size:34px;font-weight:400;letter-spacing:-.04em}
.view-atlas .brand span{color:#b1815d}.view-atlas .tabs{background:#e6e0d5}.view-atlas .tabs button.active{background:#3c453f;color:#fff}
.view-atlas .hero{min-height:590px;border-radius:4px;background:linear-gradient(90deg,#122b2abf,#163a3814),url('https://images.unsplash.com/photo-1514282401047-d79a71a590e8?w=1800&q=85') center/cover}
.view-atlas .hero h1{font-family:'DM Serif Display',serif;font-size:clamp(56px,7.2vw,112px);font-weight:400;letter-spacing:-.04em;line-height:.98;max-width:760px}
.view-atlas .hero .eyebrow{color:#f3d9b7}.view-atlas .hero p{font-size:17px}
.view-atlas .stats{border-bottom:1px solid #d7d0c3;padding-bottom:22px}.view-atlas .stat{background:transparent;border:0;border-right:1px solid #d7d0c3;border-radius:0;box-shadow:none}
.view-atlas .stat strong{font-family:'DM Serif Display',serif;font-weight:400;font-size:46px}.view-atlas .sectionHead h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:48px}
.view-atlas .toolbar{background:#e9e3d8}.view-atlas .hotel{border-radius:3px;border:0;background:#fffcf7;box-shadow:none}.view-atlas .hotel img{height:340px}
.view-atlas .hotel h3{font-family:'DM Serif Display',serif;font-size:29px;font-weight:400}.view-atlas .pill{background:#efe8dd;color:#685746}.view-atlas .pill.pending{background:#f9edd5;color:#916326}
.view-atlas .action.primary{background:#3b4b43;border-color:#3b4b43}
.view-intelligence{background:#edf3f3;color:#122e36;font-family:'Manrope',sans-serif}
.view-intelligence .top{border-color:#d5e4e6}.view-intelligence .brand{font-weight:800}.view-intelligence .brand span{color:#0eaca7}
.view-intelligence .tabs{background:#dfe9ea}.view-intelligence .tabs button.active{background:#102f3b;color:#fff}
.view-intelligence .hero{min-height:345px;background:radial-gradient(circle at 85% 20%,#3f8581 0,transparent 38%),linear-gradient(120deg,#071f2d,#164c58 72%,#0e3945);border-radius:18px}
.view-intelligence .hero:before{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff20;border-radius:50%;right:11%;top:-110px;box-shadow:0 0 0 60px #ffffff08,0 0 0 120px #ffffff05;pointer-events:none}
.view-intelligence .hero h1{font-family:'Manrope',sans-serif;font-size:clamp(42px,5vw,70px);font-weight:800}
.view-intelligence .stats{margin-top:-42px;position:relative;z-index:1;padding:0 20px}.view-intelligence .stat{box-shadow:0 13px 32px #0e3c4714}
.view-intelligence .stat strong{color:#0b6869}.view-intelligence .toolbar{background:#dfe9eb}
.view-intelligence .hotel{border-radius:12px}.view-intelligence .hotel img{height:205px}.view-intelligence .hotel h3{font-size:20px}
.view-intelligence .pill{background:#dff5ef;color:#09695f}.view-intelligence .action.primary{background:#0c6268;border-color:#0c6268}
.view-select{background:#fbf8f3;color:#3c302d;font-family:'Outfit',sans-serif}
.view-select .top{border-color:#e8e0d8}.view-select .brand{font-weight:600;font-size:30px;letter-spacing:-.045em}.view-select .brand span{color:#b57a52}
.view-select .tabs{background:#f0e9e1}.view-select .tabs button.active{background:#59473e;color:white}
.view-select .hero{min-height:480px;border-radius:32px;background:linear-gradient(90deg,#4d3025d9,#4d30252b),url('https://images.unsplash.com/photo-1540202404-a2f29016b523?w=1800&q=85') center/cover}
.view-select .hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,6vw,90px);font-weight:500;letter-spacing:-.04em;max-width:740px}
.view-select .hero .eyebrow{color:#ffe0bf}.view-select .stats{gap:0;background:white;border:1px solid #ede4da;border-radius:20px;overflow:hidden}
.view-select .stat{border:0;border-radius:0;border-right:1px solid #eee5db;background:transparent;padding:25px 28px}.view-select .stat strong{font-family:'Playfair Display',serif;font-weight:500;color:#a66b4d}
.view-select .sectionHead h2{font-family:'Playfair Display',serif;font-weight:500;font-size:42px}.view-select .toolbar{background:#f0e8de;border-radius:20px}
.view-select .hotel{border-radius:27px;border-color:#efe5dc;box-shadow:0 15px 40px #70513a0e}.view-select .hotel img{height:270px}
.view-select .hotel h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500}.view-select .pill{background:#f5ebe0;color:#875e47}.view-select .pill.pending{background:#fff1d7;color:#906326}
.view-select .action.primary{background:#684b40;border-color:#684b40}
@media(max-width:850px){.shell{padding:20px}.hero{min-height:330px}.view-atlas .hero{min-height:450px}.view-select .hero{min-height:400px}.view-intelligence .stats{margin-top:16px;padding:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel img,.view-atlas .hotel img,.view-select .hotel img{height:220px}}
@media(max-width:560px){.shell{padding:14px}.top{gap:12px}.tabs{width:100%}.tabs button{padding:11px 10px;min-height:44px}.hero,.view-atlas .hero,.view-select .hero{min-height:390px;padding:25px;border-radius:17px}.hero h1,.view-atlas .hero h1,.view-select .hero h1{font-size:clamp(44px,11vw,60px)}.hero:after{right:22px;bottom:16px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat,.view-select .stat{padding:17px}.stat strong,.view-atlas .stat strong{font-size:31px}.grid{grid-template-columns:1fr}.hotel img,.view-atlas .hotel img,.view-select .hotel img{height:250px}.view-atlas .sectionHead h2,.view-select .sectionHead h2{font-size:34px}.toolbar{padding:10px}.control{min-width:0}.search{width:100%;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
