/* Everett animated footer ("Option 2" = footer trial arm B / blind "Y", Eric's #1 pick
   2026-09-29; sent to Eric Brown as option-2.html, ported to the site 2026-10-27).
   Source: luna/research/footer_creativity_20260929/client/option-2.html.
   Every rule is scoped under .site-footer and keyframes carry an ecf- prefix so
   nothing collides with site.css (.label-caps, .links, fadeIn...). All motion is
   inside prefers-reduced-motion:no-preference; reduced motion = the finished scene. */
.site-footer{
  --charcoal:#1a1714;
  --ink:#271f12;
  --goldlink:#7a5a1e;
  --gold:#c4a35a;
  --goldlight:#e0c37a;
  --cream:#f7f4ee;
  --cream-80:rgba(247,244,238,.8);
  --cream-66:rgba(247,244,238,.66);
  --gold-40:rgba(196,163,90,.4);
  --gold-25:rgba(196,163,90,.25);
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --ease-draw:cubic-bezier(.55,.08,.3,1);
  --gutter:clamp(16px,4vw,32px);
}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid var(--goldlight);outline-offset:3px;border-radius:2px}
.site-footer .awards__list .award-static{display:flex;align-items:center;justify-content:center;height:72px;padding:8px 10px;background:var(--cream);border-radius:6px}
@media (min-width:640px){.site-footer .awards__list .award-static{height:80px;padding:8px 12px}}
.site-footer .contact a span.sr-only{position:absolute;display:block;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-footer{position:relative;background:var(--charcoal);color:var(--cream);border-top:1px solid var(--gold);overflow:hidden}
.site-footer .footer__inner{max-width:1280px;margin:0 auto;padding:clamp(40px,5vw,60px) var(--gutter) 36px}
.site-footer .scene{position:relative;padding-top:clamp(18px,2.6vw,36px)}
.site-footer .scene::before{content:"";position:absolute;inset:0;background:radial-gradient(46% 90% at 50% 100%,rgba(224,176,96,.12),rgba(224,176,96,0) 70%);pointer-events:none}
.site-footer .scene__svg{position:relative;display:block;width:100%;max-width:1600px;height:clamp(140px,calc(12vw + 84px),260px);margin:0 auto;overflow:hidden}
.site-footer .scene__ground{position:relative;height:1px;background:var(--gold-25)}
.site-footer .scene__ground::before{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:50% 50%}
.site-footer .scene__svg .guide{fill:none;stroke:var(--gold);stroke-width:.8;stroke-dasharray:2 6;opacity:.1}
.site-footer .scene__svg .guide--v{opacity:.08}
.site-footer .scene__svg .guide--axis{stroke-dasharray:16 5 3 5;opacity:.16}
.site-footer .scene__svg .ghost path{fill:none;stroke:var(--goldlight);stroke-width:1;opacity:.16}
.site-footer .scene__svg .inkwork path{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:butt}
.site-footer .scene__svg .inkwork .fine{stroke-width:1.15}
.site-footer .scene__svg .inkwork .batten{stroke-width:.8;opacity:.4}
.site-footer .scene__svg .inkwork .tree{stroke-width:1.15;opacity:.72}
.site-footer .scene__svg .star{fill:var(--goldlight);opacity:.7}
.site-footer .scene__svg .moon path{fill:rgba(224,195,122,.1);stroke:var(--goldlight);stroke-width:1.3}
.site-footer .scene__svg .muntin{fill:none;stroke:#2b2218;stroke-width:1.4}
.site-footer .scene__svg .lantern{fill:#f3d690}
.site-footer .scene__svg .door__leaf{transform-box:fill-box;transform-origin:0 50%}
.site-footer .scene__svg .door__leaf rect{fill:#1f1a15;stroke:var(--gold);stroke-width:1}
.site-footer .scene__svg .door__leaf path{fill:none;stroke:var(--gold);stroke-width:.8;opacity:.75}
.site-footer .scene__svg .door__leaf circle{fill:var(--goldlight)}
.site-footer .scene__svg .door__spill,.site-footer .scene__svg .door-glow{opacity:0}
.site-footer .scene__svg .pane.off{opacity:.07}
.site-footer .scene__svg .glow.off{opacity:0}
.site-footer .scene__svg .ext{fill:none;stroke:var(--gold);stroke-width:.8;stroke-dasharray:3 5;opacity:.38}
.site-footer .scene__svg .stake__post{fill:var(--gold)}
.site-footer .scene__svg .stake__flag{fill:var(--goldlight)}
.site-footer .scene__svg .tape__case rect,.site-footer .scene__svg .tape__case circle{fill:none;stroke:var(--gold);stroke-width:1.3}
.site-footer .scene__svg .tape__case path{fill:var(--gold)}
.site-footer .scene__svg .tape__line{fill:none;stroke:var(--goldlight);stroke-width:1.2}
.site-footer .scene__svg .tape__ticks{opacity:.4}
.site-footer .scene__svg .tape__ticks path{fill:none;stroke:var(--goldlight);stroke-width:1}
.site-footer .scene__svg .tape__hook{fill:none;stroke:var(--goldlight);stroke-width:1.6}
.site-footer .scene__svg .dim-slash{fill:none;stroke:var(--goldlight);stroke-width:1.4}
.site-footer .scene__svg .dim-label rect{fill:var(--charcoal)}
.site-footer .scene__svg .dim-label text{fill:var(--goldlight);font-family:"Barlow",sans-serif;font-weight:600;font-size:12px;letter-spacing:3.6px}
.site-footer .scene.door-open .door__leaf{transform:scaleX(.14)}
.site-footer .scene.door-open .door__spill,.site-footer .scene.door-open .door-glow{opacity:1}
.site-footer .scene.door-open .lantern{fill:#fff1c8}
@media (max-width:1100px){
  .site-footer .scene__svg .dim-label text{font-size:15px;letter-spacing:4px}
}
@media (max-width:760px){
  .site-footer .scene__svg .inkwork path{stroke-width:2.3}
  .site-footer .scene__svg .inkwork .fine{stroke-width:1.8}
  .site-footer .scene__svg .inkwork .batten{stroke-width:1.2}
  .site-footer .scene__svg .inkwork .tree{stroke-width:1.8}
  .site-footer .scene__svg .ghost path{stroke-width:1.6}
  .site-footer .scene__svg .guide{stroke-width:1.3}
  .site-footer .scene__svg .tape__line{stroke-width:1.8}
  .site-footer .scene__svg .tape__ticks path{stroke-width:1.5}
  .site-footer .scene__svg .tape__hook{stroke-width:2.2}
  .site-footer .scene__svg .dim-slash{stroke-width:2}
  .site-footer .scene__svg .ext{stroke-width:1.3}
  .site-footer .scene__svg .muntin{stroke-width:2}
  .site-footer .scene__svg .dim-label text{font-size:17px;letter-spacing:4px}
  .site-footer .scene__svg .tape__case rect,.site-footer .scene__svg .tape__case circle{stroke-width:1.9}
}
.site-footer .footer__grid{display:grid;gap:40px 32px;grid-template-columns:minmax(0,1fr)}
.site-footer .footer__heading{margin:0 0 18px;color:var(--goldlight)}
.site-footer .footer__brand p{margin:0}
.site-footer .brand-logo{position:relative;display:inline-block;line-height:0;margin:0 0 20px!important}
.site-footer .brand-logo img{display:block;height:56px;width:auto;max-height:56px}
.site-footer .brand-logo::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,rgba(240,212,140,0) 38%,rgba(240,212,140,.9) 47%,#fff4d6 50%,rgba(240,212,140,.9) 53%,rgba(240,212,140,0) 62%) no-repeat;
  background-size:300% 100%;background-position:100% 0;
  -webkit-mask:url("/static/img/brand/everett-logo-reversed.png") 0 0/100% 100% no-repeat;
          mask:url("/static/img/brand/everett-logo-reversed.png") 0 0/100% 100% no-repeat}
.site-footer.no-logo .brand-logo::after{display:none}
.site-footer .wordmark{display:inline-flex;align-items:flex-end;gap:10px;line-height:1}
.site-footer .wordmark[hidden]{display:none}
.site-footer .wordmark__everett{font-family:"Saltery",cursive;font-size:2.6rem;color:var(--cream)}
.site-footer .wordmark__homes{font-family:"Avenir","Barlow",sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);padding-bottom:.35rem}
.site-footer .brand__tagline{color:var(--goldlight);margin-bottom:14px!important}
.site-footer .brand__place{color:var(--cream-80);font-size:.95rem}
.site-footer .brand__lot{margin-top:6px!important;color:var(--cream);font-size:1.075rem;font-weight:500}
.site-footer .brand__heritage{position:relative;margin-top:22px!important;padding-top:18px;max-width:30ch;color:var(--cream-66);font-size:.9rem;line-height:1.55}
.site-footer .brand__heritage::before{content:"";position:absolute;left:0;top:0;width:36px;height:7px;border-left:1px solid var(--gold);border-right:1px solid var(--gold);background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat}
.site-footer .links{margin:0;padding:0;list-style:none;columns:2;column-gap:24px}
.site-footer .links li{break-inside:avoid;margin:0 0 2px}
.site-footer .links a,.site-footer .contact a{position:relative;display:inline-block;padding:5px 0 9px;color:var(--cream-80);font-size:.975rem;line-height:1.4;text-decoration:none;transition:color .25s ease}
.site-footer .links a::after,.site-footer .contact a span::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:7px;border-left:1px solid var(--gold);border-right:1px solid var(--gold);background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat;clip-path:inset(0 100% 0 0)}
.site-footer .links a:hover,.site-footer .links a:focus-visible,.site-footer .contact a:hover,.site-footer .contact a:focus-visible{color:var(--goldlight)}
.site-footer .links a:hover::after,.site-footer .links a:focus-visible::after,.site-footer .contact a:hover span::after,.site-footer .contact a:focus-visible span::after{clip-path:inset(0 0 0 0)}
.site-footer .contact{margin:0 0 18px;padding:0;list-style:none}
.site-footer .contact li{margin:0 0 4px}
.site-footer .contact a{display:inline-flex;align-items:center;gap:12px}
.site-footer .contact a span{position:relative;display:inline-block}
.site-footer .contact a span::after{bottom:-7px}
.site-footer .contact svg{flex:none;width:18px;height:18px;color:var(--gold)}
.site-footer .social{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.site-footer .social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold-40);color:var(--goldlight);transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .3s var(--ease-out)}
.site-footer .social a:hover{background:var(--gold);border-color:var(--gold);color:var(--charcoal);transform:translateY(-2px)}
.site-footer .social svg{width:19px;height:19px}
.site-footer .btn-cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:13px 22px;background:var(--cream);color:var(--charcoal);border:1px solid var(--gold);font-weight:600;font-size:.975rem;letter-spacing:.01em;text-decoration:none}
.site-footer .btn-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--goldlight);transform:scaleX(0);transform-origin:0 50%}
.site-footer .btn-cta:hover::before,.site-footer .btn-cta:focus-visible::before{transform:scaleX(1)}
.site-footer .btn-cta svg{width:18px;height:18px;flex:none}
.site-footer .rule{height:7px;margin:48px 0 40px;border-left:1px solid var(--gold-40);border-right:1px solid var(--gold-40);background:linear-gradient(var(--gold-40),var(--gold-40)) center/100% 1px no-repeat}
.site-footer .rule--tight{margin:40px 0 28px}
.site-footer .awards__list{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 16px;margin:0;padding:0;list-style:none}
.site-footer .awards__list a{display:flex;align-items:center;justify-content:center;height:72px;padding:8px 10px;background:var(--cream);border-radius:6px;box-shadow:0 0 0 1px rgba(196,163,90,0);transition:transform .35s var(--ease-out),box-shadow .35s ease}
.site-footer .awards__list img{display:block;width:auto;height:56px}
.site-footer .awards__list a:hover{transform:translateY(-3px);box-shadow:0 12px 24px -10px rgba(0,0,0,.7),0 0 0 1px var(--gold)}
.site-footer .legal{text-align:center;color:var(--cream-66);font-size:.875rem;line-height:1.6}
.site-footer .legal p{margin:0 0 6px}
.site-footer .legal a{color:var(--goldlight);text-decoration:underline;text-decoration-color:rgba(224,195,122,.45);text-underline-offset:3px;transition:text-decoration-color .25s ease,color .25s ease}
.site-footer .legal a:hover{color:var(--gold);text-decoration-color:currentColor}
@media (min-width:640px){
  .site-footer .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}
  .site-footer .footer__brand{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;align-items:start}
  .site-footer .awards__list{gap:16px 20px}
  .site-footer .awards__list a{height:80px;padding:8px 12px}
  .site-footer .awards__list img{height:64px}
}
@media (min-width:1024px){
  .site-footer .footer__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,.95fr);gap:56px}
  .site-footer .footer__brand{grid-column:auto;display:block}
  .site-footer .links{column-gap:32px}
}
@media (prefers-reduced-motion:no-preference){
  .site-footer .links a::after,.site-footer .contact a span::after{transition:clip-path .45s var(--ease-out)}
  .site-footer .btn-cta::before{transition:transform .45s var(--ease-out)}
  .site-footer .btn-cta svg{transition:transform .35s var(--ease-out)}
  .site-footer .btn-cta:hover svg,.site-footer .btn-cta:focus-visible svg{transform:translateX(4px)}
  .site-footer .scene__svg .door__leaf{transition:transform .9s var(--ease-out)}
  .site-footer .scene__svg .door__spill,.site-footer .scene__svg .door-glow{transition:opacity .7s ease}
  .site-footer .scene__svg .lantern{transition:fill .5s ease}
  .site-footer .scene__svg .lamp{transition:opacity 1.8s ease}
  .site-footer .scene__svg .star{animation:ecf-twinkle 6s ease-in-out infinite;animation-delay:calc(var(--k) * -1.3s)}
  .site-footer.is-offscreen .scene__svg .star{animation-play-state:paused}
  .site-footer .scene.is-armed::before,.site-footer .scene.is-armed .stake,.site-footer .scene.is-armed .ext,.site-footer .scene.is-armed .tape__case,.site-footer .scene.is-armed .tape__hook,.site-footer .scene.is-armed .dim-label,.site-footer .scene.is-armed .lamp,.site-footer .scene.is-armed .lantern,.site-footer .scene.is-armed .door,.site-footer .scene.is-armed .moon,.site-footer .scene.is-armed .stars{opacity:0}
  .site-footer .scene.is-armed .inkwork .draw,.site-footer .scene.is-armed .tape__line,.site-footer .scene.is-armed .tape__ticks path,.site-footer .scene.is-armed .dim-slash{stroke-dasharray:1;stroke-dashoffset:1}
  .site-footer .scene.is-armed .scene__ground::before{transform:scaleX(0)}
  .site-footer .scene.is-playing .scene__ground::before{animation:ecf-ground 1.2s var(--ease-out) both}
  .site-footer .scene.is-playing .stake{animation:ecf-stake .7s cubic-bezier(.3,1.35,.45,1) var(--d) both}
  .site-footer .scene.is-playing .tape__case{animation:ecf-fadeIn .4s ease var(--d) both}
  .site-footer .scene.is-playing .tape__line,.site-footer .scene.is-playing .tape__ticks path{stroke-dasharray:1;animation:ecf-tape 1.7s linear .5s both}
  .site-footer .scene.is-playing .tape__hook{animation:ecf-hook 1.7s linear .5s both}
  .site-footer .scene.is-playing .tape__ticks{animation:ecf-tickfade .7s ease 2.25s both}
  .site-footer .scene.is-playing .dim-slash{stroke-dasharray:1;animation:ecf-draw .35s ease-out 2.15s both}
  .site-footer .scene.is-playing .dim-label{animation:ecf-fadeIn .5s ease 2.25s both}
  .site-footer .scene.is-playing .ext{animation:ecf-fadeIn .7s ease 2.3s both}
  .site-footer .scene.is-playing .inkwork .draw{stroke-dasharray:1;animation:ecf-draw var(--t) var(--ease-draw) var(--d) both}
  .site-footer .scene.is-playing .lamp{animation:ecf-lightOn .8s ease-out calc(4.1s + var(--o) * .14s) both}
  .site-footer .scene.is-playing .lantern{animation:ecf-lightOn .6s ease-out 3.95s both}
  .site-footer .scene.is-playing .door{animation:ecf-fadeIn .5s ease 3.7s both}
  .site-footer .scene.is-playing::before{animation:ecf-fadeIn 1.8s ease 4s both}
  .site-footer .scene.is-playing .moon{animation:ecf-moonRise 1.8s var(--ease-out) 4.2s both}
  .site-footer .scene.is-playing .stars{animation:ecf-fadeIn 1.6s ease 4.5s both}
  .site-footer.is-glint .brand-logo::after{animation:ecf-sheen 1.9s cubic-bezier(.45,0,.2,1) both}
  @keyframes ecf-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes ecf-ground{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes ecf-fadeIn{from{opacity:0}}
  @keyframes ecf-stake{0%{opacity:0;transform:translateY(-34px)}35%{opacity:1}100%{opacity:1;transform:none}}
  @keyframes ecf-tape{
    0%{stroke-dashoffset:1;animation-timing-function:cubic-bezier(.25,.7,.3,1)}
    40%{stroke-dashoffset:0;animation-timing-function:cubic-bezier(.7,0,.95,.5)}
    56%{stroke-dashoffset:1;animation-timing-function:cubic-bezier(.3,.55,.25,1)}
    100%{stroke-dashoffset:0}}
  @keyframes ecf-hook{
    0%{transform:translateX(-584px);animation-timing-function:cubic-bezier(.25,.7,.3,1)}
    40%{transform:translateX(0);animation-timing-function:cubic-bezier(.7,0,.95,.5)}
    56%{transform:translateX(-584px);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
    100%{transform:translateX(0)}}
  @keyframes ecf-tickfade{from{opacity:1}to{opacity:.4}}
  @keyframes ecf-lightOn{from{opacity:0}to{opacity:1}}
  @keyframes ecf-moonRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes ecf-twinkle{0%,100%{opacity:.7}50%{opacity:.22}}
  @keyframes ecf-sheen{0%{opacity:1;background-position:100% 0}88%{opacity:1}100%{opacity:0;background-position:0 0}}
}
