@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--efa-ink:#2d2d2d;--efa-orange:#d97706;--efa-paper:#f8f6f2;--efa-line:#efede8;--efa-green:#5f7a61;--efa-white:#fff}.efa-header{position:sticky;top:0;z-index:90;border-bottom:1px solid var(--efa-line);background:rgba(248,246,242,.96);color:var(--efa-ink);font-family:Inter,system-ui,sans-serif;backdrop-filter:blur(16px)}.efa-header *{box-sizing:border-box}.efa-header__inner{width:min(1280px,calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;gap:18px}.efa-brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--efa-ink);text-decoration:none;font:400 1.22rem/1 "DM Serif Display",Georgia,serif}.efa-brand img{width:42px!important;height:42px!important;border-radius:50%;object-fit:cover!important}.efa-brand small{display:block;margin-top:4px;color:#716d67;font:700 .61rem/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}.efa-desktop-nav{display:flex;align-items:center;gap:15px}.efa-desktop-nav>a,.efa-nav-menu>summary{padding:12px 1px;color:var(--efa-ink);font-size:.83rem;font-weight:700;white-space:nowrap;cursor:pointer;list-style:none;border-bottom:2px solid transparent}.efa-nav-menu>summary::-webkit-details-marker{display:none}.efa-desktop-nav>a:hover,.efa-nav-menu>summary:hover,.efa-desktop-nav>a[aria-current=page],.efa-nav-menu[data-current=true]>summary{color:var(--efa-orange);border-color:var(--efa-orange)}.efa-nav-menu{position:relative}.efa-mega{position:absolute;top:calc(100% + 15px);left:-18px;width:520px;padding:20px;border:1px solid var(--efa-line);border-radius:16px;background:#fff;box-shadow:0 22px 55px rgba(45,45,45,.13)}.efa-mega:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}.efa-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.efa-mega p{margin:0 0 8px;color:#746f68;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.efa-mega a{display:block;padding:7px 0;color:var(--efa-ink);font-size:.85rem;font-weight:600;text-decoration:none}.efa-mega a:hover{color:var(--efa-orange)}.efa-nav-menu:not([open]) .efa-mega{display:none}.efa-search-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9d5ce;border-radius:999px;padding:10px 13px;background:#fff;color:var(--efa-ink);font-size:.8rem;font-weight:750;text-decoration:none}.efa-menu-button{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--efa-ink);font-size:1.35rem;cursor:pointer}.efa-mobile-nav{display:none;padding:8px 20px 22px;border-top:1px solid var(--efa-line);background:#fff}.efa-mobile-nav.open{display:block}.efa-mobile-nav p{margin:18px 0 5px;color:#777169;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.efa-mobile-nav a{display:block;padding:9px 0;color:var(--efa-ink);font-size:.93rem;font-weight:650;text-decoration:none}.efa-photo-unverified{display:none!important}.hero-media:has(.efa-photo-unverified),.season-image:has(.efa-photo-unverified),.card:has(.efa-photo-unverified),.feature:has(.efa-photo-unverified),.thumb:has(.efa-photo-unverified),figure:has(.efa-photo-unverified),.detail-image:has(.efa-photo-unverified){display:none!important}
@media(max-width:1120px){.efa-desktop-nav,.efa-search-link{display:none}.efa-menu-button{display:block}.efa-header__inner{width:min(1280px,calc(100% - 28px))}}
@media(max-width:520px){.efa-brand{font-size:1.08rem}.efa-brand img{width:38px!important;height:38px!important}}

/* Shared shell aligned with the approved homepage concept. */
.efa-skip-link{position:fixed;z-index:120;left:1rem;top:-5rem;padding:.8rem 1rem;background:#fff;color:#2d2d2d;text-decoration:none}
.efa-skip-link:focus{top:1rem}
.efa-header{min-height:78px;border-bottom:1px solid rgba(45,45,45,.16);background:rgba(248,246,242,.96);backdrop-filter:blur(14px)}
.efa-header__inner{width:min(calc(100% - 48px),1240px);min-height:78px;gap:2rem}
.efa-brand{gap:.7rem;font-size:1.15rem}
.efa-brand img{width:38px!important;height:38px!important;border-radius:0;object-fit:cover!important}
.efa-brand small{margin-top:.2rem;color:#77736c;font-size:.62rem;letter-spacing:.08em}
.efa-desktop-nav{gap:1.25rem;font-size:.87rem;font-weight:600}
.efa-desktop-nav>a,.efa-nav-menu>summary{padding:1.65rem 0;border:0;font-size:.87rem;font-weight:600}
.efa-nav-menu>summary{display:flex;align-items:center;gap:.45rem}
.efa-nav-menu>summary:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.efa-nav-menu[open]>summary:after{transform:rotate(225deg) translate(-2px,-1px)}
.efa-desktop-nav>a:hover,.efa-nav-menu>summary:hover,.efa-desktop-nav>a[aria-current=page],.efa-nav-menu[data-current=true]>summary{color:#aa5704;border-color:transparent}
.efa-mega{top:calc(100% - 2px);left:-20px;width:600px;padding:1.6rem;border:1px solid rgba(45,45,45,.16);border-radius:0;background:#f8f6f2;box-shadow:0 18px 50px rgba(45,45,45,.12)}
.efa-mega:before{top:-8px;height:8px}
.efa-mega__grid{gap:1.5rem}
.efa-mega p{margin:0 0 .7rem;color:#2d2d2d;font:400 1.15rem/1.1 "DM Serif Display",Georgia,serif;letter-spacing:0;text-transform:none}
.efa-mega a{padding:.5rem 0;border-bottom:1px solid rgba(45,45,45,.16);font-size:.84rem;font-weight:500}
.efa-search-link{display:grid;width:42px;height:42px;min-width:42px;place-items:center;border:1px solid rgba(45,45,45,.16);border-radius:50%;padding:0;background:transparent}
.efa-search-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.efa-header--home,.efa-header--home .efa-header__inner{min-height:72px}
.efa-header--home{background:rgba(251,250,247,.97)}
.efa-header--home .efa-header__inner{width:min(calc(100% - 48px),1080px)}
.efa-header--home .efa-home-nav{gap:3rem;margin-right:1rem}
.efa-header--home .efa-home-nav a{font-weight:500}
.efa-header--home .efa-search-link{border:0}
.efa-home-cta{display:inline-flex;min-height:42px;align-items:center;padding:0 1rem;border:1px solid #29483a;border-radius:4px;color:#29483a;font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap}
.efa-home-cta:hover{background:#29483a;color:#fff}
.efa-menu-button{width:44px;height:44px;padding:0;border:1px solid rgba(45,45,45,.16);background:transparent;place-items:center}
.efa-mobile-nav{position:fixed;z-index:100;inset:78px 0 0;display:block;overflow-y:auto;overscroll-behavior:contain;border-top:0;background:#f8f6f2;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;-webkit-overflow-scrolling:touch}
.efa-mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.efa-mobile-nav__inner{width:min(calc(100% - 32px),960px);margin-inline:auto;padding:1.1rem 0 max(3rem,env(safe-area-inset-bottom))}
.efa-mobile-nav__search{display:flex!important;align-items:center;justify-content:space-between;min-height:52px;margin-bottom:.8rem;padding:.8rem 1rem!important;border:0!important;background:#263a31;color:#fff!important;font-size:.92rem!important;font-weight:750!important}
.efa-mobile-nav__search b{color:#ffbe67;font-size:1.15rem}
.efa-mobile-nav__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem}
.efa-mobile-nav section{min-width:0}
.efa-mobile-nav h2{margin:1.15rem 0 .2rem;color:#77736c;font:800 .72rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.efa-mobile-nav a{display:flex;min-height:48px;align-items:center;padding:.72rem 0;border-bottom:1px solid rgba(45,45,45,.16);color:#2d2d2d;font-size:1rem;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.efa-mobile-nav a[aria-current=page]{color:#aa5704}
body.efa-menu-open{overflow:hidden}
@media(max-width:1120px){.efa-header,.efa-header__inner{min-height:68px}.efa-header__inner{width:min(calc(100% - 32px),1240px)}.efa-header--home,.efa-header--home .efa-header__inner{min-height:68px}.efa-header--home .efa-header__inner{width:min(calc(100% - 32px),1240px)}.efa-home-cta{display:none}.efa-menu-button{display:grid}.efa-mobile-nav{inset:68px 0 0}}
@media(max-width:760px){
  .efa-mobile-nav__inner{width:min(calc(100% - 28px),620px);padding-top:.75rem}
  .efa-mobile-nav__search{min-height:48px;margin-bottom:.35rem}
  .efa-mobile-nav__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem}
  .efa-mobile-nav__grid section:first-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
  .efa-mobile-nav__grid section:first-child h2{grid-column:1/-1}
  .efa-mobile-nav h2{margin:.8rem 0 .1rem}
  .efa-mobile-nav a{min-height:44px;padding:.55rem 0;font-size:.92rem}
}
@media(max-width:520px){.efa-brand small{display:none}.efa-brand img{width:36px!important;height:36px!important}.efa-brand{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.efa-mobile-nav{transition:none}}

/* Shared footer styling is kept in the global shell so generated detail pages
   never fall back to unformatted inline links. */
.premium-footer{box-sizing:border-box;padding:4rem 0 2rem;border-top:1px solid rgba(45,45,45,.16);background:#f8f6f2;color:#2d2d2d;font-family:Inter,system-ui,sans-serif}
.premium-footer *{box-sizing:border-box}.premium-footer__grid{width:min(calc(100% - 48px),1240px);margin-inline:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(45,45,45,.16)}
.premium-footer__brand .efa-brand{display:flex;margin:0;color:#2d2d2d}.premium-footer__brand p{max-width:340px;margin-top:1rem;color:#66635e;font-size:.9rem}.premium-footer__grid strong{display:block;margin:0 0 1rem;font-size:.78rem;text-transform:uppercase}.premium-footer__grid a:not(.efa-brand){display:block;margin:0;padding:.3rem 0;color:#5e5b56;font-size:.86rem;text-decoration:none}.premium-footer__grid a:hover{color:#aa5704}.premium-footer__bottom{width:min(calc(100% - 48px),1240px);margin-inline:auto;display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;color:#77736c;font-size:.72rem}
@media(max-width:760px){.premium-footer__grid{grid-template-columns:1fr 1fr}.premium-footer__grid>:first-child{grid-column:1/-1}.premium-footer__bottom{display:block}.premium-footer__bottom span{display:block;margin-top:.5rem}}
@media(max-width:420px){.premium-footer__grid{grid-template-columns:1fr}.premium-footer__grid>:first-child{grid-column:auto}}
