body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-primary);text-decoration:none;transition:var(--transition-fast)}h1{font-size:2.5em;line-height:1.1;font-family:var(--font-sans)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.75rem 1.5rem;font-size:var(--fs-md);font-weight:500;font-family:var(--font-sans);background-color:var(--color-primary);color:var(--color-background);cursor:pointer;transition:var(--transition-normal)}button:hover{background-color:var(--color-primary-light)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}code,pre{font-family:var(--font-mono)}body{margin:0;padding:0;background-color:#fff;color:#333;font-family:var(--font-sans);font-size:var(--fs-md)}.btn{background-color:var(--color-primary);color:var(--color-background);border:none;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-normal);font-size:var(--fs-sm)}.btn:hover{background-color:var(--color-primary-light)}.btn-accent{background-color:var(--color-accent);font-size:var(--fs-sm)}.btn-accent:hover{background-color:var(--color-accent);opacity:.9}.card{background-color:var(--color-background);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-md);font-size:var(--fs-sm)}.section{background-color:var(--color-gray-light);padding:var(--space-xl) 0;font-size:var(--fs-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-normal);font-size:var(--fs-sm)}a:hover{color:var(--color-primary-light)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-xxl{font-size:var(--fs-xxl)}.text-heading{font-size:var(--fs-heading)}.text-display{font-size:var(--fs-display)}:root{--color-blue-dark: #1a5f7a;--color-blue: #20809c;--color-blue-light: #2596b8;--color-accent: #45b69c;--color-white: #ffffff;--color-bg: #f0f7f9;--color-gray-light: #f5f5f7;--color-gray-medium: #d1d5db;--color-gray-dark: #7c878e;--color-text-dark: #2d3436;--color-text-light: #636e72;--font-primary: "Fira Code", monospace;--font-secondary: "Fira Code", monospace;--font-heading: "Fira Code", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-xxl: 1.5rem;--fs-heading: 2rem;--fs-display: 2.5rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--shadow-sm: 0 2px 4px rgba(32, 128, 156, .1);--shadow-md: 0 4px 8px rgba(32, 128, 156, .15);--shadow-lg: 0 8px 16px rgba(32, 128, 156, .2);--gradient-primary: linear-gradient(135deg, var(--color-blue), var(--color-accent));--gradient-light: linear-gradient(135deg, #e3f2fd, #bbdefb)}body{font-family:var(--font-primary);background-color:var(--color-bg);color:var(--color-text-dark);line-height:1.6;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-blue-dark);margin-top:0}.school-title{font-size:var(--fs-display);font-weight:700;color:var(--color-blue);text-align:center;margin:var(--space-lg) auto;padding:var(--space-sm) var(--space-md);border-bottom:3px solid var(--color-accent);display:inline-block}a{color:var(--color-blue);text-decoration:underline;transition:color var(--transition-normal)}a:hover,a:focus{color:var(--color-accent);text-decoration:none}.text-center{text-align:center}.bg-white{background-color:var(--color-white)}@keyframes blink{0%,to{border-color:transparent}50%{border-color:var(--color-primary)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn var(--transition-normal) both}.fade-out{animation:fadeOut var(--transition-normal) both}.intro-container{position:relative;width:100%;height:100vh;overflow:hidden;font-family:var(--font-serif)}.intro-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(70%);z-index:1}.intro-text-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;color:var(--color-background);text-shadow:0 4px 8px rgba(0,0,0,.6);padding:var(--space-md)}.intro-title{font-size:var(--fs-display);font-weight:800;margin-bottom:var(--space-md);background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.intro-text{font-size:var(--fs-xl);line-height:2;font-style:italic;margin-bottom:var(--space-lg);white-space:pre-wrap;overflow:hidden;border-right:2px solid var(--color-primary);animation:blink .8s step-end infinite}.intro-text.finished{border-right:none;animation:none}.cta-button{display:inline-block;padding:var(--space-md) var(--space-lg);font-size:var(--fs-lg);font-weight:700;color:var(--color-primary-light);background:var(--color-primary);border:none;border-radius:var(--radius-lg);text-decoration:none;transition:var(--transition-normal);box-shadow:var(--shadow-md)}.cta-button:hover{background-color:var(--color-primary-light);color:var(--color-background);transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-lg)}
