/* Shared layout scale. Loaded after component styles and logo rules. */
:root {
  --content-max: 1280px;
  --header-max: 1360px;
  --site-gutter: max(24px, calc((100vw - 1280px) / 2));
  --section-space: clamp(40px, 4.5vw, 64px);
}
body { font-size: 1rem; line-height: 1.65; }
img { max-width: 100%; }
main { min-width: 0; }
main :is(section, article, div, aside, nav) { min-width: 0; }
main :is(h1,h2,h3,p,li,a,strong,dt,dd) { overflow-wrap: break-word; }
main :is(h1,h2,h3) { text-wrap: balance; }
.section { padding: var(--section-space) var(--site-gutter); }
h2,
.portal-intro h2,.section-title h2,.home-answer-copy h2,
.home-faq-heading h2,.home-guide-gateway h2,.communication-promo-copy h2,
.paris-guide-promo-copy h2,.pick-lead h2,.event-content h2,
.guide-answer h2,.guide-tips h2,.guide-faq h2,.guide-sources h2,
.guide-related h2,.guide-next h2,.arrival-intro h2,.directory-context h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.14;
  letter-spacing: -.025em;
}
.hero-main h1,.page-hero h1,.culture-hero h1,.section-hero h1,
.guide-hub-copy h1,.guide-detail-copy h1 {
  font-size: clamp(2.5rem, 4.8vw, 4.25rem);
  line-height: 1.04;
  letter-spacing: -.035em;
  max-width: 900px;
}
.portal-hero { min-height: 0; }
.hero-layout {
  min-height: 540px;
  padding: 64px var(--site-gutter) 48px;
  grid-template-columns: minmax(0,1.65fr) minmax(260px,.75fr);
  gap: clamp(28px, 4vw, 64px);
}
.hero-main > p:not(.eyebrow) { font-size: 1.06rem; max-width: 66ch; }
.hero-desk { align-self: center; margin: 0; }
.hero-desk p { font-size: .9rem; color: rgba(255,255,255,.85); }
.hero-desk strong,.hero-desk > a,.hero-ribbon { font-size: .78rem; }
.hero-ribbon { padding: 16px var(--site-gutter); gap: 16px; }
.page-hero { min-height: 420px; padding: 64px var(--site-gutter) 48px; }
.guide-hub-hero,.guide-detail-hero { min-height: 460px; }
.guide-hub-copy,.guide-detail-copy {
  width: 100%; max-width: none;
  padding: 56px var(--site-gutter) 88px;
}
.guide-hub-copy > p:last-child,.guide-detail-copy > p:last-child {
  font: 400 1.08rem/1.7 Arial,Helvetica,sans-serif;
  max-width: 75ch;
}
.guide-breadcrumb { font-size: .85rem; bottom: 24px; flex-wrap: wrap; gap: 8px; }
.culture-hero { min-height: 0; }
.culture-hero-copy { padding-block: 64px; }
.section-hero { min-height: 440px; }
.section-hero-copy { padding: 48px clamp(24px,4vw,64px); }
.section-hero-image img { max-height: 580px; }
.breadcrumb { font-size: .85rem; flex-wrap: wrap; gap: 8px; }
.utility-bar { font-size: .75rem; letter-spacing: .06em; }
.nav-main { font-size: .78rem; letter-spacing: .035em; }
.nav-main span { font-size: .8rem; }
.nav-panel a { font-size: .95rem; padding-block: 10px; }
.masthead { min-height: 88px; gap: 20px; }
.language-switcher summary { font-size: .8rem; min-height: 44px; }
.language-menu strong { font-size: .8rem; }
.language-menu span { font-size: .9rem; }
.eyebrow,.button,.text-link,.directory-count,.directory-selection,
.place-category,.place-source,.guide-card-link,.guide-choice-grid > article > p:first-of-type,
.planner-duration,.home-planner-grid li,.home-planner-grid a,
.home-answer-facts dt,.home-answer-sources,.street-reading-grid a,
.arrival-line,.arrival-grid strong,.topic-links a,.neighborhood-card a,
.section-overview aside > span,.section-overview aside small,
.section-crosslinks small,.guide-related a span,.home-guide-gateway nav span,
.guide-facts span,.guide-choice-grid dt,.home-visual-grid small,
.culture-jump span,.neighborhood-card figcaption,.editorial-photo-band figcaption {
  font-size: .8rem;
  letter-spacing: .06em;
  line-height: 1.5;
}
.button { min-height: 48px; padding: 12px 20px; gap: 20px; }
.portal-intro,.home-answer,.home-guide-gateway,.home-faq,
.guide-chooser-intro,.guide-answer,.guide-plan,.guide-tips,.guide-faq,
.guide-sources,.guide-related,.neighborhood-intro,.neighborhood-next,
.neighborhood-questions,.section-questions,.section-crosslinks,
.directory-context,.practical,.route,.communication-promo {
  gap: clamp(24px, 4vw, 56px);
}
.portal-intro > div:last-child { padding-top: 0; }
.portal-intro > div:last-child p { font-size: 1.12rem; }
.section-title,.section-heading.row { margin-bottom: 28px; gap: 24px; }
.section-title > p,.section-heading.row > p { max-width: 55ch; }
.universe-card { min-height: 320px; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); }
.universe-card > div { padding: 24px; }
.universe-card h3 { font-size: 1.75rem; line-height: 1.2; margin-bottom: 20px; }
.universe-card li a { font-size: .95rem; padding-block: 10px; }
.universe-card > div > p { font-size: .8rem; }
.home-planner-grid article,.street-reading-grid article { min-height: 0; padding: 24px; }
.home-planner-grid h3 { min-height: 0; font-size: 1.8rem; line-height: 1.2; }
.home-planner-grid article > p:not(.planner-duration),.street-reading-grid p { font-size: 1rem; }
.planner-duration,.street-reading-grid h3 { margin-top: 24px; }
.street-reading-grid h3 { font-size: 1.65rem; line-height: 1.2; }
.home-visual-grid article { min-height: 260px; }
.home-visual-grid h3 { font-size: 1.6rem; line-height: 1.2; }
.pick-lead { padding: 48px 32px; }
.pick-list { padding: 32px; }
.editorial-photo-band,.editorial-photo-band-compact {
  min-height: 0; max-height: none; padding: 32px var(--site-gutter);
}
.editorial-photo-band figure { margin: 0; min-height: 0; }
.editorial-photo-band img { width: 100%; height: 320px; object-fit: cover; }
.culture-photo-essay img { height: 260px; object-fit: cover; }
.agenda-photo-grid figure { min-height: 0; height: 220px; }
.guide-choice-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; border: 0; background: transparent; }
.guide-choice-grid > article { min-height: 0; padding: 24px; border: 1px solid var(--portal-line); }
.guide-card-visual { margin: 0 0 20px; height: auto; aspect-ratio: 3/2; }
.guide-card-visual img { width: 100%; height: 100%; object-fit: cover; }
.guide-choice-grid h3 { font-size: 1.7rem; line-height: 1.2; margin: 12px 0; }
.guide-choice-grid > article > p { font-size: 1rem; line-height: 1.65; }
.guide-choice-grid dl { margin-block: 16px; gap: 12px; }
.guide-choice-grid dd { font-size: .95rem; line-height: 1.5; }
.guide-choice-grid > article > span { font-size: .85rem; }
.guide-choice-grid .guide-card-link { margin-top: auto; padding-top: 16px; }
.guide-chooser-intro { display: block; max-width: 960px; margin-bottom: 32px; }
.guide-chooser-intro h2,.guide-method h2,.guide-plan-heading h2 { font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.14; }
.guide-chooser-intro > p:last-child { margin-top: 20px; max-width: 78ch; font: 400 1rem/1.75 Arial,Helvetica,sans-serif; }
.guide-card-visual { height: 180px; flex: none; aspect-ratio: auto; }
.footer-map a { font-size: .9rem; line-height: 1.5; }
.guide-facts { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); padding: 0 var(--site-gutter); }
.guide-facts > div { min-height: 0; padding: 24px; border-bottom: 1px solid rgba(255,255,255,.2); justify-content: flex-start; }
.guide-facts strong { font: 400 1.25rem/1.5 Georgia,serif; margin-top: 8px; }
.guide-steps article { padding-block: 24px; gap: 20px; min-height: 0; }
.guide-steps article > div:first-child { min-width: 90px; }
.guide-steps h3 { font-size: 1.65rem; line-height: 1.25; }
.guide-steps p,.guide-tips article p { font-size: 1rem; line-height: 1.75; }
.guide-tips article { min-height: 0; padding: 24px; }
.guide-tips h3 { font-size: 1.6rem; line-height: 1.25; margin-top: 20px; }
.guide-related a { min-height: 0; grid-template-columns: minmax(100px,.45fr) minmax(0,1fr) auto; padding-block: 20px; gap: 16px; }
.guide-related a strong { font-size: 1.35rem; line-height: 1.35; }
.guide-faq summary,.home-faq-list summary { font-size: 1.2rem; line-height: 1.4; min-height: 0; padding-block: 20px; }
.directory-visual { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
.directory-visual img { max-height: 320px; object-fit: cover; }
.directory-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.directory-photo-card { min-width: 0; width: auto; min-height: 180px; max-height: 220px; }
.place { min-height: 0; padding-block: 24px; gap: 20px; }
.place-copy strong { font-size: 1.3rem; line-height: 1.3; }
.place-copy p,.place-address { font-size: .95rem; line-height: 1.65; }
.place em { font-size: .85rem; line-height: 1.5; }
.directory-context { padding: 24px; margin-block: 24px; }
.neighborhood-card img { max-height: 300px; object-fit: cover; }
.neighborhood-card h2 { font-size: 2rem; line-height: 1.2; }
.topic-list article.has-image { grid-template-columns: 56px minmax(0,1fr) minmax(160px,.35fr); gap: 24px; align-items: start; }
.topic-list article { padding-block: 32px; }
.topic-image { width: 100%; height: 240px; object-fit: cover; }
.topic-copy h2 { font-size: 2rem; line-height: 1.2; }
.topic-copy p { max-width: 75ch; }
.place-detail,.methodology { padding-top: 40px; }
.place-detail h1,.methodology h1 { font-size: clamp(2rem,4vw,3.5rem); line-height: 1.15; margin: 24px 0; }
.place-detail .guide-facts { gap: 0; padding: 0; margin-block: 24px; }
.place-detail .guide-related { padding: 24px; margin-top: 32px; }
.place-detail p,.methodology p,.methodology li { max-width: 78ch; }
.place-detail h2,.methodology h2 { margin-top: 32px; }
.decision-panel h2 { max-width: 900px; }
.decision-panel th,.decision-panel td { padding: 16px; font-size: .95rem; }
.footer-top,.footer-grid,.footer-bottom { gap: 24px; }
.footer-grid a,.footer-bottom,.footer-grid p { font-size: .9rem; }
@media (min-width: 1101px) {
  .guide-chooser-intro { display: block; }
}
@media (max-width: 1100px) {
  .guide-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .universe-card { grid-template-columns: minmax(0,.6fr) minmax(0,1fr); }
  .universe-card > div { padding: 20px; }
  .hero-layout { gap: 24px; }
  .guide-tips > div:last-child { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  :root { --site-gutter: 24px; }
  .hero-layout { grid-template-columns: 1fr; min-height: 0; padding-block: 40px; }
  .hero-desk { max-width: 640px; }
  .hero-ribbon { flex-wrap: wrap; }
  .section-hero { grid-template-columns: 1fr; min-height: 0; }
  .section-hero-image { min-height: 0; height: 280px; }
  .section-hero-copy { padding: 32px 24px 64px; }
  .section-hero h1 { font-size: 2.75rem; }
  .universe-grid { grid-template-columns: 1fr; }
  .directory-visual { grid-template-columns: 1fr; }
  .topic-list article.has-image { grid-template-columns: 40px minmax(0,1fr); }
  .topic-image { grid-column: 2; max-width: 480px; height: 220px; }
  .place-detail .guide-related { grid-template-columns: 1fr; }
  .editorial-photo-band img { height: 260px; }
}
@media (max-width: 600px) {
  :root { --site-gutter: 20px; --section-space: 36px; }
  .hero-main h1,.page-hero h1,.culture-hero h1,.section-hero h1,
  .guide-hub-copy h1,.guide-detail-copy h1 { font-size: clamp(2rem,9vw,2.75rem); line-height: 1.1; }
  .page-hero { min-height: 0; padding: 40px 20px; }
  .guide-hub-hero,.guide-detail-hero { min-height: 0; }
  .guide-hub-copy,.guide-detail-copy { padding: 40px 20px 92px; }
  .guide-breadcrumb { max-height: 64px; overflow: auto; }
  .culture-hero-copy { padding-block: 40px; }
  .section-title,.section-heading.row { display: block; }
  .section-title > p,.section-heading.row > p { margin-top: 20px; }
  .guide-choice-grid,.guide-tips > div:last-child,.guide-facts { grid-template-columns: 1fr; }
  .guide-choice-grid > article { padding: 20px; }
  .guide-card-visual { max-height: 220px; }
  .guide-facts > div { padding: 20px; }
  .guide-facts strong { font-size: 1.15rem; }
  .guide-related a { grid-template-columns: minmax(0,1fr) auto; }
  .guide-related a span { grid-column: 1/-1; }
  .universe-card { min-height: 0; grid-template-columns: minmax(0,.6fr) minmax(0,1fr); }
  .universe-card h3 { font-size: 1.5rem; }
  .directory-photo-grid { grid-template-columns: 1fr; }
  .place { grid-template-columns: minmax(0,1fr); }
  .place-category,.place-copy,.place-address,.place em { grid-column: 1; grid-row: auto; }
  .place em { text-align: left; max-width: none; }
  .place-source { justify-content: flex-start; }
  .topic-list article.has-image { grid-template-columns: 1fr; }
  .topic-image { grid-column: 1; width: 100%; height: 200px; }
  .topic-number { font-size: 1rem; }
  .topic-copy h2 { font-size: 1.8rem; }
  .editorial-photo-band img,.culture-photo-essay img { height: 220px; }
  .place-detail,.methodology { padding-top: 28px; }
  .place-detail h1,.methodology h1 { font-size: 2rem; }
  .home-faq-list details p,.guide-faq details p { padding-right: 0; }
  .utility-inner { gap: 12px; }
  .utility-inner > div { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 360px) {
  :root { --site-gutter: 16px; }
  .universe-card { grid-template-columns: 1fr; }
  .universe-image { min-height: 180px; }
  .masthead { gap: 8px; }
  .header-actions { gap: 8px; }
  .masthead { grid-template-columns: minmax(0,1fr) auto; }
  .masthead .brand { width: auto; }
  .masthead .brand-logo { width: 140px; max-width: 100%; }
}

.documentary-photo{margin:24px 0;max-width:720px}
.documentary-photo img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#f0ece7}
.photo-credit{display:block;font:400 .85rem/1.65 Arial,sans-serif;color:#56504a;overflow-wrap:anywhere}.photo-credit a{text-decoration:underline}
.hero-photo-credit.section{padding-top:16px;padding-bottom:16px}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;margin-top:40px}
.photo-gallery-grid h2{font-size:1.4rem;line-height:1.35}.photo-gallery-grid .documentary-photo img{height:300px;object-fit:contain}
.place-detail>p,.place-detail>ul{max-width:880px;line-height:1.75}.place-detail .guide-related,.place-detail .guide-faq{margin:32px 0}
@media(max-width:700px){.photo-gallery-grid{grid-template-columns:1fr;gap:32px}.photo-gallery-grid .documentary-photo img{height:240px}.documentary-photo img{max-height:300px}}

.footer-actions{flex-wrap:wrap;gap:12px 20px;max-width:100%}.guide-topic-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 32px}.guide-topic-nav a{padding:10px 14px;border:1px solid #cfc6bd;font-size:1rem;line-height:1.4}.guide-choice-grid article{scroll-margin-top:24px}

.directory-photo-card{aspect-ratio:auto;height:200px;min-height:0;width:100%}.directory-photo-card>span{flex-wrap:wrap;gap:8px}.directory-photo-card small{font-size:.8rem}

/* Text sizes found during the second full family audit. */
main#contenu p:not(.eyebrow){font-size:1rem;line-height:1.7}
main#contenu :is(.meta,.agenda-date,.agenda-details,.practical-data-category,.practical-data-hours,.arrival-line,.planner-duration,.home-answer-sources){font-size:.9rem;line-height:1.6}
main#contenu :is(.neighborhood-intro,.neighborhood-next,.neighborhood-questions,.culture-intro,.chapter-head,.archive-gateway,.event-copy,.directory-visual-copy) h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.14}
main#contenu :is(.work-copy,.book-grid) p{font-size:.85rem;line-height:1.6}
main#contenu .work-copy>span,main#contenu .book-grid article>div:last-child>span{font-size:1rem;line-height:1.7}
.work-copy strong,.book-grid strong,.work-copy a,.book-grid a,.song-list a,.source-row p{font-size:.9rem;line-height:1.6}
main#contenu .universe-card>div>p{font-size:.85rem;line-height:1.6}
main#contenu .guide-choice-grid>article>p:first-of-type{font-size:.85rem}
.hero-ribbon-inner p{font-size:.85rem;line-height:1.5}

.documentary-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin:16px 0 32px}.documentary-preview .documentary-photo img{height:220px;object-fit:contain}.documentary-preview .text-link{font-size:.85rem;line-height:1.6;letter-spacing:.02em}@media(max-width:700px){.documentary-preview-grid{grid-template-columns:minmax(0,1fr)}}
