/* Reading system: content is unboxed by default; explicit components own their chrome. */
main article{border:0;padding:0}
.prose{line-height:1.7}
.prose p{margin-block:0 1rem}
.prose h3{font-size:1.35rem;line-height:1.3;margin:1.75rem 0 .65rem}
.prose :is(ul,ol){margin-block:.75rem 1.25rem;padding-inline-start:1.35em}
.prose li{margin-block:.4rem;padding-inline-start:.15rem}
.prose li::marker{color:var(--blue)}
.prose strong{font-weight:700}
.prose :is(p,li,dd) a,.stay-help-grid p a,.food-list p a,.collection-guidance p a{
 text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.17em;
 overflow-wrap:anywhere;
}
.prose :is(p,li,dd) a:hover{text-decoration-thickness:2px}
.guide-layout .guide-section{border-top:0;padding-top:0;margin-bottom:2.25rem}
.guide-layout .guide-section h2{margin:0 0 .9rem}
.guide-section> :last-child{margin-bottom:0}
.guide-actions{gap:.25rem 1.25rem;border-bottom:0;padding-bottom:.5rem}
.guide-actions a{border:0;border-radius:0;padding:.5rem 0;text-decoration:underline;flex:0 1 auto}
.place-actions{gap:.35rem 1rem}
.place-actions a{border:0;padding:.5rem 0;text-decoration:underline;flex:0 1 auto}
/* One intro rhythm: avoid stacking main padding, breadcrumb and heading margins. */
.inside-page main{padding-top:32px}
.inside-page main>.crumb{float:right;margin:0 0 8px 20px;max-width:45%;font-size:.85rem;line-height:1.5;text-align:right}
.crumb+ :is(.page-heading,.collection-intro) h1{clear:both}
.page-heading{padding:0 0 24px}
.page-heading>.eyebrow{margin:0 0 12px}
.page-heading h1{margin:0 0 16px}
.page-heading .intro{margin:0}
.table-scroll-hint{display:none}
/* Plain editorial text gets contextual links regardless of its page template. */
main :is(p,li,dd)>a:not(.button):not(.text-button){text-decoration:underline;text-underline-offset:.17em;overflow-wrap:anywhere}
@media(min-width:761px){.page-heading h1{font-size:clamp(2.5rem,4.2vw,3.75rem);max-width:24ch}}
@media(max-width:760px){
 header,main,footer,.home-page header{padding-inline:16px}
 main,.inside-page main{padding-top:20px}
 .page-heading{padding-top:0;padding-bottom:1rem}
 .page-heading h1{font-size:clamp(2rem,8.5vw,2.75rem);line-height:1.12;margin-top:0;margin-bottom:12px;text-wrap:pretty}
 .page-heading .intro{font-size:1rem;line-height:1.6}
 .prose{font-size:1rem;max-width:none}
 .prose h2,.content-layout h2{font-size:1.65rem;line-height:1.25}
 .guide-layout .guide-section{margin-bottom:2rem}
 .practical-answer,.guide-layout .guide-quick{border:0;background:none;padding:0;margin:0 0 1rem}
 .practical-answer p{line-height:1.65}
 .practical-answer ul,.guide-layout .guide-quick ul{padding-left:1.35em;margin-block:.65rem 0}
 .guide-jump{margin:1rem 0 1.5rem}
 .guide-jump>summary{padding:12px 0;min-height:44px}
 .guide-jump>summary span{font-size:.8rem;margin-left:8px}
 .booking-box,.cottage-reservation .booking-box,.notice,.beach-next,.owner-next,.feature,.journal-band{
  padding:1rem 0;background:none;border:0;border-top:1px solid var(--rule);gap:1rem;
 }
 .feature-note{padding-left:0;border-left:0}
 .stay-help-links{gap:0 1rem;margin:.5rem 0 1.25rem}
 .stay-help-links a{border:0;padding:.5rem 0;min-height:44px;flex:0 1 auto;text-align:left;text-decoration:underline}
 .stay-help-grid section{padding-top:1rem;margin-bottom:1rem}
 .task-options article{padding:1rem 0;border:0;border-top:1px solid var(--rule)}
 .guide-table-wrap{margin:1.25rem 0}
 .table-scroll-hint{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.35rem}
 .table-scroll-hint+.guide-table-wrap{margin-top:.35rem}
 .guide-table caption{max-width:calc(100vw - 32px);white-space:normal}
 .guide-table th,.guide-table td{padding:10px 8px}
 .page-photo{margin-bottom:1.5rem}
 .guide-inline-photo{margin-block:1.25rem}
 .guide-layout aside{border-top:1px solid var(--rule);padding-top:1rem}
 .guide-layout aside .reading-stops{border:0;padding-top:0}
 .guide-layout aside>.booking-box:first-child{border-top:0;padding-top:0}
 .article-contents{grid-template-columns:1fr;gap:0}
 .article-contents a{padding-block:.55rem}
 .beach-practical .details{grid-template-columns:1fr}
 .beach-practical .details dt{padding-bottom:.15rem}
 .beach-practical .details dd{padding:0 0 .85rem;margin:0}
}
