.signature-footer{position:relative;isolation:isolate;overflow:hidden;background:#071213;border-top:1px solid #a7ffdc24}.footer-content{position:relative;z-index:1}.footer-light{position:absolute;inset:0;pointer-events:none;overflow:hidden}.footer-light:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 88% 16%,#237a6938,transparent 58%),radial-gradient(ellipse at 40% 100%,#40b88b20,transparent 60%)}.footer-light i{position:absolute;right:-10%;top:-28%;width:75%;height:100%;background:linear-gradient(125deg,transparent 25%,#baffdc0c 40%,#91ffce20 44%,transparent 53%);transform:rotate(-12deg);animation:footer-drift 18s ease-in-out infinite alternate;animation-play-state:paused}.footer-light i:nth-child(2){right:15%;opacity:.5;animation-delay:-8s;animation-duration:23s}.footer-light i:nth-child(3){right:-34%;opacity:.7;animation-delay:-13s;animation-duration:27s}.is-visible:not(.is-hidden) .footer-light i{animation-play-state:running}@keyframes footer-drift{to{transform:translate3d(-5%,8%,0) rotate(-4deg);opacity:.45}}.footer-invitation{padding-block:88px 76px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:48px}.footer-kicker{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--color-mint-500);margin:0 0 28px}.footer-invitation h2{font-size:clamp(42px,5.7vw,82px);line-height:1.12;letter-spacing:-.055em;max-width:none;margin:0;text-wrap:initial}.footer-invitation h2 span{color:var(--color-mint-500);background:linear-gradient(110deg,#effff8,#a7ffdc 60%,#58cda7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.footer-lead{font-size:18px;line-height:1.7;color:#c3d2d2;margin:28px 0 0}.footer-invitation-action{padding-bottom:8px}.footer-invitation-action .btn{gap:28px;min-height:58px}.footer-invitation-action p{font-size:12px;margin:16px 0 0;text-align:center;color:var(--color-text-muted)}.footer-grid{display:grid;grid-template-columns:1.4fr 1.3fr .7fr 1fr;gap:36px;border-top:1px solid #a7ffdc25;padding-block:48px 64px}.footer-contact{display:flex;align-items:flex-start;flex-direction:column;gap:17px}.footer-contact .footer-kicker{font-size:10px;margin-bottom:3px;letter-spacing:.09em}.footer-email{font-family:var(--font-heading);font-size:30px;letter-spacing:-.035em;font-weight:650;color:var(--color-text-strong)}.footer-email span{display:inline-block;color:var(--color-mint-500);margin-left:12px;transition:transform .2s}.footer-email:hover span{transform:translate(3px,-3px)}.footer-phone,.footer-social{font-size:14px;color:var(--color-text-muted)}.footer-grid nav h2{font-family:var(--font-body);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-strong);margin:0 0 16px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:0}.footer-grid nav a{display:inline-flex;align-items:center;min-height:38px;font-size:13px;line-height:1.5;color:var(--color-text-muted);padding-block:7px}.signature-footer a{text-decoration:none}.signature-footer a:not(.btn):hover{color:var(--color-mint-500)}.signature-footer a:focus-visible{outline:2px solid var(--color-mint-500);outline-offset:6px;border-radius:3px}.footer-signature{display:block;color:#d9f5ed;position:relative;padding-bottom:38px}.signature-name{display:block;font-family:var(--font-heading);font-weight:750;font-size:clamp(100px,17.2vw,244px);letter-spacing:-.075em;line-height:1.12;background:linear-gradient(180deg,#e4fff6 20%,#b3e5d4 65%,#548878);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.signature-period{-webkit-text-fill-color:var(--color-mint-500)}.signature-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 7px 0}.signature-caption span:first-child{font-size:clamp(14px,2vw,24px);letter-spacing:.55em;font-weight:500}.signature-caption span:last-child{font-size:13px;color:var(--color-text-muted)}.footer-legal{border-top:1px solid #a7ffdc25;display:flex;gap:30px;align-items:center;padding-block:23px;font-size:11px;color:var(--color-text-muted)}.footer-legal p{margin:0}.footer-top{margin-left:auto}.footer-top span{margin-left:12px;color:var(--color-mint-500)}@media(min-width:1500px){.signature-name{font-size:244px}}@media(max-width:1000px){.footer-invitation{grid-template-columns:1fr;gap:26px}.footer-invitation-action{justify-self:start}.footer-grid{grid-template-columns:1.3fr 1fr;gap:36px}.signature-name{font-size:18vw}.signature-caption span:last-child{font-size:11px}}@media(max-width:600px){.footer-invitation{padding-block:55px 40px;gap:24px}.footer-invitation h2{font-size:clamp(36px,9vw,52px)}.footer-kicker{font-size:9px;margin-bottom:22px}.footer-lead{font-size:16px;margin-top:22px}.wide-break{display:none}.footer-invitation-action{width:100%}.footer-invitation-action .btn{width:100%}.footer-grid{padding-block:32px 42px;gap:28px 22px;grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1;padding-bottom:10px}.footer-grid nav:nth-of-type(1){grid-column:1/-1}.footer-grid nav:nth-of-type(1) ul{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.footer-grid nav a{min-height:44px;font-size:13px}.footer-contact a{min-height:35px}.footer-signature{padding-bottom:28px}.signature-name{font-size:19.5vw}.signature-caption{padding-inline:2px;flex-direction:column;align-items:flex-start;gap:14px}.signature-caption span:first-child{font-size:12px;letter-spacing:.5em}.footer-legal{flex-wrap:wrap;gap:14px 22px;font-size:10px}.footer-legal p{width:100%}.footer-top{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.footer-light i{animation:none!important}.footer-email span{transition:none}}
/* Fade each light beam before its transformed layer ends. */
.footer-light i{mask-image:linear-gradient(to bottom,#000 15%,#000 45%,transparent 90%);-webkit-mask-image:linear-gradient(to bottom,#000 15%,#000 45%,transparent 90%)}

/* Signature study: unified lockup, deeper illumination, and layered dust. */
.signature-stage{position:relative;isolation:isolate;margin-top:8px;padding:24px 0 60px}
.signature-stage:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-25% -15% -10%;background:radial-gradient(ellipse at 42% 50%,#57e4b43d 0%,#249d8220 32%,transparent 64%),radial-gradient(ellipse at 88% 70%,#0009,transparent 60%);}
.footer-signature{width:fit-content;max-width:100%;padding-bottom:0;filter:drop-shadow(0 8px 12px #0005)}
.signature-name{line-height:1.08;background-image:linear-gradient(115deg,#619f8c 0%,#cef4e5 20%,#effff8 36%,#a7e6d0 50%,#639d8c 70%,#cef4e5 90%,#effff8 100%);background-size:220% 100%;animation:signature-shimmer 22s ease-in-out infinite alternate;animation-play-state:paused}
.signature-caption{display:block;padding:0 0 0 .065em;margin-top:-.025em;font-family:var(--font-heading);font-weight:600;font-size:clamp(28px,5.7vw,76px);line-height:1.15;letter-spacing:-.045em;color:#c6f5e5}
.signature-particles{position:absolute;inset:-35px -20px -10px;z-index:-1;pointer-events:none;mask-image:radial-gradient(ellipse,#000 25%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse,#000 25%,transparent 74%)}
.signature-particles i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#d7fff0;opacity:var(--alpha);box-shadow:0 0 7px #a7ffdc80;animation:signature-dust var(--duration) ease-in-out var(--delay) infinite alternate;animation-play-state:paused}
.is-visible:not(.is-hidden) .signature-particles i,.is-visible:not(.is-hidden) .signature-name{animation-play-state:running}
@keyframes signature-dust{from{transform:translate3d(-8px,15px,0);opacity:calc(var(--alpha) * .5)}to{transform:translate3d(14px,-22px,0);opacity:var(--alpha)}}
@keyframes signature-shimmer{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:600px){.signature-stage{padding:22px 0 38px}.signature-caption{font-size:clamp(30px,8vw,46px);letter-spacing:-.035em;margin-top:0;padding-left:.04em}.signature-particles i:nth-child(n+41){display:none}.signature-stage:before{inset:-15% -10%}}
@media(prefers-reduced-motion:reduce){.signature-name,.signature-particles i{animation:none!important}}

/* Feather the atmosphere in every direction; keep the legal row on the same base. */
.signature-footer{background:var(--color-bg-deep)}
.footer-light{mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%)}
.footer-light i{mask-image:radial-gradient(ellipse at 50% 35%,#000 5%,#0009 38%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 35%,#000 5%,#0009 38%,transparent 70%)}
.signature-stage:before{inset:-30% -15% -20%;background:radial-gradient(ellipse at 45% 48%,#57e4b43d 0%,#249d821c 30%,transparent 65%);mask-image:radial-gradient(ellipse,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse,#000 20%,transparent 70%)}
.footer-legal{border-top:0;position:relative}
.footer-legal:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#a7ffdc25 20%,#a7ffdc25 80%,transparent)}
.footer-signature{display:grid;isolation:isolate;width:100%}
.signature-name{position:relative;z-index:1;line-height:1.08;filter:drop-shadow(0 4px 3px #000b) drop-shadow(0 12px 18px #0008)}
.signature-caption{position:relative;z-index:0;justify-self:stretch;text-align:right;font-size:clamp(38px,8.7vw,123px);font-weight:650;letter-spacing:.06em;line-height:1.05;padding:0;margin-top:-.65em;color:var(--color-mint-500);opacity:.12;text-shadow:none}
@media(max-width:1000px){.signature-caption{font-size:9.1vw}}
@media(max-width:600px){.signature-caption{font-size:9.8vw;letter-spacing:.06em;margin-top:-.52em;padding:0}.signature-stage:before{inset:-30% -15% -20%}}

/* A broad central source opens into soft rays toward both lower corners. */
.footer-grid nav a,.footer-phone,.footer-social{font-size:16px;min-height:44px}
.footer-grid{grid-template-columns:1.2fr 1.4fr .75fr 1.15fr;gap:32px}
.footer-light:before{background:radial-gradient(ellipse at 50% 0%,#63c8a945,transparent 65%)}
.footer-light i{inset:-12% -25% -10%;width:auto;height:auto;transform-origin:50% 0%;background:conic-gradient(from 0deg at 50% -24%,transparent 137deg,#91ffce08 143deg,#baffdc25 150deg,#91ffce08 157deg,transparent 166deg,transparent 194deg,#91ffce08 203deg,#baffdc25 210deg,#91ffce08 217deg,transparent 223deg);mask-image:radial-gradient(ellipse at 50% 20%,#000 12%,#000b 45%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 12%,#000b 45%,transparent 75%);animation-name:footer-fan;transform:scaleX(.96) rotate(-1deg)}
.footer-light i:nth-child(2){inset:-12% -25% -10%;opacity:.65;background:conic-gradient(from 0deg at 50% -24%,transparent 150deg,#a7ffdc20 161deg,transparent 173deg,transparent 187deg,#a7ffdc20 199deg,transparent 210deg)}
.footer-light i:nth-child(3){inset:-12% -25% -10%;opacity:.5;background:conic-gradient(from 0deg at 50% -24%,transparent 163deg,#baffdc15 174deg,transparent 181deg,#baffdc15 187deg,transparent 199deg)}
@keyframes footer-fan{to{transform:scaleX(1.08) rotate(1deg);opacity:.55}}
@media(max-width:1000px){.footer-grid{grid-template-columns:1.3fr 1fr;gap:36px}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px 22px}.footer-light i,.footer-light i:nth-child(2),.footer-light i:nth-child(3){inset:-8% -90% 0}}

/* Give the invitation depth and strengthen navigation hierarchy. */
.footer-invitation h2{filter:drop-shadow(0 3px 3px #000b) drop-shadow(0 10px 16px #0009)}
.footer-grid nav h2{font-size:16px;font-weight:650;letter-spacing:.07em}

/* Match the homepage hero typography; atmosphere spans the complete footer. */
.footer-invitation h2{font-family:var(--font-heading);font-size:clamp(54px,5.6vw,88px);font-weight:600;line-height:1.01;letter-spacing:-.065em;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .68)) drop-shadow(0 6px 12px rgb(0 0 0 / .68))}
.signature-footer>.signature-particles{inset:0;z-index:0;mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent)}
@media(max-width:800px){.footer-invitation h2{font-size:clamp(48px,9vw,72px)}}
@media(max-width:480px){.footer-invitation h2{font-size:clamp(44px,14vw,55px)}}
@media print,(forced-colors:active){.footer-invitation h2{filter:none}}

/* Align the desktop action with the two-line supporting invitation. */
.footer-invitation-action{padding-bottom:0}

/* Readable footer copy and a tighter transition into the signature. */
.footer-lead,.footer-grid,.footer-legal{text-shadow:0 2px 3px rgb(0 0 0 / .6),0 5px 12px rgb(0 0 0 / .3)}
.footer-contact{gap:8px}
.footer-contact a{display:inline-flex;align-items:center;margin:0;min-height:44px}
.footer-grid{padding-bottom:28px}
.signature-stage{margin-top:0;padding-top:12px}
@media(max-width:600px){.footer-grid{padding-bottom:22px}.signature-stage{padding-top:10px}}
@media print,(forced-colors:active){.footer-lead,.footer-grid,.footer-legal{text-shadow:none}}
.footer-social{gap:6px}

/* One canvas replaces per-particle elements and their individual glow layers. */
.signature-particles canvas{display:block;width:100%;height:100%;pointer-events:none}
.footer-signature{filter:none}

/* Four equal desktop columns, with contact and navigation headings top-aligned. */
@media(min-width:1001px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}}
.footer-contact .footer-email{min-height:0;line-height:1.05;align-items:flex-start}

/* Balance the visible groups, rather than equally sized empty column tracks. */
@media(min-width:1001px){.footer-grid{grid-template-columns:repeat(4,max-content);justify-content:space-between;column-gap:24px}}

/* A defined upper edge lets the light emerge from behind the section above. */
.signature-footer--integrated{border-top:1px solid #a7ffdc24;background:var(--color-bg-deep)}
.signature-footer--integrated:before{content:"";position:absolute;inset:0 0 auto;height:32px;z-index:1;pointer-events:none;background:linear-gradient(to bottom,#0006,transparent)}
.signature-footer--integrated .footer-light{mask-image:none;-webkit-mask-image:none}
.signature-footer--integrated>.signature-particles{mask-image:none;-webkit-mask-image:none}
.signature-footer--integrated .signature-name{animation:none;background-position:38% 50%}
.footer-invitation-action{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer-grid nav a,.footer-phone,.footer-social{background-image:linear-gradient(var(--color-mint-500),var(--color-mint-500));background-position:left calc(100% - 5px);background-repeat:no-repeat;background-size:0 1px;transition:color .18s ease,background-size .22s ease}
.footer-grid nav a:hover,.footer-grid nav a:focus-visible,.footer-phone:hover,.footer-social:hover{background-size:100% 1px}
@media(min-width:1001px){.signature-footer--integrated .footer-grid{grid-template-columns:max-content max-content max-content minmax(0,240px)}}
@media(prefers-reduced-motion:reduce){.footer-grid nav a,.footer-phone,.footer-social{transition:none}}

/* Clear navigation hierarchy against the illuminated background. */
.signature-footer .footer-grid nav h2{color:var(--color-mint-500)}
.signature-footer .footer-grid a,.signature-footer .footer-legal a{color:var(--color-text-strong)}
.signature-footer .footer-grid a:hover,.signature-footer .footer-grid a:focus-visible,.signature-footer .footer-legal a:hover,.signature-footer .footer-legal a:focus-visible{color:var(--color-mint-500)}

/* Longer page-specific invitations keep a comfortable text measure beside actions. */
.footer-invitation{grid-template-columns:minmax(0,1fr) auto}
.footer-invitation-action{max-width:360px}
.footer-invitation-action .btn{white-space:normal;text-align:center}
.footer-lead+.footer-lead{margin-top:14px}
@media(max-width:1000px){.footer-invitation{grid-template-columns:1fr}.footer-invitation-action{max-width:none}}
