@layer components{.skip_link{top:var(--space-2);z-index:var(--skip-layer);translate:0 calc(-100% - var(--space-2) * 2);position:fixed;inset-inline-start:var(--space-2);&:focus{translate:0}}.footer_wrap{min-height:100svh;padding-block:var(--space-6);padding-inline:calc(var(--site-margin) + var(--space-4));background-color:var(--background);color:var(--text);view-timeline-name:--footer-frame;justify-content:center;display:flex;overflow:clip}.footer_inner{width:100%;max-width:var(--max-width-main);justify-content:space-between;gap:var(--space-8);--_shift:calc(var(--footer-parallax-shift) * var(--footer-parallax));--_fade:clamp(0, calc(1 - (1 - var(--footer-parallax-fade)) * var(--footer-parallax)), 1);flex-direction:column;display:flex}.footer_end{gap:var(--space-8);flex-direction:column;display:flex}.footer_cta{align-items:center;gap:var(--space-8);text-align:center;flex-direction:column;display:flex}.footer_cta .heading{text-transform:uppercase;margin:0}.footer_form{width:100%;max-width:var(--footer-form-width);align-items:stretch;gap:var(--space-mini);font-size:var(--button-font-size);text-align:start;--_item:calc(var(--button-padding-block) * 2 + var(--line-height-ui) * 1em);grid-template-columns:repeat(3,minmax(0,1fr)) auto;display:grid}.footer_field{min-width:0;display:block}.footer_field input{width:100%;height:var(--_item);padding-inline:var(--footer-field-inline);background-color:var(--background-2);color:var(--text);border-radius:var(--footer-field-radius);transition:background-color var(--hover-speed);border:0;display:block;&::placeholder{color:var(--text-muted);opacity:1}&:focus{background-color:var(--background-2-hover)}&:focus-visible{outline-offset:var(--focus-offset-inner)}}.footer_submit{--button-radius:var(--footer-field-radius);--button-padding-inline:var(--space-5);min-height:var(--_item)}.footer_main{gap:var(--space-6) var(--site-gutter);padding-top:var(--space-8);border-top:var(--border-width) solid var(--border);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.footer_logo{height:4rem;padding-inline:var(--space-4);background-color:var(--text);color:var(--background);border-radius:var(--radius-md);grid-column:1/span 2;justify-content:center;place-self:start;align-items:center;transition:background-color .3s,color .3s;display:flex;@media (hover:hover){&:hover{background-color:var(--accent);color:var(--accent-contrast)}}}.footer_logo_art{width:auto;height:1.75rem}.footer_column{gap:var(--space-5);flex-direction:column;grid-column:3/span 3;min-width:0;display:flex;&.social{grid-column:6/span 4}&.contact{text-align:end;grid-column:10/span 3;align-items:flex-end}}.footer_label,.footer_note{letter-spacing:var(--footer-label-tracking);text-transform:uppercase;color:var(--text-muted)}.footer_links{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.footer_link{color:inherit;transition:color var(--hover-speed);text-decoration:none;@media (hover:hover){&:hover{color:var(--accent)}}}.footer_bottom{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.footer_bottom>:last-child{text-align:end;justify-self:end}.footer_policy{transition:color var(--hover-speed);text-decoration:none;@media (hover:hover){&:hover{color:var(--text)}}}@media (width<64rem){.footer_form{max-width:var(--footer-form-width-stacked);gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.footer_submit{grid-column:1/-1}}@media (width<48rem){.footer_form{max-width:none}}@media (width<64rem){.footer_main{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.footer_logo{grid-column:1/-1}.footer_column,.footer_column.social{grid-column:auto}.footer_column.contact{text-align:start;grid-column:auto;align-items:flex-start}}@media (width<48rem){.footer_bottom{grid-template-columns:minmax(0,1fr);justify-items:start}.footer_bottom>:last-child{text-align:start;justify-self:start}}@media (width<30rem){.footer_main{grid-template-columns:minmax(0,1fr)}}@media (width<64rem){.footer_wrap{--footer-parallax:0}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.footer_inner{animation-name:footer-parallax;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--footer-frame;animation-range:entry}}.footer_inner[data-parallax-running]{translate:0 calc(var(--_shift) * (1 - var(--_progress,1)));opacity:calc(var(--_fade) + (1 - var(--_fade)) * var(--_progress,1))}}.modal{background-color:#0000;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden;&[data-closing]{pointer-events:none}}.modal::backdrop{background-color:var(--modal-overlay,#00000080);backdrop-filter:blur(var(--modal-blur,.75rem));opacity:0;transition:opacity var(--modal-exit,.26s) ease-in}.modal[data-open]::backdrop{opacity:1;transition:opacity calc(var(--modal-duration,.7s) / 2) ease-out}.modal_frame{justify-content:flex-end;align-items:stretch;gap:var(--space-2);width:100%;height:100%;padding:var(--modal-inset);font-size:var(--button-font-size);--_item:calc(var(--button-padding-block) * 2 + var(--line-height-ui) * 1em);background-color:#0000;display:flex}.modal_panel{width:100%;max-width:var(--modal-width);overscroll-behavior:contain;min-height:0;padding:var(--modal-padding);background-color:var(--background);color:var(--text);border-radius:var(--modal-radius);opacity:0;translate:0 var(--modal-rise);rotate:var(--modal-rotate);transform-origin:50% 100%;transition:opacity var(--modal-exit) ease-in, translate var(--modal-exit) ease-in, rotate var(--modal-exit) ease-in;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.modal[data-open] .modal_panel{opacity:1;transition:opacity calc(var(--modal-duration) / 3) ease-out, translate var(--modal-duration) var(--modal-easing), rotate var(--modal-duration) var(--modal-easing);translate:0;rotate:0deg}.modal_close{--button-2-background:var(--background);--button-2-text:var(--text);--button-2-background-hover:var(--text);--button-2-text-hover:var(--background);--button-padding-block:0;--button-padding-inline:0;width:var(--_item);height:var(--_item);opacity:0;transition:opacity var(--modal-exit) ease-in, translate var(--modal-exit) ease-in, background-color var(--button-hover-duration), color var(--button-hover-duration);flex:none;align-self:flex-start;translate:0 50%}.modal[data-open] .modal_close{opacity:1;transition:opacity .3s ease-out .12s, translate .5s var(--modal-easing) .12s, background-color var(--button-hover-duration), color var(--button-hover-duration);translate:0}@media (width<48rem){.modal_frame{flex-direction:column;align-items:flex-end}.modal_close{align-self:auto}}@media (prefers-reduced-motion:reduce){.modal{--modal-rotate:0deg;--modal-rise:0px;--modal-duration:.2s;--modal-exit:.12s}}.modal_form{justify-content:space-between;gap:var(--space-7);flex-direction:column;flex:1;display:flex}.modal_form :is(.heading,.text){margin:0}.modal_body{gap:var(--space-7);flex-direction:column;display:flex}.modal_group{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.modal_legend{margin:0}.modal_chips{gap:var(--space-mini);flex-wrap:wrap;display:flex}.modal_chip{padding:var(--button-padding-block) var(--button-padding-inline);font-size:var(--button-font-size);line-height:var(--line-height-ui);background-color:var(--background-2);color:var(--text);border-radius:var(--button-radius);cursor:pointer;user-select:none;transition:background-color var(--hover-speed), color var(--hover-speed);align-items:center;display:inline-flex;position:relative;@media (hover:hover){&:hover{background-color:var(--background-2-hover)}}&:has(input:checked){background-color:var(--text);color:var(--background)}&:has(input:focus-visible){outline:var(--focus-width) solid var(--text);outline-offset:var(--focus-offset)}}.modal_fields{gap:var(--space-mini);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.modal_field{min-width:0;display:block;&.wide{grid-column:1/-1}}.modal_field :is(input,textarea){width:100%;padding:var(--space-4);background-color:var(--background-2);color:var(--text);border-radius:var(--radius-md);transition:background-color var(--hover-speed);border:0;display:block;&::placeholder{color:var(--text-muted);opacity:1}&:focus{background-color:var(--background-2-hover)}&:focus-visible{outline-offset:var(--focus-offset-inner)}}.modal_field textarea{resize:vertical;min-height:8rem}.modal_send{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.modal_consent{align-items:center;gap:var(--space-2);font-size:var(--text-small);line-height:var(--line-height-secondary-small);cursor:pointer;display:flex;position:relative;& a{color:inherit;text-underline-offset:.2em;transition:color var(--hover-speed);text-decoration:underline}@media (hover:hover){& a:hover{color:var(--modal-accent)}}&:has(input:focus-visible) .modal_check{outline:var(--focus-width) solid var(--text);outline-offset:var(--focus-offset)}}.modal_check{background-color:var(--background-2);border-radius:var(--radius-xs);width:1.25rem;height:1.25rem;transition:background-color var(--hover-speed);flex:none;position:relative;&:after{content:"";border-left:.09375rem solid var(--modal-accent-text);border-bottom:.09375rem solid var(--modal-accent-text);width:.5rem;height:.25rem;transition:scale .2s var(--modal-easing);margin:auto;position:absolute;inset:0;translate:0 -.0625rem;rotate:-45deg;scale:0}}.modal_consent:has(input:checked) .modal_check{background-color:var(--modal-accent);&:after{scale:1}}.modal_submit{--button-background:var(--modal-accent);--button-text:var(--modal-accent-text);--button-background-hover:var(--text);--button-text-hover:var(--background);margin-inline-start:auto}.pointer{z-index:var(--pointer-layer);pointer-events:none;opacity:0;transition:scale var(--pointer-speed) var(--pointer-easing), opacity calc(var(--pointer-speed) / 2) ease-out;position:fixed;top:0;left:0;scale:.96;&[data-visible]{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){:root{--pointer-lag:1}.pointer{transition:opacity calc(var(--pointer-speed) / 2) ease-out;scale:1}}@media (width<64rem){.pointer{display:none}}[data-text-reveal]:not([data-text-reveal-ready]){visibility:hidden;animation:text-reveal-failsafe 1ms linear var(--text-reveal-failsafe) forwards}@media (prefers-reduced-motion:reduce){[data-text-reveal]:not([data-text-reveal-ready]){visibility:visible;animation:none}}@keyframes text-reveal-failsafe{to{visibility:visible}}.text-reveal_run{display:block}.text-reveal_mask{clip-path:inset(-100vmax -100vmax calc(var(--text-reveal-bleed) * -1) -100vmax)}.text-reveal_mover,.text-reveal_figure{--_delay:calc(var(--text-reveal-delay) + var(--_i,0) * var(--text-reveal-stagger));animation-duration:var(--text-reveal-duration);animation-timing-function:var(--text-reveal-easing);animation-delay:var(--_delay);animation-fill-mode:both}.text-reveal_mover{animation-name:text-reveal-line;display:block}.text-reveal_figure{animation-name:text-reveal-figure}.text-reveal_grow{--_delay:calc(var(--text-reveal-delay) + var(--_i,0) * var(--text-reveal-stagger) + var(--text-reveal-grow-wait));animation:text-reveal-grow var(--text-reveal-grow-duration) var(--text-reveal-easing) var(--_delay) both;transform-origin:50%}.text-reveal_spread{--_delay:calc(var(--text-reveal-delay) + var(--_i,0) * var(--text-reveal-stagger) + var(--text-reveal-grow-wait));animation:text-reveal-spread var(--text-reveal-grow-duration) var(--text-reveal-easing) var(--_delay) both}@keyframes text-reveal-grow{0%{scale:0 1}}@keyframes text-reveal-spread{0%{translate:var(--_spread,0) 0}}[data-text-reveal-hold] :is(.text-reveal_mover,.text-reveal_figure,.text-reveal_grow,.text-reveal_spread){animation-play-state:paused}[data-text-reveal-still] :is(.text-reveal_mover,.text-reveal_figure,.text-reveal_grow,.text-reveal_spread){animation:none}@keyframes text-reveal-line{0%{translate:0 var(--text-reveal-shift)}}@keyframes text-reveal-figure{0%{translate:0 var(--text-reveal-figure-shift);opacity:0}}}@keyframes footer-parallax{0%{translate:0 var(--_shift);opacity:var(--_fade)}to{opacity:1;translate:0}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
