/* Shared ecosystem navigation and one footer per homepage. */
html{scroll-padding-top:104px}
.ecosystem-header{position:sticky;top:0;z-index:50;height:88px;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#322f2e;color:#fffbf7;border:0;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.ecosystem-header .brand,.ecosystem-header .wordmark{color:#fffbf7;flex-shrink:0;text-decoration:none}
.ecosystem-header .wordmark span{color:#b8afa2}
.ecosystem-header .logo{max-width:180px;max-height:48px;object-fit:contain}
.ecosystem-header .ecosystem-nav{display:flex;align-items:center;gap:18px;position:static;padding:0;background:transparent;border:0;box-shadow:none;flex-wrap:nowrap;overflow:visible}
.ecosystem-header .ecosystem-nav a{font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:0;text-decoration:none;white-space:nowrap;padding:10px 0;border:0;color:#fffbf7;opacity:.85}
.ecosystem-header .ecosystem-nav a:hover,.ecosystem-header .ecosystem-nav a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.ecosystem-header .menu,.ecosystem-header .menu-toggle{display:none}
.ecosystem-footer{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:36px clamp(24px,6vw,90px);background:#272423;color:#fffbf7;border:0;align-items:start}
.ecosystem-footer .brand,.ecosystem-footer .wordmark,.ecosystem-footer strong{color:#fffbf7}
.ecosystem-footer .wordmark span{color:#b8afa2}
.ecosystem-footer>p{font:19px/1.5 'Playfair Display',Georgia,serif;margin:0;max-width:420px;color:#ddd3c6}
.ecosystem-footer .ecosystem-links,.ecosystem-footer .footer-utility{display:flex;flex-wrap:wrap;gap:12px 22px;grid-column:1/-1;font:11px/1.7 Montserrat,Arial,sans-serif;justify-content:flex-start}
.ecosystem-footer .ecosystem-links a,.ecosystem-footer .footer-utility a{font-size:11px;color:#fffbf7;text-decoration:none;letter-spacing:0}
.ecosystem-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.ecosystem-footer .footer-utility{font-size:10px;color:#b8afa2}
.ecosystem-footer .footer-utility a{font-size:10px;color:#b8afa2}
.ecosystem-footer .footer-note{grid-column:1/-1;font:10px/1.7 Montserrat,Arial,sans-serif;color:#b8afa2;text-align:left;margin:0;max-width:none}
.care-local-links{display:flex;gap:12px 24px;flex-wrap:wrap;padding:16px 6%;background:#f0ebe3;color:#322f2e;font:12px/1.6 Montserrat,Arial,sans-serif}
@media(max-width:1150px){
 .ecosystem-header .menu,.ecosystem-header .menu-toggle{display:block;background:transparent;color:#fffbf7;border:1px solid #8b8075;padding:8px 12px;min-height:44px;font-size:11px}
 .ecosystem-header .ecosystem-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#322f2e;padding:10px 22px 18px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 88px);overflow-y:auto;box-shadow:0 20px 28px rgba(0,0,0,.18)}
 .ecosystem-header .ecosystem-nav.open{display:flex}
 .ecosystem-header .ecosystem-nav a{min-height:44px;padding:10px 3px;border-bottom:1px solid rgba(255,255,255,.12)}
}
@media(max-width:760px){html{scroll-padding-top:90px}.ecosystem-header{height:74px;padding:0 20px}.ecosystem-header .ecosystem-nav{max-height:calc(100dvh - 74px)}.ecosystem-header .wordmark{font-size:16px}.ecosystem-header .wordmark span{font-size:6px}.ecosystem-footer{grid-template-columns:1fr;padding:30px 24px}}
/* Legible phone text; remove repeated decorative captions. */
@media(max-width:760px){
 .ecosystem-header .ecosystem-nav a{font-size:14px;line-height:1.5}
 .ecosystem-header .menu,.ecosystem-header .menu-toggle{font-size:14px}
 .hero-note,.hero-foot,.path-domain,.hero-caption,.film-bottom,.art-caption,.brand small,.wordmark span,.eyebrow,.section-label,.section-number,.path-top,.coming-soon,.credit,.credit-grid .credit,.association span,.themes,.aside-line+small,.intro-aside small{font-size:12px!important;letter-spacing:1px;line-height:1.6}
 main p:not(.eyebrow):not(.large):not(.hero-line){font-size:15px;line-height:1.75}
 .hero-intro,.intro-copy>p:not(.eyebrow),.path-content p,.story-copy>p:not(.eyebrow),.newsletter-copy>p:not(.eyebrow),.story p:not(.large),.project-copy p:not(.eyebrow),.invitations p,.newsletter>div>p:last-child,.credit-grid p:not(.credit),.destinations p{font-size:15px!important;line-height:1.75}
 .path-content p{color:#534d47}
 .button,.text-link,.path-link,.underlined,.related-film,.quiet,.contact-note,.related-paths,.destinations span,.credit-grid a{font-size:14px!important;line-height:1.6}
 .signup-form>label:first-child,form>label{font-size:14px}
 .consent{font-size:13px!important;line-height:1.7}
 input[type=email]{font-size:16px!important}
 .privacy,.signup-form small,#signup-status,.form-status,.portrait figcaption,.portrait figcaption span,.poster figcaption{font-size:12px!important;line-height:1.7}
 .ecosystem-footer .ecosystem-links a{font-size:14px}
 .ecosystem-footer .footer-utility,.ecosystem-footer .footer-utility a,.ecosystem-footer .footer-note{font-size:12px;color:#d0c6b9}
 .care-local-links{font-size:14px}
}

@media(max-width:760px){
 .ecosystem-header{gap:12px}
 .ecosystem-header .brand{gap:8px}
 .ecosystem-header .brand span{max-width:calc(100vw - 190px)}
 .ecosystem-header .brand small{font-size:11px!important;letter-spacing:.2px;line-height:1.3;white-space:normal}
 .hero-foot{flex-wrap:wrap;gap:8px 16px}
 .hero-foot span{flex:1 1 100px}
}
@media(max-width:360px){.ecosystem-header .brand strong{font-size:10px;letter-spacing:1px}}
