@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Lato:wght@300;400;500;700&display=swap";.logo[data-astro-cid-tvrurpns]{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--text-color);text-decoration:none}.logo[data-astro-cid-tvrurpns]:hover{text-decoration:none}.logo[data-astro-cid-tvrurpns] svg[data-astro-cid-tvrurpns]{flex-shrink:0}.logo-text[data-astro-cid-tvrurpns]{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradient 3s ease infinite}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (max-width: 768px){.logo[data-astro-cid-tvrurpns]{font-size:1.125rem}.logo[data-astro-cid-tvrurpns] svg[data-astro-cid-tvrurpns]{width:32px;height:32px}}:root{--primary-color: light-dark(#2563eb, #7fb0f9);--primary-light: light-dark(#6fa8ff, #a5cbfb);--primary-dark: light-dark(#2c5aa0, #1e40af);--primary-50: light-dark(#eff6ff, #1a2f5f);--primary-100: light-dark(#dbeafe, #203f80);--primary-200: light-dark(#bfdbfe, #2b57ae);--primary-300: light-dark(#93c5fd, #3c7acc);--primary-400: light-dark(#60a5fa, #599df6);--primary-500: light-dark(#2563eb, #7fb0f9);--primary-600: light-dark(#1d4ed8, #a5cbfb);--primary-700: light-dark(#1e40af, #cce6fd);--secondary-color: light-dark(#059669, #23c7a0);--secondary-light: light-dark(#7ed49a, #50edc7);--secondary-dark: light-dark(#3a9b5c, #065f46);--secondary-50: light-dark(#ecfdf5, #0a3a2d);--secondary-100: light-dark(#d1fae5, #0f5241);--secondary-200: light-dark(#a7f3d0, #146e59);--secondary-300: light-dark(#6ee7b7, #198c70);--secondary-400: light-dark(#34d399, #1ea988);--secondary-500: light-dark(#059669, #23c7a0);--secondary-600: light-dark(#047857, #28e5b8);--secondary-700: light-dark(#065f46, #50edc7);--white: light-dark(#ffffff, #ffffff);--dark-gray: light-dark(#333333, #cccccc);--gray-50: light-dark(#f9fafb, #0d0d0d);--gray-100: light-dark(#f3f4f6, #171717);--gray-200: light-dark(#e5e7eb, #242424);--gray-300: light-dark(#d1d5db, #383838);--gray-400: light-dark(#9ca3af, #646464);--gray-500: light-dark(#6b7280, #949494);--gray-600: light-dark(#4b5563, #b4b4b4);--gray-700: light-dark(#374151, #cbcbcb);--gray-800: light-dark(#1f2937, #e5e5e5);--gray-900: light-dark(#111827, #f3f3f3);--background-color: light-dark(#f9fafb, #111827);--background-secondary: light-dark(#f9fafb, #1f2937);--background-tertiary: light-dark(#ffffff, #374151);--text-color: light-dark(#111827, #ffffff);--text-secondary: light-dark(#374151, #e5e7eb);--text-tertiary: light-dark(#4b5563, #d1d5db);--text-light: light-dark(#6b7280, #9ca3af);--text-muted: light-dark(#9ca3af, #6b7280);--text-inverse: light-dark(#ffffff, #111827);--border-color: light-dark(#d1d5db, #374151);--border-light: light-dark(#e5e7eb, #1f2937);--border-medium: light-dark(#d1d5db, #374151);--border-dark: light-dark(#9ca3af, #4b5563);--success-color: light-dark(#10b981, #15803d);--success-50: light-dark(#f0fdf4, #0f1b0f);--success-100: light-dark(#dcfce7, #1a2e1a);--success-200: light-dark(#bbf7d0, #244029);--success-300: light-dark(#86efac, #2d5a3d);--success-400: light-dark(#4ade80, #16a34a);--success-500: light-dark(#22c55e, #22c55e);--success-600: light-dark(#16a34a, #4ade80);--success-700: light-dark(#15803d, #86efac);--success-800: light-dark(#166534, #bbf7d0);--success-900: light-dark(#14532d, #dcfce7);--error-color: light-dark(#ef4444, #b91c1c);--error-50: light-dark(#fef2f2, #1f1315);--error-100: light-dark(#fecaca, #2d1b20);--error-200: light-dark(#fca5a5, #442428);--error-300: light-dark(#f87171, #5c2d31);--error-400: light-dark(#ef4444, #dc2626);--error-500: light-dark(#dc2626, #ef4444);--error-600: light-dark(#b91c1c, #f87171);--error-700: light-dark(#991b1b, #fca5a5);--error-800: light-dark(#7f1d1d, #fecaca);--error-900: light-dark(#691a1a, #fef2f2);--warning-color: light-dark(#f59e0b, #d97706);--warning-50: light-dark(#fffbeb, #1c1917);--warning-100: light-dark(#fef3c7, #292524);--warning-200: light-dark(#fde68a, #44403c);--warning-300: light-dark(#fcd34d, #57534e);--warning-400: light-dark(#fbbf24, #d97706);--warning-500: light-dark(#f59e0b, #f59e0b);--warning-600: light-dark(#d97706, #fbbf24);--warning-700: light-dark(#b45309, #fcd34d);--warning-800: light-dark(#92400e, #fde68a);--warning-900: light-dark(#78350f, #fef3c7);--info-color: light-dark(#3b82f6, #1d4ed8);--info-50: light-dark(#eff6ff, #1e354a);--info-500: #3498db;--card-bg: light-dark(#ffffff, var(--gray-900));--card-border: light-dark(#e5e7eb, var(--gray-700));--card-shadow: light-dark(rgba(0, 0, 0, .1), rgba(0, 0, 0, .5));--button-bg: light-dark(var(--primary-600), var(--primary-500));--button-hover: light-dark(var(--primary-700), var(--primary-400));--button-text: light-dark(var(--white), var(--gray-900));--input-bg: light-dark(#ffffff, var(--gray-800));--input-border: light-dark(#d1d5db, var(--gray-600));--input-focus: light-dark(var(--primary-500), var(--primary-400));--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-serif: "Playfair Display", Georgia, "Times New Roman", Times, serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;--font-family-display: "Inter", var(--font-family-sans);--font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Consolas", monospace;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--font-size-xs: clamp(.75rem, .7rem + .2vw, .8125rem);--font-size-sm: clamp(.875rem, .825rem + .25vw, .9375rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--font-size-md: clamp(1.0625rem, 1rem + .3125vw, 1.1875rem);--font-size-lg: clamp(1.125rem, 1.05rem + .375vw, 1.3125rem);--font-size-xl: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.35rem + .75vw, 1.875rem);--font-size-3xl: clamp(1.875rem, 1.65rem + 1.125vw, 2.25rem);--font-size-4xl: clamp(2.25rem, 1.95rem + 1.5vw, 3rem);--font-size-5xl: clamp(3rem, 2.4rem + 3vw, 4.5rem);--font-size-6xl: clamp(4.5rem, 3.6rem + 4.5vw, 6rem);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .125rem;--space-1-5: .375rem;--space-2: .25rem;--space-2-5: .625rem;--space-3: .5rem;--space-3-5: .875rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.25rem;--space-7: 1.5rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--space-36: 9rem;--space-40: 10rem;--space-44: 11rem;--space-48: 12rem;--space-52: 13rem;--space-56: 14rem;--space-60: 15rem;--space-64: 16rem;--space-72: 18rem;--space-80: 20rem;--space-96: 24rem;--space-fluid-xs: clamp(.5rem, 2vw, 1rem);--space-fluid-sm: clamp(1rem, 3vw, 1.5rem);--space-fluid-md: clamp(1.5rem, 4vw, 2.5rem);--space-fluid-lg: clamp(2rem, 5vw, 4rem);--space-fluid-xl: clamp(3rem, 8vw, 6rem);--space-fluid-2xl: clamp(4rem, 10vw, 8rem);--spacing-xs: var(--space-3);--spacing-sm: var(--space-5);--spacing-md: var(--space-7);--spacing-lg: var(--space-8);--spacing-xl: var(--space-10);--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--card-radius: var(--radius-lg);--button-radius: var(--radius-md);--input-radius: var(--radius-md);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-dark: var(--shadow-lg);--transition-fast: .15s ease-in-out;--transition-base: .3s ease-in-out;--transition-colors: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);--z-base: 1;--z-focus: 10;--z-dropdown: 200;--z-sticky: 30;--z-modal: 60;--z-tooltip: 80;--focus-ring-width: 2px;--focus-ring-color: light-dark(var(--primary-600), var(--primary-400));--focus-ring-offset: 2px;--focus-ring-shadow: 0 0 0 var(--focus-ring-offset) var(--background-color), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--container-max-width: 1200px;--container-padding: var(--spacing-md);--grid-gap: var(--spacing-md)}@media (min-width: 640px){:root{--grid-margin: var(--spacing-md);--text-3xl: 2.25rem;--text-4xl: 3rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);line-height:1.6;color:var(--text-color);background-color:var(--background-color);font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-size:var(--text-base);font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--text-color);margin-bottom:var(--space-4)}h1{font-size:clamp(1.8rem,4vw,2.5rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{margin-bottom:var(--space-4);line-height:var(--leading-relaxed);max-width:65ch}a{color:var(--primary-600);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-700);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}a:focus-visible{box-shadow:var(--focus-ring-shadow);border-radius:var(--border-radius-sm);outline:none}a:visited{color:var(--primary-800)}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit}input:focus,textarea:focus,select:focus{box-shadow:var(--focus-ring-shadow);outline:none;border-color:var(--input-focus)}input[type=text],input[type=email],input[type=search],textarea{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);padding:var(--space-3);color:var(--text-color);transition:var(--transition-fast)}input[type=text]:hover,input[type=email]:hover,input[type=search]:hover,textarea:hover{border-color:var(--primary-400)}*:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}*:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-40px;left:6px;background:var(--background-color);color:var(--text-color);padding:var(--space-2) var(--space-3);text-decoration:none;border-radius:var(--border-radius-md);border:2px solid var(--primary-600);z-index:var(--z-modal);transition:var(--transition-fast);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg)}.skip-link:focus{top:6px;box-shadow:var(--focus-ring-shadow),var(--shadow-lg)}@view-transition{view-transition-name: navigation;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:95vw;margin:0 auto;padding:0 var(--space-fluid-sm);box-sizing:border-box}@media (min-width: 1024px){.container{padding:0 var(--space-6)}}@media (min-width: 768px){.container{padding:0 var(--space-4)}}@media (max-width: 767px){.container{padding:0 var(--space-3)}}@media (max-width: 480px){.container{padding:0 var(--space-2)}}.row{display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gap) / -2);margin-right:calc(var(--grid-gap) / -2)}.col,[class*=col-]{padding-left:calc(var(--grid-gap) / 2);padding-right:calc(var(--grid-gap) / 2)}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}@media (min-width: 640px){.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-6{flex:0 0 50%;max-width:50%}}@media (min-width: 768px){.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}}@media (min-width: 1024px){.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}@media (min-width: 768px){.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}}.order-first{order:-1}.order-last{order:999}.order-1{order:1}@media (min-width: 768px){.order-md-1{order:1}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--primary-600)}.text-secondary{color:var(--secondary-600)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success-600)}.text-warning{color:var(--warning-600)}.text-error{color:var(--error-600)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.items-center{align-items:center}.flex-col{flex-direction:column}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.focus-ring{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (max-width: 767px){.d-sm-none{display:none}.d-sm-block{display:block}}@media (min-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);width:100%;box-sizing:border-box;animation:fadeIn .3s ease-out}@media (min-width: 1920px){.school-grid{grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:var(--spacing-xl)}}@media (min-width: 1441px){.school-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}}@media (min-width: 1024px){.school-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}}@media (max-width: 768px){.school-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}@media (max-width: 640px){.school-grid{grid-template-columns:1fr;gap:var(--space-4)}}.school-grid-container{width:100%}.results-header{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-sm);background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.results-count{font-size:var(--text-lg);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0}.sort-container{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.school-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:light-dark(var(--shadow-md),0 8px 16px -4px rgba(0,0,0,.4));transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);height:100%;display:flex;flex-direction:column;position:relative;width:100%;min-width:0;box-sizing:border-box;min-height:44px;overflow:hidden}.school-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-300)}.school-card__link{display:flex;flex-direction:column;height:100%;padding:var(--spacing-md);text-decoration:none;color:inherit}.school-card__link:hover{text-decoration:none}.school-card__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-lg)}.school-card__link:focus:not(:focus-visible){outline:none}.school-card:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);transform:translateY(-1px)}.school-card__link{display:flex;flex-direction:column;width:100%;padding:var(--space-6);color:inherit;text-decoration:none;border-radius:var(--radius-lg);outline:none}.school-card__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.school-card__header{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.school-card__logo{flex-shrink:0}.school-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:24px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.school-card__title-section{flex:1;min-width:0}.school-card__title{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--text-color);margin:0 0 var(--space-3) 0;text-rendering:optimizeLegibility;overflow-wrap:break-word;hyphens:auto}.school-card__location{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-3)}.school-card__location:before{content:"📍";font-size:14px;opacity:.8}.school-card__content{flex-grow:1;margin-bottom:var(--spacing-md)}.school-card__description{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--leading-relaxed);max-width:65ch;overflow-wrap:break-word;hyphens:auto;margin-bottom:var(--space-4)}.school-card__tags{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tag-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tag-label{font-size:.75rem;font-weight:500;color:var(--text-light-color);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.25rem}.tag-label svg{opacity:.7}.tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap}.tag--level{background-color:#2563eb1a;color:var(--primary-color);border:1px solid rgba(37,99,235,.2)}.tag--specialty{background-color:light-dark(var(--secondary-50),var(--secondary-900));color:light-dark(var(--secondary-700),var(--secondary-100));border-color:light-dark(var(--secondary-200),var(--secondary-700))}.tag--more{background-color:var(--border-color);color:var(--text-light-color);border:1px solid var(--border-color)}.specialty-icon{font-size:.875rem;line-height:1}.school-card__footer{border-top:1px solid var(--border-color);padding-top:var(--spacing-sm);margin-top:auto}.school-card__cta{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--primary-color);font-weight:500;font-size:.875rem;transition:color var(--transition-fast)}.school-card:hover .school-card__cta{color:var(--primary-dark)}.school-card__cta svg{transition:transform var(--transition-fast)}.school-card:hover .school-card__cta svg{transform:translate(2px)}@media (max-width: 768px){.results-header{flex-direction:column;text-align:center}.sort-container,.sort-select{width:100%}.school-grid{gap:var(--space-3)}.school-card__link{padding:var(--space-4)}.school-card__title{font-size:var(--font-size-xl);word-break:break-word}.school-card__description{font-size:var(--font-size-base);line-height:var(--leading-relaxed)}}@media (max-width: 480px){.school-grid{gap:var(--space-2)}.school-card__link{padding:var(--space-3)}.school-card__title{font-size:var(--font-size-lg)}.tags{gap:var(--space-1)}.tag{padding:.25rem .5rem;font-size:var(--font-size-sm)}}@media (prefers-contrast: high){.school-card{border-width:2px;border-color:var(--text-color)}.tag,.tag--level,.tag--specialty{border-width:2px}}@media (prefers-reduced-motion: reduce){.school-card,.school-card:hover{transition:none;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@media print{.school-card{box-shadow:none;border:1px solid var(--gray-400);break-inside:avoid}.school-card:hover{transform:none;box-shadow:none}}.school-detail{max-width:1200px;margin:0 auto}.school-header{background:linear-gradient(135deg,var(--primary-600),var(--secondary-600));color:var(--white);padding:var(--space-8);border-radius:var(--radius-lg);margin-bottom:var(--space-8);position:relative}.school-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));border-radius:var(--radius-lg);opacity:0;transition:opacity var(--transition-normal)}.school-header:hover:before{opacity:1}.school-header>*{position:relative;z-index:1}.school-content{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media (min-width: 1024px){.school-content{grid-template-columns:1fr 350px}}.school-sidebar{position:sticky;top:var(--space-6);align-self:start}.contact-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);transition:box-shadow var(--transition-normal)}.contact-card:hover{box-shadow:var(--shadow-lg)}.contact-card h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.contact-card p{color:var(--text-secondary);margin-bottom:var(--space-3)}.contact-card a{color:var(--primary-600);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:calc(var(--space-1) * -1) calc(var(--space-2) * -1);transition:all var(--transition-fast)}.contact-card a:hover{background-color:var(--primary-50);color:var(--primary-700)}.contact-card a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary)}.breadcrumb a{color:var(--primary-600);text-decoration:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:calc(var(--space-1) * -1) calc(var(--space-2) * -1);transition:all var(--transition-fast)}.breadcrumb a:hover{background-color:var(--primary-50);color:var(--primary-700)}.breadcrumb a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.breadcrumb-separator{color:var(--text-muted);user-select:none}.spinner,.loading-spinner{border:4px solid var(--surface-tertiary);border-top-color:var(--primary-500);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.skeleton{background-color:var(--surface-tertiary);border-radius:var(--radius-md);animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.skeleton-card{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.skeleton-card__logo{width:48px;height:48px;border-radius:50%;background-color:var(--border-color)}.skeleton-card__title{height:24px;background-color:var(--border-color);border-radius:var(--radius-sm);width:70%}.skeleton-card__tag{height:24px;width:80px;background-color:var(--border-color);border-radius:var(--radius-full)}.error-banner{background-color:var(--error-50);border:1px solid var(--error-200);color:var(--error-800);padding:var(--space-4);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--space-3)}.error-banner__icon{flex-shrink:0;width:20px;height:20px;color:var(--error-600);margin-top:1px}.error-banner__content{flex:1}.error-banner__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.error-banner__message{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.success-banner{background-color:var(--success-50);border:1px solid var(--success-200);color:var(--success-800);padding:var(--space-4);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--space-3)}.success-banner__icon{flex-shrink:0;width:20px;height:20px;color:var(--success-600);margin-top:1px}.warning-banner{background-color:var(--warning-50);border:1px solid var(--warning-200);color:var(--warning-800);padding:var(--space-4);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--space-3)}.warning-banner__icon{flex-shrink:0;width:20px;height:20px;color:var(--warning-600);margin-top:1px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast, 1000);background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-6);max-width:420px;min-width:300px;transform:translate(100%);transition:all var(--transition-normal)}.toast--show{transform:translate(0)}.toast--success{border-left:4px solid var(--success-500)}.toast--warning{border-left:4px solid var(--warning-500)}.toast--error{border-left:4px solid var(--error-500)}.toast--info{border-left:4px solid var(--primary-500)}.progress{width:100%;height:8px;background-color:var(--surface-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress__bar{height:100%;background-color:var(--primary-500);border-radius:var(--radius-full);transition:width var(--transition-normal)}@media (prefers-reduced-motion: reduce){.spinner,.loading-spinner,.skeleton,.skeleton-card{animation:none}.toast,.progress__bar{transition:none}.spinner:after,.loading-spinner:after{content:"⏳";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-size:16px}.spinner,.loading-spinner{position:relative;border:2px solid var(--border-color)}}@media (prefers-contrast: high){.error-banner,.success-banner,.warning-banner,.toast{border-width:2px}.progress{border:1px solid var(--border-color)}}@media (prefers-contrast: high){:root{--text-color: light-dark(#000000, #ffffff);--background-color: light-dark(#ffffff, #000000);--border-color: light-dark(#000000, #ffffff);--primary-600: light-dark(#0056b3, #66b3ff);--primary-700: light-dark(#004494, #4da6ff);--focus-ring-color: light-dark(#ff6b35, #ffa366);--button-bg: light-dark(#000080, #4080ff);--button-hover: light-dark(#000066, #3366cc);--error-500: light-dark(#cc0000, #ff4d4d);--success-500: light-dark(#006600, #66ff66);--warning-500: light-dark(#cc6600, #ff9933)}button,.btn,input,textarea,select{border:2px solid currentColor!important}*:focus-visible{outline:3px solid var(--focus-ring-color)!important;outline-offset:2px!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.loading{animation-duration:2s!important}}.focus-ring,*:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none;border-radius:var(--border-radius-sm);z-index:1}.focus-trap{position:relative}.focus-trap:before,.focus-trap:after{content:"";position:absolute;width:1px;height:1px;top:0;left:0;z-index:-1}.skip-to-content{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--primary-600);color:var(--white);padding:var(--space-3) var(--space-4);text-decoration:none;border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);z-index:var(--z-modal);transition:var(--transition-fast);box-shadow:var(--shadow-lg)}.skip-to-content:focus{top:var(--space-4)}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only:focus,.visually-hidden:focus{position:static!important;width:auto!important;height:auto!important;padding:var(--space-2)!important;margin:var(--space-1)!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:1px solid var(--border-color)!important;background:var(--background-color)!important;color:var(--text-color)!important}.live-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.status-message{padding:var(--space-3);border-radius:var(--border-radius-md);margin:var(--space-2) 0;border-left:4px solid}.status-message--success{background-color:var(--success-50);border-left-color:var(--success-500);color:var(--success-800)}.status-message--error{background-color:var(--error-50);border-left-color:var(--error-500);color:var(--error-800)}.status-message--warning{background-color:var(--warning-50);border-left-color:var(--warning-500);color:var(--warning-800)}.status-message--info{background-color:var(--primary-50);border-left-color:var(--primary-500);color:var(--primary-800)}.high-contrast{color:var(--text-color)!important;background-color:var(--background-color)!important}.text-contrast-aa{color:light-dark(#424242,#e0e0e0)}.text-contrast-aaa{color:light-dark(#2c2c2c,#f0f0f0)}@media (pointer: coarse){button,.btn,a,input,textarea,select{min-height:44px;min-width:44px}.btn+.btn,a+a,button+button{margin-left:var(--space-2)}}@media print{*{color:#000!important;background:transparent!important;box-shadow:none!important}a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}.no-print,[aria-hidden=true]{display:none!important}h1,h2,h3{page-break-after:avoid}p,li{page-break-inside:avoid}}.focus-within:focus-within{box-shadow:0 0 0 2px var(--focus-ring-color);border-radius:var(--border-radius-sm)}[tabindex="-1"]:focus{outline:none}[role=button],[role=link],[role=menuitem],[role=tab]{cursor:pointer}[role=button]:not([disabled]):focus,[role=link]:focus,[role=menuitem]:focus,[role=tab]:focus{box-shadow:var(--focus-ring-shadow);outline:none}main{min-height:60vh}header[role=banner],footer[role=contentinfo],nav[role=navigation],main[role=main],section[role=region]{position:relative}.required:after,[required]+label:after,label[for] .required:after{content:" *";color:var(--error-500);font-weight:var(--font-weight-bold)}.form-field--invalid input,.form-field--invalid textarea,.form-field--invalid select{border-color:var(--error-500);box-shadow:0 0 0 1px var(--error-500)}.form-field--valid input,.form-field--valid textarea,.form-field--valid select{border-color:var(--success-500);box-shadow:0 0 0 1px var(--success-500)}.error-message{color:var(--error-700);font-size:var(--font-size-sm);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.error-message:before{content:"⚠";font-weight:var(--font-weight-bold)}@media (max-width: 768px){body{font-size:max(16px,1rem)}input,button,select,textarea{min-height:44px;min-width:44px;padding:var(--space-3)}}.header[data-astro-cid-ouamjn2i]{background:var(--white);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header__nav[data-astro-cid-ouamjn2i]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.header__logo[data-astro-cid-ouamjn2i]{text-decoration:none}.header__actions[data-astro-cid-ouamjn2i]{display:flex;align-items:center;gap:var(--spacing-sm)}.main[data-astro-cid-ouamjn2i]{min-height:calc(100vh - 140px);padding:var(--spacing-lg) 0}.footer[data-astro-cid-ouamjn2i]{background:var(--text-color);color:var(--white);padding:var(--spacing-xl) 0 var(--spacing-md)}.footer__content[data-astro-cid-ouamjn2i]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer__section[data-astro-cid-ouamjn2i]{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-sm)}.footer__title[data-astro-cid-ouamjn2i]{font-size:1.125rem;font-weight:600;margin:0;color:var(--white)}.footer__description[data-astro-cid-ouamjn2i],.footer__contact[data-astro-cid-ouamjn2i]{color:#fffc;line-height:1.6;margin:0}.footer__links[data-astro-cid-ouamjn2i]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer__links[data-astro-cid-ouamjn2i] a[data-astro-cid-ouamjn2i]{color:#fffc;text-decoration:none;transition:color var(--transition-fast)}.footer__links[data-astro-cid-ouamjn2i] a[data-astro-cid-ouamjn2i]:hover,.footer__links[data-astro-cid-ouamjn2i] a[data-astro-cid-ouamjn2i]:focus{color:var(--white);text-decoration:underline}.footer__contact[data-astro-cid-ouamjn2i] a[data-astro-cid-ouamjn2i]{color:var(--secondary-color)}.footer__bottom[data-astro-cid-ouamjn2i]{display:grid;place-items:center;text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.footer__bottom[data-astro-cid-ouamjn2i] p[data-astro-cid-ouamjn2i]{margin:0;color:#fff9;font-size:.875rem}@media (max-width: 768px){.header__nav[data-astro-cid-ouamjn2i]{padding:var(--spacing-xs) 0}.header__actions[data-astro-cid-ouamjn2i] .btn[data-astro-cid-ouamjn2i]{font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.header__actions[data-astro-cid-ouamjn2i] svg[data-astro-cid-ouamjn2i]{width:16px;height:16px}.main[data-astro-cid-ouamjn2i]{padding:var(--spacing-md) 0}.footer[data-astro-cid-ouamjn2i]{padding:var(--spacing-lg) 0 var(--spacing-sm)}.footer__content[data-astro-cid-ouamjn2i]{gap:var(--spacing-md);margin-bottom:var(--spacing-md)}}
