#cc-main{background:transparent;color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.15;position:relative;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;position:fixed;z-index:var(--cc-z-index)}#cc-main :after,#cc-main :before,#cc-main a,#cc-main button,#cc-main div,#cc-main h2,#cc-main input,#cc-main p,#cc-main span{all:unset;box-sizing:border-box}#cc-main .pm__badge,#cc-main button{all:initial;box-sizing:border-box;color:unset;visibility:unset}#cc-main .pm__badge,#cc-main a,#cc-main button,#cc-main input{appearance:none;cursor:pointer;font-family:inherit;font-size:100%;line-height:normal;margin:0;outline:revert;outline-offset:2px;overflow:hidden}#cc-main table,#cc-main tbody,#cc-main td,#cc-main th,#cc-main thead,#cc-main tr{all:revert;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}:root{--cc-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--cc-modal-border-radius:.5rem;--cc-btn-border-radius:.4rem;--cc-modal-transition-duration:.25s;--cc-link-color:var(--cc-btn-primary-bg);--cc-modal-margin:1rem;--cc-z-index:2147483647;--cc-bg:#fff;--cc-primary-color:#2c2f31;--cc-secondary-color:#5e6266;--cc-btn-primary-bg:#30363c;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#000;--cc-btn-primary-hover-color:#fff;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#eaeff2;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#d4dae0;--cc-btn-secondary-hover-color:#000;--cc-btn-secondary-hover-border-color:#d4dae0;--cc-separator-border-color:#f0f4f7;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#667481;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:var(--cc-toggle-on-knob-bg);--cc-toggle-enabled-icon-color:var(--cc-bg);--cc-toggle-disabled-icon-color:var(--cc-bg);--cc-toggle-readonly-bg:#d5dee2;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:var(--cc-cookie-category-block-bg);--cc-cookie-category-block-bg:#f0f4f7;--cc-cookie-category-block-border:#f0f4f7;--cc-cookie-category-block-hover-bg:#e9eff4;--cc-cookie-category-block-hover-border:#e9eff4;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:#dee4e9;--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:var(--cc-btn-secondary-bg);--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#e4eaed;--cc-pm-toggle-border-radius:4em}#cc-main.cc--rtl{direction:rtl}#cc-main .cm__title,#cc-main a,#cc-main b,#cc-main em,#cc-main strong{font-weight:600}#cc-main button>span{pointer-events:none}#cc-main .cc__link,#cc-main a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;font-weight:600;position:relative;transition:background-size .25s,color .25s ease}#cc-main .cc__link:hover,#cc-main a:hover{background-size:100% 1px;color:var(--cc-primary-color)}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{overscroll-behavior:auto contain;scrollbar-width:thin}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-thumb,#cc-main ::-webkit-scrollbar-track{all:revert}#cc-main ::-webkit-scrollbar-thumb{-webkit-background-clip:padding-box;background-clip:padding-box;background:var(--cc-toggle-readonly-bg);border:.25rem solid var(--cc-bg);border-radius:1rem}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}.cc--darkmode{--cc-bg:#161a1c;--cc-primary-color:#ebf3f6;--cc-secondary-color:#aebbc5;--cc-btn-primary-bg:#c2d0e0;--cc-btn-primary-color:var(--cc-bg);--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#98a7b6;--cc-btn-primary-hover-color:#000;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#242c31;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#353d43;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:var(--cc-btn-secondary-hover-bg);--cc-separator-border-color:#222a30;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#525f6b;--cc-toggle-on-knob-bg:var(--cc-btn-primary-color);--cc-toggle-off-knob-bg:var(--cc-btn-primary-color);--cc-toggle-enabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-disabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-readonly-bg:#343e45;--cc-toggle-readonly-knob-bg:#5f6b72;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:#1e2428;--cc-cookie-category-block-bg:#1e2428;--cc-cookie-category-block-border:var(--cc-section-category-border);--cc-cookie-category-block-hover-bg:#242c31;--cc-cookie-category-block-hover-border:#232a2f;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:var(--cc-toggle-readonly-bg);--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:#0c0e0f;--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#060809}.cc--darkmode #cc-main{color-scheme:dark}#cc-main .cm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;max-width:24rem;opacity:0;overflow:hidden;position:fixed;transform:translateY(1.6em);visibility:hidden;z-index:1}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);margin:0 auto;right:var(--cc-modal-margin);width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{margin-left:var(--cc-modal-margin);right:var(--cc-modal-margin)}#cc-main .cm__body{display:flex;flex-direction:column;justify-content:space-between;position:relative}#cc-main .cm__btns,#cc-main .cm__links{padding:1rem 1.3rem;width:unset}#cc-main .cm__texts{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem 0 0}#cc-main .cm__desc,#cc-main .cm__title{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);font-size:.9em;line-height:1.5;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{border-top:1px solid var(--cc-separator-border-color);display:flex;flex-direction:column;justify-content:center}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0,1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .cm--inline .cm__btn+.cm__btn{margin-left:.375rem;margin-top:0}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-right:0}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven,#cc-main .cm--wide .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven,#cc-main .cm--wide.cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);font-size:.82em;font-weight:600;min-height:42px;padding:.5em 1em;text-align:center}#cc-main .cm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .cm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close{border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-right:none;border-top:none;display:none;font-size:1em;height:42px;min-width:auto!important;overflow:hidden;padding:0!important;position:absolute;right:0;top:0;width:42px}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);color:var(--cc-footer-color);padding:.4em 0 .5em}#cc-main .cm__links{display:flex;flex-direction:row;padding-bottom:0;padding-top:0}#cc-main .cm__link-group{display:flex;flex-direction:row;font-size:.8em;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-left:1.8em;padding-right:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{max-width:54em;width:unset}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-left:1px solid var(--cc-separator-border-color);border-top:none;max-width:23em}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btn-group,#cc-main .cm--cloud.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{border-radius:0;left:0;margin:0;max-width:unset;opacity:1;right:0;transform:translateY(0);width:100vw;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0;transform:translateY(-100%)}#cc-main .cm--bar.cm--bottom{bottom:0;transform:translateY(100%)}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{margin:0 auto;max-width:55em;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--bar .cm__btn{min-width:120px;padding-left:2em;padding-right:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{flex-direction:row;padding:0}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper:before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__btn,#cc-main .cc--anim .cm__close{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper:before{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:0}.show--consent #cc-main .cc--anim .cm{opacity:1;transform:translateY(0);visibility:visible!important}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper:before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius);left:0;right:unset}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-left:3rem!important;padding-right:1.3rem}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__btns,#cc-main .cm__desc,#cc-main .cm__links,#cc-main .cm__title{padding-left:1.1rem!important;padding-right:1.1rem!important}#cc-main .cm__btns{border-left:none!important;border-top:1px solid var(--cc-separator-border-color)!important;flex-direction:column!important;max-width:none!important;min-width:auto!important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:.375rem 0 0!important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btn-group,#cc-main .cm--flip .cm__btns{flex-direction:column-reverse!important}}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:fixed;visibility:hidden;width:100%;width:unset;z-index:1}#cc-main svg{fill:none;width:100%}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:1em 1.4em}#cc-main .pm__header{align-items:center;border-bottom:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__title{align-items:center;display:flex;flex:1;font-weight:600;margin-right:2em}#cc-main .pm__close-btn{background:var(--cc-btn-secondary-bg);border:1px solid var(--cc-btn-secondary-border-color);border-radius:var(--cc-btn-border-radius);height:40px;position:relative;transition:all .15s ease;width:40px}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{border-radius:var(--cc-btn-border-radius);display:flex;flex-direction:column;margin-bottom:.5em}#cc-main .pm__section--toggle .pm__section-desc-wrapper{border:1px solid var(--cc-cookie-category-block-border);border-radius:var(--cc-btn-border-radius);border-top:none;border-top-left-radius:0;border-top-right-radius:0;display:none;margin-top:0!important;overflow:hidden}#cc-main .pm__section{border:1px solid var(--cc-separator-border-color);padding:1em;transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{border:none;margin-bottom:2em;margin-top:0;padding:0;transition:none}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{align-items:center;background:var(--cc-cookie-category-block-bg);border:1px solid var(--cc-cookie-category-block-border);display:flex;justify-content:space-between;min-height:58px;padding:1.1em 5.4em 1.1em 1.2em;position:relative;transition:background-color .25s ease,border-color .25s ease;width:100%}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc{margin-top:0;padding:1em}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{cursor:pointer;padding-left:3.4em}#cc-main .pm__section--expandable .pm__section-arrow{background:var(--cc-toggle-readonly-bg);border-radius:100%;display:flex;height:20px;justify-content:center;left:18px;pointer-events:none;position:absolute;width:20px}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{align-items:center;display:flex;position:relative}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{border-radius:var(--cc-btn-border-radius);font-size:.95em;font-weight:600}#cc-main .pm__badge{align-items:center;background:var(--cc-btn-secondary-bg);border-radius:5em;color:var(--cc-secondary-color);display:flex;flex:none;font-size:.8em;font-weight:600;height:23px;justify-content:center;margin-left:1em;min-width:23px;overflow:hidden;padding:0 .6em 1px;position:relative;text-align:center;white-space:nowrap;width:auto}#cc-main .pm__service-counter{background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color);padding:0;width:23px}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px;width:auto}#cc-main .section__toggle,#cc-main .section__toggle-wrapper,#cc-main .toggle__icon,#cc-main .toggle__label{border-radius:var(--cc-pm-toggle-border-radius);height:23px;transform:translateZ(0);width:50px}#cc-main .section__toggle-wrapper{cursor:pointer;position:absolute;right:18px;z-index:1}#cc-main .toggle-service{height:19px;position:relative;right:0;width:42px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{height:19px;width:42px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper:after{display:none!important}#cc-main .section__toggle{border:0;cursor:pointer;display:block;left:0;margin:0;position:absolute;top:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);display:flex;flex-direction:row;pointer-events:none;position:absolute;transition:all .25s ease}#cc-main .toggle__icon-circle{background:var(--cc-toggle-off-knob-bg);border:none;border-radius:var(--cc-pm-toggle-border-radius);box-shadow:0 1px 2px rgba(24,32,3,.36);display:block;height:23px;left:0;position:absolute;top:0;transition:transform .25s ease,background-color .25s ease;width:23px}#cc-main .toggle__icon-off,#cc-main .toggle__icon-on{height:100%;position:absolute;transition:opacity .15s ease;width:100%}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{background-color:var(--cc-toggle-on-knob-bg);transform:translateX(27px)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:-1}#cc-main .pm__section-desc-wrapper{color:var(--cc-secondary-color);display:flex;flex-direction:column;font-size:.9em}#cc-main .pm__section-desc-wrapper>:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{align-items:center;display:flex;justify-content:space-between;padding:.4em 1.2em;position:relative;transition:background-color .15s ease}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{align-items:center;display:flex;margin-right:1em;width:100%}#cc-main .pm__service-icon{border:2px solid;border-radius:100%;height:8px;margin-left:6px;margin-right:20px;margin-top:1px;min-width:8px}#cc-main .pm__service-title{font-size:.95em;width:100%;word-break:break-word}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{border-collapse:collapse;font-size:.9em;margin:0;overflow:hidden;padding:0;text-align:left;width:100%}#cc-main .pm__table-caption{text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{border-bottom:1px dashed var(--cc-separator-border-color);color:var(--cc-primary-color);font-weight:600}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th{padding:.625em .625em .625em 1.2em;vertical-align:top}#cc-main .pm__footer{border-top:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);flex:auto;font-size:.82em;font-weight:600;min-height:42px;min-width:110px;padding:.5em 1.5em;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{height:calc(100% - 2em);left:var(--cc-modal-margin);margin:0 auto;max-height:37.5em;max-width:43em;right:var(--cc-modal-margin);top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--box.pm--flip .pm__btn-group,#cc-main .pm--box.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm--bar{border-radius:0;bottom:0;height:100%;margin:0;max-height:none;max-width:29em;opacity:1;top:0;width:100%;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-td,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-tr{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-caption{display:block}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__header{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__btn-group,#cc-main .pm--bar:not(.pm--wide) .pm__footer{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin:.375rem 0 0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0;transform:translateX(-100%)}#cc-main .pm--bar.pm--right{right:0;transform:translateX(100%)}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer,#cc-main .pm--bar.pm--wide .pm__header{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group,#cc-main .pm--bar.pm--wide.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm-overlay{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:1}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-left:1em;margin-right:0}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{left:18px;right:unset;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-left:20px;margin-right:5px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-td,#cc-main.cc--rtl .pm__table-th{padding-left:unset;padding-right:1.2em;text-align:right}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td:before{padding-left:2em;padding-right:unset}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-left:0}@media screen and (max-width:640px){#cc-main .pm{border-radius:0;bottom:0;height:auto;left:0;max-height:100%;max-width:none!important;right:0;top:0;transform:translateY(1.6em)}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:.9em!important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th,#cc-main .pm__table-tr{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__btn-group,#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:.375rem 0 0!important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .pm--flip .pm__btn-group,#cc-main .pm--flip .pm__footer{flex-direction:column-reverse!important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0)!important}}
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}

.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}

.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  display: flex;
  max-width: 100%;
  max-height: 100%;
  z-index: 1000;
}

.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  opacity: 0;
  touch-action: manipulation;
  z-index: 1000;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
@media (prefers-reduced-motion) {
  .cdk-overlay-backdrop {
    transition-duration: 1ms;
  }
}

.cdk-overlay-backdrop-showing {
  opacity: 1;
}
@media (forced-colors: active) {
  .cdk-overlay-backdrop-showing {
    opacity: 0.6;
  }
}

.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}

.cdk-overlay-transparent-backdrop {
  transition: visibility 1ms linear, opacity 1ms linear;
  visibility: hidden;
  opacity: 1;
}
.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing, .cdk-high-contrast-active .cdk-overlay-transparent-backdrop {
  opacity: 0;
  visibility: visible;
}

.cdk-overlay-backdrop-noop-animation {
  transition: none;
}

.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
  z-index: 1000;
}

.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}

.cdk-overlay-popover {
  background: none;
  border: none;
  padding: 0;
  outline: 0;
  overflow: visible;
  position: fixed;
  pointer-events: none;
  white-space: normal;
  color: inherit;
  text-decoration: none;
  width: 100%;
  height: 100%;
  inset: auto;
  top: 0;
  left: 0;
}
.cdk-overlay-popover::backdrop {
  display: none;
}
.cdk-overlay-popover .cdk-overlay-backdrop {
  position: fixed;
  z-index: auto;
}

.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  left: 0;
}
[dir=rtl] .cdk-visually-hidden {
  left: auto;
  right: 0;
}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url('layers.ef6db8722c2c3f9a.png');
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url('layers-2x.9859cd1231006a4a.png');
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url('marker-icon.d577052aa271e13f.png');
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
	transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
	/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
	transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

/*
 * App-wide leftovers. Tokens, the UI kit and utilities live in tailwind.css (Design System v2);
 * `app` no longer loads the shared festivaljob-styles submodule (D19), admin-app still does.
 */

/*
 * vanilla-cookieconsent relies solely on a `visibility` CSS transition to remove its
 * full-viewport backdrop from hit-testing once dismissed. iOS Safari (WebKit) can leave that
 * transition's end state stale, so the backdrop stays invisible but still intercepts the very
 * next tap in the header (e.g. Login/Register) right after accepting cookies. Force pointer
 * events off explicitly instead of relying on the library's visibility transition alone.
 */
html:not(.show--consent) #cc-main .cm-wrapper:before {
    pointer-events: none;
}

/*
 * Rendered markdown (e.g. the Datenschutzerklärung dialog) contains long raw URLs as link
 * text, which overflow the narrow modal on mobile instead of wrapping.
 */
markdown a {
    overflow-wrap: anywhere;
}

table {
    width: 100%;
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --default-font-family: var(--font-sans);
    --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-weight-normal: 400;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --text-10: 0.625rem;
    --text-11: 0.6875rem;
    --text-11--line-height: 1rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: 1rem;
    --text-13: 0.8125rem;
    --text-13--line-height: 1.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: 1.25rem;
    --text-base: 1rem;
    --text-base--line-height: 1.5rem;
    --text-lg: 1.125rem;
    --text-lg--line-height: 1.75rem;
    --text-xl: 1.25rem;
    --text-xl--line-height: 1.75rem;
    --text-2xl: 1.5rem;
    --text-2xl--line-height: 2rem;
    --text-3xl: 1.875rem;
    --text-3xl--line-height: 2.25rem;
    --tracking-display: -0.02em;
    --tracking-heading: -0.01em;
    --tracking-label: 0.04em;
    --tracking-micro: 0.06em;
    --tracking-overline: 0.08em;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-full: 9999px;
    --container-page: 80rem;
    --container-measure: 50rem;
    --aspect-hero: 16 / 7;
    --shadow-highlight: 0 6px 18px rgb(240 37 76 / 0.10);
    --shadow-highlight-hover: 0 10px 26px rgb(240 37 76 / 0.16);
    --shadow-drawer: -12px 0 40px rgb(20 18 16 / 0.18);
    --shadow-sheet: 0 -6px 28px rgb(20 18 16 / 0.16);
    --shadow-overlay: 0 6px 18px rgb(20 18 16 / 0.12);
    --shadow-toast: 0 10px 30px rgb(20 18 16 / 0.24);
    --ease-standard: ease;
    --ease-sheet: cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-x-0 {
    inset-inline: 0px;
  }
  .top-0 {
    top: 0px;
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .isolate {
    isolation: isolate;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  .order-3 {
    order: 3;
  }
  .order-4 {
    order: 4;
  }
  .order-5 {
    order: 5;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-span-3 {
    grid-column: span 3 / span 3;
  }
  .col-span-4 {
    grid-column: span 4 / span 4;
  }
  .col-span-6 {
    grid-column: span 6 / span 6;
  }
  .container {
    width: 100%;
    @media (width >= 48rem) {
      max-width: 48rem;
    }
  }
  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-4\/3 {
    aspect-ratio: 4/3;
  }
  .aspect-hero {
    aspect-ratio: var(--aspect-hero);
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-4\.5 {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
  }
  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .size-5\.5 {
    width: calc(var(--spacing) * 5.5);
    height: calc(var(--spacing) * 5.5);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }
  .size-14 {
    width: calc(var(--spacing) * 14);
    height: calc(var(--spacing) * 14);
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-28 {
    height: calc(var(--spacing) * 28);
  }
  .h-40 {
    height: calc(var(--spacing) * 40);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .min-h-dvh {
    min-height: 100dvh;
  }
  .w-1\/2 {
    width: calc(1 / 2 * 100%);
  }
  .w-1\/3 {
    width: calc(1 / 3 * 100%);
  }
  .w-1\/4 {
    width: calc(1 / 4 * 100%);
  }
  .w-2\/3 {
    width: calc(2 / 3 * 100%);
  }
  .w-3\/4 {
    width: calc(3 / 4 * 100%);
  }
  .w-5\/6 {
    width: calc(5 / 6 * 100%);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-40 {
    width: calc(var(--spacing) * 40);
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .max-w-60 {
    max-width: calc(var(--spacing) * 60);
  }
  .max-w-70 {
    max-width: calc(var(--spacing) * 70);
  }
  .max-w-100 {
    max-width: calc(var(--spacing) * 100);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: 0px;
  }
  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-none {
    flex: none;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .transform-gpu {
    transform: translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .scroll-mt-4 {
    scroll-margin-top: calc(var(--spacing) * 4);
  }
  .scroll-mt-20 {
    scroll-margin-top: calc(var(--spacing) * 20);
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }
  .self-end {
    align-self: flex-end;
  }
  .self-start {
    align-self: flex-start;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-hidden {
    overflow-y: hidden;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: var(--radius-full);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-\(length\:--border-width-hairline\) {
    border-style: var(--tw-border-style);
    border-width: var(--border-width-hairline);
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }
  .border-b-\(length\:--border-width-hairline\) {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: var(--border-width-hairline);
  }
  .border-accent-border {
    border-color: var(--accent-border);
  }
  .border-border {
    border-color: var(--border);
  }
  .bg-accent-subtle {
    background-color: var(--accent-subtle);
  }
  .bg-surface {
    background-color: var(--surface);
  }
  .bg-surface-muted {
    background-color: var(--surface-muted);
  }
  .bg-surface-raised {
    background-color: var(--surface-raised);
  }
  .bg-cover {
    background-size: cover;
  }
  .bg-center {
    background-position: center;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-0 {
    padding: 0px;
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-4\.5 {
    padding: calc(var(--spacing) * 4.5);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-1 {
    padding-inline: var(--spacing);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-18 {
    padding-block: calc(var(--spacing) * 18);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .text-center {
    text-align: center;
  }
  .text-start {
    text-align: start;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-11 {
    font-size: var(--text-11);
    line-height: var(--tw-leading, var(--text-11--line-height));
  }
  .text-13 {
    font-size: var(--text-13);
    line-height: var(--tw-leading, var(--text-13--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-display {
    --tw-tracking: var(--tracking-display);
    letter-spacing: var(--tracking-display);
  }
  .tracking-heading {
    --tw-tracking: var(--tracking-heading);
    letter-spacing: var(--tracking-heading);
  }
  .tracking-label {
    --tw-tracking: var(--tracking-label);
    letter-spacing: var(--tracking-label);
  }
  .tracking-overline {
    --tw-tracking: var(--tracking-overline);
    letter-spacing: var(--tracking-overline);
  }
  .text-balance {
    text-wrap: balance;
  }
  .text-pretty {
    text-wrap: pretty;
  }
  .\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .text-accent {
    color: var(--accent);
  }
  .text-accent-ink {
    color: var(--accent-ink);
  }
  .text-on-surface {
    color: var(--on-surface);
  }
  .text-on-surface-decorative {
    color: var(--on-surface-decorative);
  }
  .text-on-surface-muted {
    color: var(--on-surface-muted);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .overline {
    text-decoration-line: overline;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .\[--sheet-area\:24rem\] {
    --sheet-area: 24rem;
  }
  .empty\:hidden:empty {
    display: none;
  }
  @media (width >= 48rem) {
    .md\:pointer-events-none {
      pointer-events: none;
    }
    .md\:sticky {
      position: sticky;
    }
    .md\:top-24 {
      top: calc(var(--spacing) * 24);
    }
    .md\:order-0 {
      order: 0;
    }
    .md\:order-none {
      order: 0;
    }
    .md\:col-span-1 {
      grid-column: span 1 / span 1;
    }
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }
    .md\:col-start-1 {
      grid-column-start: 1;
    }
    .md\:col-start-3 {
      grid-column-start: 3;
    }
    .md\:row-start-2 {
      grid-row-start: 2;
    }
    .md\:mt-6 {
      margin-top: calc(var(--spacing) * 6);
    }
    .md\:mt-20 {
      margin-top: calc(var(--spacing) * 20);
    }
    .md\:mb-8 {
      margin-bottom: calc(var(--spacing) * 8);
    }
    .md\:mb-14 {
      margin-bottom: calc(var(--spacing) * 14);
    }
    .md\:block {
      display: block;
    }
    .md\:contents {
      display: contents;
    }
    .md\:flex {
      display: flex;
    }
    .md\:grid {
      display: grid;
    }
    .md\:hidden {
      display: none;
    }
    .md\:inline {
      display: inline;
    }
    .md\:aspect-auto {
      aspect-ratio: auto;
    }
    .md\:h-52 {
      height: calc(var(--spacing) * 52);
    }
    .md\:h-60 {
      height: calc(var(--spacing) * 60);
    }
    .md\:h-96 {
      height: calc(var(--spacing) * 96);
    }
    .md\:max-w-2xl {
      max-width: var(--container-2xl);
    }
    .md\:max-w-none {
      max-width: none;
    }
    .md\:max-w-xl {
      max-width: var(--container-xl);
    }
    .md\:flex-none {
      flex: none;
    }
    .md\:rotate-135 {
      rotate: 135deg;
    }
    .md\:cursor-default {
      cursor: default;
    }
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .md\:flex-col {
      flex-direction: column;
    }
    .md\:flex-row {
      flex-direction: row;
    }
    .md\:flex-wrap {
      flex-wrap: wrap;
    }
    .md\:items-center {
      align-items: center;
    }
    .md\:items-start {
      align-items: flex-start;
    }
    .md\:justify-between {
      justify-content: space-between;
    }
    .md\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }
    .md\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
    .md\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }
    .md\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
    .md\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    .md\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }
    .md\:gap-x-6 {
      column-gap: calc(var(--spacing) * 6);
    }
    .md\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }
    .md\:gap-y-8 {
      row-gap: calc(var(--spacing) * 8);
    }
    .md\:self-start {
      align-self: flex-start;
    }
    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
    .md\:p-12 {
      padding: calc(var(--spacing) * 12);
    }
    .md\:py-18 {
      padding-block: calc(var(--spacing) * 18);
    }
    .md\:pt-18 {
      padding-top: calc(var(--spacing) * 18);
    }
    .md\:pt-24 {
      padding-top: calc(var(--spacing) * 24);
    }
    .md\:pb-18 {
      padding-bottom: calc(var(--spacing) * 18);
    }
    .md\:pb-24 {
      padding-bottom: calc(var(--spacing) * 24);
    }
    .md\:pb-28 {
      padding-bottom: calc(var(--spacing) * 28);
    }
    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
}
:root {
  --fj-red: #F0254C;
  --fj-red-strong: #E9103A;
  --fj-red-deep: #CF1535;
  --fj-red-tint: #FDECEF;
  --fj-red-tint-hover: #FFE4E9;
  --fj-red-wash: #FFF7F8;
  --fj-red-border: #F6CDD5;
  --fj-red-divider: #F3E3E6;
  --fj-red-dark: #7A0E20;
  --fj-ink: #1A1A1A;
  --fj-white: #FFFFFF;
  --fj-warm-25: #FCFBFA;
  --fj-warm-50: #F8F7F5;
  --fj-warm-100: #F1EFEC;
  --fj-warm-150: #EDEBE8;
  --fj-warm-200: #E7E5E1;
  --fj-warm-250: #E2E0DC;
  --fj-warm-300: #DEDCD8;
  --fj-warm-350: #DAD8D4;
  --fj-warm-400: #D8D5D0;
  --fj-warm-450: #D6D3CF;
  --fj-warm-500: #C9C7C3;
  --fj-warm-600: #A9A6A2;
  --fj-warm-650: #9A9794;
  --fj-warm-700: #97938C;
  --fj-warm-800: #6B6967;
  --fj-grey-800: #333333;
  --fj-green: #1B8A4B;
  --fj-green-deep: #187D44;
  --fj-green-tint: #E8F5EC;
  --fj-amber: #B26B00;
  --fj-amber-deep: #9F5F00;
  --fj-amber-tint: #FBF1E0;
  --fj-blue: #2F5BD3;
  --fj-blue-tint: #E8EEFC;
  --fj-yellow: #F2B705;
  --fj-map-blue: #2F6FEB;
  --border-width-hairline: 0.5px;
  --border-width-control: 1px;
  --border-width-highlight: 1.5px;
  --border-width-knockout: 3px;
  --layer-base: 0;
  --layer-raised: 10;
  --layer-sticky: 20;
  --layer-scrim: 30;
  --layer-modal: 40;
  --layer-toast: 50;
  --layer-consent: 60;
  --duration-fast: 150ms;
  --duration-base: 180ms;
  --duration-med: 220ms;
  --duration-sheet: 250ms;
  --duration-pulse: 1200ms;
  --duration-delay-loading: 300ms;
  --duration-spin: 800ms;
  --sheet-grip: var(--fj-warm-450);
  --sheet-gap: 1rem;
  --swiper-dot-inactive: var(--fj-warm-400);
  --map-location: var(--fj-map-blue);
  --map-location-halo: rgb(47 111 235 / 0.22);
  --map-knockout: var(--fj-white);
  --hero-gradient: linear-gradient(180deg, rgb(26 26 26 / 0.08) 0%, rgb(26 26 26 / 0.30) 42%, rgb(26 26 26 / 0.88) 100%);
  --hero-ghost: rgb(255 255 255 / 0.14);
  --hero-ghost-hover: rgb(255 255 255 / 0.24);
  --hero-ghost-border: rgb(255 255 255 / 0.45);
  --event-fallback-gradient: linear-gradient(135deg, var(--fj-red), var(--fj-red-dark));
}
:root, [data-context="light"] {
  --surface: var(--fj-warm-50);
  --surface-raised: var(--fj-white);
  --surface-muted: var(--fj-warm-100);
  --surface-muted-hover: var(--fj-warm-200);
  --surface-hover: var(--fj-warm-25);
  --surface-disabled: var(--fj-warm-150);
  --on-surface: var(--fj-ink);
  --on-surface-muted: var(--fj-warm-800);
  --on-surface-subtle: var(--fj-warm-800);
  --on-surface-disabled: var(--fj-warm-600);
  --on-surface-decorative: var(--fj-warm-500);
  --border: var(--fj-warm-150);
  --border-hover: var(--fj-warm-350);
  --border-strong: var(--fj-warm-300);
  --border-filter: var(--fj-warm-250);
  --border-control: var(--fj-warm-700);
  --accent: var(--fj-red);
  --accent-solid: var(--fj-red-strong);
  --accent-hover: var(--fj-red-deep);
  --on-accent: var(--fj-white);
  --accent-ink: var(--fj-red-deep);
  --accent-subtle: var(--fj-red-tint);
  --accent-subtle-hover: var(--fj-red-tint-hover);
  --accent-border: var(--fj-red-border);
  --accent-wash: var(--fj-red-wash);
  --accent-divider: var(--fj-red-divider);
  --success: var(--fj-green);
  --success-subtle: var(--fj-green-tint);
  --on-success-subtle: var(--fj-green-deep);
  --warning: var(--fj-amber);
  --warning-subtle: var(--fj-amber-tint);
  --on-warning-subtle: var(--fj-amber-deep);
  --info: var(--fj-blue);
  --info-subtle: var(--fj-blue-tint);
  --on-info-subtle: var(--fj-blue);
  --neutral: var(--fj-warm-800);
  --neutral-subtle: var(--fj-warm-150);
  --on-neutral-subtle: var(--fj-warm-800);
  --danger: var(--fj-red);
  --danger-subtle: var(--fj-red-tint);
  --on-danger-subtle: var(--fj-red-deep);
  --stage-red: var(--fj-red);
  --stage-yellow: var(--fj-yellow);
  --stage-green: var(--fj-green);
  --stage-track: var(--fj-warm-150);
  --focus-ring: var(--fj-red);
  --scrim: rgb(20 18 16 / 0.45);
}
[data-context="ink"] {
  --surface: var(--fj-ink);
  --surface-raised: var(--fj-ink);
  --on-surface: var(--fj-white);
  --on-surface-muted: rgb(255 255 255 / 0.82);
  --on-surface-subtle: var(--fj-warm-650);
  --border: var(--fj-grey-800);
  --accent: var(--fj-red);
  --accent-solid: var(--fj-red-strong);
  --accent-hover: var(--fj-red-deep);
  --on-accent: var(--fj-white);
  --focus-ring: var(--fj-red);
  --surface-disabled: var(--fj-warm-150);
  --on-surface-disabled: var(--fj-warm-600);
  --surface-muted: initial;
  --surface-muted-hover: initial;
  --surface-hover: initial;
  --on-surface-decorative: initial;
  --border-hover: initial;
  --border-strong: initial;
  --border-filter: initial;
  --border-control: initial;
  --accent-ink: initial;
  --accent-subtle: initial;
  --accent-subtle-hover: initial;
  --accent-border: initial;
  --accent-wash: initial;
  --accent-divider: initial;
  --success: initial;
  --success-subtle: initial;
  --on-success-subtle: initial;
  --warning: initial;
  --warning-subtle: initial;
  --on-warning-subtle: initial;
  --info: initial;
  --info-subtle: initial;
  --on-info-subtle: initial;
  --neutral: initial;
  --neutral-subtle: initial;
  --on-neutral-subtle: initial;
  --danger: initial;
  --danger-subtle: initial;
  --on-danger-subtle: initial;
  --stage-red: initial;
  --stage-yellow: initial;
  --stage-green: initial;
  --stage-track: initial;
  --scrim: initial;
}
@layer base {
  @media (width >= 48rem) {
    :root {
      --text-xs: 0.8125rem;
      --text-13: 0.875rem;
      --text-13--line-height: 1.375rem;
      --text-sm: 0.9375rem;
      --text-sm--line-height: 1.5rem;
      --text-base: 1.0625rem;
      --text-base--line-height: 1.625rem;
      --text-lg: 1.25rem;
      --text-lg--line-height: 1.875rem;
      --text-xl: 1.5rem;
      --text-xl--line-height: 2rem;
      --text-2xl: 1.875rem;
      --text-2xl--line-height: 2.375rem;
      --text-3xl: 2.5rem;
      --text-3xl--line-height: 3rem;
    }
  }
  body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--on-surface);
    -webkit-font-smoothing: antialiased;
  }
  :where(b, strong) {
    font-weight: var(--font-weight-bold);
  }
  :where(a) {
    cursor: pointer;
  }
}
@layer components {
  lucide-icon {
    --icon-stroke: 1.8;
    display: inline-flex;
    flex: none;
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  lucide-icon > svg.lucide {
    position: static;
    inset: auto;
    width: 100%;
    height: 100%;
    margin: 0;
    stroke-width: var(--icon-stroke);
  }
  .btn {
    --btn-icon-size: calc(var(--spacing) * 4.5);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    min-height: calc(var(--spacing) * 11);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 5);
    border: var(--border-width-control) solid transparent;
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    --btn-fg: var(--on-surface);
    color: var(--btn-fg);
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-bold);
    min-width: 0;
    text-align: center;
    text-decoration: none;
    text-wrap: balance;
    cursor: pointer;
    -webkit-user-select: none;
            user-select: none;
    transition: background-color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard), opacity var(--duration-base) var(--ease-standard), scale var(--duration-fast) var(--ease-standard);
  }
  .btn__icon {
    width: var(--btn-icon-size);
    height: var(--btn-icon-size);
  }
  .btn--primary {
    background: var(--accent-solid);
    --btn-fg: var(--on-accent);
    color: var(--btn-fg);
  }
  .btn--dark {
    background: var(--surface);
    --btn-fg: var(--on-surface);
    color: var(--btn-fg);
  }
  .btn--secondary, .btn--destructive {
    border-color: var(--border-strong);
    background: var(--surface-raised);
    --btn-fg: var(--on-surface-muted);
    color: var(--btn-fg);
    font-weight: var(--font-weight-semibold);
  }
  .btn--outline {
    border-color: var(--accent);
    background: var(--surface-raised);
    --btn-fg: var(--accent-ink);
    color: var(--btn-fg);
  }
  .btn--tint {
    border-color: var(--accent-border);
    background: var(--accent-subtle);
    --btn-fg: var(--accent-ink);
    color: var(--btn-fg);
  }
  .btn--danger-soft {
    border-width: var(--border-width-hairline);
    border-color: var(--accent-border);
    background: var(--surface-raised);
    --btn-fg: var(--accent-ink);
    color: var(--btn-fg);
    font-weight: var(--font-weight-semibold);
  }
  .btn--ghost {
    border-color: var(--hero-ghost-border);
    background: var(--hero-ghost);
    --btn-fg: var(--on-surface);
    color: var(--btn-fg);
    font-weight: var(--font-weight-semibold);
  }
  @media (hover: hover) {
    .btn--primary:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--accent-hover);
    }
    .btn--secondary:hover:not(:disabled, [aria-disabled="true"]) {
      border-color: var(--on-surface);
      color: var(--on-surface);
    }
    .btn--destructive:hover:not(:disabled, [aria-disabled="true"]) {
      border-color: var(--accent);
      color: var(--accent-ink);
    }
    .btn--outline:hover:not(:disabled, [aria-disabled="true"]), .btn--danger-soft:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--accent-subtle);
    }
    .btn--tint:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--accent-subtle-hover);
    }
    .btn--ghost:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--hero-ghost-hover);
    }
    .btn--dark:hover:not(:disabled, [aria-disabled="true"]) {
      opacity: 0.88;
    }
  }
  .btn--lg {
    --btn-icon-size: calc(var(--spacing) * 5);
    min-height: calc(var(--spacing) * 13);
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
  }
  .btn--sm {
    min-height: calc(var(--spacing) * 10);
    padding-inline: calc(var(--spacing) * 4);
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-semibold);
  }
  .btn--xs {
    --btn-icon-size: calc(var(--spacing) * 4);
    min-height: calc(var(--spacing) * 9);
    padding-block: calc(var(--spacing) * 1.5);
    padding-inline: calc(var(--spacing) * 3.5);
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
  }
  .btn--sm::after, .btn--xs::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block: calc((100% - calc(var(--spacing) * 11)) / 2);
  }
  .btn--block {
    display: flex;
    width: 100%;
  }
  .btn:active:not(:disabled, [aria-disabled="true"]) {
    scale: 0.98;
  }
  @media (prefers-reduced-motion: reduce) {
    .btn:active {
      scale: none;
    }
  }
  .btn:is(:disabled, [aria-disabled="true"]):not(.btn--loading) {
    border-color: transparent;
    background: var(--surface-disabled);
    color: var(--on-surface-disabled);
    opacity: 1;
    cursor: default;
  }
  .btn--loading {
    overflow: clip;
    cursor: progress;
    animation: btn-label-out var(--duration-med) var(--ease-standard) var(--duration-delay-loading) forwards;
  }
  .btn--loading::before {
    content: "";
    position: absolute;
    inset: 0;
    width: var(--btn-icon-size);
    height: var(--btn-icon-size);
    margin: auto;
    border: calc(var(--spacing) * 0.5) solid currentColor;
    border-right-color: transparent;
    border-radius: var(--radius-full);
    color: var(--btn-fg);
    animation: btn-spinner-in var(--duration-med) var(--ease-sheet) var(--duration-delay-loading) both, btn-spinner-spin var(--duration-spin) linear infinite;
  }
  @keyframes btn-label-out {
    to {
      color: transparent;
    }
  }
  @keyframes btn-spinner-in {
    from {
      opacity: 0;
      translate: 0 calc(var(--spacing) * 5);
      scale: 0.4;
    }
    to {
      opacity: 1;
      translate: 0 0;
      scale: 1;
    }
  }
  @keyframes btn-spinner-spin {
    to {
      rotate: 1turn;
    }
  }
  .icon-btn {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    padding: var(--spacing);
    border: var(--border-width-hairline) solid transparent;
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--on-surface);
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), scale var(--duration-fast) var(--ease-standard);
  }
  .icon-btn::after {
    content: "";
    position: absolute;
    inset: min(0px, calc((100% - calc(var(--spacing) * 11)) / 2));
  }
  .icon-btn__icon {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .icon-btn--round {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
    padding: 0;
    border-radius: var(--radius-full);
    background: var(--surface-muted);
  }
  .icon-btn--round .icon-btn__icon {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .icon-btn--bordered {
    padding: calc(var(--spacing) * 2);
    border-color: var(--border-filter);
  }
  .icon-btn--bordered .icon-btn__icon {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
  }
  .icon-btn--round.icon-btn--bordered {
    padding: 0;
    border-width: var(--border-width-control);
    border-color: var(--border-strong);
    background: var(--surface-raised);
  }
  @media (hover: hover) {
    .icon-btn:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--surface-muted);
    }
    .icon-btn--round:hover:not(:disabled, [aria-disabled="true"]) {
      background: var(--surface-muted-hover);
    }
    .icon-btn--bordered:hover:not(:disabled, [aria-disabled="true"]) {
      border-color: var(--on-surface);
      background: transparent;
    }
    .icon-btn--round.icon-btn--bordered:hover:not(:disabled, [aria-disabled="true"]) {
      border-color: var(--border-strong);
      background: var(--surface-muted-hover);
    }
  }
  .icon-btn:active:not(:disabled, [aria-disabled="true"]) {
    scale: 0.98;
  }
  @media (prefers-reduced-motion: reduce) {
    .icon-btn:active {
      scale: none;
    }
  }
  .icon-btn:is(:disabled, [aria-disabled="true"]) {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .action-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing);
    padding: 0;
    border: 0;
    background: none;
    color: var(--accent-ink);
    font-family: inherit;
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    text-underline-offset: 0.2em;
    cursor: pointer;
  }
  .action-link--inline {
    display: inline;
  }
  .action-link--inline > lucide-icon {
    display: inline-block;
    margin-inline-start: var(--spacing);
    vertical-align: -0.15em;
  }
  .action-link::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block: calc((100% - calc(var(--spacing) * 11)) / 2);
  }
  @media (hover: hover) {
    .action-link:hover:not(:disabled, [aria-disabled="true"]) {
      text-decoration: underline;
    }
  }
  .action-link:is(:disabled, [aria-disabled="true"]) {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .badge {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    padding: var(--spacing) calc(var(--spacing) * 3);
    border-radius: var(--radius-full);
    background: var(--neutral-subtle);
    color: var(--on-neutral-subtle);
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
  }
  .badge__icon {
    --icon-stroke: 2.1;
    width: calc(var(--spacing) * 3.25);
    height: calc(var(--spacing) * 3.25);
  }
  .badge--success {
    background: var(--success-subtle);
    color: var(--on-success-subtle);
  }
  .badge--warning {
    background: var(--warning-subtle);
    color: var(--on-warning-subtle);
  }
  .badge--info {
    background: var(--info-subtle);
    color: var(--on-info-subtle);
  }
  .badge--neutral {
    background: var(--neutral-subtle);
    color: var(--on-neutral-subtle);
  }
  .badge--danger {
    background: var(--danger-subtle);
    color: var(--on-danger-subtle);
  }
  .badge--highlight {
    background: var(--accent-solid);
    color: var(--on-accent);
  }
  .badge--compact {
    gap: var(--spacing);
    padding: calc(var(--spacing) * 0.5) calc(var(--spacing) * 2);
    font-size: var(--text-11);
    line-height: var(--text-11--line-height);
  }
  .badge--meta {
    padding: var(--spacing) calc(var(--spacing) * 2.5);
    background: var(--surface-muted);
    color: var(--on-surface-muted);
    font-weight: var(--font-weight-semibold);
  }
  .chip {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 3.5);
    border: var(--border-width-control) solid var(--border-filter);
    border-radius: var(--radius-full);
    background: var(--surface-raised);
    color: var(--on-surface-muted);
    font-family: inherit;
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), scale var(--duration-fast) var(--ease-standard);
  }
  .chip::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block: calc((100% - calc(var(--spacing) * 11)) / 2);
  }
  .chip[aria-pressed="true"] {
    border-color: var(--accent-solid);
    background: var(--accent-solid);
    color: var(--on-accent);
  }
  @media (hover: hover) {
    .chip:hover:not([aria-pressed="true"], :disabled) {
      border-color: var(--border-hover);
    }
  }
  .chip:active:not(:disabled) {
    scale: 0.98;
  }
  @media (prefers-reduced-motion: reduce) {
    .chip:active {
      scale: none;
    }
  }
  .chip:disabled {
    border-color: transparent;
    background: var(--surface-disabled);
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .card {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
    padding: calc(var(--spacing) * 4);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-2xl);
    background: var(--surface-raised);
    color: var(--on-surface);
    text-align: start;
    text-decoration: none;
  }
  .card__title {
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
    text-wrap: balance;
  }
  .card__meta, .card__body {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    color: var(--on-surface-muted);
  }
  .card__body {
    text-wrap: pretty;
  }
  .card__divider {
    height: 0;
    border-top: var(--border-width-hairline) solid var(--border);
  }
  .card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
    margin-top: calc(var(--spacing) * 2);
  }
  .card--list {
    border-radius: var(--radius-xl);
    cursor: pointer;
    transition: background-color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), scale var(--duration-fast) var(--ease-standard);
  }
  .card--highlight {
    border: var(--border-width-highlight) solid var(--accent);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-highlight);
  }
  @media (hover: hover) {
    .card--list:hover {
      border-color: var(--border-hover);
      background: var(--surface-hover);
    }
    .card--list.card--highlight:hover {
      border-color: var(--accent);
      box-shadow: var(--shadow-highlight-hover);
    }
  }
  .card--list:active {
    scale: 0.98;
  }
  @media (prefers-reduced-motion: reduce) {
    .card--list:active {
      scale: none;
    }
  }
  .skeleton {
    gap: calc(var(--spacing) * 2.5);
    opacity: 0;
    animation: skeleton-in 0s linear var(--duration-delay-loading) forwards;
  }
  .skeleton__line, .skeleton__block, .skeleton__pill, .skeleton__image {
    background: var(--surface-muted);
    border-radius: var(--radius-full);
    animation: skeleton-pulse var(--duration-pulse) var(--ease-standard) var(--duration-delay-loading) infinite;
  }
  .skeleton__card {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2.5);
  }
  .skeleton__line {
    height: calc(var(--spacing) * 3);
  }
  .skeleton__line:first-child, .skeleton__image + .skeleton__line {
    height: calc(var(--spacing) * 4);
  }
  .skeleton--media {
    padding: 0;
    padding-block-end: calc(var(--spacing) * 4);
    overflow: hidden;
  }
  .skeleton--media > :not(.skeleton__image) {
    margin-inline: calc(var(--spacing) * 4);
  }
  .skeleton__image {
    height: calc(var(--spacing) * 28);
    border-radius: 0;
  }
  .skeleton__image--wide {
    height: calc(var(--spacing) * 40);
  }
  @media (min-width: 48rem) {
    .skeleton__image--wide {
      height: calc(var(--spacing) * 60);
    }
  }
  .skeleton__pill {
    width: calc(var(--spacing) * 20);
    height: calc(var(--spacing) * 6);
  }
  @keyframes skeleton-in {
    to {
      opacity: 1;
    }
  }
  @keyframes skeleton-pulse {
    50% {
      opacity: 0.5;
    }
  }
  .avatar {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: calc(var(--spacing) * 9.5);
    height: calc(var(--spacing) * 9.5);
    overflow: hidden;
    border-radius: var(--radius-full);
    background: var(--accent-solid);
    color: var(--on-accent);
    font-size: var(--text-13);
    line-height: 1;
    font-weight: var(--font-weight-bold);
    object-fit: cover;
    -webkit-user-select: none;
            user-select: none;
  }
  .avatar > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .avatar--contact {
    background: var(--surface);
    color: var(--on-surface);
  }
  .avatar--sm {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
    font-size: var(--text-11);
  }
  .avatar--md {
    width: calc(var(--spacing) * 9.5);
    height: calc(var(--spacing) * 9.5);
    font-size: var(--text-13);
  }
  .avatar--lg {
    width: calc(var(--spacing) * 13);
    height: calc(var(--spacing) * 13);
    font-size: var(--text-lg);
  }
  .avatar--xl {
    width: calc(var(--spacing) * 15);
    height: calc(var(--spacing) * 15);
    font-size: var(--text-xl);
  }
  .contact-box {
    display: grid;
    grid-template-columns: calc(var(--spacing) * 8) minmax(0, 1fr);
    align-items: center;
    row-gap: calc(var(--spacing) * 1.5);
    column-gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 3);
    border-radius: var(--radius-xl);
    background: var(--surface);
    color: var(--on-surface);
  }
  .contact-box__avatar {
    justify-self: center;
  }
  .contact-box__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .contact-box__label {
    font-size: var(--text-10);
    line-height: var(--text-11--line-height);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-micro);
    text-transform: uppercase;
    color: var(--on-surface-muted);
  }
  .contact-box__name {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-bold);
  }
  .contact-box__link {
    position: relative;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    align-items: center;
    min-height: calc(var(--spacing) * 6);
    color: var(--accent-ink);
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
  }
  .contact-box__link--mail {
    font-weight: var(--font-weight-semibold);
  }
  .contact-box__value {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .contact-box__link::after {
    content: "";
    position: absolute;
    inset-inline: 0;
  }
  .contact-box__link--phone::after {
    top: calc(calc(var(--spacing) * 6) - calc(var(--spacing) * 11));
    bottom: 0;
  }
  .contact-box__link--mail::after {
    top: 0;
    bottom: calc(calc(var(--spacing) * 6) - calc(var(--spacing) * 11));
  }
  @media (hover: hover) {
    .contact-box__link:hover .contact-box__value {
      text-decoration: underline;
      text-underline-offset: 0.2em;
    }
  }
  .contact-box__icon {
    --icon-stroke: 2.1;
    justify-self: center;
    width: calc(var(--spacing) * 3.25);
    height: calc(var(--spacing) * 3.25);
  }
  .field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
    min-width: 0;
  }
  .field__label {
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    letter-spacing: var(--tracking-label);
    color: var(--on-surface-muted);
    transition: color var(--duration-fast) var(--ease-standard);
  }
  .field__control {
    position: relative;
    display: flex;
    align-items: center;
  }
  .field__input {
    width: 100%;
    min-width: 0;
    min-height: calc(var(--spacing) * 11);
    margin: 0;
    padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 3.5);
    border: var(--border-width-control) solid var(--border-control);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    appearance: none;
    transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
  }
  .field__input::placeholder {
    color: var(--on-surface-muted);
    opacity: 1;
  }
  select.field__input {
    padding-inline-end: calc(var(--spacing) * 9);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
  }
  select.field__input:has(option:checked[value=""]) {
    color: var(--on-surface-muted);
    font-weight: var(--font-weight-normal);
  }
  .field__input[type="date"]::-webkit-date-and-time-value {
    text-align: start;
  }
  .field__input[type="date"].is-empty:not(:focus)::-webkit-datetime-edit {
    color: var(--on-surface-muted);
    font-weight: var(--font-weight-normal);
  }
  textarea.field__input {
    min-height: calc(var(--spacing) * 24);
    resize: vertical;
  }
  .field__icon {
    position: absolute;
    inset-inline-end: calc(var(--spacing) * 3);
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    color: var(--on-surface-muted);
    pointer-events: none;
  }
  .field__hint {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing);
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    color: var(--on-surface-muted);
  }
  .field__hint:not(:has(:not(:empty))) {
    display: none;
  }
  .field__hint-icon {
    --icon-stroke: 2.1;
    flex: none;
    width: calc(var(--spacing) * 3.25);
    height: calc(var(--spacing) * 3.25);
  }
  @media (hover: hover) {
    .field:not(.field--underline) .field__input:hover:not(:disabled, :focus) {
      border-color: var(--on-surface);
    }
  }
  .field:not(.field--underline) .field__input:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
  }
  .field--invalid:not(.field--underline) .field__input {
    border-color: var(--accent-ink);
  }
  .field:not(.field--underline) .field__input:disabled {
    border-color: transparent;
    background: var(--surface-disabled);
    color: var(--on-surface-disabled);
  }
  .field--underline .field__input {
    padding: calc(var(--spacing) * 2.5) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: inset 0 calc(-1 * var(--border-width-control)) 0 var(--border-control);
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-semibold);
  }
  .field--underline .field__input:focus {
    outline: none;
  }
  .field--underline select.field__input, .field--underline.field--locked .field__input {
    padding-inline-end: calc(var(--spacing) * 6);
  }
  .field--underline .field__icon {
    inset-inline-end: 0;
  }
  .field--underline .field__input.field-saved, .field--underline .field-saved .field__input {
    box-shadow: inset 0 calc(-1 * var(--border-width-highlight)) 0 var(--success);
  }
  .field--underline.field--missing .field__input {
    box-shadow: inset 0 calc(-1 * var(--border-width-highlight)) 0 var(--accent-ink);
  }
  .field--underline .field__input:focus {
    box-shadow: inset 0 -2px 0 var(--accent);
  }
  .field--underline:has(.field__input:focus) .field__label {
    color: var(--accent-ink);
  }
  .field--underline.field--invalid .field__input {
    box-shadow: inset 0 calc(-1 * var(--border-width-highlight)) 0 var(--accent-ink);
  }
  .field--invalid .field__hint {
    color: var(--accent-ink);
  }
  .field--underline.field--locked .field__input {
    box-shadow: inset 0 calc(-1 * var(--border-width-control)) 0 var(--on-surface-disabled);
    color: var(--on-surface-muted);
  }
  .field--locked select.field__input {
    pointer-events: none;
  }
  .field--underline .field__input:disabled {
    padding-bottom: calc(calc(var(--spacing) * 2.5) - var(--border-width-control));
    border-bottom: var(--border-width-control) dashed var(--on-surface-disabled);
    box-shadow: none;
    color: var(--on-surface-disabled);
  }
  .field:has(.field__input:disabled) .field__label {
    color: var(--on-surface-disabled);
  }
  .select {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .select__trigger {
    display: flex;
    align-items: center;
    padding-inline-end: calc(var(--spacing) * 9);
    text-align: start;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
  }
  .field--underline .select__trigger {
    padding-inline-end: calc(var(--spacing) * 6);
  }
  .select__value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .select__value--placeholder {
    color: var(--on-surface-muted);
    font-weight: var(--font-weight-normal);
  }
  .select__panel {
    width: 100%;
    max-height: calc(6 * calc(var(--spacing) * 11) + 2 * var(--spacing));
    margin: 0;
    padding: var(--spacing) 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    list-style: none;
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    box-shadow: var(--shadow-overlay);
    color: var(--on-surface);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }
  .select__panel:focus-visible {
    outline: none;
  }
  .select__option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
    min-height: calc(var(--spacing) * 11);
    padding: 0 calc(var(--spacing) * 3.5);
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard);
  }
  .select__option:focus-visible {
    outline: none;
  }
  .select__option.cdk-option-active {
    background: var(--surface-muted);
  }
  @media (hover: hover) {
    .select__option:hover:not([aria-disabled="true"]) {
      background: var(--surface-muted);
    }
  }
  .select__option[aria-selected="true"] {
    background: var(--accent-subtle);
    color: var(--accent-ink);
    font-weight: var(--font-weight-semibold);
  }
  .select__option[aria-selected="true"].cdk-option-active {
    background: var(--accent-subtle-hover);
  }
  .select__option[aria-disabled="true"] {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .select__check {
    flex: none;
  }
  .search {
    position: relative;
    display: block;
    min-width: 0;
  }
  .search__box {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
    min-height: calc(var(--spacing) * 11);
    padding-inline: calc(var(--spacing) * 3.5);
    border: var(--border-width-control) solid var(--border-control);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
    transition: border-color var(--duration-fast) var(--ease-standard);
  }
  @media (hover: hover) {
    .search__box:hover {
      border-color: var(--on-surface);
    }
  }
  .search__box:has(.search__input:focus-visible) {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
  }
  .search__icon {
    flex: none;
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
    color: var(--on-surface-muted);
  }
  .search__input {
    flex: 1;
    min-width: 0;
    padding: calc(var(--spacing) * 2.5) 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    outline: none;
  }
  .search__input::placeholder {
    color: var(--on-surface-muted);
    opacity: 1;
  }
  .search__clear, .search__submit {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
    border-radius: var(--radius-full);
    color: var(--on-surface-muted);
    cursor: pointer;
  }
  .search__submit {
    color: var(--accent-ink);
  }
  .search__clear::after, .search__submit::after {
    content: "";
    position: absolute;
    inset: calc((100% - calc(var(--spacing) * 11)) / 2);
  }
  .search__panel {
    position: absolute;
    inset-inline: 0;
    top: calc(100% + var(--spacing));
    z-index: var(--layer-sticky);
    max-height: calc(6 * calc(var(--spacing) * 11) + 2 * var(--spacing));
    margin: 0;
    padding: var(--spacing) 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    list-style: none;
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    box-shadow: var(--shadow-overlay);
    color: var(--on-surface);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }
  .search__option {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
    min-height: calc(var(--spacing) * 11);
    padding-inline: calc(var(--spacing) * 3.5);
    cursor: pointer;
  }
  .search__option--active {
    background: var(--surface-muted);
  }
  .search__option-icon {
    flex: none;
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    color: var(--on-surface-muted);
  }
  .search__option-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .search__option-hint {
    flex: none;
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    color: var(--on-surface-muted);
  }
  .date-range {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .date-range__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
    padding-inline-end: calc(var(--spacing) * 3);
    text-align: start;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
  }
  .date-range__value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .date-range__value--placeholder {
    color: var(--on-surface-muted);
    font-weight: var(--font-weight-normal);
  }
  .date-range__icon {
    flex: none;
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    color: var(--on-surface-muted);
  }
  .date-range__panel {
    width: min(100vw - calc(var(--spacing) * 8), calc(var(--spacing) * 80));
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3) calc(var(--spacing) * 3);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    box-shadow: var(--shadow-overlay);
    color: var(--on-surface);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }
  .date-range__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
  }
  .date-range__month {
    flex: 1;
    text-align: center;
    font-weight: var(--font-weight-bold);
    text-transform: capitalize;
  }
  .date-range__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 0.5);
  }
  .date-range__weekday {
    padding-block: calc(var(--spacing) * 1.5);
    text-align: center;
    font-size: var(--text-11);
    line-height: var(--text-11--line-height);
    font-weight: var(--font-weight-bold);
    color: var(--on-surface-muted);
  }
  .date-range__day {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(var(--spacing) * 11);
    color: var(--on-surface);
    font-family: inherit;
    font-size: var(--text-sm);
    cursor: pointer;
  }
  .date-range__day::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    width: min(100%, calc(var(--spacing) * 11));
    aspect-ratio: 1 / 1;
    translate: -50% -50%;
    border-radius: var(--radius-full);
  }
  .date-range__day--outside {
    color: var(--on-surface-muted);
  }
  .date-range__day--today::before {
    box-shadow: inset 0 0 0 1px var(--border-strong);
  }
  .date-range__day--marked::after {
    content: "";
    position: absolute;
    inset-block-end: calc(var(--spacing) * 1.5);
    width: var(--spacing);
    height: var(--spacing);
    border-radius: var(--radius-full);
    background: var(--accent);
  }
  .date-range__day--range {
    background: var(--accent-subtle);
    color: var(--accent-ink);
  }
  .date-range__day--band-after {
    background: linear-gradient(to right, transparent 50%, var(--accent-subtle) 50%);
  }
  .date-range__day--band-before {
    background: linear-gradient(to right, var(--accent-subtle) 50%, transparent 50%);
  }
  .date-range__day--start, .date-range__day--end {
    color: var(--on-accent);
    font-weight: var(--font-weight-bold);
  }
  .date-range__day--start::before, .date-range__day--end::before {
    background: var(--accent-solid);
    box-sizing: content-box;
    border: 2px solid var(--on-accent);
  }
  .date-range__day--start::after, .date-range__day--end::after {
    background: var(--on-accent);
  }
  @media (hover: hover) {
    .date-range__day:hover:not(:disabled, .date-range__day--start, .date-range__day--end)::before {
      background: var(--surface-muted);
    }
  }
  .date-range__day:disabled {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .date-range__hint {
    margin-top: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    color: var(--on-surface-muted);
  }
  .date-picker {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
  }
  .date-picker__input {
    padding-inline-end: calc(var(--spacing) * 11);
  }
  .field--underline .date-picker__input {
    padding-inline-end: calc(var(--spacing) * 8);
  }
  .date-picker__toggle {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--spacing) * 11);
    border-radius: var(--radius-xl);
    color: var(--on-surface-muted);
    cursor: pointer;
  }
  .field--underline .date-picker__toggle {
    width: calc(var(--spacing) * 8);
    border-radius: 0;
  }
  .date-picker__toggle:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: -2px;
  }
  .date-picker__toggle:disabled {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  @media (hover: hover) {
    .date-picker__toggle:hover:not(:disabled) {
      color: var(--on-surface);
    }
  }
  .date-picker__input--native {
    position: relative;
  }
  .date-picker__input--native::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  .date-picker__toggle--static {
    pointer-events: none;
  }
  .date-picker__icon {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .date-picker__panel {
    width: calc(var(--spacing) * 80);
    max-width: calc(100vw - calc(var(--spacing) * 8));
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3) calc(var(--spacing) * 3);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    box-shadow: var(--shadow-overlay);
    color: var(--on-surface);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }
  .date-picker__title {
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    border-radius: var(--radius-full);
    font-weight: var(--font-weight-bold);
    text-transform: capitalize;
    cursor: pointer;
  }
  .date-picker__title:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
  }
  @media (hover: hover) {
    .date-picker__title:hover {
      background: var(--surface-muted);
    }
  }
  .date-picker__cells {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--spacing);
    padding-block: var(--spacing);
  }
  .date-picker__cell {
    height: calc(var(--spacing) * 11);
    border-radius: var(--radius-full);
    color: var(--on-surface);
    font-family: inherit;
    font-size: var(--text-sm);
    cursor: pointer;
  }
  .date-picker__cell--current {
    box-shadow: inset 0 0 0 1px var(--border-strong);
  }
  .date-picker__cell--selected {
    background: var(--accent-solid);
    color: var(--on-accent);
    font-weight: var(--font-weight-bold);
  }
  @media (hover: hover) {
    .date-picker__cell:hover:not(:disabled, .date-picker__cell--selected) {
      background: var(--surface-muted);
    }
  }
  .date-picker__cell:disabled {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .sheet {
    --sheet-half-height: calc(var(--sheet-area, calc(100dvh - var(--sheet-top, 0px) - var(--sheet-offset, 0px))) / 2);
    --sheet-full-height: calc(var(--sheet-area, calc(100dvh - var(--sheet-top, 0px) - var(--sheet-offset, 0px))) - var(--sheet-gap));
    position: fixed;
    z-index: var(--layer-raised);
    inset-inline: 0;
    bottom: var(--sheet-offset, 0px);
    display: flex;
    flex-direction: column;
    max-width: var(--container-lg);
    max-height: var(--sheet-full-height);
    margin-inline: auto;
    padding-bottom: var(--sheet-inset, env(safe-area-inset-bottom));
    border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
    background: var(--surface-raised);
    box-shadow: var(--shadow-sheet);
    color: var(--on-surface);
    animation: sheet-in var(--duration-sheet) var(--ease-sheet);
  }
  .sheet--dragging {
    overflow: hidden;
  }
  .sheet--half {
    height: var(--sheet-half-height);
  }
  .sheet--full {
    height: var(--sheet-full-height);
  }
  .sheet__handle {
    display: grid;
    flex: none;
    place-items: center;
    height: calc(var(--spacing) * 6);
    cursor: grab;
    touch-action: none;
  }
  .sheet__grip {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 1.25);
    border-radius: var(--radius-full);
    background: var(--sheet-grip);
  }
  .sheet__head {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    padding: 0 calc(var(--spacing) * 4) calc(var(--spacing) * 3);
    cursor: grab;
    touch-action: none;
    -webkit-user-select: none;
            user-select: none;
  }
  .sheet--full .sheet__head, .sheet--half .sheet__head {
    border-bottom: var(--border-width-hairline) solid var(--border);
  }
  .sheet__summary, .sheet__back {
    display: flex;
    min-width: 0;
    padding: 0;
    text-align: start;
    cursor: pointer;
  }
  .sheet__summary {
    flex-direction: column;
  }
  .sheet__back {
    align-items: center;
    gap: calc(var(--spacing) * 3);
  }
  .sheet__title {
    display: block;
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
  }
  .sheet__sub {
    display: block;
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    color: var(--on-surface-muted);
  }
  .sheet__list {
    display: grid;
    flex: 1;
    align-content: start;
    gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4) calc(var(--spacing) * 4);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .sheet__empty {
    padding-block: calc(var(--spacing) * 4);
    text-align: center;
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    color: var(--on-surface-muted);
  }
  .sheet__event {
    display: grid;
    gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4) calc(var(--spacing) * 4);
  }
  .sheet__event-row {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
  }
  .sheet__thumb {
    flex: none;
    width: calc(var(--spacing) * 18);
    height: calc(var(--spacing) * 18);
    border-radius: var(--radius-xl);
    object-fit: cover;
  }
  .sheet__name {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    font-weight: var(--font-weight-extrabold);
    text-wrap: balance;
  }
  .sheet__chips {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 1.5);
  }
  @keyframes sheet-in {
    from {
      translate: 0 100%;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .sheet {
      animation: none;
    }
  }
  .info-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-block: var(--border-width-hairline) solid var(--border);
  }
  .info-bar__item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 0.5);
    min-height: calc(var(--spacing) * 11);
    padding-block: calc(var(--spacing) * 3.5);
    color: var(--on-surface);
    font-family: inherit;
    text-align: start;
  }
  .info-bar__item + .info-bar__item {
    padding-inline-start: calc(var(--spacing) * 5);
    border-inline-start: var(--border-width-hairline) solid var(--border);
  }
  .info-bar__label {
    font-size: var(--text-11);
    line-height: var(--text-11--line-height);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    color: var(--on-surface-muted);
  }
  .info-bar__value {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing);
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
  }
  .info-bar__item--link {
    cursor: pointer;
  }
  .info-bar__item--link .info-bar__value {
    color: var(--accent-ink);
  }
  @media (hover: hover) {
    .info-bar__item--link:hover .info-bar__value {
      text-decoration: underline;
    }
  }
  .notice {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 4);
    border: var(--border-width-hairline) solid var(--accent-border);
    border-radius: var(--radius-2xl);
    background: var(--accent-subtle);
    color: var(--on-surface);
  }
  .notice__title {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
  }
  .notice__icon {
    flex: none;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--accent);
  }
  .todo-list {
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
  }
  .todo-list > li + li {
    border-top: var(--border-width-hairline) solid var(--accent-divider);
  }
  .todo-list__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    width: 100%;
    min-height: calc(var(--spacing) * 11);
    padding: calc(var(--spacing) * 2.5) calc(var(--spacing) * 4);
    text-align: start;
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-semibold);
    color: var(--on-surface);
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard);
  }
  @media (hover: hover) {
    .todo-list__row:hover {
      background: var(--accent-wash);
    }
  }
  .todo-list__chevron {
    flex: none;
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    color: var(--accent-ink);
  }
  .status-ladder {
    --status-ladder-color: var(--stage-track);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: calc(var(--spacing) * 1.5);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .status-ladder[data-stage="red"] {
    --status-ladder-color: var(--stage-red);
  }
  .status-ladder[data-stage="yellow"] {
    --status-ladder-color: var(--stage-yellow);
  }
  .status-ladder[data-stage="green"] {
    --status-ladder-color: var(--stage-green);
  }
  .status-ladder__step {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 1.5);
    min-width: 0;
  }
  .status-ladder__bar {
    display: block;
    height: calc(var(--spacing) * 1.5);
    border-radius: var(--radius-full);
    background: var(--stage-track);
    transition: background-color var(--duration-med) var(--ease-standard);
  }
  .status-ladder__step--filled .status-ladder__bar {
    background: var(--status-ladder-color);
  }
  .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 5) calc(var(--spacing) * 4);
    border: var(--border-width-hairline) dashed var(--border-hover);
    border-radius: var(--radius-2xl);
    text-align: center;
  }
  .empty-state__title {
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
    text-wrap: balance;
  }
  .empty-state__text {
    max-width: calc(var(--spacing) * 72);
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    color: var(--on-surface-muted);
    text-wrap: pretty;
  }
  .empty-state > .btn {
    margin-top: var(--spacing);
  }
  .list-group {
    overflow: hidden;
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
  }
  .list-group > li + li {
    border-top: var(--border-width-hairline) solid var(--border);
  }
  .list-group__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    width: 100%;
    min-height: calc(var(--spacing) * 11);
    padding: calc(var(--spacing) * 3.5) calc(var(--spacing) * 4);
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-semibold);
    color: inherit;
    text-align: start;
    text-decoration: none;
  }
  a.list-group__row, button.list-group__row {
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard);
  }
  @media (hover: hover) {
    a.list-group__row:hover, button.list-group__row:hover {
      background: var(--surface-hover);
    }
  }
  .list-group__label {
    flex: none;
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-normal);
    color: var(--on-surface-muted);
  }
  .list-group__value {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: end;
    font-weight: var(--font-weight-semibold);
  }
  .list-group__chevron {
    flex: none;
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    color: var(--on-surface-decorative);
  }
  .stepper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
  }
  .stepper__step {
    position: relative;
    display: block;
    scroll-margin-top: calc(var(--spacing) * 20);
  }
  .stepper__step + .stepper__step {
    border-top: var(--border-width-hairline) solid var(--border);
  }
  .stepper__head {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    width: 100%;
    min-height: calc(var(--spacing) * 11);
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
    border: 0;
    background: transparent;
    color: var(--on-surface);
    font-family: inherit;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-bold);
    text-align: start;
    cursor: pointer;
  }
  .stepper__dot {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
    border-radius: var(--radius-full);
    background: var(--surface-muted);
    color: var(--on-surface-muted);
    font-size: var(--text-xs);
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .stepper__check {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
    stroke-width: 2.5;
  }
  .stepper__step--open .stepper__dot {
    background: var(--accent-solid);
    color: var(--on-accent);
  }
  .stepper__step--done:not(.stepper__step--open) .stepper__dot {
    background: var(--success-subtle);
    color: var(--on-success-subtle);
  }
  .stepper__body {
    padding: var(--spacing) calc(var(--spacing) * 4) calc(var(--spacing) * 5);
  }
  .stepper__body[hidden] {
    display: none;
  }
  @media (hover: hover) {
    .stepper__head:hover .stepper__label {
      text-decoration: underline;
    }
  }
  .upload {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 1.5);
  }
  .upload__drop {
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    min-height: calc(var(--spacing) * 14);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4);
    border: var(--border-width-hairline) dashed var(--border-hover);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
  }
  @media (hover: hover) {
    .upload__drop:hover:not(.upload__drop--disabled) {
      background: var(--surface-hover);
    }
  }
  .upload__drop:has(.upload__input:focus-visible) {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
  }
  .upload__icon {
    flex: none;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--accent-ink);
  }
  .upload__label {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .upload__drop--filled {
    border-style: solid;
    border-color: var(--border);
  }
  .upload__drop--filled .upload__icon {
    color: var(--success);
  }
  .field-missing .upload__drop {
    border-color: var(--accent-ink);
  }
  .upload__drop--disabled {
    border-color: var(--border);
    background: var(--surface-disabled);
    color: var(--on-surface-disabled);
    cursor: not-allowed;
  }
  .upload__drop--disabled .upload__icon {
    color: inherit;
  }
  .upload__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: inherit;
  }
  .upload__hint {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    color: var(--on-surface-muted);
  }
  .signature-pad {
    width: 100%;
  }
  .signature-pad__canvas {
    width: 100%;
    border: var(--border-width-control) solid var(--border-control);
    border-radius: var(--radius-xl);
    touch-action: none;
    background: var(--surface-raised);
  }
  .dialog-scrim {
    background: var(--scrim);
  }
  .dialog-panel {
    max-width: calc(100vw - calc(var(--spacing) * 8));
  }
  .dialog {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    width: min(100vw - calc(var(--spacing) * 8), calc(var(--spacing) * 100));
    max-height: calc(100dvh - calc(var(--spacing) * 8));
    padding: calc(var(--spacing) * 5);
    border-radius: var(--radius-2xl);
    background: var(--surface-raised);
    color: var(--on-surface);
  }
  .dialog__title {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    font-weight: var(--font-weight-extrabold);
    text-wrap: balance;
  }
  .dialog__body {
    min-height: 0;
    overflow-y: auto;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--on-surface-muted);
    text-wrap: pretty;
  }
  .dialog__actions {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: calc(var(--spacing) * 2.5);
    padding-top: var(--spacing);
  }
  .dialog--lg {
    width: min(100vw - calc(var(--spacing) * 8), var(--container-measure));
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .dialog--tall {
    height: calc(100dvh - calc(var(--spacing) * 8));
    max-height: calc(var(--spacing) * 180);
  }
  .dialog--tall .dialog__body {
    flex: 1;
    color: var(--on-surface);
  }
  .file-card {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
  }
  .file-card__icon {
    flex: none;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--accent-ink);
  }
  .file-card__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: var(--spacing);
  }
  .file-card__label {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-bold);
  }
  .file-card__label:empty {
    display: none;
  }
  .file-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    font-weight: var(--font-weight-semibold);
  }
  .file-card__label:not(:empty) + .file-card__name {
    font-weight: var(--font-weight-normal);
    color: var(--on-surface-muted);
  }
  .file-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing);
  }
  .doc-card {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: center;
    gap: calc(var(--spacing) * 3.5);
    padding: calc(var(--spacing) * 3);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    color: var(--on-surface);
  }
  .doc-card__thumb {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing);
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--surface-muted);
    color: var(--on-surface-muted);
  }
  .doc-card--action .doc-card__thumb {
    background: var(--accent-subtle);
    color: var(--accent-ink);
  }
  .doc-card__thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .doc-card__icon {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .doc-card__type {
    font-size: var(--text-11);
    line-height: var(--text-11--line-height);
    font-weight: var(--font-weight-extrabold);
    letter-spacing: var(--tracking-label);
  }
  .doc-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing);
  }
  .doc-card__name {
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-bold);
  }
  .doc-card__meta {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    color: var(--on-surface-muted);
    overflow-wrap: anywhere;
  }
  .choice {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    min-height: calc(var(--spacing) * 11);
    color: var(--on-surface);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    cursor: pointer;
  }
  .choice:has(:disabled) {
    color: var(--on-surface-disabled);
    cursor: default;
  }
  .checkbox, .radio {
    display: grid;
    flex: none;
    place-items: center;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    margin: 0;
    border: var(--border-width-control) solid var(--border-control);
    border-radius: var(--radius-lg);
    background: var(--surface-raised);
    cursor: inherit;
    appearance: none;
    transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
  }
  .radio {
    border-radius: var(--radius-full);
  }
  .checkbox::after, .radio::after {
    content: "";
    scale: 0;
    transition: scale var(--duration-base) var(--ease-standard);
  }
  .checkbox::after {
    width: calc(var(--spacing) * 1.25);
    height: calc(var(--spacing) * 2.5);
    margin-top: calc(-1 * calc(var(--spacing) * 0.5));
    border: solid var(--on-accent);
    border-width: 0 calc(var(--spacing) * 0.5) calc(var(--spacing) * 0.5) 0;
    rotate: 45deg;
  }
  .radio::after {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
    border-radius: var(--radius-full);
    background: var(--on-accent);
  }
  .checkbox:checked, .radio:checked {
    border-color: var(--accent-solid);
    background: var(--accent-solid);
  }
  .checkbox:checked::after, .radio:checked::after {
    scale: 1;
  }
  .toggle {
    position: relative;
    flex: none;
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 6);
    margin: 0;
    border-radius: var(--radius-full);
    background: var(--border-control);
    cursor: inherit;
    appearance: none;
    transition: background-color var(--duration-fast) var(--ease-standard);
  }
  .toggle::after {
    content: "";
    position: absolute;
    top: calc(var(--spacing) * 0.5);
    left: calc(var(--spacing) * 0.5);
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    border-radius: var(--radius-full);
    background: var(--on-accent);
    transition: translate var(--duration-fast) var(--ease-standard);
  }
  .toggle:checked {
    background: var(--accent-solid);
  }
  .toggle:checked::after {
    translate: calc(var(--spacing) * 4) 0;
  }
  @media (hover: hover) {
    .choice:hover :is(.checkbox, .radio):not(:disabled, :checked), :is(.checkbox, .radio):hover:not(:disabled, :checked) {
      border-color: var(--on-surface);
    }
  }
  :is(.checkbox, .radio, .toggle):focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
  }
  :is(.checkbox, .radio):is([aria-invalid="true"], .ng-invalid.ng-touched):not(:checked) {
    border-color: var(--accent-ink);
  }
  :is(.checkbox, .radio):disabled {
    border-color: var(--surface-disabled);
    background: var(--surface-disabled);
  }
  :is(.checkbox, .radio):disabled::after {
    border-color: var(--on-surface-disabled);
    background-color: transparent;
  }
  .radio:disabled::after {
    background: var(--on-surface-disabled);
  }
  .toggle:disabled {
    background: var(--surface-disabled);
  }
  .toggle:disabled::after {
    background: var(--surface-raised);
  }
  @media (prefers-reduced-motion: reduce) {
    .checkbox::after, .radio::after {
      transition: none;
    }
  }
  .app-frame {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100dvh;
    background: var(--surface);
  }
  .page-gutter {
    padding-inline: max(calc(var(--spacing) * 5), calc((100% - var(--container-lg)) / 2 + calc(var(--spacing) * 5)));
    @media (width >= 48rem) {
      padding-inline: max(calc(var(--spacing) * 8), calc((100% - var(--container-page)) / 2 + calc(var(--spacing) * 8)));
    }
  }
  @media (width >= 48rem) {
    .page-narrow > * {
      max-width: var(--container-lg);
    }
  }
  .page-center-screen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100dvh - env(safe-area-inset-top) - calc(var(--spacing) * 14));
    padding-block: calc(var(--spacing) * 16);
    @media (width >= 48rem) {
      min-height: calc(100dvh - calc(var(--spacing) * 17));
    }
  }
  .page-fill {
    display: flex;
    flex-direction: column;
    min-height: inherit;
  }
  @media (width >= 48rem) {
    .page-measure > * {
      width: 100%;
      max-width: var(--container-measure);
      margin-inline: auto;
    }
  }
  :is(toolnav, bottom-nav, toolfooter, top-bar) {
    display: contents;
  }
  .app-frame__body {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: max(0px, calc((100% - var(--container-lg)) / 2));
    min-height: calc(100dvh - env(safe-area-inset-top) - calc(var(--spacing) * 14));
    @media (width >= 48rem) {
      width: 100%;
      max-width: var(--container-lg);
      margin-inline: auto;
      padding-inline: 0;
      min-height: calc(100dvh - calc(var(--spacing) * 17));
    }
  }
  .app-frame__body--desktop {
    padding-inline: 0;
  }
  @media (width >= 48rem) {
    .app-frame__body--desktop {
      max-width: none;
      margin-inline: 0;
    }
  }
  .top-bar {
    position: sticky;
    top: 0;
    z-index: var(--layer-sticky);
    border-bottom: var(--border-width-hairline) solid var(--border);
    background: var(--surface-raised);
  }
  .top-bar__inner {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 5);
    width: 100%;
    height: calc(var(--spacing) * 17);
  }
  .top-bar__logo {
    display: inline-flex;
    flex: none;
  }
  .top-bar__logo img {
    display: block;
    height: calc(var(--spacing) * 5.5);
    width: auto;
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 8);
    }
  }
  .top-bar__nav {
    display: flex;
    align-items: stretch;
    align-self: stretch;
    gap: calc(var(--spacing) * 0.5);
  }
  .top-bar__nav--grow, .top-bar__spacer {
    flex: 1 1 auto;
  }
  .top-bar__link {
    display: flex;
    align-items: center;
    padding-inline: calc(var(--spacing) * 3);
    box-shadow: inset 0 calc(calc(var(--spacing) * 0.5) * -1) 0 transparent;
    color: var(--on-surface-muted);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
    cursor: pointer;
  }
  .top-bar__link--main {
    color: var(--on-surface);
    font-weight: var(--font-weight-bold);
  }
  .top-bar__link:hover {
    color: var(--accent-ink);
  }
  .top-bar__link--active {
    box-shadow: inset 0 calc(calc(var(--spacing) * 0.5) * -1) 0 var(--accent);
    color: var(--accent-ink);
  }
  .top-bar__label {
    position: relative;
    display: inline-flex;
  }
  .top-bar__count {
    position: absolute;
    top: calc(var(--spacing) * -2);
    left: calc(100% + calc(var(--spacing) * 0.5));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--spacing) * 4.25);
    height: calc(var(--spacing) * 4.25);
    padding-inline: var(--spacing);
    border-radius: var(--radius-full);
    background: var(--accent-solid);
    color: var(--on-accent);
    font-size: var(--text-10);
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .cart-btn__count {
    position: absolute;
    top: calc(var(--spacing) * -1);
    right: calc(var(--spacing) * -1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--spacing) * 4.25);
    height: calc(var(--spacing) * 4.25);
    padding-inline: var(--spacing);
    border-radius: var(--radius-full);
    background: var(--accent-solid);
    color: var(--on-accent);
    font-size: var(--text-10);
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .top-bar__divider {
    flex: none;
    align-self: center;
    width: var(--border-width-hairline);
    height: calc(var(--spacing) * 6);
    background: var(--border);
  }
  .top-bar__actions {
    display: flex;
    flex: none;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
  }
  .app-frame__body--tool {
    background: var(--surface-muted);
  }
  .app-header {
    position: sticky;
    top: 0;
    z-index: var(--layer-sticky);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    padding: calc(env(safe-area-inset-top) + calc(var(--spacing) * 3.5)) max(calc(var(--spacing) * 5), calc((100% - var(--container-lg)) / 2 + calc(var(--spacing) * 5))) calc(var(--spacing) * 3.5);
    border-bottom: var(--border-width-hairline) solid var(--border);
    background: var(--surface-raised);
  }
  .app-header__logo {
    display: inline-flex;
    flex: none;
  }
  .app-header__logo img {
    display: block;
    height: calc(var(--spacing) * 7);
    width: auto;
  }
  .app-header__actions {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
  }
  .app-drawer__scrim {
    position: fixed;
    inset: 0;
    z-index: var(--layer-scrim);
    background: var(--scrim);
  }
  .app-drawer {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    z-index: var(--layer-modal);
    display: flex;
    flex-direction: column;
    width: 300px;
    max-width: 82%;
    padding: calc(var(--spacing) * 5);
    padding-top: calc(env(safe-area-inset-top) + calc(var(--spacing) * 5));
    padding-bottom: calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 5));
    overflow-y: auto;
    background: var(--surface-raised);
    box-shadow: var(--shadow-drawer);
    animation: app-drawer-in var(--duration-sheet) var(--ease-sheet);
  }
  @keyframes app-drawer-in {
    from {
      transform: translateX(100%);
    }
  }
  .app-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: calc(var(--spacing) * 4);
  }
  .app-drawer__nav {
    display: flex;
    flex-direction: column;
  }
  .app-drawer__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 4);
    border: 0;
    border-bottom: var(--border-width-hairline) solid var(--border);
    background: transparent;
    color: var(--on-surface);
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    font-weight: var(--font-weight-bold);
    text-align: start;
    cursor: pointer;
  }
  .app-drawer__chevron {
    color: var(--on-surface-decorative);
  }
  .app-drawer__foot {
    margin-top: auto;
    padding-top: calc(var(--spacing) * 6);
  }
  .app-drawer__legal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0 calc(var(--spacing) * 4);
    margin-bottom: calc(var(--spacing) * 3);
  }
  .app-drawer__legal-link {
    display: inline-flex;
    align-items: center;
    min-height: calc(var(--spacing) * 11);
    color: var(--on-surface-muted);
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
    cursor: pointer;
  }
  @media (prefers-reduced-motion: reduce) {
    .app-drawer {
      animation: none;
    }
  }
  .bottom-nav {
    position: sticky;
    bottom: 0;
    z-index: var(--layer-sticky);
    display: flex;
    justify-content: space-around;
    padding: calc(var(--spacing) * 2) max(calc(var(--spacing) * 3), calc((100% - var(--container-lg)) / 2 + calc(var(--spacing) * 3))) calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 3));
    border-top: var(--border-width-hairline) solid var(--border);
    background: var(--surface-raised);
  }
  .bottom-nav__item {
    position: relative;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--spacing) * 0.75);
    min-height: calc(var(--spacing) * 11);
    color: var(--on-surface-muted);
    font-size: var(--text-11);
    line-height: var(--text-11--line-height);
    font-weight: var(--font-weight-semibold);
  }
  .bottom-nav__item--active {
    color: var(--accent-ink);
  }
  .bottom-nav__icon-wrap {
    position: relative;
    display: inline-flex;
  }
  .bottom-nav__count {
    position: absolute;
    top: calc(var(--spacing) * -1);
    left: calc(50% + var(--spacing));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--spacing) * 4.25);
    height: calc(var(--spacing) * 4.25);
    padding-inline: var(--spacing);
    border: 1.5px solid var(--surface-raised);
    border-radius: var(--radius-full);
    background: var(--accent-solid);
    color: var(--on-accent);
    font-size: var(--text-10);
    line-height: 1;
    font-weight: var(--font-weight-bold);
  }
  .sticky-cta {
    position: sticky;
    bottom: calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 20));
    z-index: var(--layer-sticky);
    padding-top: calc(var(--spacing) * 2);
    @media (width >= 48rem) {
      bottom: calc(var(--spacing) * 4);
    }
  }
  .toast {
    position: fixed;
    inset-inline: calc(var(--spacing) * 4);
    bottom: calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 20));
    z-index: var(--layer-toast);
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    max-width: calc(var(--container-lg) - calc(var(--spacing) * 8));
    margin-inline: auto;
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 3) calc(var(--spacing) * 3) calc(var(--spacing) * 4);
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
    box-shadow: var(--shadow-toast);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    transition: opacity var(--duration-med) var(--ease-standard);
    overflow: hidden;
  }
  .toast__timer {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: calc(var(--spacing) * 0.75);
    background: var(--on-surface-subtle);
    opacity: 0.5;
    transform-origin: left;
    animation: toast-timer var(--toast-duration, 5000ms) linear forwards;
  }
  .toast:is(:hover, :focus-within) .toast__timer {
    animation-play-state: paused;
  }
  @keyframes toast-timer {
    to {
      transform: scaleX(0);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .toast__timer {
      display: none;
    }
  }
  .toast--leaving {
    opacity: 0;
  }
  .toast__icon {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--accent);
  }
  .toast--success .toast__icon {
    color: var(--success);
  }
  .toast--warning .toast__icon {
    color: var(--warning);
  }
  .toast--info .toast__icon {
    color: var(--info);
  }
  .toast__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing);
    min-width: 0;
    padding-block: calc(var(--spacing) * 1.5);
  }
  .app-footer {
    padding-block: calc(var(--spacing) * 8) calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 8));
    background: var(--surface);
    color: var(--on-surface-muted);
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
  }
  .app-footer__groups {
    display: grid;
    gap: calc(var(--spacing) * 6);
    @media (width >= 48rem) {
      grid-template-columns: repeat(auto-fit, minmax(calc(var(--spacing) * 56), 1fr));
      gap: calc(var(--spacing) * 8);
    }
  }
  .app-footer__title {
    margin-bottom: calc(var(--spacing) * 2);
    color: var(--on-surface-muted);
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    font-weight: var(--font-weight-semibold);
  }
  .app-footer__list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .app-footer__link {
    display: inline-flex;
    align-items: center;
    min-height: calc(var(--spacing) * 11);
    color: var(--on-surface);
    font-weight: var(--font-weight-semibold);
  }
  .app-footer__link--active {
    color: var(--accent);
  }
  .app-footer__legal {
    margin-top: calc(var(--spacing) * 6);
    padding-top: calc(var(--spacing) * 4);
    border-top: var(--border-width-hairline) solid var(--border);
  }
}
@media only screen and (min-width: 667px) {
  body .woot-widget-holder.woot-elements--right {
    right: calc(var(--spacing) * 4);
    bottom: calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 24));
    @media (width >= 48rem) {
      bottom: calc(var(--spacing) * 4);
    }
  }
  body .woot-widget-holder {
    border-radius: var(--radius-2xl);
  }
}
.leaflet-pane {
  z-index: var(--layer-base);
}
.leaflet-top, .leaflet-bottom, .leaflet-control {
  z-index: var(--layer-raised);
}
.sma-logo {
  background: url(/assets/img/sma-logo.png) center center no-repeat transparent;
  width: 100px;
  height: 100px;
  display: inline-block;
  background-size: cover;
  margin: 10px 0 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@layer components {
  .accordion {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
  }
  .accordion__item {
    display: block;
    border: var(--border-width-hairline) solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--surface-raised);
  }
  .accordion__heading {
    margin: 0;
  }
  .accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    width: 100%;
    min-height: calc(var(--spacing) * 11);
    padding: calc(var(--spacing) * 3.5) calc(var(--spacing) * 4);
    border: 0;
    border-radius: var(--radius-xl);
    background: transparent;
    color: var(--on-surface);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-bold);
    text-align: start;
    text-wrap: balance;
    cursor: pointer;
    transition: background var(--duration-med) var(--ease-standard);
  }
  .accordion__panel {
    padding-top: var(--spacing);
  }
  .accordion__icon {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
    color: var(--accent-ink);
    transition: rotate var(--duration-med) var(--ease-standard);
  }
  .accordion__trigger[aria-expanded="true"] .accordion__icon {
    rotate: calc(45deg / 2);
  }
  .accordion__content {
    padding: var(--spacing) calc(var(--spacing) * 4) calc(var(--spacing) * 4);
    color: var(--on-surface-muted);
  }
  @media (hover: hover) {
    .accordion__trigger:hover {
      background: var(--surface-muted);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .accordion__icon {
      transition: none;
    }
  }
  .prose {
    display: block;
    color: var(--on-surface);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    overflow-wrap: anywhere;
  }
  .prose--compact {
    font-size: var(--text-13);
    line-height: var(--text-13--line-height);
  }
  .prose > :first-child {
    margin-top: 0;
  }
  .prose > :last-child {
    margin-bottom: 0;
  }
  .prose :is(h1, h2, h3, h4, h5, h6) {
    margin-block: calc(var(--spacing) * 6) calc(var(--spacing) * 2);
    color: var(--on-surface);
    font-weight: var(--font-weight-extrabold);
    text-wrap: balance;
  }
  .prose h1 {
    font-size: var(--text-2xl);
    line-height: var(--text-2xl--line-height);
  }
  .prose h2 {
    font-size: var(--text-xl);
    line-height: var(--text-xl--line-height);
  }
  .prose h3 {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
  }
  .prose :is(h4, h5, h6) {
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
  }
  .prose--compact :is(h1, h2, h3, h4, h5, h6) {
    margin-block: calc(var(--spacing) * 4) var(--spacing);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-bold);
  }
  .prose :is(p, ul, ol, table, blockquote, figure, pre) {
    margin-block: calc(var(--spacing) * 3);
  }
  .prose ul {
    padding-inline-start: calc(var(--spacing) * 5);
    list-style: disc;
  }
  .prose ol {
    padding-inline-start: calc(var(--spacing) * 5);
    list-style: decimal;
  }
  .prose li + li {
    margin-top: var(--spacing);
  }
  .prose :is(b, strong) {
    font-weight: var(--font-weight-bold);
  }
  .prose a:not(.btn) {
    color: var(--accent-ink);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .prose u {
    text-underline-offset: 2px;
  }
  .prose .check-item {
    position: relative;
    padding-inline-start: calc(var(--spacing) * 8);
  }
  .prose .check-item::before {
    content: "";
    position: absolute;
    inset-block-start: calc(var(--spacing) * 0.5);
    inset-inline-start: 0;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    background: var(--accent);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .prose img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-xl);
  }
  .prose blockquote {
    padding-inline-start: calc(var(--spacing) * 4);
    border-inline-start: 2px solid var(--border-strong);
    color: var(--on-surface-muted);
  }
  .prose hr {
    margin-block: calc(var(--spacing) * 6);
    border: 0;
    border-top: var(--border-width-hairline) solid var(--border);
  }
  .prose table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
  }
  .prose :is(th, td) {
    padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
    border: var(--border-width-hairline) solid var(--border);
    text-align: start;
  }
  .prose th {
    background: var(--surface-muted);
    font-weight: var(--font-weight-bold);
  }
  .hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: calc(var(--spacing) * 108);
    overflow: hidden;
    @media (width >= 48rem) {
      min-height: calc(var(--spacing) * 145);
    }
    background: var(--surface);
    color: var(--on-surface);
  }
  .hero__photo, .hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .hero__photo {
    object-fit: cover;
    object-position: center 35%;
  }
  .hero__shade {
    background: var(--hero-gradient);
  }
  .hero__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    width: 100%;
    padding-block: calc(var(--spacing) * 12);
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 18);
    }
  }
  .hero__title {
    font-size: var(--text-3xl);
    line-height: var(--text-3xl--line-height);
    font-weight: var(--font-weight-extrabold);
    letter-spacing: var(--tracking-display);
    text-wrap: balance;
  }
  .hero__lead {
    color: var(--on-surface-muted);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    text-wrap: pretty;
  }
  .hero__actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2.5);
    margin-top: calc(var(--spacing) * 2);
    @media screen and (max-width: 480px) {
      grid-template-columns: 1fr;
    }
  }
  .eyebrow {
    color: var(--accent-ink);
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-micro);
    text-transform: uppercase;
  }
  .scroller {
    display: flex;
    gap: calc(var(--spacing) * 3);
    overflow-x: auto;
    scroll-padding-inline: calc(var(--spacing) * 5);
    scrollbar-width: none;
    @media (hover: none) {
      scroll-snap-type: x proximity;
    }
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 6);
      scroll-padding-inline: max(calc(var(--spacing) * 8), calc((100% - var(--container-page)) / 2 + calc(var(--spacing) * 8)));
    }
  }
  .scroller::-webkit-scrollbar {
    display: none;
  }
  .scroller__item {
    flex: none;
    width: calc(var(--spacing) * 70);
    scroll-snap-align: start;
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 80);
    }
  }
  .scroller.is-gliding {
    scroll-snap-type: none;
  }
  .scroller.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    -webkit-user-select: none;
            user-select: none;
    > * {
      pointer-events: none;
    }
  }
  .facts {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
    @media (width >= 48rem) {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: calc(var(--spacing) * 8);
    }
  }
  .facts__item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
  }
  .facts__item dd {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
    color: var(--on-surface-muted);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    text-wrap: pretty;
  }
  .facts__item dd strong {
    color: var(--on-surface);
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
    font-weight: var(--font-weight-bold);
  }
}
.cdk-overlay-container {
  z-index: var(--layer-modal);
}
@keyframes overlay-in {
  from {
    opacity: 0;
    scale: 0.95;
  }
}
.dialog, .select__panel, .search__panel, .date-range__panel, .date-picker__panel, .toast {
  transform-origin: top left;
  animation: overlay-in var(--duration-fast) var(--ease-sheet);
}
.search__panel {
  transform-origin: top center;
}
.dialog {
  transform-origin: center;
}
.toast {
  transform-origin: bottom center;
}
.overlay--above .select__panel, .overlay--above .date-range__panel, .overlay--above .date-picker__panel {
  transform-origin: bottom left;
}
@keyframes overlay-fade {
  from {
    opacity: 0;
  }
}
.dialog-scrim {
  animation: overlay-fade var(--duration-fast) var(--ease-standard);
}
@media (prefers-reduced-motion: reduce) {
  .dialog, .select__panel, .search__panel, .date-range__panel, .date-picker__panel, .toast, .dialog-scrim {
    animation: none;
  }
}
@layer components {
  .success-mark {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--spacing) * 20);
    height: calc(var(--spacing) * 20);
    border-radius: var(--radius-full);
    background: var(--success-subtle);
    color: var(--on-success-subtle);
    animation: success-pop var(--duration-sheet) var(--ease-sheet) both;
  }
  .success-mark::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 2px solid var(--success);
    animation: success-ring 1200ms ease-out 200ms both;
  }
  .success-mark__icon {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
    animation: success-pop var(--duration-sheet) var(--ease-sheet) 150ms both;
  }
  .success-mark__dot {
    position: absolute;
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
    border-radius: var(--radius-full);
    background: var(--accent);
    animation: success-dot 1600ms ease-out 250ms both;
  }
  .success-mark__dot:nth-of-type(1) {
    top: var(--spacing);
    left: calc(var(--spacing) * -2);
    --dot-x: -10px;
  }
  .success-mark__dot:nth-of-type(2) {
    top: calc(var(--spacing) * -1);
    right: var(--spacing);
    background: var(--success);
    --dot-x: 8px;
  }
  .success-mark__dot:nth-of-type(3) {
    bottom: calc(var(--spacing) * 2);
    right: calc(var(--spacing) * -3);
    --dot-x: 12px;
  }
  @keyframes success-pop {
    from {
      opacity: 0;
      scale: 0.4;
    }
    to {
      opacity: 1;
      scale: 1;
    }
  }
  @keyframes success-ring {
    from {
      opacity: 0.7;
      scale: 1;
    }
    to {
      opacity: 0;
      scale: 1.8;
    }
  }
  @keyframes success-dot {
    0% {
      opacity: 0;
      translate: 0 8px;
      scale: 0.4;
    }
    25% {
      opacity: 1;
      scale: 1;
    }
    60% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      translate: var(--dot-x, 0) -18px;
      scale: 0.8;
    }
  }
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
}
:root :focus-visible:not(input, textarea, select) {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  /*!important on purpose: has to beat per-component transitions and animations.*/
  *,
    ::before,
    ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

