:root{--paper: #f2f4f7;--surface: #ffffff;--ink: #14213a;--muted: #55627a;--line: #d5dbe5;--hydrangea: #3f4db8;--tint: #e4e7f7;--coral: #c2452a;--good: #1b7550;--warn: #8a5a08;--warn-bg: #fbefd3;--serif: "Instrument Serif", Georgia, serif;--sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "DM Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px}.logo{display:inline-flex;align-items:center;min-height:44px}.logo img{display:block;height:42px;width:auto;max-width:64vw}h1 i{color:var(--hydrangea)}.tag,.mono,.dateline,.kicker{font-family:var(--mono);letter-spacing:.08em}.tag{font-size:11px;color:var(--muted);border:1px dashed var(--line);border-radius:99px;padding:3px 10px;white-space:nowrap}main.wrap{display:flex;flex-direction:column;gap:56px;padding-top:44px;padding-bottom:64px}section{display:flex;flex-direction:column;gap:16px}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:clamp(44px,9vw,88px);line-height:.98}h2{font-size:clamp(30px,5vw,44px);line-height:1.05;font-style:italic;padding-bottom:8px;border-bottom:1px solid var(--line)}h3{font-size:26px;line-height:1.1}p{margin:0}.hero{gap:14px;max-width:760px}.dateline{font-size:11px;color:var(--muted)}.lede{font-size:18px;color:var(--muted);max-width:60ch}.muted{color:var(--muted)}.small{font-size:14px}.error{color:var(--coral)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px}.kicker{font-size:10.5px;color:var(--hydrangea)}.note{background:var(--tint);border-radius:12px;padding:12px 16px;font-size:15px}.ticket{background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}.ticket-main{padding:16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.ticket-stub{border-top:2px dashed var(--line);padding:10px 18px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;position:relative;font-size:14px}.ticket-stub:before,.ticket-stub:after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:1px solid var(--line)}.ticket-stub:before{left:-9px}.ticket-stub:after{right:-9px}.ticket-stub .mono{font-size:11px;color:var(--muted);letter-spacing:.02em}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.between{justify-content:space-between}.arrow{color:var(--coral)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pill{font-family:var(--mono);font-size:11px;padding:2px 9px;border-radius:99px;border:1px solid currentColor;white-space:nowrap}.pill.good{color:var(--good)}.pill.off{color:var(--muted)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0}.facts div{display:flex;flex-direction:column-reverse}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:0;font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums}a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:4px}.foot{background:var(--ink);color:#c9d0e6}.foot-in{padding-top:44px;padding-bottom:40px;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:28px 56px;align-items:start}.foot-logo{display:block;width:260px;max-width:72vw;height:auto}.foot .mono{font-size:11px;letter-spacing:.04em}@media (max-width: 480px){.tag{display:none}main.wrap{gap:40px;padding-top:28px}}.nav{display:flex;gap:4px;align-items:center}.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;padding:10px 12px;border-radius:10px;min-height:44px;display:inline-flex;align-items:center}.page-title{font-size:clamp(38px,7vw,64px);line-height:1}.narrow{max-width:640px}.stack{display:flex;flex-direction:column;gap:12px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.link-card{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.link-card:hover{border-color:var(--hydrangea);transform:translateY(-2px)}.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.stars{display:inline-flex;align-items:center;gap:1px}.pill.brand{color:var(--hydrangea);background:var(--tint);border-color:transparent}.btn{font:inherit;font-weight:600;font-size:15px;background:var(--hydrangea);color:#fff;border:1.5px solid var(--hydrangea);border-radius:10px;padding:10px 16px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.ghost{background:transparent;color:var(--hydrangea)}.btn.danger{background:var(--coral);border-color:var(--coral)}.btn.small{font-size:14px;padding:6px 12px;min-height:36px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{font:inherit;font-size:14px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:8px 14px;min-height:40px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}.chip:hover{border-color:var(--hydrangea)}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.search{display:flex;gap:8px;max-width:560px}.search input{flex:1;min-width:0}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:44px;width:100%}textarea{min-height:96px;resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--hydrangea);flex-shrink:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--hydrangea);outline-offset:1px}.field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.field small{font-weight:400}.check{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;min-height:44px}.form{gap:14px}.form.inline{display:flex;flex-direction:column;gap:8px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:4px 0}.details div{display:flex;flex-direction:column;gap:2px}.details dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:28px;align-items:flex-start}.rowcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rowcard>span:first-child{display:flex;flex-direction:column;gap:6px;min-width:0}.rowcard select{width:auto}.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}.seg button{font:inherit;font-weight:600;border:0;background:transparent;color:var(--ink);border-radius:9px;min-height:44px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--hydrangea);color:#fff}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:0}.tabs button{font:inherit;font-weight:600;font-size:15px;white-space:nowrap;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:12px;min-height:44px;cursor:pointer}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--coral)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.tile{font:inherit;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:var(--muted);min-height:96px}.tile.attention{border-color:var(--warn);background:var(--warn-bg);color:var(--ink)}.tile-n{font-family:var(--serif);font-size:44px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px 14px}table{width:100%;border-collapse:collapse;font-size:15px}caption{text-align:left;font-family:var(--serif);font-size:24px;padding:8px 0}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}thead th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}tbody th{font-weight:500;text-transform:capitalize}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}@media (max-width: 480px){.search{flex-direction:column}}@media (prefers-reduced-motion: reduce){.link-card{transition:none}.link-card:hover{transform:none}}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main.wrap{flex:1}.nav a{white-space:nowrap}.event-card{flex-direction:row;gap:14px;align-items:flex-start}.datebox{flex:none;width:54px;padding:8px 0 6px;border-radius:10px;background:var(--tint);color:var(--hydrangea);display:flex;flex-direction:column;align-items:center;line-height:1}.datebox .mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em}.datebox strong{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--ink);margin-top:3px}.stack.tight{gap:6px;min-width:0;flex:1}.day{display:flex;flex-direction:column;gap:12px}.day+.day{margin-top:28px}.day-h{font-size:26px;border-bottom:1px solid var(--line);padding-bottom:6px}.pre{white-space:pre-line}.start{align-self:flex-start}.copy{display:flex;gap:8px;align-items:center}.copy input{flex:1;min-width:0;font-family:var(--mono);font-size:13px}.linkbtn{font:inherit;font-size:13px;background:none;border:0;padding:4px 2px;color:var(--coral);text-decoration:underline;cursor:pointer}ul.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.manage{border-top:1px dashed var(--line);padding-top:10px;margin-top:4px}.manage select,.inline-field select{width:auto;flex:1;min-width:0}.inline-field{display:inline-flex;align-items:center;gap:8px}.inline-field select{flex:none}.check.done{text-decoration:line-through;color:var(--muted)}.check.rowcard{align-items:center}tfoot th,tfoot td{border-top:2px solid var(--line);border-bottom:0;font-weight:600;padding:8px 6px;text-align:left}.dateline a{color:inherit}ul.plain.gap{gap:10px}.prose{max-width:680px;gap:18px}.prose p{font-size:18px;line-height:1.65;margin:0}.story .page-title{max-width:16ch}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}section[id]{scroll-margin-top:16px}.story{display:flex;flex-direction:column;gap:32px}ol.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}details.card summary{cursor:pointer;font-weight:600;min-height:32px}input[type=file]{padding:8px}.legal h2{font-size:28px;margin-top:10px}.legal p{font-size:17px}.fresh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.place-head .kicker a{color:inherit;text-decoration:none}.place-head .kicker a:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.actions .btn[aria-pressed=true]{background:var(--tint);border-color:var(--tint)}.place-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}.place-main{display:flex;flex-direction:column;gap:44px;min-width:0}.place-side{position:sticky;top:16px}.side-h{font-size:26px}.facts-list{margin:6px 0 4px;display:flex;flex-direction:column}.facts-list div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line)}.facts-list div:first-child{border-top:0}.facts-list dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}.facts-list dd{margin:0;overflow-wrap:anywhere}.place-side .fresh{border-top:1px solid var(--line);padding-top:10px}.contribute{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}@media (max-width: 860px){.place-grid{grid-template-columns:1fr;gap:28px}.place-side{position:static;order:-1}.actions .btn{flex:1 1 calc(33% - 8px)}}.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:20}.skip:focus{top:10px}.top{box-shadow:0 1px #14213a05}.bar{min-height:68px;position:relative}.logo img{height:40px;max-width:60vw}.menu-btn{display:none;font:inherit;font-weight:600;font-size:15px;align-items:center;gap:8px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-height:44px;cursor:pointer}.nav a{border-radius:10px;transition:background .15s,color .15s}.nav a:hover{background:var(--paper)}.nav a.active{background:var(--tint);color:var(--hydrangea)}.nav a.nav-cta{border:1.5px solid var(--hydrangea);color:var(--hydrangea);margin-left:6px;padding:8px 14px}.nav a.nav-cta.active,.nav a.nav-cta:hover{background:var(--hydrangea);color:#fff}.nav .nav-extra{display:none}@media (max-width: 899px){.menu-btn{display:inline-flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px #14213a59;padding:8px 12px 16px;flex-direction:column;align-items:stretch;gap:2px}.nav.open{display:flex}.nav a{font-size:17px;min-height:50px;padding:12px}.nav .nav-extra{display:flex}.nav a.nav-cta{margin:8px 0 0;justify-content:center}}@media (max-width: 420px){.logo img{height:34px}.menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}.foot-brand{display:flex;flex-direction:column;gap:12px;font-size:15px}.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px 24px}.foot-cols div{display:flex;flex-direction:column}.foot-cols h2{font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8e98de;border:0;padding:0 0 6px}.foot-cols a{color:#e6eaf7;text-decoration:none;font-size:15px;padding:7px 0;min-height:36px}.foot-cols a:hover{text-decoration:underline}.foot-note{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;color:#aab3d2}@media (max-width: 760px){.foot-in{grid-template-columns:1fr}.foot-cols{grid-template-columns:1fr 1fr}.foot-cols a{min-height:44px;padding:11px 0}}.home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:center;max-width:none}.hero-copy{display:flex;flex-direction:column;gap:14px;min-width:0}.hero-art{width:100%;height:auto;max-height:340px}.hero-art .island{fill:var(--tint);stroke:var(--hydrangea);stroke-width:1.2;stroke-linejoin:round}.hero-art .sun{fill:var(--coral)}.hero-art .port{fill:var(--hydrangea)}.hero-art .route{fill:none;stroke:var(--hydrangea);stroke-width:1.4;stroke-dasharray:3 5;stroke-linecap:round}@media (max-width: 860px){.home-hero{grid-template-columns:1fr;gap:8px}.hero-art{order:-1;max-height:150px;margin:-8px 0 -4px;align-self:flex-start;width:auto}}.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.quick-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s;border-left:4px solid var(--hydrangea)}.quick-card:nth-child(2){border-left-color:var(--coral)}.quick-card:nth-child(3){border-left-color:#8e98de}.quick-card:nth-child(4){border-left-color:var(--good)}.quick-card strong{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15}.quick-card:hover{border-color:var(--hydrangea);transform:translateY(-2px)}@media (max-width: 520px){.quick{grid-template-columns:1fr 1fr}.quick-card{padding:14px}.quick-card strong{font-size:20px}.quick-card .small{display:none}}.card{box-shadow:0 1px 2px #14213a0a}.link-card h3{transition:color .15s}.link-card:hover h3{color:var(--hydrangea)}.card-meta{margin-top:auto;padding-top:6px}.grid{align-items:stretch}.btn{transition:background .15s,color .15s,border-color .15s,transform .05s}.btn:hover:not(:disabled){background:#3340a0;border-color:#3340a0;color:#fff}.btn.ghost:hover:not(:disabled){background:var(--tint);border-color:var(--hydrangea);color:var(--hydrangea)}.btn.danger:hover:not(:disabled){background:#a63a23;border-color:#a63a23}.btn:active:not(:disabled){transform:translateY(1px)}.btn.more{align-self:center;margin-top:8px;gap:8px}.linkbtn{min-height:36px;padding:6px 8px}.prose a,p a,li a,dd a{text-underline-offset:2px}a{color:var(--hydrangea)}.skeleton{min-height:132px;gap:12px}.skeleton i{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,#e9edf3 25%,#f5f7fa,#e9edf3 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}.skeleton i:nth-child(1){width:40%;height:10px}.skeleton i:nth-child(2){width:70%;height:24px}.skeleton i:nth-child(3){width:90%}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton i{animation:none}.quick-card,.btn{transition:none}.quick-card:hover{transform:none}}.tabs{scrollbar-width:none;scroll-snap-type:x proximity}.tabs::-webkit-scrollbar{display:none}.tabs button{scroll-snap-align:start}@media (max-width: 760px){.tabs{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);padding-right:36px}}.rowcard{box-shadow:0 1px 2px #14213a08}@media (max-width: 560px){.rowcard{align-items:stretch;flex-direction:column}.rowcard>.row .btn{flex:1 1 auto}.check.rowcard{flex-direction:row;align-items:center}.copy{flex-direction:column;align-items:stretch}.row.between>.btn{flex:1 1 100%}}.note{border-left:4px solid var(--hydrangea);border-radius:4px 12px 12px 4px}.empty{display:flex;flex-direction:column;gap:10px}.tablewrap table{min-width:460px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2355627a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}[hidden]{display:none!important}.townmap{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}.townmap svg{width:100%;height:auto;display:block;overflow:visible}.tm-town{cursor:pointer}.tm-town:focus-visible{outline:none}.tm-shape{stroke:var(--paper);stroke-width:1.4;stroke-linejoin:round;transition:filter .15s}.tm-town:hover .tm-shape,.tm-town:focus-visible .tm-shape{stroke:var(--coral);stroke-width:2.2;filter:brightness(.94)}.tm-name{font-family:var(--sans);font-weight:600;font-size:9.6px}.tm-on-dark{fill:#fff;pointer-events:none}.tm-on-light{fill:var(--ink);pointer-events:none}.tm-out{fill:var(--ink)}.tm-town:hover .tm-out,.tm-town:focus-visible .tm-out{fill:var(--coral);text-decoration:underline}.tm-leader{stroke:var(--ink);stroke-width:.8;fill:none;pointer-events:none}.tm-dot{fill:var(--ink);pointer-events:none}.tm-note{font-family:var(--mono);font-size:5.4px;letter-spacing:.04em;fill:var(--muted)}.towns-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:center}.town-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.town-list li{padding:10px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.town-list li:first-child{border-top:0}.town-list a{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;text-decoration:none;color:var(--ink);min-height:32px}.town-list a strong{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1}.town-list a:hover strong{color:var(--hydrangea);text-decoration:underline}#towns .townmap svg{max-width:820px}@media (max-width: 860px){.towns-layout{grid-template-columns:1fr;gap:12px}.tm-note{font-size:6.4px}.tm-name{font-size:10.6px}}.tm-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tm-hit{fill:transparent;pointer-events:all}.form fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px;margin:4px 0 0;min-width:0}.form legend{font-family:var(--mono, monospace);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:0 6px;color:var(--muted)}.note.attention{border-left-color:var(--warn);background:var(--warn-bg);color:var(--ink)}.beaches-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.beaches-map{position:sticky;top:84px;display:flex;flex-direction:column;gap:12px;min-width:0}.beaches-list{min-width:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.beachmap{margin:0;display:flex;flex-direction:column;gap:10px;background:#eef3fb;border:1px solid var(--line);border-radius:16px;padding:12px}.beachmap svg{width:100%;height:auto;display:block}.beachmap .seg{grid-template-columns:repeat(3,1fr)}.beachmap .seg.small button{min-height:38px;font-size:14px}.bm-land{fill:#f4ead7;stroke:#d9c9a8;stroke-width:.6;stroke-linejoin:round}.bm-town{font-family:var(--sans);font-size:7px;font-weight:600;fill:#a39374;pointer-events:none}.bm-pin{cursor:pointer;outline:none}.bm-hit{fill:transparent}.bm-dot{stroke:#fff;transition:r .15s}.bm-public .bm-dot{fill:var(--hydrangea)}.bm-swatch.bm-public{background:var(--hydrangea)}.bm-fee .bm-dot{fill:#2e8b7a}.bm-swatch.bm-fee{background:#2e8b7a}.bm-residents .bm-dot{fill:#b9a27a}.bm-swatch.bm-residents{background:#b9a27a}.bm-pin:hover .bm-dot,.bm-pin:focus-visible .bm-dot,.bm-pin.on .bm-dot{fill:var(--coral)}.bm-label{font-family:var(--sans);font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-linejoin:round;pointer-events:none}.bm-key{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted)}.bm-key span{display:inline-flex;align-items:center;gap:6px}.bm-swatch{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.beach-card{cursor:pointer;scroll-margin-top:90px;transition:border-color .15s,box-shadow .15s}.beach-card.on{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral)}.beach-card h3 a{color:inherit;text-decoration:none}.beach-card h3 a:hover{text-decoration:underline}.tips{padding-left:1.2em;display:grid;gap:10px}.place-map{max-width:360px}@media (max-width: 900px){.beaches-layout{grid-template-columns:1fr;gap:18px}.beaches-map{position:static}}.beach-pick{display:flex;flex-direction:column;gap:8px;border-color:var(--coral)}.beach-pick h3{margin:0}@media (min-width: 901px){.beach-pick{display:none}}.card.has-pic{padding-top:0;overflow:hidden}.card-pic{display:block;width:calc(100% + 36px);margin:0 -18px 8px;aspect-ratio:16 / 9;height:auto;object-fit:cover;background:var(--tint)}.beach-art{display:block;width:100%;height:100%}.photo-credit{font-size:12.5px;color:var(--muted)}.photo-credit a{color:inherit}.place-hero{margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.place-hero img,.place-hero .beach-art{width:100%;max-height:460px;aspect-ratio:16 / 7;object-fit:cover;border-radius:16px;background:var(--tint)}.place-hero.art .beach-art{max-height:220px;aspect-ratio:16 / 4}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gallery figure{margin:0;display:flex;flex-direction:column;gap:4px}.gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;display:block}.photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.photo-admin{margin:0;display:flex;flex-direction:column;gap:6px}.photo-admin img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px}.beach-card{flex-direction:row;gap:14px;align-items:flex-start}.beach-thumb{flex:0 0 120px;width:120px;height:90px;object-fit:cover;border-radius:10px;overflow:hidden}.beach-body{display:flex;flex-direction:column;gap:6px;min-width:0}@media (max-width: 480px){.beach-thumb{flex-basis:84px;width:84px;height:72px}}.card-pic.beach-art{width:calc(100% + 36px);height:auto;aspect-ratio:16 / 5}
