.psl-beaches :is(p,li,td,th){font-size:18px;line-height:1.7}.psl-beaches section{scroll-margin-top:110px}.psl-beaches .psl-beach-card img,.psl-beaches .psl-beyond-card img{aspect-ratio:16 / 9;width:100%;height:auto;-o-object-fit:cover;object-fit:cover;display:block}.psl-beaches .psl-tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 14px;font-size:16px;line-height:1.4;font-weight:600;background:hsl(var(--seafoam));color:hsl(var(--foreground));border:1px solid hsl(var(--icon-teal) / .25)}.psl-beaches .psl-pin-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:700;font-size:16px;flex-shrink:0}.psl-map .ocean{fill:hsl(var(--primary) / .16)}.psl-map .lagoon{fill:hsl(var(--seafoam))}.psl-map .river{fill:none;stroke:hsl(var(--seafoam));stroke-width:12;stroke-linecap:round}.psl-map .river-edge{fill:none;stroke:hsl(var(--icon-teal) / .35);stroke-width:14;stroke-linecap:round}.psl-map .land{fill:hsl(var(--sand-mid))}.psl-map .island{fill:hsl(var(--sand-light));stroke:hsl(var(--icon-teal) / .55);stroke-width:1.5}.psl-map .bridge{stroke:hsl(var(--foreground));stroke-width:5;stroke-linecap:round}.psl-map .label{fill:hsl(var(--foreground));font-family:var(--font-body)}.psl-map .label-muted{fill:hsl(var(--muted-foreground));font-family:var(--font-body)}.psl-map .city-dot{fill:hsl(var(--foreground))}.psl-map .pin{fill:hsl(var(--primary));stroke:hsl(var(--background));stroke-width:2.5}.psl-map .pin-text{fill:hsl(var(--primary-foreground));font-family:var(--font-body);font-weight:700}.psl-beaches .psl-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--card))}.psl-beaches .psl-table-wrap:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.psl-beaches .psl-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}.psl-beaches .psl-table :is(th,td){text-align:left;padding:16px 20px;border-bottom:1px solid hsl(var(--border));vertical-align:top}.psl-beaches .psl-table thead th{background:hsl(var(--secondary));color:hsl(var(--foreground));font-weight:700;white-space:nowrap}.psl-beaches .psl-table tbody tr:nth-child(2n) :is(th,td){background:hsl(var(--muted))}.psl-beaches .psl-table tbody tr:nth-child(odd) :is(th,td){background:hsl(var(--card))}.psl-beaches .psl-table tbody tr:last-child :is(th,td){border-bottom:0}.psl-beaches .psl-table :is(thead th,tbody th):first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 hsl(var(--border));min-width:180px}.psl-beaches .psl-table thead th:first-child{background:hsl(var(--secondary))}.psl-beaches .psl-stat{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;padding:28px 24px;box-shadow:var(--section-card-shadow)}.psl-beaches .psl-stat-value{font-family:var(--font-heading);font-weight:700;font-size:34px;line-height:1.15;color:hsl(var(--primary))}.psl-beaches .psl-living{position:relative;isolation:isolate;overflow:hidden}.psl-beaches .psl-living>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:-2}.psl-beaches .psl-living:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,hsl(var(--background) / .55),hsl(var(--background) / .2) 60%,hsl(var(--background) / .05))}.psl-beaches .psl-living-card{background:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:12px;padding:40px;max-width:40rem;box-shadow:0 18px 40px -18px hsl(var(--foreground) / .45)}.psl-beaches .psl-closing{position:relative;isolation:isolate;overflow:hidden}.psl-beaches .psl-closing>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:-2}.psl-beaches .psl-closing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,hsl(var(--primary) / .72),hsl(var(--primary) / .86) 45%,hsl(var(--primary) / .94))}@media (max-width: 639px){.psl-beaches .psl-living-card{padding:28px 22px}.psl-beaches .psl-table :is(th,td){padding:12px 14px}.psl-beaches .psl-table :is(thead th,tbody th):first-child{min-width:140px}.psl-beaches .psl-stat-value{font-size:30px}}
