/* Final layout system for the public family guide. */
body.compass-elevated.compass-scrapbook[data-compass-polish] {
  --finds-ink: var(--compass-charcoal);
  --finds-berry: var(--compass-berry);
  --finds-pink: var(--compass-petal);
  --finds-mint: var(--compass-petal);
  font-size: 17px;
  -webkit-text-size-adjust: 100%;
}
body.compass-elevated.compass-scrapbook[data-compass-polish] main { min-width: 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(main,footer) :is(a,p,li,dd,h1,h2,h3,h4) { overflow-wrap: break-word; }
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.card,.library-card,.find-card,.place-card,.fresh-card,.guide-topic) { min-width: 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .top { padding: 7px 16px; font-size: 10px; line-height: 1.5; letter-spacing: .15em; font-weight: 650; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header { max-width: 1220px; padding: 12px 28px; gap: 16px; align-items: center; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .explore-nav { gap: 8px; padding: 10px 14px; line-height: 1.35; white-space: nowrap; }
body.compass-elevated.compass-scrapbook[data-compass-polish] #site-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-utilities a { gap: 7px; font-size: 13px; min-height: 44px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .menu-toggle { display: none; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 11px; border-radius: 10px; font: 600 14px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }

/* One stroke weight and scale replaces the large decorative clip art. */
body[data-compass-polish] .compass-ui-icon { display: inline-block; width: 21px; height: 21px; flex: 0 0 auto; vertical-align: middle; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-nav-icon { width: 21px; height: 21px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-section-icon { width: 25px; height: 25px; color: var(--compass-cherry); margin-right: 10px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-hub-icon { width: 30px; height: 30px; color: var(--compass-cherry); margin-left: 18px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-accent { width: 32px; height: 32px; color: var(--compass-cherry); transform: none; filter: none; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .resource-intro { padding-right: 92px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .resource-intro>.compass-accent { width: 32px; height: 32px; top: 30px; right: 30px; }

/* A balanced opening and consistently sized, real photographs. */
body.compass-elevated.compass-scrapbook[data-compass-polish] .editorial-hero { align-items: center; gap: clamp(24px,4vw,56px); padding: 44px 0; margin-bottom: 28px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-copy { min-width: 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-copy h1 { font-size: clamp(2.35rem,4.6vw,4rem); line-height: 1.08; margin: 18px 0 22px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-copy>p { max-width: 46ch; margin-bottom: 24px; font-size: 1rem; line-height: 1.75; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-photo { display: block; margin: 0; min-width: 0; border-radius: 0; overflow: visible; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-photo img { display: block; width: 100%; height: auto; min-height: 0; max-height: 460px; aspect-ratio: 5/4; object-fit: cover; object-position: 50% 53%; border-radius: 18px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-photo-credit { font-size: 12px; line-height: 1.65; margin-top: 9px; color: var(--compass-muted); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-photo-credit a { color: inherit; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .home-actions a { display: flex; flex-direction: column; justify-content: center; gap: 3px; min-height: 66px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-signoff { font-size: 13px; margin-top: 18px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .sectionline { padding-top: 26px; margin-top: 32px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-grid { gap: 16px; margin-top: 20px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card { display: flex; flex-direction: column; overflow: hidden; height: 100%; padding: 12px 12px 18px; gap: 10px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 10px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card span { font-size: 1.25rem; line-height: 1.25; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card small { font-size: 13px; line-height: 1.6; color: var(--compass-muted); }
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.card-image,.library-card:not(.print-card)>a>img) { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .library-card.print-card>a>img { object-fit: contain; background: var(--compass-petal); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .library-copy { padding: 22px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.library-copy h3,.card .content h3) { margin: 8px 0 12px; font-size: 1.5rem; line-height: 1.25; }
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.library-copy p,.card .content p) { font-size: .9375rem; line-height: 1.75; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-home-callout { grid-template-columns: 44px minmax(0,1fr) auto; column-gap: 18px; padding: 26px; margin-block: 28px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-home-callout>.compass-accent { width: 32px; height: 32px; align-self: start; margin-top: 5px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .family-resource-callouts .compass-accent { width: 30px; height: 30px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-promo>img { width: 76px; height: 76px; object-fit: contain; }

/* Article headers are editorial blocks, independent from the site navigation. */
body.compass-elevated.compass-scrapbook[data-compass-polish] main.article:not(.buddy-page):not(.compass-tool-page):not(.family-finds-magazine):not(.party-guide) { max-width: 820px; padding-top: 38px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article header:not(.site-header) { display: block; max-width: none; padding: 0; margin: 0; background: transparent; gap: 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article>h1 { font-size: clamp(2rem,4.5vw,3rem); line-height: 1.14; margin: 14px 0 18px; text-wrap: balance; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .byline { font-size: 13px; line-height: 1.7; margin: 0 0 20px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article-intro p { font-size: 1.125rem; line-height: 1.75; color: var(--compass-muted); margin: 0 0 24px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .article-photo { margin: 26px 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .article-photo img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 14px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .article-photo figcaption { color: var(--compass-muted); font-size: 12px; line-height: 1.75; margin-top: 9px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(p,li) { line-height: 1.8; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(.note,.week-facts,.today-facts) { padding: 18px 20px; font-size: .875rem; line-height: 1.75; border-radius: 12px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .guide-contents { margin: 24px 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .guide-contents nav a { padding-block: 7px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(.editorial-event,.event-story,.weekend-event-card) { min-width: 0; padding: 24px; border: 1px solid var(--compass-line); border-radius: 14px; background: #fff; margin-block: 18px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(.editorial-event,.event-story,.weekend-event-card)>h3 { font-size: 1.5rem; line-height: 1.25; margin-top: 4px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .weekend-event-card>p { font-size: .9375rem; margin-block: 10px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .weekend-event-card>p>strong { color: var(--compass-berry); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .article .back { font-size: .875rem; margin-bottom: 20px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .party-cover img { aspect-ratio: 3/2; object-fit: cover; object-position: 50% 38%; border-radius: 14px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finds-cover-photo { transform: none; border-radius: 12px; box-shadow: none; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finds-cover-label { transform: none; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finds-cover-art { background: var(--compass-petal); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finds-filter-row button[aria-pressed=true] { background: var(--compass-cherry); border-color: var(--compass-cherry); color: #fff; }

/* Finder stays full width; long options and addresses cannot push the page wider. */
body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.finder,.finder-layout,.finder-controls,.map-panel,.location-controls) { min-width: 0; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder input:not([type=checkbox]),
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder select { max-width: 100%; font-size: 16px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-heading { padding: 30px 0 22px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-heading h1 { font-size: clamp(2.3rem,4.5vw,3.5rem); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-controls { padding: 24px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .finder :is(.map-actions button,.location-button,.finder-shortcuts button) { min-height: 44px; }

/* The planner is available without obscuring the mobile filters or map. */
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-launcher { min-height: 46px; padding: 10px 15px; gap: 8px; border-radius: 24px; background: #fff; color: var(--compass-berry); border-color: #d8a4b3; right: 20px; bottom: max(18px,env(safe-area-inset-bottom)); box-shadow: 0 4px 18px #54273512; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-launcher .compass-ui-icon { width: 22px; height: 22px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-launcher>span { font-size: 14px; line-height: 1.4; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-dialog { max-width: 680px; width: calc(100% - 32px); max-height: calc(100dvh - 32px); border-radius: 18px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-reading { grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr)); }
body.compass-elevated.compass-scrapbook[data-compass-polish] footer { padding-top: 30px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-footer-library { gap: 24px 40px; margin-top: 28px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .photography-details { max-width: 1096px; margin: 22px auto 0; border-top: 1px solid var(--compass-line); text-align: left; padding-top: 10px; }
body.compass-elevated.compass-scrapbook[data-compass-polish] .photography-details>summary { cursor: pointer; min-height: 44px; padding-block: 10px; font-size: 12px; color: var(--compass-muted); }
body.compass-elevated.compass-scrapbook[data-compass-polish] .photography-details .photo-credit { font-size: 11px; line-height: 1.8; margin-top: 8px; }
body[data-compass-polish] [data-site-verification] { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (min-width: 761px) {
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .menu-toggle { display: none; }
}
@media (max-width: 1000px) and (min-width: 601px) {
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header { padding: 8px 16px 10px; gap: 8px 10px; grid-template-columns: auto minmax(0,1fr) auto; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .explore-nav { justify-self: start; padding: 10px 11px; font-size: 13px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header.menu-ready .menu-toggle { display: inline-flex; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header #site-navigation { grid-column: 1/-1; grid-row: 2; padding-top: 10px; border-top: 1px solid var(--compass-line); margin-top: 4px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .compass-utilities { grid-column: 1/-1; grid-row: 3; justify-self: stretch; justify-content: flex-start; border: 0; padding: 0; gap: 12px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header.menu-ready:not(.menu-open) .compass-utilities { display: none; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .compass-utilities a { padding-inline: 10px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .editorial-hero { grid-template-columns: 1fr; padding: 28px 0 30px; gap: 24px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-copy h1 { font-size: clamp(2.25rem,8.5vw,3.25rem); }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-photo img { aspect-ratio: 16/10; max-height: 320px; object-position: 50% 55%; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .hero-copy>p { font-size: 16px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .resource-intro { padding-right: 76px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .resource-intro>.compass-accent { top: 24px; right: 22px; width: 28px; height: 28px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-home-callout { grid-template-columns: 32px minmax(0,1fr); padding: 22px; column-gap: 14px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-home-callout>a { grid-column: 1/-1; justify-self: start; margin-top: 10px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(.editorial-event,.event-story,.weekend-event-card) { padding: 20px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .article>h1 { font-size: clamp(2rem,7.4vw,2.6rem); }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .article-intro p { font-size: 1rem; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-controls { padding: 18px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .finder-heading { padding: 22px 0 18px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-launcher { width: 48px; height: 48px; min-height: 48px; padding: 0; justify-content: center; right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-launcher>span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .buddy-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); margin: auto; }
}
@media (max-width: 600px) {
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-grid { grid-template-columns: 1fr; gap: 12px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 6px 14px; padding: 12px; align-content: center; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card img { grid-column: 1; grid-row: 1/span 2; width: 96px; height: 96px; aspect-ratio: 1; object-fit: cover; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card span { grid-column: 2; align-self: end; font-size: 1.15rem; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card small { grid-column: 2; font-size: 12px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .finds-cover-photo>span { font-size: .8125rem; }
}
@media (max-width: 380px) {
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header { padding-inline: 12px; column-gap: 8px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .explore-nav { font-size: 12px; padding-inline: 8px; gap: 6px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .menu-toggle { padding-inline: 8px; gap: 5px; font-size: 13px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .site-header .compass-nav-icon { width: 18px; height: 18px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] main { padding-left: 16px; padding-right: 16px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card { grid-template-columns: 80px minmax(0,1fr); gap: 6px 12px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card img { width: 80px; height: 86px; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .fresh-card span { font-size: 1.05rem; }
}
@media print {
  body.compass-elevated.compass-scrapbook[data-compass-polish] :is(.article-photo figcaption,.photography-details) { font-size: 9pt; }
  body.compass-elevated.compass-scrapbook[data-compass-polish] .article :is(.editorial-event,.event-story,.weekend-event-card) { box-shadow: none; break-inside: avoid; }
}
