:root{--color-text-primary: #241B1E;--color-text-light: #E5E5E5;--color-arts: #E01958;--color-apps: #0B8B62;--color-ops: #3E19E0;--color-button-bg: #BCE019;--color-overlay: rgba(0, 0, 0, .7);--color-modal-bg: #171717;--color-modal-link: #BCE019;--font-primary: "Archivo", sans-serif;--font-heading: "Archivo Black", sans-serif;--font-arts: "Jacquard 24", serif;--font-apps: "Concert One", cursive;--font-ops: "PixelSerif", monospace;--font-size-tagline: 1.4rem;--font-size-button: .9rem;--font-size-footer: .6875rem;--font-size-modal-title: 1.5rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--transition-fast: .2s ease-in-out;--transition-medium: .3s ease-in-out}@font-face{font-family:PixelSerif;src:url(/fonts/PixelSerif_16px_v02.otf) format("opentype"),url(/fonts/PixelSerif_16px_v01.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:var(--font-primary);font-stretch:semi-expanded;color:var(--color-text-primary);line-height:1;min-height:100vh;overflow-x:hidden}body.modal-open{overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing-page{background-image:url(/images/background-logo.png);background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:scroll;min-height:max(100vh,600px);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:var(--spacing-md);position:relative}.landing-page:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:65vh;background:linear-gradient(to bottom,#c8c8c600,#c8c8c6);pointer-events:none;z-index:0}.content-wrapper{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;max-width:800px;width:100%;padding-bottom:var(--spacing-lg);position:relative;z-index:1}.tagline{font-family:var(--font-primary);font-stretch:semi-expanded;font-weight:400;font-size:var(--font-size-tagline);line-height:1.5;margin-bottom:var(--spacing-sm);color:var(--color-text-primary);text-shadow:1px 1px 3px rgba(255,255,255,.25)}.tagline__arts{font-family:var(--font-arts);color:var(--color-arts);font-weight:400;font-size:1.5em;line-height:1}.tagline__apps{font-family:var(--font-apps);color:var(--color-apps);font-weight:400;font-size:1.2em;line-height:1}.tagline__ops{font-family:var(--font-ops);color:var(--color-ops);font-weight:400;font-size:1.25em;line-height:1.1em}.cta-button{font-family:var(--font-heading);font-size:var(--font-size-button);color:var(--color-text-primary);background-color:var(--color-button-bg);line-height:1;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:4px;cursor:pointer;box-shadow:0 4px 8px #0003;transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.cta-button:hover{transform:translateY(-3px);box-shadow:0 8px 16px #00000040}.cta-button:active{transform:translateY(1px);box-shadow:0 2px 4px #0003}.cta-button:focus-visible{outline:3px solid var(--color-ops);outline-offset:4px}.footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);position:relative;z-index:1}.footer__copyright{margin:0;text-align:center;font-size:var(--font-size-footer);font-stretch:semi-expanded;line-height:.5}.footer__credits-link{background:none;border:none;color:var(--color-text-primary);font-family:var(--font-primary);font-stretch:semi-expanded;font-size:var(--font-size-footer);text-decoration:underline;cursor:pointer;padding:var(--spacing-xs);transition:opacity var(--transition-fast)}.footer__credits-link:hover{opacity:.7}.footer__credits-link:focus-visible{outline:2px solid var(--color-ops);outline-offset:2px}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;justify-content:center;align-items:center;padding:var(--spacing-md)}.modal--open{display:flex}.modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay);cursor:pointer;animation:fadeIn var(--transition-medium)}.modal__content{position:relative;background-color:var(--color-modal-bg);border-radius:8px;padding:var(--spacing-md);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;z-index:1001;animation:slideUp var(--transition-medium)}.modal__close{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text-light);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.modal__close:hover{opacity:.6}.modal__close:focus-visible{outline:2px solid var(--color-ops);outline-offset:2px}.modal__body{padding-top:var(--spacing-md)}.modal__title{font-family:var(--font-heading);font-size:var(--font-size-modal-title);margin-bottom:var(--spacing-md);color:var(--color-text-light)}.modal__body iframe{max-width:100%;display:block;margin:0 auto}.modal__body p{margin-bottom:var(--spacing-sm);line-height:1.6;color:var(--color-text-light)}.modal__body a{color:var(--color-modal-link);text-decoration:none;transition:text-decoration var(--transition-fast)}.modal__body a:hover{text-decoration:underline}.modal__body a:focus-visible{outline:2px solid var(--color-modal-link);outline-offset:2px}.text-small{font-size:.875em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){:root{--font-size-tagline: 1.75rem;--font-size-button: 1.05rem;--font-size-footer: .6875rem}.footer{flex-direction:row;justify-content:center;gap:var(--spacing-md)}.footer__mobile-break{display:none}}@media (min-width: 1200px){:root{--font-size-tagline: 2rem;--font-size-button: 1.1rem}.cta-button{padding:var(--spacing-sm) var(--spacing-md)}}@media (min-width: 1920px){.landing-page{background-size:contain;background-position:center center}}
