.town-overview{margin:28px 0 40px}.town-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.town-card{border:1px solid #d6e1e2;border-radius:10px;overflow:hidden;background:#fff;text-decoration:none;display:block}.town-card img{width:100%;height:180px;object-fit:cover;display:block}.town-card span{display:grid;gap:4px;padding:16px}.town-card strong{font:700 27px Georgia,serif;color:#073e56}.town-card small{font-size:13px;color:#4e626b}.town-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:center;margin:26px 0}.town-hero h1{font-size:clamp(44px,5.4vw,70px);line-height:1.05;margin:14px 0 22px}.town-hero h1 span{display:block;letter-spacing:normal;font:400 23px/1.35 Georgia,serif;margin-top:12px;color:#4c636a}.town-hero p{font-size:17px;line-height:1.65}.town-hero .meta{font-size:13px}.town-hero figure{margin:0}.town-hero img{display:block;width:100%;height:auto;border-radius:10px}.town-hero figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:#52666e}.town-hero figcaption a{display:block}.town-jumps{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d7e2e2;border-bottom:1px solid #d7e2e2;padding:14px 0;margin-bottom:26px}.town-jumps a{padding:10px 13px;background:#edf3f3;border-radius:6px;font-size:14px;font-weight:650;text-decoration:none;min-height:44px;display:flex;align-items:center}.town-guide-body{max-width:850px;margin:0 auto}.town-section{padding:26px 0;border-bottom:1px solid #d6e1e2;scroll-margin-top:160px}.town-section h2{font-size:32px;margin:0 0 14px}.town-section p{font-size:17px;line-height:1.75}.town-options{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.town-options li{border:1px solid #d6e1e2;border-radius:8px;padding:18px;background:#fff}.town-options h3,.town-practical h3{font-size:21px;margin:0 0 10px}.town-options p{font-size:15px;margin:0}.town-sources{font-size:13px;margin:12px 0;overflow-wrap:anywhere}.town-sources summary{cursor:pointer;min-height:36px;padding:8px 0;font-weight:650}.town-sources li{margin:10px 0}.town-practical+.town-practical{margin-top:24px}.town-faq{padding:14px 0;border-bottom:1px solid #d6e1e2}.town-faq>summary{font-weight:700;font-size:18px;min-height:44px;cursor:pointer;line-height:1.5}.town-backlinks{max-width:850px;margin:25px auto 35px;padding:22px;background:#edf3f3;border-radius:8px}.town-backlinks h2{font-size:25px;margin:0 0 12px}.town-backlinks a{display:inline-block;margin:8px 20px 8px 0}.resort-sponsor{display:grid;grid-template-columns:minmax(200px,.72fr) minmax(0,1.8fr);gap:24px;border:1px solid #b9cdce;border-radius:10px;padding:18px;margin:26px 0 34px;background:#eff6f5;clear:both}.resort-photo img{display:block;width:100%;height:auto;border-radius:6px}.resort-photo small{display:block;font-size:11px;line-height:1.4;margin-top:6px;color:#425b62}.resort-logo{display:block;max-width:230px;width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left;margin:12px 0}.resort-copy h2{font-size:26px;margin:12px 0}.resort-copy p{font-size:15px;line-height:1.6;max-width:570px;margin:8px 0 16px}.resort-copy .kicker{font-size:11px;letter-spacing:.07em}.resort-phone{display:inline-block;margin:12px 0 0 16px;font-size:14px;min-height:40px;padding:10px 0}.resort-dialog{box-sizing:border-box;width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;padding:30px;border:1px solid #b6cbcd;border-radius:12px;color:#153b48;background:#fcfbf8}.resort-dialog[hidden]{display:none}.resort-dialog::backdrop{background:rgb(4 28 39/.65)}.resort-dialog h2{font-size:30px;margin:12px 40px 12px 0}.resort-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:1px solid #bacbce;border-radius:7px;background:#fff;font-size:30px;cursor:pointer}.resort-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.resort-dialog .field,.resort-fallback .field{margin-bottom:15px}.resort-dialog .field input,.resort-dialog textarea,.resort-fallback input,.resort-fallback textarea{box-sizing:border-box;width:100%;border:1px solid #879fa7;border-radius:7px;padding:12px;font:inherit;min-height:48px;background:#fff}.resort-dialog .check{align-items:start;line-height:1.5;font-size:14px}.resort-dialog .check input,.resort-fallback .check input{width:20px;min-height:20px;margin-top:4px;flex-shrink:0}.resort-dialog .button{min-height:48px}.resort-dialog [data-resort-status]{font-size:15px;line-height:1.5}.resort-fallback{max-width:650px;margin:20px auto 40px}.resort-open{overflow:hidden}.resort-dialog small{font-size:12px;line-height:1.5;color:#52666e}.town-guide-body .source-box{margin:30px 0}.town-card:focus-visible,.town-jumps a:focus-visible,.resort-dialog :focus-visible{outline:3px solid #a8471b;outline-offset:3px}
@media(max-width:1000px){.town-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-hero{gap:22px}.resort-copy .button{font-size:14px}.resort-phone{margin-left:0;display:block}.town-section{scroll-margin-top:130px}}
@media(max-width:800px){.town-hero{grid-template-columns:1fr}.town-hero h1{font-size:48px;margin-bottom:16px}.town-hero figure{max-width:700px}.town-jumps{gap:6px}.town-jumps a{font-size:13px;padding:10px}.resort-sponsor{grid-template-columns:minmax(110px,.6fr) minmax(0,1.5fr);gap:14px;padding:14px}.resort-copy h2{font-size:22px}.resort-copy .button{width:100%;text-align:center;white-space:normal}.resort-logo{max-height:54px}.resort-copy .kicker{line-height:1.5}.town-options{grid-template-columns:1fr}.town-section{padding:22px 0}.town-section h2{font-size:29px}}
@media(max-width:500px){.town-card-grid{gap:12px}.town-card img{height:115px}.town-card span{padding:12px}.town-card strong{font-size:24px}.town-card small{font-size:12px;line-height:1.5}.resort-sponsor{grid-template-columns:1fr}.resort-photo{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center}.resort-photo small{font-size:11px;max-width:180px}.resort-copy h2{margin-top:10px}.resort-dialog{padding:24px 18px;max-height:calc(100dvh - 24px)}.resort-dialog h2{font-size:27px}.resort-fields{grid-template-columns:1fr}.resort-phone{margin-top:6px}.town-hero{margin-top:18px}.town-hero p{font-size:16px}.town-section{scroll-margin-top:110px}}
@media(prefers-reduced-motion:reduce){.resort-dialog,.town-guide-body{scroll-behavior:auto}}
.resort-logo{max-width:88px;max-height:none}.resort-copy{position:relative}.resort-copy h2{margin-top:12px}
.town-card img[src*="barnstable"]{object-position:50% 90%}.town-card img[src*="brewster"]{object-position:50% 75%}
