:root{--blue-100: #D9F2FF;--blue-200: #A3CFFC;--blue-300: #2E57FA;--blue-400: #0000FF;--blue-500: #030061;--neutral-100: #FFFFFF;--neutral-200: #E4E1EC;--neutral-300: #5B5E70;--neutral-400: #2B2D42;--neutral-500: #101222;--secondary-100: #E3F5EA;--secondary-200: #B9E6C9;--secondary-300: #8FD9A8;--secondary-400: #1F7A4D;--secondary-500: #0E3B25;--red-100: #FFDBE0;--red-200: #FA8FA3;--red-300: #F21242;--red-400: #B81238;--red-500: #631429;--highlight-100: #FFF4DE;--highlight-200: #FFE3AD;--highlight-300: #FFD27A;--highlight-400: #E0A43A;--highlight-500: #7A5410;--primary-100: #F6F3FB;--primary-200: #ECE6F5;--primary-300: #50438F;--primary-400: #3F3474;--primary-500: #101222;--lavender: #C6B4DB;--surface: #FFFFFF;--page: #F6F3FB;--border: #E4E1EC;--grade-a: #1F7A4D;--grade-b: #5E9F3A;--grade-c: #E0A43A;--grade-d: #D9692F;--grade-f: #B8323F;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--shadow-sm: 0 1px 2px 0 rgb(from var(--neutral-500) r g b / .05);--shadow: 0 1px 3px 0 rgb(from var(--neutral-500) r g b / .1), 0 1px 2px -1px rgb(from var(--neutral-500) r g b / .1);--shadow-md: 0 4px 6px -1px rgb(from var(--neutral-500) r g b / .1), 0 2px 4px -2px rgb(from var(--neutral-500) r g b / .1);--shadow-lg: 0 10px 15px -3px rgb(from var(--neutral-500) r g b / .1), 0 4px 6px -4px rgb(from var(--neutral-500) r g b / .1);--shadow-xl: 0 20px 25px -5px rgb(from var(--neutral-500) r g b / .1), 0 8px 10px -6px rgb(from var(--neutral-500) r g b / .1);--shadow-2xl: 0 25px 50px -12px rgb(from var(--neutral-500) r g b / .25);--radius-sm: .375rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--header-bg: var(--neutral-500)}:root[data-school]{--primary-100: color-mix(in srgb, var(--school-bg) 6%, white);--primary-200: color-mix(in srgb, var(--school-bg) 14%, white);--primary-300: var(--school-bg);--primary-400: color-mix(in srgb, var(--school-bg) 78%, black);--lavender: var(--school-accent);--page: var(--primary-100);--header-bg: var(--school-bg)}:root[data-school] .header-login-link,:root[data-school] .site-footer__link,:root[data-school] .site-nav__link--active{color:var(--neutral-100)}:root[data-school] .site-nav__link--active,:root[data-school] .header-login-link:hover,:root[data-school] .site-footer__link:hover,:root[data-school] .site-nav__link:hover{color:var(--neutral-100);text-decoration:underline;text-underline-offset:.3em}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--page);color:var(--primary-500);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:var(--font-body);font-weight:400}img{display:block}ul,ol{list-style:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--primary-100);color:var(--primary-500)}.app-main{flex:1;width:100%}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}.page-container{max-width:64rem;margin:0 auto;padding:2rem 1rem}.page-container-sm{max-width:28rem;margin:5rem auto 0;padding:0 1rem}.page-container-md{max-width:42rem;margin:0 auto;padding:2rem 1rem}.page-container-lg{max-width:56rem;margin:0 auto;padding:3rem 1rem}.page-container-xl{max-width:80rem;margin:0 auto;padding:2rem 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s ease;line-height:1;text-decoration:none;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-lg{padding:.75rem 1rem}.btn-xl{padding:.875rem 1.5rem;font-size:1rem}.btn-primary{background-color:var(--primary-500);color:var(--primary-100);box-shadow:var(--shadow-sm);border:none}.btn-primary:hover:not(:disabled){background-color:var(--primary-400)}.btn-primary:focus{outline:2px solid var(--primary-300);outline-offset:2px}.btn-success{background-color:var(--primary-400);color:var(--primary-100);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background-color:var(--primary-500)}.btn-danger{background-color:var(--red-400);color:var(--red-100);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background-color:var(--red-500)}.btn-gray-mid{background-color:var(--neutral-300);color:var(--neutral-100);box-shadow:var(--shadow-sm)}.btn-gray-mid:hover:not(:disabled){background-color:var(--neutral-400)}.btn-gray-light{background-color:var(--neutral-200);color:var(--neutral-500)}.btn-gray-light:hover:not(:disabled){background-color:var(--neutral-200)}.btn-secondary{background-color:var(--secondary-100);color:var(--secondary-400);border:1px solid var(--secondary-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-100)}.btn-text{background:none;border:none;font-size:.875rem;font-weight:600;color:var(--primary-500);cursor:pointer;padding:0}.btn-text:hover{color:var(--primary-300)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--neutral-400);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--neutral-200);font-size:.875rem;color:var(--neutral-500);background-color:var(--neutral-100);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--primary-300);box-shadow:0 0 0 3px var(--neutral-300)}.form-input::-moz-placeholder{color:var(--neutral-300)}.form-input::placeholder{color:var(--neutral-300)}.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--neutral-200);font-size:.875rem;color:var(--neutral-500);background-color:var(--neutral-100);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{border-color:var(--primary-300);box-shadow:0 0 0 3px var(--neutral-300)}.form-range{width:100%;accent-color:var(--primary-300)}.rating-btn-row{display:flex;gap:.5rem}.rating-btn{flex:1;padding:.625rem 0;font-size:1rem;font-weight:700;border:2px solid var(--primary-300);background-color:transparent;color:var(--primary-300);cursor:pointer;transition:all .15s}.rating-btn:hover,.rating-btn--active{background-color:var(--primary-300);border-color:var(--primary-300);color:var(--neutral-100)}.form-checkbox{width:1.25rem;height:1.25rem;accent-color:var(--primary-300);cursor:pointer;flex-shrink:0}.form-file{width:100%;font-size:.875rem;color:var(--neutral-300)}.form-file::file-selector-button{margin-right:1rem;padding:.5rem 1rem;border-radius:var(--radius-full);border:none;font-size:.875rem;font-weight:600;background-color:var(--neutral-200);color:var(--primary-300);cursor:pointer;transition:background-color .15s}.form-file::file-selector-button:hover{background-color:var(--neutral-300)}.form-hint{font-size:.75rem;color:var(--neutral-300);margin-top:.25rem}.alert{padding:.75rem 1rem;font-size:.875rem;display:flex;align-items:flex-start;gap:.5rem}.alert-error{background-color:var(--neutral-200);color:var(--primary-300);border:1px solid var(--neutral-300)}.alert-success{background-color:var(--secondary-300);color:var(--neutral-500);border:1px solid var(--secondary-300)}.alert-warning{background-color:var(--highlight-300);color:var(--neutral-500);border:1px solid var(--highlight-300)}.alert-info{background-color:var(--neutral-200);color:var(--neutral-500);border:1px solid var(--neutral-300)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border:1px solid transparent}.badge-blue{background-color:var(--neutral-200);color:var(--neutral-500)}.badge-green{background-color:var(--secondary-300);color:var(--neutral-500)}.badge-gray{background-color:var(--neutral-100);color:var(--neutral-500)}.badge-red{background-color:var(--neutral-200);color:var(--primary-300)}.badge-yellow{background-color:var(--secondary-300);color:var(--neutral-500)}.badge-purple{background-color:var(--neutral-100);color:var(--primary-300)}.spinner{display:inline-block;width:3rem;height:3rem;border:2px solid transparent;border-radius:50%;animation:spin .75s linear infinite}.spinner-sm{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid transparent;border-radius:50%;animation:spin .75s linear infinite}.animate-spin{animation:spin .75s linear infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--neutral-500);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50;opacity:.97}.modal{background-color:var(--neutral-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:28rem;width:100%;padding:1.5rem}.site-header{position:sticky;top:0;z-index:50;background-color:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.site-header__inner{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;max-width:1280px;margin:0 auto}.site-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.site-logo__img{height:2.5rem;width:auto;display:block}.site-logo__icon{width:2rem;height:2rem;background-color:var(--primary-300);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--neutral-100);font-weight:700;font-size:1.125rem;transition:transform .15s;flex-shrink:0}.site-logo:hover .site-logo__icon{transform:scale(1.05)}.site-logo__text{display:flex;flex-direction:column}.site-logo__name{font-size:1.125rem;font-weight:700;color:var(--neutral-500);line-height:1;letter-spacing:-.025em;transition:color .15s}.site-logo:hover .site-logo__name{color:var(--primary-300)}.site-logo__sub{font-size:.65rem;font-weight:500;color:var(--neutral-300);letter-spacing:.1em;text-transform:uppercase}.site-nav{display:none;align-items:center;gap:1.5rem}.site-nav__link{font-size:.875rem;font-weight:500;color:var(--neutral-100);text-decoration:none;transition:color .15s}.site-nav__link:hover,.site-nav__link--active{color:var(--lavender)}.site-header__auth{display:none;align-items:center;gap:.75rem}.header-admin-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:var(--neutral-500);background-color:var(--neutral-100);border:1px solid var(--primary-300);border-radius:var(--radius-full);text-decoration:none;transition:background-color .15s}.header-admin-badge:hover{background-color:var(--neutral-200)}.admin-dot{width:.5rem;height:.5rem;background-color:var(--primary-300);border-radius:50%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.header-user-info{display:flex;flex-direction:row;align-items:center;gap:.5rem}.header-user-email{font-size:.875rem;font-weight:500;color:var(--neutral-100)}.header-user-role{font-size:.75rem;color:var(--lavender);padding-left:.5rem;border-left:1px solid var(--lavender);line-height:1}.avatar{width:2rem;height:2rem;background:linear-gradient(to bottom right,var(--primary-300),var(--highlight-300));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--neutral-100);font-weight:500;font-size:.875rem;box-shadow:var(--shadow-sm);flex-shrink:0}.header-logout{font-size:.875rem;font-weight:500;color:var(--neutral-200);background:none;border:none;cursor:pointer;padding:.25rem .5rem;transition:color .15s}.header-logout:hover{color:var(--primary-300)}.header-login-link{font-size:.875rem;font-weight:500;color:var(--lavender);text-decoration:none;transition:color .15s}.header-login-link:hover{color:var(--neutral-100)}.header-signup-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--neutral-500);background-color:var(--lavender);border-radius:var(--radius-full);text-decoration:none;transition:background-color .15s,transform .15s}.header-signup-btn:hover{background-color:var(--neutral-100);transform:translateY(-1px)}.header-mobile-controls{display:flex;align-items:center;gap:.5rem}.mobile-menu-btn{padding:.5rem;border-radius:var(--radius);color:var(--neutral-100);background:none;border:none;cursor:pointer;transition:background-color .15s;display:flex}.mobile-menu-btn:hover{background-color:var(--neutral-200)}.mobile-menu{background-color:var(--neutral-100);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}.mobile-menu__link{display:block;padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--neutral-400);text-decoration:none;transition:all .15s}.mobile-menu__link:hover,.mobile-menu__link--active{background-color:var(--neutral-200);color:var(--neutral-500)}.mobile-menu__divider{border:none;margin:.5rem 0}.mobile-menu__user-email{padding:.25rem .75rem;font-size:.875rem;color:var(--neutral-300)}.mobile-menu__admin-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--primary-300);text-decoration:none;transition:background-color .15s}.mobile-menu__admin-link:hover{background-color:var(--neutral-200)}.mobile-menu__logout{width:100%;text-align:left;padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--neutral-400);background:none;border:none;cursor:pointer;transition:all .15s}.mobile-menu__logout:hover{background-color:var(--neutral-200);color:var(--primary-300)}.header-school-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;color:var(--neutral-100);background:transparent;border:1px solid var(--lavender);border-radius:var(--radius-full);transition:background-color .15s,color .15s}.header-school-btn:hover{background-color:var(--lavender);color:var(--neutral-500)}.mobile-menu__school{display:flex;align-items:center;gap:.25rem;width:100%;padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;text-align:left;color:var(--primary-300);background-color:var(--primary-100);border:1px solid var(--lavender);margin-bottom:.25rem}.school-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#101222b3;animation:fadeIn .2s ease-out}.school-picker{position:relative;width:100%;max-width:40rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding:2rem 1.5rem 1.5rem;background-color:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);text-align:center;animation:slideUp .25s ease-out}.school-picker__close{position:absolute;top:.5rem;right:.75rem;width:2.25rem;height:2.25rem;font-size:1.75rem;line-height:1;color:var(--neutral-300);background:none;border:none;border-radius:var(--radius-full)}.school-picker__close:hover{background-color:var(--neutral-200);color:var(--neutral-500)}.school-picker__title{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.1;text-transform:uppercase;color:var(--neutral-500);margin-bottom:.5rem}.school-picker__subtitle{font-size:.9375rem;color:var(--neutral-300);margin:0 auto 1.5rem;max-width:30rem}.school-picker__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:640px){.school-picker__grid{grid-template-columns:repeat(8,minmax(0,1fr))}.school-option{grid-column:span 2}.school-option:nth-last-child(1):nth-child(4n+1){grid-column:4 / span 2}.school-option:nth-last-child(2):nth-child(4n+1){grid-column:3 / span 2}.school-option:nth-last-child(3):nth-child(4n+1){grid-column:2 / span 2}}.school-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:5.5rem;padding:.75rem .5rem;border:3px solid transparent;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .15s,box-shadow .15s}.school-option:hover,.school-option:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.school-option:focus-visible{outline:3px solid var(--neutral-500);outline-offset:2px}.school-option--current{border-color:currentColor}.school-option__short{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.school-option__short--long{font-size:1.2rem}.school-option__name{font-size:.75rem;font-weight:600;line-height:1.2;opacity:.9}.school-picker__skip{margin-top:1.25rem;font-size:.875rem;font-weight:500;color:var(--neutral-300);background:none;border:none;text-decoration:underline}.school-picker__skip:hover{color:var(--neutral-500)}.auth-post-notice{display:block;margin-bottom:1rem}.auth-post-notice a{font-weight:600;text-decoration:underline}.site-footer{background-color:var(--header-bg);color:var(--neutral-200);margin-top:auto}.site-footer__inner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;max-width:1280px;margin:0 auto;text-align:center}.site-footer__copy{font-size:.875rem;color:var(--neutral-200)}.site-footer__copy strong{font-family:var(--font-display);font-size:1.125rem;letter-spacing:.02em;text-transform:uppercase;color:var(--neutral-100)}.partner-badge{display:inline-block;margin-left:.75rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;vertical-align:middle;color:var(--neutral-500);background-color:var(--lavender);border-radius:var(--radius-full)}.site-footer__links{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:1.5rem}.site-footer__link{font-size:.875rem;font-weight:500;color:var(--lavender);text-decoration:none;transition:color .15s}.site-footer__link:hover{color:var(--neutral-100)}.demo-banner{background-color:var(--highlight-300);color:var(--neutral-500);font-size:.875rem;text-align:center;padding:.5rem 1rem}.demo-banner code{font-family:var(--font-mono);background-color:var(--highlight-300);padding:.125rem .25rem;border-radius:.25rem;font-size:.8125rem}.hero{background-color:var(--surface);border-bottom:1px solid var(--border);color:var(--neutral-500);padding:4rem 1rem 3.5rem;position:relative;overflow:hidden}.hero__content{position:relative;z-index:1;text-align:center;max-width:1280px;margin:0 auto}.hero__title{font-size:2.5rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em;animation:fadeIn .5s ease-out}.hero__logo{max-width:36rem;width:100%;height:auto;margin:0 auto 1.5rem;display:block;animation:fadeIn .5s ease-out}.hero__title-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:0 auto 1.5rem;max-width:52rem;animation:fadeIn .5s ease-out}.hero__title-logo{flex:0 1 34rem;min-width:0}.hero__title-row .hero__logo{margin:0;max-width:100%}.hero__tagline{flex:0 0 auto;max-width:11rem;padding-left:1.25rem;border-left:4px solid var(--lavender);font-family:var(--font-display);font-weight:700;font-size:1.75rem;line-height:1.05;letter-spacing:.02em;text-transform:uppercase;text-align:left;color:var(--primary-300)}@media(max-width:639px){.hero__title-row{flex-direction:column;gap:.75rem}.hero__title-logo{flex-basis:auto;width:100%}.hero__tagline{max-width:none;padding:.25rem 0 0;border-left:none;border-top:4px solid var(--lavender);font-size:1.25rem;text-align:center}}.hero__kicker{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-300);margin-bottom:1.25rem}.hero__subtitle{font-size:1.25rem;color:var(--neutral-400);margin-bottom:2rem;max-width:42rem;margin-left:auto;margin-right:auto;animation:slideUp .5s ease-out;font-family:var(--font-body);font-weight:700;text-align:center}.hero__search-wrap{max-width:42rem;margin:0 auto;animation:slideUp .5s ease-out .1s both}.hero__search-box{display:flex;align-items:center;background-color:var(--surface);border:2px solid var(--neutral-500);border-radius:var(--radius-full);box-shadow:0 6px 0 var(--lavender);padding:.25rem .5rem;transition:box-shadow .2s,transform .2s}.hero__search-box:focus-within{transform:translateY(-2px);box-shadow:0 8px 0 var(--primary-300)}.hero__search-icon{padding-left:1rem;color:var(--neutral-500);flex-shrink:0;display:flex}.hero__search-input{flex:1;min-width:0;padding:.875rem .75rem;font-size:1.0625rem;color:var(--neutral-500);background:transparent;border:none;outline:none}.hero__search-input::-moz-placeholder{color:var(--neutral-300)}.hero__search-input::placeholder{color:var(--neutral-300)}.focus-areas{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;max-width:48rem;margin:2.5rem auto 0;animation:fadeIn .5s ease-out .3s both}.focus-areas__school{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.focus-areas__school-name{font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--neutral-500)}.focus-chip{display:inline-flex;align-items:center;padding:.3125rem .75rem;font-size:.8125rem;font-weight:500;color:var(--primary-400);background-color:var(--primary-100);border:1px solid var(--lavender);border-radius:var(--radius-full);cursor:pointer;transition:background-color .15s,color .15s}.focus-chip--more{font-weight:600;background-color:transparent;border-style:dashed}.focus-chip--active{background-color:var(--primary-300);border-color:var(--primary-300);color:var(--neutral-100)}@media(hover:hover){.focus-chip:hover{background-color:var(--primary-300);border-color:var(--primary-300);color:var(--neutral-100)}}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.section-heading__title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--neutral-500)}.section-heading__meta{font-size:.875rem;color:var(--neutral-300)}.section-heading__clear{margin-left:.5rem;font-weight:600;color:var(--primary-300);background:none;border:none;text-decoration:underline}.hero__add-cta{margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;animation:fadeIn .5s ease-out .2s both}.hero__add-cta-label{color:var(--neutral-500)}.hero__add-cta-btn{display:flex;align-items:center;gap:.25rem;color:var(--primary-300);font-weight:600;background:none;border:none;cursor:pointer;transition:color .15s}.hero__add-cta-btn:hover{color:var(--primary-400)}.hero__add-cta-btn:hover svg{transform:translate(4px)}.hero__add-cta-btn svg{transition:transform .15s;display:block}.content-section{padding:3rem 1rem 4rem;max-width:1280px;margin:0 auto}.landlord-grid{display:grid;grid-template-columns:1fr;gap:1rem}.landlord-grid__empty{grid-column:1 / -1;text-align:center;padding:5rem 2rem;background-color:var(--neutral-100);border-radius:var(--radius-2xl);border:2px dashed var(--neutral-200)}.landlord-grid__empty-emoji{font-size:3.75rem;margin-bottom:1rem}.landlord-grid__empty-title{font-size:1.5rem;font-weight:700;color:var(--neutral-500);margin-bottom:.5rem}.landlord-grid__empty-desc{color:var(--neutral-400);margin-bottom:1.5rem}.spinner-center{display:flex;justify-content:center;align-items:center;padding:5rem 0}.landlord-card-wrapper{position:relative}.landlord-card-link{display:block;height:100%;text-decoration:none;color:inherit}.landlord-card__body{display:flex;flex-direction:column;flex:1;min-width:0}.landlord-card{background-color:var(--surface);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .2s;height:100%;display:flex;flex-direction:row;align-items:center;gap:1.25rem}.landlord-card--deletable .landlord-card__header{padding-right:4.5rem}.landlord-card__delete{position:absolute;top:1rem;right:1rem;z-index:1}.landlord-card__delete:disabled{cursor:wait;opacity:.6}.landlord-card-link:hover .landlord-card,.landlord-card-link:focus-visible .landlord-card{border-color:var(--lavender);box-shadow:var(--shadow-md);transform:translateY(-2px)}.landlord-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem;gap:.5rem}.landlord-card__grade{width:3.5rem;height:3.5rem;background-color:var(--primary-100);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--primary-500);font-family:var(--font-display);font-weight:700;font-size:1.75rem;flex-shrink:0;transition:all .3s}.landlord-card__pending-badge{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--neutral-500);background-color:var(--secondary-300)}.landlord-card__name{font-size:1.125rem;color:var(--neutral-500);margin-bottom:0;transition:color .2s;font-family:var(--font-body);font-weight:600;letter-spacing:-.01em}.landlord-card-link:hover .landlord-card__name{color:var(--primary-300)}.landlord-card__stats-row{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-bottom:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.375rem}.landlord-card__stat{display:flex;align-items:baseline;gap:.25rem}.landlord-card__stat-value{font-weight:700;color:var(--neutral-500)}.landlord-card__stat-label{color:var(--neutral-300)}.landlord-card__stat-divider{color:var(--neutral-200)}.landlord-card__footer{margin-top:auto}.landlord-card__rating-count{font-size:.875rem;color:var(--neutral-300);text-transform:uppercase;font-weight:500;letter-spacing:.05em}.landlord-card__address{display:flex;align-items:flex-start;gap:.5rem;color:var(--neutral-300);font-size:.875rem}.landlord-card__address-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landlord-header-card{background-color:var(--neutral-100);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-500);margin-bottom:2rem;position:relative;overflow:hidden}.landlord-header-card__body{position:relative;z-index:1;padding:2rem}.landlord-top{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem}.landlord-top__info{flex:1}.landlord-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.landlord-name-input{flex:1 1 14rem;max-width:28rem;font-size:1.5rem;font-weight:700}.landlord-title{font-size:2.25rem;color:var(--neutral-500);letter-spacing:-.025em;font-family:var(--font-body);font-weight:700}.landlord-location{display:flex;align-items:center;gap:.5rem;color:var(--neutral-400);font-size:1.125rem;margin-bottom:.5rem}.landlord-addresses{margin-top:.75rem;max-width:36rem}.landlord-addresses__label{font-size:.75rem;font-weight:600;color:var(--neutral-300);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.property-list{display:flex;flex-direction:column;gap:.375rem}.property-row{display:flex;align-items:center;gap:.5rem}.property-row__btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem .75rem;padding:.5rem .75rem;text-align:left;font-size:.875rem;color:var(--neutral-500);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,background-color .15s}.property-row__btn:hover:not(:disabled){border-color:var(--lavender)}.property-row__btn--active{border-color:var(--primary-300);background-color:var(--primary-100)}.property-row__btn:disabled{cursor:default}.property-row__address{font-weight:500}.property-row__meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--neutral-300)}.property-row__grade{min-width:1.75rem;padding:.125rem .375rem;text-align:center;font-family:var(--font-display);font-size:.9375rem;font-weight:700;border-radius:var(--radius-sm)}.property-row__building{font-weight:600;color:var(--neutral-400)}.reviews-filter-note{font-size:.875rem;color:var(--neutral-300)}.reviews-verified-note{display:flex;align-items:flex-start;gap:.5rem;margin:.75rem 0 1rem;padding:.625rem .875rem;font-size:.875rem;line-height:1.4;color:var(--primary-500);background-color:var(--primary-100);border:1px solid var(--primary-200);border-radius:var(--radius-lg)}.reviews-verified-note svg{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.0625rem;color:var(--primary-300)}.landlord-address-row{display:flex;align-items:center;gap:.5rem;color:var(--neutral-400);font-size:.875rem}.landlord-address-remove{background:none;border:none;cursor:pointer;color:var(--primary-300);padding:0;display:flex;align-items:center;transition:color .15s}.landlord-address-remove:disabled{opacity:.5}.landlord-address-remove:hover:not(:disabled){color:var(--highlight-300)}.landlord-address-add{margin-left:1.75rem;margin-top:.75rem}.landlord-address-manage-btn{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--primary-300);font-weight:500;background:none;border:none;cursor:pointer;transition:color .15s}.landlord-address-manage-btn:hover{color:var(--highlight-300)}.landlord-address-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.landlord-address-input{padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--neutral-200);outline:none;transition:box-shadow .15s}.landlord-address-input:focus{box-shadow:0 0 0 2px var(--neutral-300)}.landlord-address-btn{padding:.375rem .75rem;font-size:.875rem;border:none;cursor:pointer;font-weight:500;transition:all .15s}.landlord-address-btn-add{background-color:var(--primary-300);color:var(--neutral-100)}.landlord-address-btn-add:hover:not(:disabled){background-color:var(--highlight-300)}.landlord-address-btn-add:disabled{opacity:.5;cursor:not-allowed}.landlord-address-btn-done{background-color:var(--neutral-200);color:var(--neutral-400)}.landlord-address-btn-done:hover:not(:disabled){background-color:var(--neutral-200)}.landlord-rating-hero{margin-bottom:1.5rem}.landlord-rating-hero__value{font-size:4rem;font-weight:800;color:var(--neutral-500);line-height:1}.landlord-rating-hero__label{font-size:.875rem;color:var(--neutral-300);font-weight:600;margin-top:.375rem;text-transform:uppercase;letter-spacing:.05em}.landlord-score-box{display:flex;align-items:center;gap:1.5rem;background-color:var(--neutral-100);padding:1rem 1.5rem;border:1px solid var(--neutral-100);flex-shrink:0}.landlord-score-item{text-align:center}.landlord-score-value{font-size:1.875rem;font-weight:700;color:var(--neutral-500)}.landlord-score-label{font-size:.75rem;color:var(--neutral-300);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.landlord-score-divider{width:1px;height:2.5rem;background-color:var(--neutral-200)}.landlord-score-count{font-size:1.875rem;font-weight:700;color:var(--neutral-500)}.landlord-common-tags{margin-bottom:2rem;padding-bottom:2rem}.landlord-common-tags__title{font-size:.75rem;font-weight:700;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.landlord-tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.landlord-tag{display:inline;color:var(--primary-300);font-size:.875rem;font-weight:500}.landlord-tag__count{color:var(--neutral-300);font-size:.75rem;font-weight:600}.landlord-header-card__body{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:768px){.landlord-header-card__body{flex-direction:row;align-items:flex-start;gap:2rem}.landlord-header-card__main{flex:1;min-width:0}.landlord-stats-grid{flex-shrink:0;width:auto}}.landlord-stats-grid{display:flex;flex-direction:column;gap:0}@media(min-width:768px){.landlord-stats-grid{align-self:stretch}.quick-stats-grid{height:100%}}.landlord-stats-title{font-size:.75rem;font-weight:700;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.rating-bar-row{margin-bottom:1rem}.rating-bar-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.25rem}.rating-bar-label{color:var(--neutral-400);font-weight:500}.rating-bar-value{font-weight:700;color:var(--neutral-500)}.rating-bar-track{width:100%;background-color:var(--neutral-100);height:.5rem}.rating-bar-fill{height:100%;transition:width .3s}.rating-bar-fill--high{background-color:var(--secondary-300)}.rating-bar-fill--mid{background-color:var(--highlight-300)}.rating-bar-fill--low{background-color:var(--primary-300)}.quick-stats-grid{display:flex;flex-direction:column;gap:.5rem;height:100%}.quick-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.875rem 1.25rem;background-color:var(--neutral-200);flex:1}.quick-stat-value{font-size:1.5rem;font-weight:700;color:var(--neutral-500);line-height:1;margin-bottom:.375rem}.quick-stat-label{color:var(--neutral-300);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.reviews-title-row{display:flex;align-items:center;gap:.75rem}.reviews-title{font-size:2rem;font-weight:700;color:var(--neutral-500);font-family:var(--font-display);text-transform:uppercase}.reviews-count-badge{background-color:var(--neutral-100);color:var(--primary-300);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.reviews-hidden-badge{font-size:.875rem;color:var(--primary-300);background-color:var(--neutral-200);padding:.25rem .75rem;border:1px solid var(--neutral-300)}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.reviews-empty{text-align:center;background-color:var(--neutral-100);padding:3rem 2rem;box-shadow:var(--shadow-sm);border:1px solid var(--neutral-100)}.reviews-empty-icon{color:var(--neutral-200);margin-bottom:1rem;display:flex;justify-content:center}.review-card{background-color:var(--neutral-100);padding:1.5rem;box-shadow:var(--shadow-sm);transition:all .3s}.review-card:hover{box-shadow:var(--shadow-md)}.review-card--deleted{border-color:var(--neutral-300);background-color:var(--neutral-200);opacity:.75}.review-deleted-banner{display:flex;align-items:center;gap:.5rem;color:var(--primary-300);font-size:.875rem;font-weight:500;background-color:var(--neutral-200);padding:.5rem .75rem;margin-bottom:1rem}.review-card__topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.review-card__date-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.review-card__address{font-size:1.25rem;color:var(--neutral-400);font-weight:500;font-family:var(--font-body)}.review-card__header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.review-card__grades{float:left;display:flex;flex-direction:column;gap:.75rem;margin:0 1.25rem 1rem 0}.review-grade-block{display:flex;flex-direction:column;align-items:center;gap:.375rem}.review-grade-box{width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;background-color:var(--primary-200);font-size:1.75rem;font-weight:800;color:var(--primary-500);line-height:1}.review-card__main{overflow:hidden}.review-rating-num{font-weight:600;font-size:.8rem;color:var(--neutral-300);text-transform:uppercase;letter-spacing:.05em}.review-meta-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--neutral-300)}.review-you-badge{padding:.125rem .5rem;background-color:var(--neutral-200);color:var(--primary-300);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.review-school-tag{padding:.125rem .5rem;background-color:var(--primary-100);color:var(--primary-400);border:1px solid var(--lavender);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;white-space:nowrap}.review-card__badges{flex-shrink:0;display:flex;flex-wrap:wrap;gap:.5rem}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap .tooltip-box{pointer-events:none;position:absolute;left:50%;top:100%;z-index:10;margin-top:.5rem;width:14rem;transform:translate(-50%);border-radius:.375rem;background-color:var(--neutral-500);padding:.25rem .5rem;font-size:.6875rem;line-height:1.4;color:var(--neutral-100);opacity:0;box-shadow:var(--shadow-lg);transition:opacity .15s}.tooltip-wrap:hover .tooltip-box{opacity:1}.review-comment{margin-bottom:1.5rem;color:var(--neutral-400);line-height:1.625;white-space:pre-wrap}.review-stats-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.review-stat-box{padding:.75rem;background-color:var(--neutral-100);border:1px solid var(--neutral-100);text-align:center}.review-stat-label{font-size:.75rem;color:var(--neutral-300);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.review-stat-value{font-weight:600;color:var(--neutral-500)}.review-tags-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.5rem}.review-tag{display:inline;color:var(--primary-300);font-size:.875rem;font-weight:500}.review-card__foot{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;color:var(--neutral-400);padding-top:1rem;margin-bottom:1rem}.review-foot-item{display:flex;align-items:center;gap:.5rem}.review-foot-label{font-weight:500;color:var(--neutral-300)}.review-foot-yes{display:flex;align-items:center;gap:.25rem;font-weight:700;color:var(--highlight-300)}.review-foot-no{display:flex;align-items:center;gap:.25rem;font-weight:700;color:var(--primary-300)}.review-foot-item>span:last-child{font-weight:700}.review-card__actions{display:flex;gap:.75rem}.review-action-btn{padding:.375rem .75rem;font-size:.875rem;font-weight:500;background:none;border:none;cursor:pointer;transition:all .15s}.review-action-btn--edit{color:var(--primary-300)}.review-action-btn--edit:hover{color:var(--primary-300);background-color:var(--neutral-200)}.review-action-btn--delete{color:var(--primary-300)}.review-action-btn--delete:hover{color:var(--primary-300);background-color:var(--neutral-200)}.review-action-btn--restore{color:var(--highlight-300)}.review-action-btn--restore:hover{color:var(--neutral-500);background-color:var(--secondary-300)}.review-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--primary-300);border-radius:var(--radius);background-color:var(--neutral-200)}.tag-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.tag-btn{padding:.375rem .75rem;font-size:.875rem;font-weight:500;border:1px solid var(--primary-300);background-color:var(--neutral-100);color:var(--primary-300);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag-btn:hover{border-color:var(--primary-300);color:var(--primary-300)}.tag-btn--selected{background-color:var(--primary-300);color:var(--neutral-100);border-color:var(--primary-300)}.tag-count-hint{font-size:.75rem;color:var(--primary-300);margin-top:.5rem}.verification-hint{margin-top:.5rem;padding:.75rem;background-color:var(--neutral-200);border:1px solid var(--highlight-300);border-radius:var(--radius)}.verification-hint p{font-size:.75rem;color:var(--highlight-300)}.file-selected-hint{font-size:.75rem;color:var(--highlight-300);margin-top:.25rem}.auth-page{max-width:28rem;margin:5rem auto 0;padding:0 1rem}.auth-card{background-color:var(--neutral-100);padding:2rem;box-shadow:var(--shadow-lg)}.auth-title{font-size:1.875rem;font-weight:700;text-align:center;margin-bottom:.5rem;color:var(--neutral-500);font-family:var(--font-display);text-transform:uppercase}.auth-subtitle{text-align:center;color:var(--neutral-300);margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-link-row{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--neutral-400)}.auth-link-row a{color:var(--primary-300);font-weight:600;text-decoration:none}.auth-link-row a:hover{color:var(--primary-300)}.auth-link-btn{background:none;border:none;cursor:pointer;color:var(--primary-300);font-weight:600;font-size:.875rem;padding:0}.auth-link-btn:hover{color:var(--primary-300)}.verify-success-icon{width:4rem;height:4rem;background-color:var(--secondary-300);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.form-page{max-width:42rem;margin:0 auto;background-color:var(--neutral-100);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow-xl)}.form-page__title{font-size:1.875rem;text-align:center;margin-bottom:.5rem;font-family:var(--font-body);font-weight:700}.form-page__subtitle{font-size:1.25rem;color:var(--neutral-400);text-align:center;margin-bottom:1.5rem}.form-page__form{display:flex;flex-direction:column;gap:1.5rem}.form-divider{padding-top:1rem}.form-checkbox-row{display:flex;align-items:center;gap:.75rem;cursor:pointer}.form-tos{font-size:.875rem;color:var(--neutral-400);text-align:center}.form-tos a{font-weight:600;color:var(--primary-300);text-decoration:underline}.form-tos a:hover{color:var(--highlight-300)}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background-color:var(--neutral-100);border:1px solid var(--neutral-200);border-top:none;box-shadow:var(--shadow-md);list-style:none;margin:0;padding:0;max-height:14rem;overflow-y:auto}.autocomplete-option{padding:.6rem .875rem;font-size:.9375rem;color:var(--neutral-500);cursor:pointer;border-bottom:1px solid var(--neutral-100)}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option--highlighted,.autocomplete-option:hover{background-color:var(--neutral-200);color:var(--primary-300)}.form-btn-row{display:flex;gap:1rem}.admin-page{max-width:80rem;margin:0 auto;padding:2rem 1rem}.admin-title{font-size:2.75rem;font-weight:700;color:var(--neutral-500);margin-bottom:2rem;font-family:var(--font-display);text-transform:uppercase;text-align:center}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}@media(min-width:640px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{background-color:var(--neutral-500);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.375rem}.admin-stat-card__value{font-size:2.25rem;font-weight:700;color:var(--neutral-100);line-height:1}.admin-stat-card__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-300);text-align:center}.admin-tabs{margin-bottom:1.5rem}.admin-tabs__nav{display:flex;gap:2rem;margin-bottom:-1px}.admin-tab{padding:1rem;font-weight:900;font-size:.875rem;cursor:pointer;background:none;color:var(--primary-300);transition:all .15s;border:1px solid var(--primary-300);text-transform:uppercase}.admin-tab:hover{color:var(--neutral-500);background-color:var(--secondary-300)}.admin-tab--active{color:var(--neutral-100);background-color:var(--primary-300);border:transparent}.admin-pending-review{display:flex;flex-direction:column;gap:.5rem}.admin-pending-review__landlord{margin-bottom:0}.admin-pending-review__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--neutral-200)}.admin-attached-review{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--primary-300)}.admin-attached-review__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-300);margin-bottom:.75rem}.admin-items{display:flex;flex-direction:column;gap:1rem}.admin-item{background-color:var(--neutral-100);padding:1.5rem;border:1px solid var(--neutral-200)}.admin-item__inner{display:flex;justify-content:space-between;align-items:flex-start}.admin-item__info{flex:1}.admin-item__actions{display:flex;gap:.5rem;margin-left:1rem;flex-shrink:0}@media(max-width:640px){.admin-item__inner{flex-direction:column}.admin-item__actions{margin-left:0;margin-top:1rem}}.admin-item__name{font-size:1.25rem;font-weight:700;color:var(--neutral-500);margin-bottom:.5rem;font-family:var(--font-body)}.admin-item__detail{color:var(--neutral-400);margin-bottom:.25rem}.admin-item__date{font-size:.875rem;color:var(--neutral-300)}.admin-btn{padding:.5rem 1rem;border-radius:.375rem;border:none;cursor:pointer;color:var(--neutral-100);font-size:.875rem;font-weight:500;transition:all .15s}.admin-btn-approve{background-color:var(--secondary-300);color:#000}.admin-btn-approve:hover{background-color:var(--highlight-300);color:#fff}.admin-btn-reject{background-color:var(--primary-300)}.admin-btn-reject:hover{background-color:var(--highlight-300)}.admin-review-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:.75rem}.admin-review-stat-label{font-size:.875rem;color:var(--neutral-300)}.admin-review-stat-value{font-weight:600}.admin-file-btn{background:none;border:none;color:var(--primary-300);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-decoration:none}.admin-file-btn:hover{text-decoration:underline}.admin-file-btn:disabled{opacity:.5;cursor:not-allowed}.admin-empty{text-align:center;color:var(--neutral-300);padding:2rem 0}.hero h1{font-size:2.75rem;font-weight:700;color:var(--neutral-500);margin-bottom:2rem;font-family:var(--font-display);text-transform:uppercase;text-align:center}.about-subtitle{font-size:1.125rem;color:var(--neutral-300);margin-bottom:2.5rem}.about-sections{display:flex;flex-direction:column;gap:2.25rem;line-height:1.75;padding:3rem 1rem 4rem;max-width:44rem;margin:0 auto;font-weight:400;color:var(--neutral-400)}.about-sections h2{font-size:1.5rem;font-weight:700;color:var(--neutral-500);margin-bottom:.5rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em}.about-sections p+p{margin-top:.5rem}.about-sections a,.faq-item__a a{color:var(--primary-300);font-weight:600;text-decoration:underline}.faq-list{max-width:44rem;margin:0 auto;padding:3rem 1rem 4rem;display:flex;flex-direction:column;gap:.75rem}.faq-item{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .2s}.faq-item[open]{border-color:var(--lavender)}.faq-item__q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 1.25rem;font-weight:600;font-size:1.0625rem;color:var(--neutral-500);cursor:pointer;list-style:none}.faq-item__q::-webkit-details-marker{display:none}.faq-item__q:after{content:"+";flex-shrink:0;font-size:1.5rem;font-weight:400;line-height:1;color:var(--primary-300);transition:transform .2s}.faq-item[open] .faq-item__q:after{transform:rotate(45deg)}.faq-item__q:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px;border-radius:var(--radius-lg)}.faq-item__a{padding:0 1.25rem 1.25rem;line-height:1.7;color:var(--neutral-400)}.content-page{max-width:48rem;margin:0 auto;padding:1.5rem;background-color:var(--neutral-100);border-radius:var(--radius);box-shadow:var(--shadow-md)}.content-page h1{font-size:2.75rem;font-weight:700;margin-bottom:2rem;font-family:var(--font-display);text-transform:uppercase;text-align:center}.content-page h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--neutral-500)}.content-page p{margin-bottom:.75rem;color:var(--neutral-400)}.content-page a{color:var(--primary-300)}.content-page a:hover{text-decoration:underline}.content-section-block{margin-bottom:2rem;color:var(--neutral-400);display:flex;flex-direction:column;font-size:1.25rem;font-family:var(--font-body);font-weight:100;color:var(--neutral-500);margin-bottom:1rem;ex-direction:column;gap:.5rem}.resources-header{text-align:center;margin-bottom:3rem}.resources-title{font-size:2.75rem;font-weight:700;color:var(--neutral-100);margin-bottom:2rem;font-family:var(--font-display);text-transform:uppercase;text-align:center}.resources-subtitle{font-size:1.25rem;color:var(--neutral-400)}.resources-content{padding:3rem 1rem;max-width:56rem;margin:0 auto}.resources-categories{display:flex;flex-direction:column;gap:3rem}.resources-category{background-color:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.resources-link+.resources-link{border-top:1px solid var(--border)}.resources-category__header{background-color:var(--neutral-500);padding:1rem 1.5rem}.resources-category__title{font-size:1.25rem;font-weight:700;color:var(--neutral-100);font-family:var(--font-body)}.resources-link{display:block;padding:1.5rem;text-decoration:none;color:inherit;transition:background-color .15s}.resources-link:hover{background-color:var(--neutral-200)}.resources-link__inner{display:flex;justify-content:space-between;align-items:flex-start}.resources-link__title{font-size:1.125rem;font-weight:600;color:var(--neutral-500);margin-bottom:.25rem;transition:color .15s;font-family:var(--font-display);text-transform:uppercase}.resources-link:hover .resources-link__title{color:var(--primary-300)}.resources-link__desc{color:var(--neutral-400)}.resources-link__icon{color:var(--neutral-300);margin-top:.25rem;flex-shrink:0;transition:color .15s}.resources-link:hover .resources-link__icon{color:var(--primary-300)}.resources-disclaimer{margin-top:3rem;background-color:var(--neutral-200);border:1px solid var(--neutral-300);padding:1.5rem;display:flex;align-items:flex-start;gap:1rem}.resources-disclaimer__icon{color:var(--primary-300);flex-shrink:0;margin-top:.25rem}.resources-disclaimer__title{font-weight:700;color:var(--neutral-500);margin-bottom:.25rem}.resources-disclaimer__text{font-size:.875rem;color:var(--neutral-500)}.not-found-page{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem}.not-found-page__number{font-size:9rem;font-weight:800;color:var(--neutral-300);margin-bottom:1rem;line-height:1}.not-found-page__title{font-size:2.25rem;font-weight:700;color:var(--neutral-500);margin-bottom:1rem}.not-found-page__desc{font-size:1.125rem;color:var(--neutral-400);margin-bottom:2rem;max-width:28rem}.verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--neutral-100);padding:1rem}.verify-card{max-width:28rem;width:100%;background-color:var(--neutral-100);box-shadow:var(--shadow-md);border-radius:var(--radius);padding:2rem;text-align:center}.verify-spinner-wrap{margin-bottom:1rem;display:flex;justify-content:center}.verify-title{font-size:1.5rem;font-weight:700;color:var(--neutral-500);margin-bottom:.5rem}.verify-text{color:var(--neutral-400);margin-bottom:1rem}.verify-hint{font-size:.875rem;color:var(--neutral-300)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:639px){.review-card__grades{float:none;flex-direction:row;margin:0 0 1rem;width:100%}}@media(min-width:640px){.review-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.site-nav,.site-header__auth{display:flex}.header-mobile-controls{display:none}.mobile-menu{display:none!important}.site-footer__inner{flex-direction:row;justify-content:space-between;text-align:left}.hero__title{font-size:4rem}.hero__subtitle{font-size:1.5rem}.hero__add-cta{font-size:1rem}.landlord-grid{grid-template-columns:repeat(2,1fr)}.landlord-top{flex-direction:row;align-items:center}.review-card__header{flex-direction:row;align-items:flex-start;justify-content:space-between}}@media(min-width:1024px){.landlord-grid{grid-template-columns:repeat(2,1fr)}}.review-votes{display:flex;align-items:center;gap:.5rem;margin:.75rem 0}.review-votes__label{font-size:.875rem;color:var(--neutral-300);margin-right:.25rem}.review-vote-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600;color:var(--primary-300);background:none;border:1px solid var(--primary-200);border-radius:999px;cursor:pointer;transition:all .15s}.review-vote-btn svg{width:.875rem;height:.875rem}.review-vote-btn:hover:not(:disabled){background-color:var(--neutral-200)}.review-vote-btn--active{color:#fff;background-color:var(--primary-300);border-color:var(--primary-300)}.review-vote-btn--active:hover:not(:disabled){background-color:var(--primary-300)}.review-vote-btn:disabled{opacity:.5;cursor:not-allowed}.semester-notice{max-width:40rem;margin:2rem auto;padding:1.5rem;text-align:center;background-color:var(--primary-100);border:1px solid var(--primary-200);border-radius:var(--radius-lg)}.semester-notice h2{margin:0 0 .5rem}.semester-notice p{margin:0 0 1rem;line-height:1.5}.semester-notice__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}.neighborhood-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.neighborhood-chip{padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:var(--primary-300);background:none;border:1px solid var(--primary-200);border-radius:999px;cursor:pointer;transition:all .15s}.neighborhood-chip:hover{background-color:var(--neutral-200)}.neighborhood-chip--active{color:#fff;background-color:var(--primary-300);border-color:var(--primary-300)}.neighborhood-chip--active:hover{background-color:var(--primary-300)}.neighborhood-hint{margin-top:.375rem;font-size:.8125rem;color:var(--neutral-300)}.landlord-neighborhoods{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.signup-terms{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0;font-size:.875rem;line-height:1.4}.signup-terms input{margin-top:.2rem}.terms-reviews-box{margin:1.5rem 0;padding:1rem 1.25rem;background-color:var(--primary-100);border:1px solid var(--primary-200);border-radius:var(--radius-lg);line-height:1.5}.terms-reviews-box h2{margin-top:0}.review-rules{margin:1rem 0;padding:.75rem 1rem;font-size:.875rem;line-height:1.45;background-color:var(--primary-100);border:1px solid var(--primary-200);border-radius:var(--radius-lg)}.review-card__neighborhood{font-weight:400;color:var(--neutral-300)}.focus-areas__suggest{flex:0 0 100%;text-align:center;margin:0;font-size:.8125rem;opacity:.85}.focus-areas__suggest a{color:inherit;text-decoration:underline}
