:root{--ocean:#086f87;--teal:#0a8f88;--deep:#073746;--sand:#f6efe1;--foam:#f4fbfa;--line:#d8e9e7;--muted:#58737a;--shadow:0 18px 48px rgba(4,55,68,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--deep);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}.places-header{position:sticky;top:0;z-index:50;min-height:78px;display:flex;align-items:center;gap:32px;padding:14px 5vw;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.places-brand{display:flex;align-items:center;gap:10px;color:var(--deep);font:800 15px "Manrope";letter-spacing:.04em;text-decoration:none;white-space:nowrap}.places-brand span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff}.places-header nav{margin-left:auto;display:flex;align-items:center;gap:22px}.places-header nav a{color:#4f6c73;font-size:13px;font-weight:700;text-decoration:none}.places-header nav a:hover,.places-header nav a[aria-current=page]{color:var(--teal)}.places-nav-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--deep);font-size:24px}.places-hero{min-height:510px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;padding:90px 7vw;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:url("assets/places/lanikai-beach-hd2.jpg") center 54%/cover}.places-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,41,52,.91),rgba(3,71,81,.68) 56%,rgba(4,88,91,.34))}.places-hero h1{max-width:700px;margin:10px 0 20px;font:800 clamp(48px,7vw,86px)/.98 "Manrope"}.places-hero>div>p:last-child{max-width:620px;font-size:18px;line-height:1.7}.places-eyebrow{margin:0;color:#8cf0df;font-size:11px;font-weight:800;letter-spacing:.18em}.places-hero form{padding:25px;border:1px solid rgba(255,255,255,.5);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:var(--shadow);color:var(--deep)}.places-hero form label{display:block;margin-bottom:10px;font-size:12px;font-weight:800}.places-hero form div{display:flex;gap:9px}.places-hero input{width:100%;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:13px}.places-hero form button,.places-empty button{border:0;border-radius:13px;background:var(--teal);color:#fff;font-weight:800;padding:0 21px}.places-browser{max-width:1440px;margin:auto;padding:90px 5vw 120px}.places-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:38px}.places-intro h2{margin:8px 0 0;font:800 clamp(36px,5vw,62px)/1.04 "Manrope"}.places-intro>p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}.places-intro .places-eyebrow{color:var(--teal)}.group-chips{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px}.group-chips button{min-height:92px;padding:12px 8px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--deep);font-weight:800;cursor:pointer}.group-chips button span{display:block;margin-bottom:6px;font-size:25px}.group-chips button:hover,.group-chips button[aria-pressed=true]{border-color:var(--teal);background:var(--foam);color:var(--teal);box-shadow:0 8px 22px rgba(7,110,110,.11)}.places-toolbar{position:sticky;top:90px;z-index:20;display:grid;grid-template-columns:1fr 1fr auto auto;gap:14px;align-items:end;margin-bottom:16px;padding:17px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(4,54,70,.09)}.places-toolbar label{font-size:11px;font-weight:800;color:var(--muted)}.places-toolbar select{width:100%;min-height:48px;margin-top:6px;padding:0 13px;border:1px solid #bdd6d6;border-radius:12px;background:#fff;color:var(--deep)}.places-toolbar button{min-height:48px;padding:0 18px;border:1px solid #bdd6d6;border-radius:12px;background:#fff;color:var(--deep);font-weight:800}.places-toolbar p{min-width:105px;margin:0 8px 14px;color:var(--teal);font-weight:800;text-align:right}.active-filter-summary{min-height:30px;margin:12px 0 20px;color:var(--muted);font-size:13px}.active-filter-summary b{color:var(--deep)}.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.place-card{overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow);transition:transform .24s ease,box-shadow .24s ease}.place-card:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(4,55,68,.17)}.place-photo{position:relative;height:235px;overflow:hidden;background:#dcebea}.place-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.place-card:hover .place-photo img{transform:scale(1.035)}.save-place{position:absolute;right:14px;top:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.94);color:var(--deep);font-size:20px;box-shadow:0 5px 18px rgba(0,0,0,.18)}.save-place[aria-pressed=true]{background:#ffe9ec;color:#bb3855}.place-body{padding:21px}.place-meta{display:flex;flex-wrap:wrap;gap:7px}.place-meta span{padding:6px 9px;border-radius:999px;background:var(--foam);color:var(--teal);font-size:10px;font-weight:800}.place-meta span:last-child{background:var(--sand);color:#80642d}.place-body h2{margin:14px 0 9px;font:800 22px/1.18 "Manrope"}.place-body>p{min-height:66px;margin:0;color:var(--muted);font-size:14px;line-height:1.58}.place-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.place-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #b9d3d3;border-radius:11px;color:var(--deep);font-size:12px;font-weight:800;text-decoration:none}.place-actions a:first-child{grid-column:1/-1;background:var(--teal);border-color:var(--teal);color:#fff}.places-empty{padding:70px 20px;text-align:center}.places-empty span{font-size:42px}.places-empty h2{font:800 30px "Manrope"}.places-empty p{color:var(--muted)}.places-empty button{min-height:46px}footer{padding:60px 6vw;background:var(--deep);color:#d9eced;display:grid;grid-template-columns:1fr auto;gap:24px}footer .places-brand{color:#fff}footer nav{display:flex;gap:20px}footer nav a{color:#d9eced;text-decoration:none;font-size:13px}footer small{grid-column:1/-1;color:#9fc0c4}@media(max-width:1150px){.places-header nav{display:none;position:absolute;left:0;right:0;top:77px;padding:20px 5vw;background:#fff;flex-wrap:wrap;border-bottom:1px solid var(--line)}.places-header nav.open{display:flex}.places-nav-toggle{display:block}.group-chips{grid-template-columns:repeat(4,1fr)}.places-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.places-hero{min-height:640px;grid-template-columns:1fr;gap:28px;padding:80px 20px}.places-hero h1{font-size:50px}.places-hero form div{display:grid}.places-hero form button{min-height:50px}.places-browser{padding:70px 16px 90px}.places-intro{grid-template-columns:1fr;gap:18px}.group-chips{display:flex;overflow-x:auto;padding-bottom:8px}.group-chips button{min-width:122px}.places-toolbar{position:static;grid-template-columns:1fr 1fr}.places-toolbar button,.places-toolbar p{grid-column:span 1}.places-toolbar p{text-align:right}.places-grid{grid-template-columns:1fr}.place-photo{height:240px}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}footer small{grid-column:auto}}@media(max-width:450px){.places-toolbar{grid-template-columns:1fr}.places-toolbar button,.places-toolbar p{grid-column:auto}.places-toolbar p{text-align:left;margin:0}.place-actions{grid-template-columns:1fr}.place-actions a:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
