/* The status line arrives once; its small development light keeps breathing. */
.status-motion .hero-footnote:not(.status-revealed){opacity:0;}
.hero-footnote .status-dot{animation:development-pulse 2.8s ease-in-out infinite;}
@keyframes development-pulse{0%,100%{opacity:.95;box-shadow:0 0 0 0 #6c976600;}50%{opacity:.28;box-shadow:0 0 0 3px #6c97660d;}}
.note-peanut{position:absolute;width:48px;right:-14px;bottom:-13px;transform:rotate(18deg);filter:drop-shadow(2px 4px 3px #112e2426);}
/* The swan belongs to a little pool vignette, and is a real keyboard-accessible control. */
.footer-float{width:210px;right:-4px;top:99px;}
.squeeze-hint{position:absolute;left:0;right:0;top:-26px;text-align:center;font-size:12px;color:#dbe5cd;transform:rotate(5deg);line-height:1.3;}
.footer-float .swan-stage{height:181px;}
.footer-float .swan-ripples{height:94px;fill:#8edbf429;stroke:#8edbf46e;stroke-width:1;}
.swan-ripples .pool-rim{fill:none;stroke:#a6dfe632;stroke-width:1;}
.swan-squeeze{position:absolute;width:191px;height:auto;left:7px;bottom:16px;border:0;padding:0;background:transparent;cursor:pointer;border-radius:42%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.swan-squeeze img{width:100%;height:auto;pointer-events:none;transform-origin:50% 82%;filter:drop-shadow(1px 5px 4px #001d1538);}
.swan-squeeze:hover img{filter:drop-shadow(1px 7px 5px #001d154a) brightness(1.025);}
.swan-squeeze:focus-visible{outline:2px solid #f4d35e;outline-offset:5px;}
.pool-droplets{position:absolute;inset:0;width:100%;height:100%;fill:#8edbf435;stroke:#9cdae266;stroke-width:1;pointer-events:none;}
/* A torn sheet grounds the bottom links; the green graph paper remains around the invitation. */
.contact-section{padding-bottom:0;}
.footer-paper{position:relative;background:#f4f0e4;color:var(--forest);margin:0 -32px;padding:33px 32px 24px;box-shadow:0 -7px 18px #001d1510;}
.footer-paper:before{content:"";position:absolute;left:0;right:0;top:-17px;height:18px;background:#f4f0e4;clip-path:polygon(0 66%,3% 43%,5% 58%,7% 25%,10% 50%,13% 33%,16% 61%,19% 32%,22% 50%,25% 20%,28% 43%,31% 29%,34% 52%,37% 26%,40% 44%,43% 21%,46% 47%,49% 18%,52% 35%,55% 17%,58% 50%,61% 25%,64% 43%,67% 19%,70% 50%,73% 22%,76% 39%,79% 14%,82% 43%,85% 27%,88% 50%,91% 25%,94% 51%,97% 37%,100% 54%,100% 100%,0 100%);}
.footer-paper .footer-bottom{border-top:0;padding-top:0;}
.footer-paper .footer-bottom nav{color:#27452e;}
.footer-paper .footer-bottom nav a:hover{color:#101f16;}
.footer-paper .footer-mark{border-color:#1b3a2224;}
.footer-paper .footer-wordmark{color:var(--forest);}
.footer-paper .footer-bottom>span{color:#5f705a;}
.footer-paper .footer-fineprint{color:#707c68;}
.strip-tape{position:absolute;width:66px;height:19px;left:67px;top:-11px;background:#d5c49a66;transform:rotate(-7deg);clip-path:polygon(1% 0,100% 4%,97% 100%,0 94%);}
.footer-strip-clip{position:absolute;right:77px;top:-23px;width:13px;height:44px;transform:rotate(23deg);opacity:.7;}
@media(max-width:1100px){.footer-float{width:181px;right:-5px;top:104px;}.swan-squeeze{width:169px;left:4px;}.footer-float .swan-stage{height:162px;}.squeeze-hint{font-size:11px;}.note-peanut{width:41px;right:-12px;}}
@media(max-width:900px){.footer-float{width:137px;right:-7px;top:112px;}.footer-float .swan-stage{height:126px;}.swan-squeeze{width:130px;left:2px;bottom:10px;}.squeeze-hint{font-size:9px;top:-20px;}.footer-float .swan-ripples{height:66px;}.note-peanut{width:35px;right:-11px;bottom:-10px;}.strip-tape{left:35px;}.footer-strip-clip{right:35px;}}
@media(max-width:760px){.footer-paper{margin:0 -25px;padding:30px 25px 23px;}}
@media(max-width:520px){.footer-float{width:145px;right:calc(50% - 144px);top:367px;}.footer-float .swan-stage{height:137px;}.swan-squeeze{width:137px;bottom:12px;}.squeeze-hint{font-size:10px;top:-18px;}.footer-paper{margin:0 -24px;padding:30px 24px 23px;}.footer-strip-clip{right:28px;top:-20px;width:11px;height:37px;}.strip-tape{left:24px;width:52px;}.note-peanut{width:35px;}}
@media(max-width:360px){.footer-float{right:calc(50% - 126px);width:131px;}.swan-squeeze{width:125px;}.squeeze-hint{font-size:9px;}}
@media(prefers-reduced-motion:reduce){.status-motion .hero-footnote{opacity:1!important;}.hero-footnote .status-dot{animation:none;}}
