/* Shared readable type for both experiences. Relative units respect browser
   text preferences; the original display type and brand palette stay intact. */
body { font-size:1rem; }
body:is(.home-page,.inner-page) :is(.hero-description,.about-intro,.biography,.section-note,.intro-aside > p,.perspective-intro,.perspective-note p,.coverage-intro,.coverage-options p,.full-value-note > p:last-child,.package-value-intro p,.dialog-intro) { font-size:1rem; line-height:1.75; }
body:is(.home-page,.inner-page) :is(.eyebrow,.hero-offer,.hero-scroll,.page-number,.scene-scroll-hint,.album-navigation,.photo-hint,.about-interests,.about-detail figcaption,.about-figure figcaption,.pricing-notes,.package-saving,.price-label,.draft-note,.copy-status,.film-help,.film-options small,.album-back-cover small) { font-size:.875rem; line-height:1.6; letter-spacing:.035em; }
body:is(.home-page,.inner-page) :is(.button,.text-link,.footer-link,.viewer-expand,.film-options a,.still-card figcaption,dialog label) { font-size:.9375rem; line-height:1.6; }
body:is(.home-page,.inner-page) .site-header nav a { font-size:.9375rem; line-height:1.5; }
body:is(.home-page,.inner-page) .language-switch { font-size:.875rem; }
body:is(.home-page,.inner-page) .language-switch a { min-width:44px; min-height:44px; }
body:is(.home-page,.inner-page) .site-footer p,
body:is(.home-page,.inner-page) .experience-switch { font-size:.875rem; line-height:1.65; }
.site-footer .social-links { font-size:.9375rem; gap:24px; }
.site-footer .social-links a { min-height:44px; }
body.services-page .pricing-carousel :is(.card-description,.package-inclusions) { font-size:1rem; line-height:1.65; }
body.services-page .pricing-carousel :is(.package-recommendation,.card-top .eyebrow,.package-saving,.price-label) { font-size:.875rem; line-height:1.5; }
body.services-page .pricing-carousel .price s { font-size:1rem; }
body.services-page .mobile-package-hint { font-size:.875rem; line-height:1.65; }
body.services-page .request-action > p { font-size:.9375rem; line-height:1.75; }
body :is(input,select,textarea) { font-size:1rem; line-height:1.6; }
body .film-options { flex-wrap:wrap; }
body .film-options a { flex:1 1 180px; min-width:0; }
body .film-options a > span { min-width:0; overflow-wrap:anywhere; }
body .hero-bottom { font-size:.875rem; letter-spacing:.04em; }
body .album-page figcaption > span:last-child { font-size:.875rem; }
/* More readable copy may take another line; never crop it into a fixed card. */
body.services-page .pricing-carousel .price-card { height:auto; }
body.services-page .pricing-carousel .package-recommendation { white-space:normal; }
body.services-page .pricing-carousel .card-top { flex-wrap:wrap; gap:10px; }
body .film-toolbar { gap:16px; }
body .film-toolbar h2 { overflow-wrap:anywhere; }
@media (max-width:700px) {
  body .site-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  body .site-footer .social-links { gap:24px; justify-self:start; }
  body .hero-actions { gap:12px 20px; }
  body .hero-actions .button { gap:16px; }
  body .hero-content { min-width:0; }
  body .hero { padding-bottom:112px; }
  body .hero-bottom { bottom:22px; }
  body .film-help { flex-wrap:wrap; gap:8px; }
  .pricing-ready body.services-page .pricing-carousel .price-card { padding-inline:24px; }
}
@media (max-width:380px) {
  body .site-footer .social-links { gap:18px; }
  body .hero-actions { flex-direction:column; align-items:flex-start; }
}

body.home-page #gallery .scene-heading .eyebrow { font-size:.875rem; letter-spacing:.04em; }
body.home-page #gallery .scene-heading .section-note { font-size:1rem; line-height:1.75; }
body.home-page #gallery .album-page figcaption { font-size:.9375rem; line-height:1.6; }
body.home-page #gallery .album-page figcaption > span:last-child { font-size:.875rem; }
body.home-page #gallery .album-navigation { font-size:.875rem; line-height:1.6; }
body.services-page .request-action noscript p { font-size:1rem; line-height:1.75; }
@media (max-width:900px) {
  body .site-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"brand brand" "social social" "copy copy" "pages mode"; }
  body .site-footer .social-links { justify-self:start; }
}
@media (max-width:480px) {
  /* Recognisable marks keep one row even with enlarged browser text. Link
     names remain available to assistive technology, rather than being removed. */
  body .site-footer .social-links a { width:48px; height:48px; padding:12px; justify-content:center; border:1px solid currentColor; border-radius:50%; }
  body .site-footer .social-links a > span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  body .site-footer .social-links { gap:16px; }
}
body:is(.home-page,.inner-page) .photo-toolbar h2 { font-size:.875rem; line-height:1.6; min-width:0; overflow-wrap:anywhere; }
@media (max-width:1000px) and (pointer:coarse) and (max-height:550px) {
  body .film-options a { flex:0 1 auto; }
}
