@import url('https://fonts.googleapis.com/css2?family=Rubik+Mono+One&display=swap');:root {--blue-soft: #91cef6;--sky-pale: #d2dff9;--peach: #efb99a;--flame-pink: #e86f99;--rose-soft: #e8c2da;--pink-dusty: #e7bbd6;--navy-deep: #244e79;--font-primary: 'Rubik Mono One', sans-serif;--background: var(--sky-pale);--text: var(--navy-deep);--accent: var(--flame-pink);--grid-line: rgba(36, 78, 121, 0.2);}* {box-sizing: border-box;margin: 0;padding: 0;}html, body {font-family: var(--font-primary);background-color: var(--background);color: var(--text);line-height: 1.3;font-size: 16px;height: 100%;width: 100%;overflow-x: hidden;background-image: linear-gradient( to right, var(--grid-line) 1px, transparent 1px ), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size: 40px 40px;background-repeat: repeat;position: relative;}body::after {content: '';position: absolute;inset: 0;pointer-events: none;mix-blend-mode: difference;box-shadow: 2px 2px 0 var(--peach), -2px -2px 0 var(--rose-soft);opacity: 0.05;}h1, h2, h3, h4 {font-family: var(--font-primary);font-weight: normal;color: var(--text);text-transform: uppercase;}h1 {font-size: 3rem;}h2 {font-size: 2rem;}h3 {font-size: 1.5rem;}p {font-size: 1rem;letter-spacing: 0.02em;margin-bottom: 1rem;color: var(--text);}section {padding: 4rem 2rem;}.container {max-width: 1200px;margin: 0 auto;}.mt-5 {margin-top: 2rem;}.sr-only {position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0;}.brutal-button {font-family: 'Rubik Mono One', sans-serif;font-size: 1rem;text-transform: uppercase;padding: 0.75rem 1.5rem;border: 2px solid var(--navy-deep);background-color: var(--sky-pale);color: var(--navy-deep);cursor: pointer;box-shadow: 5px 5px 0 var(--navy-deep);transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out;min-height: 44px;min-width: 44px;}.brutal-button:hover {transform: translate(-2px, -2px);box-shadow: 7px 7px 0 var(--navy-deep);}.brutal-button:focus {outline: 2px solid #ffca28;outline-offset: 2px;}.brutal-button:active {transform: scale(0.98);}.signup-button {background-color: #006d5b;color: #ffffff;border-color: #006d5b;}.signup-button:hover {background-color: #005447;transform: translate(-2px, -2px);box-shadow: 7px 7px 0 #005447;}.login-button {animation: pulse 2s infinite;}@keyframes pulse {0% {transform: translate(-2px, -2px);}70% {box-shadow: 0 0 0 8px rgba(0, 109, 91, 0);}100% {box-shadow: 0 0 0 0 rgba(0, 109, 91, 0);}}.btn-lg {font-size: 1.25rem;padding: 1.25rem 2rem;}.btn-sm {font-size: 0.875rem;padding: 0.5rem 1rem;}.site-header {position: fixed;width: 100%;z-index: 1000;background-color: rgba(255, 255, 255, 0.5);padding-left: clamp(1rem, 4vw, 2rem);padding-right: clamp(1rem, 4vw, 2rem);box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);font-family: 'Rubik Mono One', sans-serif;}.header-inner {display: flex;gap: 1rem;justify-content: space-between;align-items: center;max-width: 1200px;margin: 0 auto;padding-top: 0.75rem;padding-bottom: 0.75rem;}.signup-button, .login-button {flex: 1;text-align: center;}@media (max-width: 1023px) {.site-header {bottom: 0;top: auto;border-radius: 1rem 1rem 0 0;padding-bottom: max(0.75rem, env(safe-area-inset-bottom));}.header-inner {flex-direction: row;gap: 0.5rem;}.signup-button, .login-button {width: 50%;font-size: 0.875rem;padding: 1rem;}}@media (min-width: 1024px) {.site-header {top: 0;bottom: auto;}.login-button {animation: pulse 2s infinite;}}.modal-overlay {position: fixed;inset: 0;background: rgba(0, 0, 0, 0.6);z-index: 999;}.modal {position: fixed;inset: 0;display: grid;place-items: center;z-index: 1000;}.modal[hidden], #modal-overlay[hidden], .toast[hidden] {display: none;}.modal-content {background: var(--sky-pale);color: var(--navy-deep);max-width: 500px;width: calc(100% - 2rem);padding: 2rem;border-radius: 20px;box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);transform: scale(0.95);opacity: 0;animation: modal-in 0.2s ease-out forwards;}@keyframes modal-in {to {transform: scale(1);opacity: 1;}}.modal-logo {display: block;max-width: 300px;width: 100%;margin: 0 auto 2rem;}.modal h2 {text-align: center;font-size: 2rem;margin-bottom: 1.5rem;}.modal label {display: block;font-size: 0.875rem;margin-bottom: 0.25rem;margin-top: 1rem;}.modal input {width: 100%;padding: 1rem;font-family: var(--font-primary);border: 2px solid var(--navy-deep);border-radius: 12px;font-size: 1rem;}.modal input:focus {outline: 2px solid #ffca28;outline-offset: 2px;}.modal-close {position: absolute;top: 1rem;right: 1rem;font-size: 2rem;background: none;border: none;color: var(--navy-deep);cursor: pointer;}.modal-links {margin-top: 1rem;text-align: center;}.modal-link {background: none;border: none;font-family: var(--font-primary);font-size: 0.875rem;text-decoration: underline;color: var(--navy-deep);cursor: pointer;display: block;margin-top: 0.5rem;}.toast {position: fixed;bottom: 1rem;left: 50%;transform: translateX(-50%);background: var(--rose-soft);color: var(--navy-deep);font-family: var(--font-primary);padding: 1rem 2rem;border-radius: 12px;box-shadow: 5px 5px 0 var(--navy-deep);animation: toast-in 0.3s ease-out forwards;z-index: 1001;}@keyframes toast-in {0% {opacity: 0;transform: translateX(-50%) translateY(20px);}100% {opacity: 1;transform: translateX(-50%) translateY(0);}}.hero {height: 100vh;width: 100%;display: flex;flex-direction: column;align-items: center;padding: 2rem 1rem;}@media (min-width: 1000px) {.hero {padding-top: 8rem;}}.hero-logo img {max-width: 200px;width: 100%;margin-bottom: 2rem;}.hero-content {display: flex;flex: 1;width: 100%;gap: 2rem;align-items: stretch;justify-content: space-between;}.hero-text {flex: 1;background: #fff;padding: 3rem 2rem;box-shadow: 8px 8px 0 var(--navy-deep);border-radius: 2rem;display: flex;flex-direction: column;justify-content: center;transform: translateY(1rem);animation: lift 0.6s ease-out forwards;}@keyframes lift {0% {transform: translateY(50px);opacity: 0;}100% {transform: translateY(0);opacity: 1;}}#hero-title {font-size: 2.5rem;color: var(--navy-deep);margin-bottom: 1rem;line-height: 1.1;}@media (min-width: 768px) {#hero-title {font-size: 4rem;}}.hero-text p {font-size: 1.125rem;color: var(--navy-deep);margin-bottom: 2rem;max-width: 40ch;}.hero-sideboard {flex: 1;display: flex;align-items: center;justify-content: center;background: var(--peach);border-radius: 2rem;padding: 2rem;box-shadow: 8px 8px 0 var(--navy-deep);overflow: hidden;}.hero-image {width: 100%;max-width: 100%;height: auto;object-fit: cover;border-radius: 1rem;box-shadow: 4px 4px 0 var(--navy-deep);}@media (max-width: 900px) {.hero-content {flex-direction: column;}.hero-sideboard {height: 200px;}.hero-text button {width: 100%;}}.hero-image {filter: contrast(1.1) saturate(1.1);}.hero-image {animation: floatY 3s ease-in-out infinite alternate;}@keyframes floatY {0% {transform: translateY(0);}100% {transform: translateY(-10px);}}.about {position: relative;padding: 4rem 1rem;margin-top: 8rem;background: linear-gradient( to bottom, rgba(135, 206, 235, 0.5), rgba(255, 218, 185, 0.5) );display: flex;justify-content: center;align-items: center;overflow: hidden;}.about-card {background: rgba(255, 255, 255, 0.85);backdrop-filter: blur(12px);box-shadow: 8px 8px 0 var(--navy-deep);border-radius: 2rem;width: 100%;padding: 2rem;text-align: left;color: var(--navy-deep);position: relative;z-index: 1;}.about-header {display: flex;align-items: center;gap: 1rem;font-size: 1.5rem;margin-bottom: 1.5rem;}.about-card h2 {font-size: clamp(2rem, 5vw, 3.5rem);font-family: var(--font-primary);margin: 0;}.about-card p {font-size: clamp(1.1rem, 2vw, 1.5rem);line-height: 1.5;margin-bottom: 1.25rem;font-family: var(--font-primary);}.highlight-number {font-weight: bold;display: inline-block;animation: fadeInNumber 1.5s ease-in-out;}@keyframes fadeInNumber {from {opacity: 0;transform: translateY(0.3em);}to {opacity: 1;transform: translateY(0);}}.about-note {font-size: 1rem;font-weight: bold;margin-top: 2rem;}@media (max-width: 768px) {.about-card {padding: 1.5rem;}.about-header {flex-direction: column;align-items: flex-start;}}.responsible {background-color: #c9e1f0;padding: 4rem 1rem;display: flex;justify-content: center;align-items: center;border-top: 4px solid var(--navy-deep);border-bottom: 4px solid var(--navy-deep);position: relative;z-index: 1;}.responsible-inner {display: flex;flex-wrap: wrap;width: 100%;gap: 2rem;align-items: flex-start;justify-content: space-between;}.responsible-text {font-family: var(--font-primary);}.responsible-text h2 {font-size: clamp(2rem, 5vw, 3.5rem);margin-bottom: 1rem;color: var(--navy-deep);}.responsible-text p {font-size: clamp(1.1rem, 2vw, 1.4rem);line-height: 1.6;color: var(--navy-deep);margin-bottom: 1rem;}.responsible-logos {flex: 1 1 300px;display: grid;grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));gap: 1rem;justify-items: center;align-items: center;}.responsible-logos img {max-height: 60px;width: auto;object-fit: contain;transition: transform 0.2s ease, box-shadow 0.2s ease;}.responsible-logos a:hover img, .responsible-logos a:focus img {transform: translateY(-4px);box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);outline: none;}@media (max-width: 768px) {.responsible-inner {flex-direction: column;align-items: center;}.responsible-text, .responsible-logos {width: 100%;text-align: center;}.responsible-logos {grid-template-columns: repeat(2, 1fr);}}.responsible-note {font-family: var(--font-primary);font-size: 1.4rem;line-height: 1.4;color: var(--navy-deep);}.responsible-note p {margin-bottom: 1.25rem;font-size: 1rem;}.highlight {font-weight: bold;color: #b81f45;}.site-footer {background-color: #ffffff6c;color: #7c8a91;font-size: clamp(0.9rem, 1.5vw, 1rem);line-height: 1.5;width: 100%;margin-top: 4rem;border-top: 1px solid rgba(0, 0, 0, 0.1);}.footer-container {margin: 0 auto;padding: 2rem 1rem;text-align: center;}.site-footer p {margin-bottom: 1rem;font-size: clamp(0.8rem, 1.2vw, 1rem);font-family: var(--font-primary, 'Rubik Mono One', sans-serif);}@media (max-width: 600px) {.footer-container {padding-left: 1rem;padding-right: 1rem;text-align: center;}.site-footer {padding-bottom: 8rem;}.site-footer p {margin-bottom: 1.25rem;word-break: break-word;}}