@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#173c42;--muted:#687778;--teal:#23685f;--cream:#faf8f3;--line:#e0e4df;--orange:#d89363;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);font-family:var(--sans);color:var(--ink);font-size:15px;line-height:1.55}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dc9d5a;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}button svg,a svg{pointer-events:none}svg.icon{width:19px;height:19px;vertical-align:middle;flex-shrink:0;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:5000;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:94px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;font-size:17px;font-weight:700;letter-spacing:-.5px;line-height:1.05}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-bottom:5px}.brand-period{color:#d29362}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.site-header nav>a{text-decoration:none}.plain{border:0;background:none;padding:4px 0}.saved-nav{display:flex;align-items:center;gap:8px;border:1px solid #dce1dc;background:transparent;border-radius:24px;padding:10px 16px}.saved-nav b{font-size:11px;background:#e5ebe4;border-radius:50%;min-width:20px;height:20px;display:grid;place-items:center}.hero{position:relative;max-width:1440px;margin:0 auto;height:570px;isolation:isolate;overflow:hidden;background:#365d63}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,39,.83),rgba(8,43,49,.37) 48%,rgba(8,37,41,.02) 80%),linear-gradient(0deg,rgba(9,35,40,.52),transparent 44%);z-index:-2}.hero-content{padding:64px 7.5%;color:#fff;max-width:750px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 17px;display:flex;align-items:center;gap:10px}.little-sun{color:#f3ce97;font-size:23px;line-height:1}.eyebrow.dark{color:#66807c;font-size:10px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,5.4vw,80px);line-height:1.06;letter-spacing:-1.7px;margin-bottom:23px}h1 em{color:#f0d2a6;font-weight:400}h2{font-family:var(--serif);font-weight:400;letter-spacing:-.6px;font-size:36px;line-height:1.15;margin-bottom:12px}.hero-intro{color:#eff4f0;font-size:16px;line-height:1.7;margin-bottom:25px}.hero-link{font-size:13px;color:#fff;text-decoration:none;border-bottom:1px solid #a4c3bd;padding-bottom:7px;display:inline-flex;gap:28px;align-items:center}.hero-link span{font-size:22px}.hero-place{position:absolute;bottom:52px;right:7.5%;display:flex;align-items:flex-start;gap:9px;color:#fff;font-size:12px;font-weight:600}.hero-place small{display:block;font-size:10px;font-weight:400;color:#e2e9e3;margin-top:2px}.hero-credit{position:absolute;right:18px;bottom:9px;color:#fff;background:#10383c78;border:none;font-size:9px;border-radius:3px}.finder{position:relative;max-width:1160px;width:85%;margin:-30px auto 0;z-index:2}.search-form{background:#fff;box-shadow:0 8px 28px #163c4210;border-radius:10px;display:flex;align-items:center;padding:20px;gap:23px}.search-field{display:flex;gap:15px;align-items:center;flex:1;min-width:0;padding-left:6px}.search-field>div{flex:1;min-width:0}.search-field>.icon{width:23px;height:23px}.search-form label{font-size:9px;font-weight:700;letter-spacing:1.25px;display:block;margin-bottom:5px}.search-form input{border:0;outline:none;background:none;width:100%;font-size:14px;padding:0;color:var(--ink)}.search-form input::placeholder{color:#77847f}.region-field{border-left:1px solid var(--line);padding-left:25px;min-width:240px}.region-field select{border:0;background:#fff;width:100%;font-size:13px;color:var(--ink);padding:0 16px 0 0}.button{border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;padding:13px 20px;font-size:13px;font-weight:600;min-height:46px}.primary{background:var(--teal);color:#fff}.primary:hover{background:#164f49}.secondary{background:#edf1ec;color:var(--ink)}.search-button{min-width:176px}.finder-foot{display:flex;justify-content:space-between;gap:15px;padding:16px 5px;color:var(--muted);font-size:10px}.finder-foot>span:first-child{display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6c957b}.explore-section{max-width:1160px;width:85%;margin:57px auto 72px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.section-heading .eyebrow{margin-bottom:12px}.section-heading p:last-child{font-size:13px;color:var(--muted);margin-bottom:0}.view-toggle{display:flex;background:#edeFE9;border-radius:6px;padding:4px;flex-shrink:0}.view-toggle button{border:0;background:none;display:flex;align-items:center;gap:8px;border-radius:4px;padding:8px 15px;font-size:12px}.view-toggle button.active{background:#fff;box-shadow:0 1px 3px #1d383418}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 21px;padding-bottom:24px;border-bottom:1px solid var(--line)}.chip{display:flex;align-items:center;gap:8px;font-size:12px;background:transparent;border:1px solid #d8dfd7;border-radius:24px;padding:10px 15px;line-height:1}.chip:hover{background:#ecf0e9}.chip[aria-pressed=true]{background:#e1eee7;border-color:#2c6d60;color:#1d6053}.chip .icon{width:17px;height:17px}.clear-filters{border:0;background:none;text-decoration:underline;font-size:12px;padding:8px}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;font-size:12px}.results-toolbar p{margin:0;color:var(--muted)}.results-toolbar strong{color:var(--ink)}.sort-label{color:var(--muted);display:flex;align-items:center;gap:7px}.sort-label select{border:none;color:var(--ink);background:transparent;font-size:12px;max-width:160px}.filter-note{background:#f0f1e7;border-left:3px solid #b1b982;padding:11px 15px;font-size:12px;margin-bottom:20px}.beach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 23px}.beach-card{min-width:0;border-radius:10px;background:#fff;border:1px solid #e4e6df;overflow:hidden;transition:transform .2s,box-shadow .2s}.beach-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #173c4210}.card-image-wrap{position:relative;height:205px;background:#d1ded6;overflow:hidden}.card-image-link{display:block;height:100%;width:100%}.card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.beach-card:hover .card-image-wrap img{transform:scale(1.035)}.card-save{position:absolute;right:13px;top:13px;border:none;border-radius:50%;background:#ffffffee;width:34px;height:34px;display:grid;place-items:center;box-shadow:0 2px 8px #19393216}.card-save[aria-pressed=true]{color:#ad4b37}.card-save[aria-pressed=true] .icon{fill:#ad4b37}.card-badge{position:absolute;left:13px;top:15px;background:#fffaf1ef;padding:4px 9px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.photo-caption{position:absolute;bottom:0;right:0;left:0;margin:0;padding:15px 11px 6px;background:linear-gradient(transparent,#0b2e367d);color:white;font-size:9px;text-align:right;pointer-events:none}.card-body{padding:20px 20px 0}.card-region{text-transform:uppercase;letter-spacing:1.5px;font-size:9px;font-weight:600;color:#75877f;margin-bottom:7px}.card-title{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.13;letter-spacing:-.35px;margin-bottom:9px}.card-title a{text-decoration:none}.card-description{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:14px;min-height:39px}.card-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:27px;margin-bottom:17px}.card-tag{display:inline-flex;align-items:center;gap:5px;background:#f0f3ee;color:#4c6960;border-radius:3px;padding:4px 6px;font-size:9px;line-height:1.4}.card-tag .icon{width:12px;height:12px}.card-bottom{border-top:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;padding:13px 0 15px;color:#64796e}.card-bottom a{text-decoration:none;color:var(--ink);font-weight:600;font-size:11px}.compare-label{display:flex;align-items:center;gap:5px;cursor:pointer}.compare-label input{accent-color:var(--teal);width:13px;height:13px;margin:0}.editorial-strip{max-width:1160px;width:85%;margin:0 auto 48px;padding:40px 44px;display:grid;grid-template-columns:80px 1fr 1.1fr;gap:30px;align-items:center;background:#e8eee5;border-radius:8px}.strip-mark{font-family:var(--serif);font-size:65px;color:#64846f;line-height:1}.editorial-strip h2{font-size:34px;margin-bottom:0}.editorial-strip p:not(.eyebrow){font-size:13px;line-height:1.8;color:#577067}.editorial-strip .eyebrow{font-size:9px}.text-link{padding:0;border:0;border-bottom:1px solid #79988a;background:none;font-size:12px;font-weight:600;display:inline-flex;gap:25px;padding-bottom:5px}.conditions-strip{max-width:1160px;width:85%;margin:0 auto 55px;display:flex;align-items:center;gap:18px}.conditions-strip>.icon{width:32px;height:32px;color:#69867e}.conditions-strip h3{font-size:13px;margin-bottom:4px}.conditions-strip p{font-size:11px;color:var(--muted);margin-bottom:0}.conditions-strip a{font-size:11px;margin-left:auto;white-space:nowrap}footer{border-top:1px solid var(--line);padding:32px max(7.5%,calc((100vw - 1160px)/2)) 20px;background:#f1f2eb}.footer-main{display:flex;align-items:center;gap:25px}.footer-main .brand{font-size:13px}.footer-main .brand small{font-size:8px}.footer-main p{font-size:11px;color:var(--muted);margin:0 auto 0 0}.footer-main button{font-size:11px}.footer-bottom{margin-top:28px;padding-top:18px;border-top:1px solid #dce2d8;display:flex;justify-content:space-between;font-size:9px;color:#718175;gap:15px}.map-wrap{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white}#beach-map{height:560px;background:#dae7e3;z-index:0}.map-note{font-size:11px;color:var(--muted);padding:14px 20px;margin:0}.map-results{display:grid;grid-template-columns:repeat(3,1fr);padding:0 20px 18px;gap:8px}.map-results a{font-size:11px;border:1px solid var(--line);padding:8px 10px;border-radius:5px;text-decoration:none}.map-results a:hover{background:#e8eee5}.map-pin{background:var(--teal);color:white;border:2px solid white;border-radius:50%;box-shadow:0 1px 6px #1237;display:grid!important;place-items:center;font:600 10px var(--sans)}.leaflet-popup-content{font-family:var(--sans);margin:15px;line-height:1.6}.leaflet-popup-content strong{font-size:15px}.leaflet-popup-content a{color:var(--teal)}.leaflet-control-attribution{font-size:9px!important}.empty-state{padding:60px 24px;text-align:center;border:1px dashed #b9c6b8;border-radius:8px}.empty-state>.icon{height:40px;width:40px;color:#749283;margin-bottom:16px}.empty-state h3{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:12px}.empty-state p{font-size:14px;color:var(--muted)}.compare-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:700;background:#fff;border:1px solid #dde5dc;border-radius:10px;box-shadow:0 8px 35px #122e4230;display:flex;align-items:center;gap:24px;padding:15px 20px;width:min(560px,92vw)}.compare-bar>div{margin-right:auto}.compare-bar strong{display:block;font-size:13px}.compare-bar span{display:block;color:var(--muted);font-size:10px}.compare-bar .plain{font-size:11px}dialog{border:none;border-radius:12px;padding:0;width:min(880px,94vw);max-height:90dvh;color:var(--ink);background:var(--cream);box-shadow:0 24px 80px #0d272a66}dialog::backdrop{background:#0d2c31b0;backdrop-filter:blur(4px)}dialog .dialog-close{position:absolute;top:15px;right:15px;width:37px;height:37px;border:0;border-radius:50%;font-size:26px;line-height:1;background:#fff;color:var(--ink);z-index:3;box-shadow:0 2px 10px #0002}body:has(dialog[open]){overflow:hidden}.detail-photo{height:290px;position:relative;background:#dae6de}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-head{padding:30px 36px 22px}.detail-head h2{font-size:40px;margin-bottom:12px}.detail-head>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:680px;margin-bottom:18px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-actions .button{font-size:12px;padding:10px 14px;min-height:40px;gap:7px}.detail-body{padding:0 36px 35px}.detail-alert{background:#f4e8cf;border-left:3px solid #cdab62;border-radius:4px;padding:12px 16px;font-size:12px;margin-bottom:18px}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact{border:1px solid var(--line);background:#fff;border-radius:7px;padding:17px}.fact dt{font-size:10px;text-transform:uppercase;letter-spacing:1.1px;color:#678175;margin-bottom:7px;font-weight:600;display:flex;gap:7px;align-items:center}.fact dd{margin:0}.fact dd strong{display:block;font-size:14px;font-weight:600}.fact dd p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0 0}.fact dd a{display:inline-block;font-size:9px;margin-top:9px;color:#668276}.detail-section{padding-top:25px;margin-top:25px;border-top:1px solid var(--line)}.detail-section h3{font-family:var(--serif);font-size:25px;font-weight:400;margin-bottom:12px}.detail-section p{color:var(--muted);font-size:12px}.source-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-list li{border-bottom:1px solid #e4e8e0;padding-bottom:10px;font-size:11px}.source-list small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.restaurant{border:1px solid var(--line);padding:16px;border-radius:6px;margin-bottom:10px;background:#fff}.restaurant>a{font-size:14px;font-weight:600;text-decoration:none}.restaurant p{font-size:12px;margin:5px 0 0}.photo-credit-line{font-size:10px;color:var(--muted);margin-top:20px;line-height:1.6}.info-dialog{width:min(860px,94vw)}#info-content{padding:42px 36px 32px}.info-dialog h2{padding-right:28px}.info-dialog p,.info-dialog li{font-size:14px;color:var(--muted)}.info-dialog h3{font-size:17px;margin-top:22px;margin-bottom:8px}.info-dialog ul{padding-left:22px}.credit-item{font-size:12px;padding:15px 0;border-top:1px solid var(--line)}.credit-item strong{display:block}.credit-item p{font-size:11px;margin:5px 0}.comparison-wrap{overflow:auto}.comparison-table{width:100%;border-collapse:collapse;min-width:520px;font-size:12px}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:top}.comparison-table th:first-child{width:120px}.comparison-table thead th{font-family:var(--serif);font-size:20px;font-weight:400}.comparison-table small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;z-index:3000;background:#173c42;color:white;padding:12px 20px;border-radius:6px;font-size:12px;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1550px){.hero{border-radius:12px}.hero-content{padding-left:10%}.site-header{padding:0 7.5%}}
@media(max-width:1050px){.site-header{padding:0 5%;height:82px}.site-header nav{gap:20px}.finder,.explore-section,.editorial-strip,.conditions-strip{width:90%}.region-field{min-width:205px;padding-left:18px}.search-form{gap:15px;padding:17px}.search-button{min-width:145px;padding:12px}.hero-content{padding-left:6%}.hero{height:540px}.beach-grid{gap:18px}.card-body{padding:17px 16px 0}.card-image-wrap{height:180px}.card-title{font-size:23px}.editorial-strip{grid-template-columns:55px 1fr 1.1fr;padding:30px;gap:20px}footer{padding-left:5%;padding-right:5%}}
@media(max-width:760px){.brand{font-size:13px;gap:8px}.brand img{width:35px;height:35px}.brand small{font-size:8px}.site-header{height:76px;gap:12px}.site-header nav{gap:12px}.site-header nav>.plain,.nav-explore{display:none}.saved-nav{padding:8px 10px;font-size:11px;gap:5px}.saved-nav .icon{width:16px;height:16px}.hero{height:485px}.hero-content{padding:43px 6%}.hero-content .eyebrow{font-size:8px;letter-spacing:1.6px}.hero h1{font-size:62px}.hero-intro{font-size:14px}.hero-place{right:6%;bottom:46px;font-size:10px;max-width:220px}.hero-place small{font-size:8px}.hero-link{font-size:12px}.hero-shade{background:linear-gradient(90deg,#0b2e3bc9,#0b2e3b45),linear-gradient(0deg,#0b2e3b66,transparent)}.finder{margin-top:-23px}.search-form{display:grid;grid-template-columns:1fr auto;gap:16px;padding:20px}.search-field{grid-column:1/-1;padding:0;padding-bottom:16px;border-bottom:1px solid var(--line)}.region-field{border:0;padding:0;min-width:0}.region-field select{font-size:11px}.region-field label{font-size:8px;letter-spacing:.8px}.search-button{font-size:11px;min-width:120px;gap:10px}.finder-foot{font-size:9px;padding-top:13px;align-items:flex-start;gap:8px}.finder-foot>span:last-child{text-align:right;max-width:135px}.explore-section{margin-top:37px;margin-bottom:40px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.section-heading h2{font-size:31px;max-width:320px}.section-heading p:last-child{font-size:12px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.view-toggle{margin-left:auto}.filters{margin-top:18px;gap:7px;padding-bottom:19px}.chip{font-size:10px;padding:9px 11px;gap:5px}.chip .icon{height:14px;width:14px}.results-toolbar{font-size:11px;gap:8px}.sort-label select{font-size:11px;max-width:116px}.beach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.card-image-wrap{height:175px}.card-title{font-size:23px}.card-description{min-height:58px}.card-tags{min-height:52px;align-content:flex-start}.card-body{padding:16px 13px 0}.card-region{font-size:8px;letter-spacing:1px}.card-badge{font-size:8px;left:9px;top:12px}.card-save{right:9px;top:9px;width:31px;height:31px}.editorial-strip{grid-template-columns:1fr;padding:27px;gap:17px;margin-bottom:30px}.strip-mark{display:none}.editorial-strip h2{font-size:32px}.editorial-strip p:not(.eyebrow){margin-bottom:12px}.conditions-strip{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:30px}.conditions-strip>div{flex:1}.conditions-strip a{margin-left:42px}.footer-main{flex-wrap:wrap;gap:18px}.footer-main p{width:calc(100% - 240px)}.footer-bottom{flex-direction:column;gap:4px;margin-top:20px}.map-results{grid-template-columns:1fr 1fr}#beach-map{height:430px}.detail-head{padding:24px 22px 20px}.detail-head h2{font-size:33px}.detail-body{padding:0 22px 25px}.detail-photo{height:230px}.fact{padding:13px}.fact dd strong{font-size:12px}.fact dt{font-size:9px;letter-spacing:.7px}.source-list{grid-template-columns:1fr}#info-content{padding:38px 22px 25px}.compare-bar{padding:12px 14px;gap:12px;bottom:14px}.compare-bar .button{font-size:11px;padding:10px 13px}.compare-bar strong{font-size:11px}.compare-bar span{font-size:9px}}
@media(max-width:430px){.beach-grid{grid-template-columns:1fr}.card-image-wrap{height:230px}.card-body{padding:19px 20px 0}.card-title{font-size:28px}.card-description{min-height:0;font-size:13px}.card-tags{min-height:0;margin-bottom:18px}.card-tag{font-size:10px}.photo-caption{font-size:9px}.card-bottom{font-size:11px}.hero h1{font-size:59px}.hero-place{left:6%;right:auto;max-width:none}.hero-content{padding-top:35px}.hero{height:490px}.hero-link{display:none}.hero-intro{margin-top:22px}.facts-grid{grid-template-columns:1fr}.detail-head h2{font-size:30px}.footer-main p{width:100%;margin-top:-8px}.map-results{grid-template-columns:1fr}.compare-bar .plain{display:none}.view-toggle{margin-left:0}.section-heading h2{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.profile-directory{max-width:1160px;width:85%;margin:40px auto 65px;padding-top:28px;border-top:1px solid var(--line)}.profile-directory h2{font-size:28px}.profile-directory nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;font-size:13px}.profile-directory a{text-underline-offset:4px}@media(max-width:760px){.profile-directory{width:90%}.profile-directory nav{grid-template-columns:1fr 1fr}}@media(max-width:430px){.profile-directory nav{grid-template-columns:1fr}}

/* Native disclosures work in the static guides and the interactive preview. */
.beachcombing{margin:0 0 32px}.collecting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.collecting-card{border:1px solid #cddbd6;border-radius:16px;background:#f4f8f5;overflow:hidden}.collecting-card>summary{display:block;list-style:none;padding:22px;cursor:pointer}.collecting-card>summary::-webkit-details-marker{display:none}.collecting-card>summary:focus-visible,.rating-method>summary:focus-visible{outline:3px solid #b06535;outline-offset:-3px}.collecting-title{display:block;font-weight:700;font-size:1.2rem;color:#204e45}.collecting-rating{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0 8px}.find-icons{display:flex;gap:5px}.find-icon{width:26px;height:26px;fill:none;stroke:#93aaa1;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.find-icon.filled{fill:#d3b478;stroke:#655131}.collecting-card[data-activity=teeth] .find-icon.filled{fill:#315e58;stroke:#315e58}.collecting-basis{display:block;color:#52675f;font-size:.8rem;line-height:1.5}.collecting-open{display:flex;justify-content:space-between;gap:10px;margin-top:18px;color:#275e50;font-size:.88rem;font-weight:600}.collecting-open>span{font-size:1.25rem}.collecting-card[open] .collecting-open>span{transform:rotate(45deg)}.collecting-content{padding:0 22px 22px;border-top:1px solid #d7e2dc}.collecting-content h4{font-size:.95rem;margin:20px 0 7px}.collecting-content p{font-size:.9rem;line-height:1.65;margin:0 0 12px}.collecting-sources{padding-left:18px;font-size:.8rem;line-height:1.5}.collecting-sources li{margin:8px 0}.collecting-sources a{overflow-wrap:anywhere}.rating-method{margin-top:14px;color:#52675f;font-size:.82rem;line-height:1.65}.rating-method summary{cursor:pointer;font-weight:600}.rating-method p{max-width:85ch}.collecting-card summary:hover{background:#eaf2ed}@media(max-width:640px){.collecting-grid{grid-template-columns:1fr}.collecting-card>summary{padding:18px}.collecting-content{padding:0 18px 18px}}

/* Compact collecting cues match the existing homepage amenity tags. */
.collecting-tag b{font-weight:600}.collecting-tag svg.icon{width:15px;height:15px;flex-shrink:0}.card-tags{height:auto;flex-wrap:wrap}.collecting-title{font-size:1rem}.collecting-card>summary{padding:16px}.collecting-rating{gap:8px;margin:8px 0 5px;font-size:.85rem}.find-icons{gap:3px}.find-icon{width:16px;height:16px;flex:0 0 16px}.collecting-open{margin-top:10px;font-size:.8rem}.collecting-card{border-radius:10px}.beachcombing{margin-bottom:24px}

.activity-section{margin:26px 0 30px}.activity-section>h2,.activity-section>h3{font-size:25px;margin-bottom:9px}.activity-intro,.activity-review{color:var(--muted);font-size:12px;line-height:1.6}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.activity-rule{padding:17px;border:1px solid var(--line);border-radius:8px;background:#fff}.activity-rule dt{font-size:13px;font-weight:700;margin-bottom:9px}.activity-rule dd{margin:0}.activity-rule strong{display:block;font-size:13px;margin:9px 0 6px}.activity-rule p{font-size:12px;line-height:1.65;margin:0 0 10px}.activity-rule ul,.fishing-license ul{padding-left:16px;margin:0;font-size:11px;line-height:1.6}.activity-rule a,.fishing-license a{overflow-wrap:anywhere}.activity-status{display:inline-flex;gap:5px;align-items:center;font-size:10px;font-weight:600;padding:3px 7px;border-radius:4px;background:#eef1ec;color:#475b56}.activity-status.no{background:#f8eeee;color:#824334}.activity-status.restricted{background:#f7f0df;color:#735321}.activity-status>span{font-weight:700;font-size:13px}.fishing-license{font-size:12px;line-height:1.7;padding:13px 15px;background:#f0f5f1;border-radius:8px;margin:14px 0}.fishing-license summary{cursor:pointer;font-weight:600}.fishing-license p{margin:12px 0}.activity-review{font-size:11px}@media(max-width:640px){.activity-grid{grid-template-columns:1fr}}

/* Compact shore-activity ratings, shared by cards and static guides. */
.diving-section{margin:24px 0}.diving-section>h2,.diving-section>h3{margin:0 0 8px}.diving-intro{color:var(--muted);font-size:14px;line-height:1.5}.diving-card .collecting-title{display:flex;align-items:center;gap:7px}.diving-card .icon{width:18px;height:18px;flex:none}.diving-tag .icon{width:15px;height:15px;display:block}.dive-score{display:inline-flex;gap:4px}.dive-score i{display:block;width:9px;height:9px;border:1px solid var(--teal);border-radius:50%}.dive-score i.filled{background:var(--teal)}.diving-section .collecting-content h3,.diving-section .collecting-content h4{font-size:15px;margin:18px 0 6px}

/* Shore wildlife remains separate from underwater activities. */
.wildlife-section{margin:26px 0}.wildlife-section>h2,.wildlife-section>h3{margin:0 0 8px}.wildlife-intro{color:var(--muted);font-size:14px;line-height:1.5}.wildlife-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.wildlife-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.wildlife-card>summary{padding:16px;cursor:pointer}.wildlife-card>summary:hover{background:#f0f5ef}.wildlife-title{font-weight:700;font-size:14px}.wildlife-highlight{display:block;font-size:13px;margin:6px 0;line-height:1.5}.wildlife-card .collecting-basis{display:block}.wildlife-content{padding:0 16px 12px;border-top:1px solid var(--line);font-size:14px;line-height:1.65}.wildlife-content p{margin:14px 0}@media(max-width:640px){.wildlife-grid{grid-template-columns:1fr}}

.shore-find-card .collecting-title{display:flex;align-items:center;gap:7px}.shore-find-card .icon{width:18px;height:18px}.find-permission{display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;border-radius:5px;background:#f2eee5;color:#625032}.find-permission.prohibited{background:#f9e9e2;color:#843e25}.find-permission.restricted{background:#e5f1e9;color:#255a43}

.driving-fact{grid-column:1/-1}.driving-details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.driving-risk{background:#fff2db;border-left:3px solid #bd8541;padding:10px 12px}.driving-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.driving-more{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:12px 0}.driving-more>summary{font-size:13px;font-weight:700;cursor:pointer}.driving-details .collecting-basis{font-size:12px;color:var(--muted)}@media(max-width:640px){.driving-overview{grid-template-columns:1fr;gap:0}}
.fact dd .driving-details p,.profile-page .fact dd .driving-details p{font-size:14px;line-height:1.65}.fact dd .driving-details .collecting-basis,.profile-page .fact dd .driving-details .collecting-basis{font-size:12px}

.crowd-section{margin:26px 0}.crowd-section>h2,.crowd-section>h3{margin:0 0 12px}.crowd-section>p{font-size:14px;line-height:1.6}.crowd-overview{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.crowd-vibe{color:var(--muted);font-size:13px}.crowd-bars{display:inline-flex;align-items:flex-end;gap:2px;flex-shrink:0;height:16px}.crowd-bars i{display:block;width:5px;height:7px;background:#e0e5e1;border:1px solid #aab8b0;border-radius:1px}.crowd-bars i:nth-child(2){height:9px}.crowd-bars i:nth-child(3){height:11px}.crowd-bars i:nth-child(4){height:13px}.crowd-bars i:nth-child(5){height:15px}.crowd-bars i.filled{background:var(--teal);border-color:var(--teal)}.crowd-tag .crowd-bars{height:13px;transform:scale(.8);transform-origin:left center;margin-right:-4px}.crowd-tag small{font-size:inherit;color:var(--muted)}.crowd-method{margin-top:12px;font-size:13px;line-height:1.65}.crowd-method>summary{font-weight:600;cursor:pointer;padding:8px 0}.crowd-section .collecting-basis{color:var(--muted);font-size:12px}

.public-access-section{margin:20px 0 26px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;background:#fff}.public-access-section>h2,.public-access-section>h3{margin:0 0 10px}.public-access-section p{font-size:14px;line-height:1.6}.public-access-section .access-label{font-weight:700;color:var(--teal)}.public-access-tag{font-weight:700}.access-details>summary{font-size:13px;font-weight:600;cursor:pointer}.access-details dl{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:10px 16px;font-size:14px;margin:16px 0}.access-details dt{font-weight:600}.access-details dd{margin:0}.public-access-section.access-private,.public-access-section.access-restricted,.public-access-section.access-mixed{border-left-color:#a34f25}.public-access-tag.access-private,.public-access-tag.access-restricted,.public-access-tag.access-mixed{background:#fff0df;color:#783a1a}.public-access-section.access-unknown{border-left-color:#777}.public-access-section .collecting-basis{font-size:12px;color:var(--muted)}@media(max-width:600px){.access-details dl{grid-template-columns:1fr;gap:5px}.access-details dd{margin-bottom:10px}}

.experiences-section{margin:28px 0}.experiences-intro{font-size:14px;line-height:1.6;color:var(--muted)}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.experience-card{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.experience-card>summary{cursor:pointer;padding:15px;font-size:14px}.experience-title{font-weight:700}.experience-status{display:block;margin:6px 0 0;font-size:11px;color:var(--muted)}.experience-content{padding:0 15px 15px;font-size:13px;line-height:1.65}.experience-operator+article{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.experience-operator h3,.experience-operator h4{font-size:15px;margin:4px 0 8px}.experience-operator p{margin:8px 0}.experience-location{font-size:11px;font-weight:700;color:var(--teal)}.experience-review{font-size:11px;color:var(--muted);line-height:1.7;margin-top:15px}.experience-card a{overflow-wrap:anywhere}@media(max-width:640px){.experience-grid{grid-template-columns:1fr}}

/* Beach-specific surf suitability plus current local-report links. */
.surfing-section{margin:26px 0;padding:20px;border:1px solid var(--line);border-left:4px solid #287b87;border-radius:10px;background:#fff}.surfing-section>h2,.surfing-section>h3{margin:0 0 8px}.surfing-intro,.surfing-section>p{font-size:14px;line-height:1.65}.surfing-intro{color:var(--muted)}.surfing-overview{display:grid;grid-template-columns:minmax(210px,.9fr) 2fr;gap:22px;align-items:start;margin:16px 0}.surfing-overview>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.surfing-overview>div:first-child>span{flex-basis:100%;font-size:13px;color:var(--muted)}.surf-score{display:inline-flex;gap:4px}.surf-score i{display:block;width:12px;height:12px;border-radius:50%;border:1px solid #287b87;background:transparent}.surf-score i.filled{background:#287b87}.surfing-overview dl{margin:0;display:grid;gap:10px}.surfing-overview dl>div{display:grid;grid-template-columns:100px 1fr;gap:12px}.surfing-overview dt{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.surfing-overview dd{margin:0;font-size:14px;line-height:1.5}.surf-hazards{padding:10px 12px;background:#fff5df;border-left:3px solid #b9792c}.surf-source-list{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.surf-source-list>summary{cursor:pointer;font-size:13px;font-weight:700}.surf-source-list p,.surf-source-list ul{font-size:13px;line-height:1.6}.surf-source-list li{margin:6px 0}@media(max-width:640px){.surfing-section{padding:16px}.surfing-overview{grid-template-columns:1fr;gap:14px}.surfing-overview dl>div{grid-template-columns:1fr;gap:3px}}

.history-section{margin:28px 0}.history-intro{font-size:14px;color:var(--muted)}.history-story{margin:10px 0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.history-story summary{padding:15px;cursor:pointer;font-size:14px}.history-kind{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin-right:9px}.history-title{font-weight:700}.history-content{padding:0 16px 16px;font-size:14px;line-height:1.7}.history-content a{font-size:12px;overflow-wrap:anywhere}.history-scope,.history-review{font-size:12px;color:var(--muted);line-height:1.6}.history-review{margin-top:14px}

.stays-section{margin:28px 0}.stays-intro,.stay-location-note{font-size:14px;line-height:1.65;color:var(--muted)}.stay-location-note{padding:12px;background:#f3f1e7;border-radius:6px}.stays-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.stay-card{border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}.stay-card summary{padding:16px;cursor:pointer;font-size:14px}.stay-type{font-size:10px;text-transform:uppercase;color:var(--teal)}.stay-name{display:block;font-weight:700;margin:7px 0}.stay-setting{display:block;font-size:12px;color:var(--muted);line-height:1.5}.stay-content{padding:0 16px 16px;font-size:13px;line-height:1.7}.stay-content a{font-size:12px}.stay-checklist{margin-top:15px;font-size:13px;line-height:1.7}.stay-checklist summary{cursor:pointer;font-weight:600}.stay-review{font-size:11px;line-height:1.7;color:var(--muted)}@media(max-width:640px){.stays-grid{grid-template-columns:1fr}}
.location-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 0 8px}.location-filters label{display:grid;gap:6px;font-size:13px;font-weight:600}.location-filters select{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);font:inherit}.beach-location{margin:16px 0}.beach-location dl{display:flex;flex-wrap:wrap;gap:16px 28px}.beach-location dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.beach-location dd{margin:5px 0}.beach-location a{color:var(--ink);text-decoration:underline}.beach-location p,.card-location{font-size:13px;color:var(--muted);line-height:1.6}.card-location{margin:8px 0}@media(max-width:600px){.location-filters{grid-template-columns:1fr}.beach-location dl{gap:14px 22px}}
.visit-section{margin:0 0 30px}.visit-section>p{color:var(--muted);line-height:1.6}.visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visit-card{border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink)}.visit-card summary{padding:16px;cursor:pointer;min-height:64px}.visit-card summary span{font-weight:600}.visit-card summary small{display:block;margin:7px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.visit-card>div{padding:0 16px 16px;font-size:14px;line-height:1.7}.visit-card a{display:block;color:var(--ink);text-decoration:underline;overflow-wrap:anywhere;margin-top:8px}.visit-note{font-size:12px;color:var(--muted)}.visit-card summary:focus-visible{outline:3px solid var(--teal);outline-offset:2px}@media(max-width:600px){.visit-grid{grid-template-columns:1fr}}

/* Location-verified, credited photo galleries */
.beach-gallery{margin:28px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-intro{color:var(--muted);max-width:70ch;line-height:1.6}
.beach-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.beach-photo-grid figure{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--cream)}
.gallery-image{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--line)}
.gallery-image img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-image span{position:absolute;bottom:10px;right:10px;background:#102b32dc;color:white;padding:5px 9px;border-radius:6px;font-size:12px}
.gallery-image:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
.beach-photo-grid figcaption{padding:16px;color:var(--ink)}
.gallery-category{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--teal)}
.beach-photo-grid figcaption p{font-size:14px;line-height:1.55;margin:8px 0}
.beach-photo-grid small{display:block;font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:600px){.beach-photo-grid{grid-template-columns:1fr}.beach-gallery{padding:18px 0}}

.wildlife-photo img{object-fit:contain}

/* Homepage beach showcase: verified local imagery fills the full viewport width. */
.hero[data-slideshow-mounted] .hero-photo{opacity:0;transform:none;transition:opacity 2.4s ease-in-out;will-change:opacity}
.hero[data-slideshow-mounted] .hero-photo.slide-visible{opacity:1}
.hero[data-slideshow-mounted] .hero-photo:only-of-type{opacity:1}
.slideshow-pause{position:absolute;left:7.5%;bottom:42px;min-height:44px;padding:10px 15px;border:1px solid #ffffff70;border-radius:6px;background:#102b32b8;color:#fff;font:inherit;font-size:12px;z-index:2}
.slideshow-pause:focus-visible{outline:3px solid white;outline-offset:3px}
.guide-hero .hero-content{max-width:1000px;padding-top:100px}
.guide-hero-title{font-family:var(--serif);font-size:clamp(38px,5vw,72px);line-height:1.1;margin:15px 0 20px;color:white}
.guide-slide-caption{max-width:620px;line-height:1.6;font-size:15px;color:white}
.guide-photo-link{position:absolute;right:7.5%;bottom:48px;color:white;font-size:13px}
@media(max-width:760px){.guide-hero .hero-content{padding-top:60px}.slideshow-pause{left:6%;bottom:38px}.hero:not(.guide-hero) .hero-place{left:6%;right:6%;bottom:96px;max-width:none}.guide-photo-link{right:6%;bottom:53px}.guide-slide-caption{font-size:14px}}
.hero{width:100%;max-width:none;margin:0;border-radius:0}
.guide-nav{display:flex;align-items:center;gap:24px;font-size:12px}.guide-nav a{text-decoration:none}.guide-nav a:hover,.guide-nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.hero-place{max-width:290px;text-decoration:none}.hero-place strong{display:block}.hero-place:hover strong,.hero-place:focus-visible strong{text-decoration:underline;text-underline-offset:4px}.hero-place:focus-visible{outline:2px solid #fff;outline-offset:7px;border-radius:3px}.hero-photo{transition:opacity .42s ease,transform 6s ease}.hero-photo-changing{opacity:.16;transform:scale(1.018)}

.beach-highlights{margin:0 0 24px;padding:22px;border:1px solid #d9dfd5;border-radius:10px;background:linear-gradient(135deg,#edf3e9,#faf7ef)}
.highlight-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}
.highlight-heading .eyebrow{margin:0}.highlight-heading h2,.highlight-heading h3{font-size:29px;margin:0}
.highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.highlight-card{display:flex;gap:12px;background:#fff;border:1px solid #e0e5dc;border-radius:8px;padding:15px}
.highlight-mark{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:#dfeee5;color:#21685f;font-size:14px}
.highlight-type{margin:0 0 3px;color:#6c8078;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.highlight-card h3,.highlight-card h4{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.15;margin:0 0 6px}
.highlight-card>div>p:last-child{color:var(--muted);font-size:11px;line-height:1.55;margin:0}
.highlight-method{color:#738079;font-size:9px;margin:11px 0 0}
@media(max-width:620px){.beach-highlights{padding:17px}.highlight-heading{display:block}.highlight-heading .eyebrow{margin-bottom:5px}.highlight-grid{grid-template-columns:1fr}.highlight-card h3,.highlight-card h4{font-size:19px}}

.seo-hubs{max-width:1160px;width:85%;margin:0 auto 72px}.seo-hubs .section-heading{margin-bottom:22px}.seo-hubs .fact h3{font-size:22px}.seo-hubs .fact h3 a{text-decoration-thickness:1px;text-underline-offset:4px}
