:root{--sea:#0e7c86;--deep:#0b3c5d;--sand:#fbf8f2;--sun:#f4a259;--coral:#ef6f6c;--ink:#1d2b36;--mut:#5f6f7a;--card:#fff;--r:14px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--sand);line-height:1.6}
a{color:var(--sea)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--deep);line-height:1.2}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.sec{padding:40px 20px}.center{text-align:center}.small{font-size:.85rem}.muted{color:var(--mut)}
.top{background:#fff;border-bottom:1px solid #e8e2d6;position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;font-size:1.3rem;color:var(--deep);text-decoration:none}.logo span{color:var(--sea)}
nav a{margin-left:18px;color:var(--ink);text-decoration:none;font-weight:500}nav a:hover{color:var(--sea)}.burger{display:none;background:none;border:0;font-size:1.6rem}
.btn{display:inline-block;background:var(--sea);color:#fff!important;border:0;border-radius:999px;padding:12px 22px;font-weight:600;text-decoration:none;cursor:pointer;font-size:1rem}.btn:hover{background:var(--deep)}.btn.sm{padding:8px 16px;font-size:.9rem}
.btn.light{background:#fff;color:var(--deep)!important}.btn.ghost{background:transparent;border:2px solid #fff}.btn.ghost2{background:transparent;color:var(--sea)!important;border:2px solid var(--sea)}
.hero{position:relative;background:linear-gradient(135deg,#0b3c5d 0%,#0e7c86 55%,#5ec4c0 100%);color:#fff;padding:70px 0 110px}.hero h1{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem);margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;color:#ffd9a8}.lead{font-size:1.15rem;max-width:680px}.hero .lead{color:#e3f4f4}
.wave{position:absolute;bottom:0;left:0;width:100%;height:80px}
.search{display:flex;gap:8px;background:#fff;padding:8px;border-radius:999px;max-width:820px;margin-top:26px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.search input,.search select{border:0;padding:12px 14px;font-size:1rem;background:transparent;color:var(--ink);min-width:0}.search input{flex:2}.search select{flex:1;border-left:1px solid #eee}
#results .grid{margin-top:24px}#results h3 a{color:var(--deep)}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.cat{background:#fff;border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px rgba(11,60,93,.06);transition:.15s}.cat:hover,.city:hover,.guide:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(11,60,93,.12)}.cat .ic{font-size:1.7rem}.cat small{color:var(--mut)}.cat.sm{flex-direction:row;align-items:center;gap:10px;padding:12px}
.cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.city{background:linear-gradient(160deg,#fff,#eaf6f5);border-left:5px solid var(--sun);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.15s}.city b{font-size:1.15rem;color:var(--deep)}.city small{color:var(--mut)}
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.guide{background:#fff;border-radius:var(--r);padding:22px;text-decoration:none;color:var(--ink);border-top:4px solid var(--sea);display:flex;flex-direction:column;gap:6px;transition:.15s}.guide b{font-family:Georgia,serif;color:var(--deep);font-size:1.15rem}.guide small{color:var(--mut)}
.cta{background:var(--deep);color:#fff;padding:50px 0;text-align:center}.cta h2{color:#fff}
.phead{background:linear-gradient(135deg,#0b3c5d,#0e7c86);color:#fff;padding:40px 0}.phead h1{color:#fff;margin:.2em 0}.phead .lead{color:#dff2f2}.crumb{font-size:.9rem;opacity:.85}.crumb a{color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card{background:#fff;border-radius:var(--r);padding:18px;box-shadow:0 2px 8px rgba(11,60,93,.07);display:flex;flex-direction:column}.card h3{margin:.5em 0 .2em;font-size:1.15rem}.card h3 a{color:var(--deep);text-decoration:none}.card p{margin:0}.ctop{display:flex;justify-content:space-between;gap:6px}.cact{margin-top:auto;padding-top:12px}.cact a{font-weight:600;text-decoration:none}
.tag{font-size:.78rem;background:#e6f4f3;color:var(--sea);border-radius:999px;padding:3px 10px}.badge{font-size:.72rem;border-radius:999px;padding:3px 10px;font-weight:600;font-family:system-ui}.badge.un{background:#fff1e0;color:#a85b12}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{background:#fff;border:1px solid #d9e7e6;border-radius:999px;padding:6px 14px;text-decoration:none;color:var(--ink);font-size:.9rem}.chip.on{background:var(--sea);color:#fff;border-color:var(--sea)}
.empty{background:#fff;border:2px dashed #cfe3e1;border-radius:var(--r);padding:40px;text-align:center}.empty .big{font-size:3rem}
.box{background:#fff;border-radius:var(--r);padding:24px;box-shadow:0 2px 8px rgba(11,60,93,.06);margin-bottom:18px}
.profile{display:grid;grid-template-columns:2fr 1fr;gap:22px}.claimbox{border-top:5px solid var(--sun);align-self:start}dl{display:grid;grid-template-columns:130px 1fr;gap:8px}dt{color:var(--mut)}dd{margin:0}
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.form label{display:block;font-weight:600;margin-bottom:14px}.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #d6dde2;border-radius:10px;font:inherit}.chk{font-weight:400!important}
.ticks{list-style:none;padding:0}.ticks li{padding:4px 0 4px 26px;position:relative}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--sea);font-weight:800}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.price{background:#fff;border-radius:var(--r);padding:28px;position:relative;box-shadow:0 2px 10px rgba(11,60,93,.08);display:flex;flex-direction:column}.price .btn{margin-top:auto;text-align:center}.price.hot{border:3px solid var(--sea);transform:scale(1.03)}.amt{font-size:2.6rem;font-weight:800;color:var(--deep)}.amt small{font-size:1rem;color:var(--mut)}.ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--sun);color:#fff;padding:4px 14px;border-radius:999px;font-size:.8rem;font-weight:700}
.prose h2{margin-top:1.6em}.prose li{margin-bottom:.4em}
footer{background:#082c44;color:#c9dbe4;padding:40px 0 20px;margin-top:40px}footer .logo{color:#fff}footer a{color:#c9dbe4;display:block;text-decoration:none;padding:2px 0}footer h4{color:#fff}.fgrid{display:grid;grid-template-columns:2fr 1fr 1.5fr 1.2fr;gap:24px}
@media(max-width:800px){.burger{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 20px;border-bottom:1px solid #eee}.open nav{display:flex}nav a{margin:8px 0}
.search{flex-direction:column;border-radius:18px}.search select{border-left:0;border-top:1px solid #eee}.profile,.two,.prices,.fgrid{grid-template-columns:1fr}.price.hot{transform:none}}
/* === Beach theme: sand, Gulf teal, sunset coral === */
:root{--sea:#0b6f78;--deep:#0b3c5d;--sand:#fbf8f2;--sand2:#f3e9d7;--sun:#f4a259;--coral:#e0604f;--coraldk:#b8432f}
.logo{display:inline-flex;align-items:center;gap:6px}.logo .palm{width:28px;height:28px;flex:none}footer .logo .palm path:first-child{stroke:#f4c48a}footer .logo .palm path:last-child{fill:#7fd3cc}
header.top{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--sea),var(--sun),var(--coral)) 1}
.hero{overflow:hidden;background:#0b3c5d}.hero .herobg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,44,68,.88) 0%,rgba(11,60,93,.72) 45%,rgba(11,60,93,.25) 100%);z-index:1}
.hero>.wrap,.hero>#results{position:relative;z-index:2}.hero .wave{z-index:2}
.phead{position:relative}.phead.img{overflow:hidden;padding:56px 0 86px;background:#0b3c5d}.phead.img .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phead.img:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,44,68,.9),rgba(11,60,93,.7) 55%,rgba(11,60,93,.35));z-index:1}
.phead.img>.wrap{position:relative;z-index:2}.phead .wave{height:50px;z-index:2}
.phead:not(.img){background:linear-gradient(135deg,#0b3c5d,#0b6f78 70%,#2f8f8a)}
.city{background:linear-gradient(160deg,#fff,var(--sand2));border-left-color:var(--coral)}
.cat{border-bottom:3px solid transparent}.cat:hover{border-bottom-color:var(--sun)}
.guide{border-top-color:var(--coral)}
.ribbon{background:var(--coraldk)}.eyebrow{color:#ffd9a8}
.cta{background:linear-gradient(135deg,#0b3c5d,#0b6f78)}
section.sec+section.sec{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M0 6c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23e8c9a0' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center top;background-size:120px 12px}
footer{position:relative;background:linear-gradient(180deg,#5a3a26 0%,#3e2a1e 100%);color:#f6e7d3;margin-top:70px}
footer:before{content:"";position:absolute;left:0;right:0;top:-40px;height:41px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0,20 C240,40 480,0 720,20 C960,40 1200,0 1440,20 L1440,40 L0,40Z' fill='%235a3a26'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}
footer a{color:#f6e7d3}footer a:hover{color:#ffd29a}footer h4{color:#ffd29a}footer .small{color:#e9d6bf}
.credits{font-size:.9rem}.credits li{margin:4px 0}
footer .logo span{color:#7fd3cc}
.herolink{color:#ffd29a;font-weight:600;white-space:nowrap}
.sbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.sbcard{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 2px 8px rgba(11,60,93,.07);border-bottom:4px solid var(--sun);transition:.15s}.sbcard:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(11,60,93,.12)}.sbcard .thumb{width:100%;height:170px;object-fit:cover}.sbcard div{padding:16px;display:flex;flex-direction:column;gap:4px}.sbcard b{font-family:Georgia,serif;color:var(--deep);font-size:1.15rem}

.card.feat{border:2px solid #f2a33a;background:linear-gradient(180deg,#fff8ec,#fff);box-shadow:0 6px 18px rgba(242,163,58,.25)}.badge.top{background:#f2a33a;color:#fff}.badge.cl{background:#e3f5e8;color:#1f7a3a}
