/* Common layout safeguards across both existing stylesheet families. */
.app-shell main,.app-shell .detail-copy{min-width:0}
.app-shell .page-hero h1,.app-shell .detail-copy h1{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
.detail-media{aspect-ratio:3/2}.detail-media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.event-state{font-size:1rem;color:#e9d5df}.photo-credit{font-size:.875rem}
.app-shell .meta,.app-shell .result-note,.app-shell .filter-panel label,.app-shell .ganaderia{font-size:.875rem}
.app-shell .tag,.app-shell .source{font-size:.8125rem}
.app-shell :is(a,button,input,select):focus-visible{outline:3px solid #ef91b8;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-150%);padding:12px;background:#fff;color:#17171b}.skip-link:focus{transform:none}
.resource-fallback{background:#17191e}.external-media-notice{padding:18px;border:1px solid #4a4650;border-radius:12px;background:#111318;color:#eee}.external-media-notice p{font-size:1rem;line-height:1.5}.external-media-notice button{min-height:44px}
iframe[hidden]{display:none!important}
.ad-preview-notice{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding:16px;border:1px solid #b0004b;border-radius:8px;margin-block:20px;font-size:.875rem}.ad-preview-notice a{margin-left:auto;color:#f7a8cb}
.ad-design-slot{box-sizing:border-box;display:grid;place-content:center;justify-items:center;gap:8px;grid-column:1/-1;min-height:100px;padding:16px;margin-block:28px;border:1px dashed #65535e;background:#161016;color:#ded5db;text-align:center}.ad-design-slot span{letter-spacing:.12em;font-size:.75rem}.ad-design-slot strong{font-size:1rem}.ad-design-slot small{font-size:.8125rem}.ad-design-slot.rectangle{min-height:250px}.ad-design-slot.leaderboard{max-width:970px;margin-inline:auto}
.app-shell .footer-in,.app-shell .footer-inner{flex-wrap:wrap;gap:12px}
@media(max-width:600px){
  .app-shell .page-hero h1,.app-shell .detail-copy h1{font-size:clamp(1.75rem,7vw,2.35rem);line-height:1.12;letter-spacing:0;max-width:100%}
  .app-shell .detail-copy{padding-inline:12px}
  .app-shell .detail-hero{grid-template-columns:minmax(0,1fr)}
  .app-shell .tag-chip span{overflow-wrap:normal;word-break:normal}
  .app-shell .mobile-nav{padding-bottom:env(safe-area-inset-bottom,0px)}
  .app-shell body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .app-shell .filter-panel :is(input,select){font-size:1rem}
  .app-shell .share-toolbar{max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Allow full accented capitals to breathe on the home headline. */
.hero-project h1{line-height:1.08;letter-spacing:-.03em;padding-block:.06em;margin-block:20px 24px;overflow:visible}
.header-menu-toggle{display:none}
.app-shell .mobile-more-menu{position:fixed;z-index:90;right:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
.app-shell .mobile-more-menu[data-placement="header"]{top:var(--menu-top,80px);bottom:auto;max-height:calc(100dvh - var(--menu-top,80px) - 100px)}
.app-shell .mobile-more-menu a{display:flex;align-items:center;min-height:46px;padding:10px 14px;color:#d4d4da;text-decoration:none}
.app-shell .mobile-more-menu a.active{color:#fff}
@media(max-width:900px){
  .app-shell .header-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;position:relative}
  .app-shell .header nav{display:none}
  .app-shell .header .logo.logo-horizontal{width:min(138px,100%);justify-self:start}
  .app-shell .header-cta{grid-column:2;justify-self:center;min-height:44px;padding:8px 12px;font-size:.875rem;line-height:1.3}
  .header-menu-toggle{grid-column:3;justify-self:end;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff26;border-radius:10px;background:transparent;color:#f4f4f5;cursor:pointer}
  .header-menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .header-menu-toggle[aria-expanded="true"]{background:#252027;border-color:#67515f}
}
@media(max-width:600px){
  .hero-project h1{font-size:clamp(3.1rem,15.5vw,4rem);line-height:1.08;letter-spacing:-.025em}
  .hero-project .hero-copy{padding-top:52px;padding-bottom:52px}
  .hero-project{min-height:0}
}
