.form-container{width:100%;margin-left:auto;margin-right:auto;margin-bottom:1px;padding:1.5rem;background-color:var(--color-light-violet-2)}@media (max-width:600px){.form-container{padding-left:16px;padding-right:16px}}.form-container form{display:block;margin:0 auto;max-width:42rem}.form-container--auth form{max-width:28rem}.form-content{display:block;max-width:42rem;margin:0 auto 2rem}.form-actions{justify-content:center;margin-top:2rem;padding-top:1rem;border-top:4px solid #fff}.form-actions .button{margin:0}.form-suggest{margin-top:1rem}.form-suggest .form-label--small{display:block;margin-bottom:.5rem}.form-suggest__row{margin-top:0}.form-suggestion{display:flex;align-items:stretch;gap:0;margin-top:1rem;flex-wrap:wrap}.form-suggestion input{flex:1;height:3rem;border-radius:0;border-right:none;margin:0}.form-suggestion button{height:3rem;border-radius:0;border:1px solid var(--color-border);border-left:none;margin:0;white-space:nowrap}.form-suggestion .form-error,.form-suggestion .form-success{width:100%;margin-top:.5rem}fieldset{border:none;padding:0;margin:0 0 2rem}fieldset fieldset{margin:1.5rem 0;padding:1rem;background-color:#e6dbed}fieldset fieldset legend{margin-bottom:0}fieldset p{margin:0 0 1rem}legend{padding:0;margin-bottom:1rem}legend.form-title{font-family:var(--font-family-secondary);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-nyu-violet);width:100%}legend.section-title{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-deep-violet)}.form-groups{margin-bottom:2rem}.form-groups+.form-groups{margin-top:2rem;border-top:1px solid var(--color-white);padding-top:2rem}.form-group{margin-bottom:1.5rem}.filter-grid .form-group,.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-style:normal;font-stretch:normal;font-size:var(--font-size-sm);margin-bottom:5px;color:#000}.form-group input{width:100%;height:3rem;padding:0 .666666666666667rem;font-size:1rem;border:1px solid var(--color-border);background-color:#fff;box-sizing:border-box}.form-container .form-group input{border:none}.form-group input:focus{outline:3px solid #3dbbdb;border-color:#57068c}.form-container .form-group input:focus{outline:3px solid #3dbbdb;border:none}.form-group input[type=color]{min-height:3rem;padding:.25rem}.form-group input[type=range]{padding:0;height:1.5rem}.form-group input[type=file]{padding:.5rem;height:auto}.form-group select{width:100%;height:3rem;padding:0 .666666666666667rem;font-size:1rem;border:1px solid var(--color-border);background-color:#fff;box-sizing:border-box;cursor:pointer}.form-container .form-group select{border:none}.form-group select:focus{outline:3px solid #3dbbdb;border-color:#57068c}.form-container .form-group select:focus{outline:3px solid #3dbbdb;border:none}.form-group select[multiple]{height:auto;min-height:6rem;padding:.5rem}.form-group textarea{width:100%;min-height:6rem;padding:.666666666666667rem;font-size:1rem;border:1px solid var(--color-border);background-color:#fff;box-sizing:border-box;line-height:1.5}.form-container .form-group textarea{border:none}.form-group textarea:focus{outline:3px solid #3dbbdb;border-color:#57068c}.form-container .form-group textarea:focus{outline:3px solid #3dbbdb;border:none}.form-group .form-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.form-group .form-checkbox input[type=checkbox]{margin-right:.5rem;width:1.25rem;height:1.25rem;cursor:pointer}.form-group .form-checkbox label{cursor:pointer;user-select:none;font-weight:var(--font-weight-normal);font-size:var(--font-size-base);margin-bottom:0}.form-radio{display:flex;align-items:center;margin-bottom:.5rem}.form-group .form-radio input[type=radio]{margin-right:.5rem;width:1.25rem;height:1.25rem;cursor:pointer}.form-group .form-radio label{cursor:pointer;user-select:none;font-weight:var(--font-weight-normal);font-size:var(--font-size-base);margin-bottom:0}.form-hint{margin-top:.5rem}.form-hint,.form-hint-grouped{font-size:.875rem;color:#404040;line-height:1.5}.form-hint-grouped{margin-bottom:.5rem}.form-error{color:var(--color-nyu-silver-deep-red);border-left:4px solid var(--color-nyu-silver-red)}.form-error,.form-success{margin-bottom:1.5rem;padding:.75rem;background-color:#fff;font-size:.875rem}.form-success{color:var(--color-deep-teal);border-left:4px solid var(--color-teal)}.custom-field{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.custom-field label{font-weight:400;font-style:italic;color:#666}.form__editor{width:100%}.form__editor .tox-tinymce{border-color:var(--color-border);border-radius:0}.form-container .form__editor .tox-tinymce{border:none}.form__editor .tox .tox-editor-header{box-shadow:none!important;border-bottom:1px solid var(--color-light-violet-2)!important}.form__editor .tox .tox-toolbar__group{border-color:var(--color-light-violet-2)}.form__editor .tox .tox-toolbar__primary{background-color:#fff}.form__editor .tox .tox-tbtn{color:#333}.form__editor .tox .tox-tbtn--enabled,.form__editor .tox .tox-tbtn:hover{background-color:#e9ecef}.form__editor .tox .tox-tbtn--enabled:hover{background-color:#dee2e6}.form__editor .tox .tox-edit-area__iframe{background-color:#fff}.form__editor .tox .tox-statusbar{border-color:var(--color-border)}.form-container .form__editor .tox .tox-statusbar{border-color:transparent}.form__editor .tox .tox-statusbar__path-item,.form__editor .tox .tox-statusbar__wordcount{color:#666}.link{color:var(--color-nyu-silver-red);font-weight:var(--font-weight-medium);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;text-align:inherit;appearance:none}.link:hover{color:var(--color-nyu-silver-deep-red);text-decoration:underline}.link:focus{outline:3px solid #3dbbdb}.alert{padding:1rem;border-left:.33333rem solid}.alert,.alert li,.alert p{margin-bottom:1rem}.alert li:last-child,.alert p:last-child{margin-bottom:0}.alert--error{background-color:#fef2f2;color:#991b1b;border-left-color:#b91c1c}.alert--warning{background-color:#fefce8;color:#854d0e;border-left-color:#b45309}.alert--success{background-color:#f0fdf4;color:#166534;border-left-color:#166534}.alert--info{background-color:#eff6ff;color:#1e40af;border-left-color:#57068c}.spinner-container{display:flex;justify-content:center}.spinner{height:3rem;width:3rem;border:2px solid #f3f3f3;border-top-color:#57068c;animation:spin 1s linear infinite}.list-row{display:grid;grid-template-columns:1fr 200px;gap:1rem;align-items:start}.list-row__main{min-width:0}.list-row__actions{display:flex;flex-direction:column;row-gap:1px;column-gap:1px}.list-row__actions .button,.list-row__actions .edit-icon-link{width:100%;text-align:center}@media (max-width:800px){.list-row{grid-template-columns:1fr}.list-row__actions{flex-direction:row;flex-wrap:wrap;row-gap:1px;column-gap:1px}.list-row__actions .button,.list-row__actions .edit-icon-link{width:auto}}.list-container{display:flex;flex-direction:column;gap:0;margin-bottom:2rem}.list-item{padding:1.5rem;background-color:#fff;border:none;border-bottom:1px solid var(--color-border);margin-bottom:0;cursor:pointer;display:block;text-decoration:none;color:inherit}.list-item:hover{background-color:var(--color-light-gray-1)}.list-item__content{display:flex;flex-direction:column;width:100%}.list-item__content--with-thumbnail{display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start}.list-item__text{flex:1 1 auto;min-width:0}.list-item__thumbnail{flex:0 0 auto;max-width:200px;align-self:flex-start}.list-item__thumbnail img{display:block;width:100%;max-width:200px;height:auto;object-fit:cover}.list-item__meta{display:flex;flex-wrap:wrap;align-items:center;margin:-.25rem 0 .75rem;font-size:var(--font-size-sm);color:#606060}.list-item__meta>span{display:inline-flex;align-items:center}.list-item__meta>span:not(:last-child):after{content:"·";margin:0 .5rem;color:#999}@media (max-width:600px){.list-item{padding-left:16px;padding-right:16px}.list-item__content--with-thumbnail{flex-direction:column}.list-item__content--with-thumbnail>.list-item__thumbnail{margin-top:.75rem}}.list-item__content h4{font-family:var(--font-family-secondary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:#330662;margin:0 0 1rem}.list-item__header{display:flex;align-items:center;margin-bottom:.75rem;font-size:.85rem;color:#606060}.list-item__meta-separator{margin:0 .5rem}.list-item__topic-name{color:var(--color-nyu-silver-deep-red);font-weight:var(--font-weight-medium)}.list-item__date{color:#606060}.list-item__content h2{font-family:var(--font-family-secondary);font-weight:var(--font-weight-bold);font-style:normal;font-stretch:normal;font-size:1.7rem;margin-bottom:.75rem;color:#330662}.list-item__sticky-icon{display:inline-block;flex-shrink:0;margin-right:.6rem;color:var(--color-yellow);vertical-align:-.24em}.list-item__body{color:#404040;margin-bottom:1rem;line-height:1.5;overflow:hidden}.list-item__body:last-child{margin-bottom:0}.list-item__footer{display:flex;align-items:center;gap:1px}.list-item__footer>*{display:inline-flex;align-items:center}.list-item__footer button,.list-item__footer>*{background-color:var(--color-light-violet-2);padding:.3rem .5rem;font-size:var(--font-size-sm);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--color-deep-violet);border:none;border-radius:0}.list-item__footer button{cursor:pointer}.list-item__footer .button{background-color:var(--color-light-violet-2);color:var(--color-deep-violet);border:none;border-radius:0;padding:.3rem .5rem;font-size:var(--font-size-sm);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium)}.list-item__footer .list-item__meta-separator{display:none}.list-item__author,.list-item__count{font-weight:var(--font-weight-medium);color:var(--color-deep-violet)}.load-more{padding:1.5rem;text-align:center;color:#606060}.load-more.loading{font-style:italic;position:relative}.load-more.loading:before{content:"";display:inline-block;width:1rem;height:1rem;margin-right:.5rem;border-radius:50%;border:2px solid rgba(51,6,98,.1);border-top-color:#330662;animation:spin 1s linear infinite;vertical-align:middle}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.list-item__meta-right{text-align:right}.page-header{width:100%;min-height:160px;position:relative;background-color:var(--color-deep-violet);background-image:url(/city-grid3.svg);background-size:cover;background-position:50%;background-repeat:no-repeat;display:flex;align-items:center;padding:0 1.5rem;margin-bottom:0}body.side-menu-closed .page-header{width:100%}.page-header__title{font-family:var(--font-family-secondary);color:var(--color-white);font-size:3.2rem;line-height:125%;font-weight:var(--font-weight-bold);margin:0;width:100%}.page-header__title--left{text-align:left}.page-header__title--center{text-align:center}.page-header__title--right{text-align:right}.page-header__title--long{font-size:2.4rem}.page-header__actions{display:flex;gap:0;background-color:var(--color-medium-gray-2)}@media (max-width:1023px){.page-header{margin-left:0;width:100%}}@media (max-width:767px){.page-header{height:120px;padding:0 1rem}.page-header__title{font-size:2.5rem}.page-header__title--long{font-size:1.875rem}}.hero-banner{position:relative;width:100vw;margin-left:calc(-50vw + 50%);display:flex;align-items:center;justify-content:center;min-height:var(--hero-banner-min-height,100vh);overflow:hidden}@media (max-width:768px){.hero-banner{min-height:max(80vh,var(--hero-banner-min-height,100vh))}}.hero-banner__swiper-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-banner__swiper.swiper{width:100%;height:100%}.hero-banner__swiper-slide.swiper-slide{position:relative;background-color:var(--color-white)}.hero-banner__slide-bg{position:absolute;inset:0;background-color:var(--color-white);background-size:cover;background-position:50%;background-repeat:no-repeat}.hero-banner__slide-split{position:absolute;inset:0;overflow:hidden}.hero-banner__slide-split__bg{position:absolute;inset:0;background-color:var(--color-white);background-size:cover;background-position:50%;background-repeat:no-repeat}.hero-banner__slide-split__inner{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(1rem,3vw,2.5rem);padding:clamp(.75rem,2vw,1.75rem) clamp(1rem,3vw,2.5rem);box-sizing:border-box;min-height:100%}.hero-banner__slide-split__media{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:row;align-items:stretch;justify-content:center}.hero-banner__slide-split__media img{display:block;flex:1 1 auto;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.hero-banner__slide-split__copy{flex:1 1 0;min-width:0;min-height:0;text-align:left;color:var(--color-white)}.hero-banner__slide-split__copy--html .hero-banner__slide-split__title{margin-top:0}.hero-banner__slide-split__title{font-family:var(--font-family-secondary);font-size:clamp(1.1rem,2.2vw,1.65rem);font-weight:var(--font-weight-bold);line-height:1.25;margin:0 0 .75rem;color:var(--color-white)}.hero-banner__slide-split__body{font-family:var(--font-family-primary);font-size:clamp(.85rem,1.35vw,1rem);line-height:1.55;margin:0;color:var(--color-white)}.hero-banner__slide-split--reverse .hero-banner__slide-split__inner{flex-direction:row-reverse}@media (min-width:769px){.hero-banner__slide-split__inner{align-items:stretch;height:100%}.hero-banner__slide-split__copy{display:flex;flex-direction:column;justify-content:center}.hero-banner__slide-split--reverse .hero-banner__slide-split__media img{object-position:right center}}.hero-banner__slide-split--light .hero-banner__slide-split__body,.hero-banner__slide-split--light .hero-banner__slide-split__copy,.hero-banner__slide-split--light .hero-banner__slide-split__title{color:var(--color-black)}@media (max-width:768px){.hero-banner__slide-split{display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.hero-banner__slide-split__inner{flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;min-height:auto;margin-block:auto;flex-shrink:0;gap:1rem;padding:1rem}.hero-banner__slide-split__media{flex:0 0 auto;max-width:100%;align-items:center;min-height:auto}.hero-banner__slide-split__media img{flex:0 1 auto;width:100%;height:auto;object-position:center top}.hero-banner__slide-split__copy{flex:0 1 auto;min-height:0;text-align:center}.hero-banner__slide-split--reverse .hero-banner__slide-split__inner{flex-direction:column}}.hero-banner .swiper-pagination{bottom:1rem;z-index:1}.hero-banner .swiper-pagination-bullet{width:10px;height:10px;background:hsla(0,0%,100%,.45);opacity:1}.hero-banner .swiper-pagination-bullet-active{background:var(--color-nyu-silver-red)}.hero-banner__brand-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12%;width:100%;max-width:72rem;margin:0 auto;box-sizing:border-box}.hero-banner__brand-row img{flex:0 1 auto;min-width:0;display:block;height:clamp(4.5rem,14vmin,8.5rem);width:auto;max-width:min(38vw,280px);object-fit:contain}.hero-banner__brand-row img.hero-banner__brand-row-at{width:min(50px,10vw);max-width:50px;height:auto;max-height:none;flex:0 1 auto}@media (max-width:600px){.hero-banner__brand-row{flex-direction:column;gap:clamp(1.25rem,5vmin,2.5rem);align-items:center}.hero-banner__brand-row img{height:auto;max-height:min(22vh,9rem);max-width:min(72vw,280px)}.hero-banner__brand-row img.hero-banner__brand-row-at{width:min(50px,14vw);max-width:50px}}.hero-banner__svg-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3000px;height:3000px;background-repeat:no-repeat;background-position:50%;background-size:3000px 3000px;z-index:1}.hero-banner__content{text-align:center;color:var(--color-text);max-width:80rem;box-sizing:border-box;padding-left:max(clamp(1.5rem,8vw,5.5rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1.5rem,8vw,5.5rem),env(safe-area-inset-right,0px))}.hero-banner__content,.hero-banner__stack{width:100%;display:flex;justify-content:center}.hero-banner__stack{flex-direction:column;align-items:center;gap:1.5rem;max-width:640px}.hero-banner__stack--triptych{max-width:none;width:100%}.hero-banner__heading{display:flex;flex-direction:column;align-items:center;gap:0}.hero-banner__title{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0;font-family:var(--font-family-primary);font-size:3.38rem;font-weight:700;line-height:1;color:var(--color-nyu-violet);margin:0 0 10px;padding:0;background-color:transparent;text-transform:uppercase}.hero-banner__title>span{white-space:nowrap}.hero-banner__title-at{font-size:70%;color:var(--color-nyu-silver-red);transform:translateY(-.4rem);margin-right:.1rem}.hero-banner__subtitle{font-family:var(--font-family-primary);font-size:1.37rem;font-weight:var(--font-weight-bold);line-height:1.2;margin:0;padding:0;background-color:transparent;text-transform:uppercase}@media (max-width:768px){.hero-banner__title{font-size:3.6rem}.hero-banner__subtitle{font-size:1.55rem}}@media (max-width:525px){.hero-banner__title{font-size:2.4rem}.hero-banner__subtitle{font-size:1.1rem}}.diptych{display:flex;width:100%;margin:0;min-height:400px}.diptych__panel{flex:1;display:flex;align-items:center;padding:3rem;position:relative}.diptych__content{width:100%;z-index:1;position:relative}.diptych__title{font-size:2.5rem;font-weight:var(--font-weight-heavy);line-height:1.2;margin:0}.diptych__body p{font-family:var(--font-family-secondary);font-weight:var(--font-weight-normal);font-size:1.2rem;line-height:1.6}.diptych__body>:last-child{margin-bottom:0}@media (max-width:768px){.diptych{flex-direction:column}.diptych__panel{padding:2rem}.diptych__content{text-align:center!important;margin:0 auto!important}.diptych__title{font-size:2rem}.diptych__body p{font-size:1rem}}@media (max-width:480px){.diptych__panel{padding:3rem 2rem}.diptych__title{font-size:1.5rem}}.center-banner{display:flex;align-items:center;justify-content:center;width:100%;min-height:400px;padding:3rem}.center-banner__content{max-width:640px;text-align:center;z-index:1;position:relative}.center-banner__title{font-size:2.5rem;font-weight:var(--font-weight-heavy);line-height:1.2;margin:0 0 1.5rem}.center-banner__body p{font-family:var(--font-family-secondary);font-weight:var(--font-weight-normal);font-size:1.2rem;line-height:1.6}.center-banner__body>:last-child{margin-bottom:0}@media (max-width:768px){.center-banner{padding:2rem}.center-banner__title{font-size:2rem}.center-banner__body p{font-size:1rem}}@media (max-width:480px){.center-banner{padding:3rem 2rem}.center-banner__title{font-size:1.5rem}}.features{width:100%;margin:0}.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%}.features__item{display:flex;justify-content:center;padding:3rem 2rem;position:relative}.features__content{text-align:center;max-width:400px;width:100%;z-index:1;position:relative}.features__title{font-family:var(--font-family-secondary);font-size:2rem;font-weight:var(--font-weight-bold);margin-bottom:0;line-height:1.2;text-transform:uppercase}.features__description{font-size:var(--font-size-base,1rem);line-height:1.6;margin:0}.features__description>:last-child{margin-bottom:0}@media (max-width:900px){.features__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.features__grid{grid-template-columns:1fr}.features__item{padding:2rem 1rem;min-height:auto}.features__description{font-size:var(--font-size-sm,.9rem)}}@media (max-width:480px){.features__item{padding:1.5rem 1rem;min-height:auto}}.email-signup-container{display:flex;align-items:center;justify-content:center;width:100%;margin:0;padding:3rem;background-color:var(--color-light-violet-2);background-image:none}.email-signup{text-align:center;max-width:640px;width:100%}.email-signup>:last-child{margin-bottom:0}.email-signup h2{font-family:var(--font-family-secondary);font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--color-black);text-transform:uppercase;margin-bottom:1rem}.email-signup p{font-size:.9rem;color:var(--color-text);margin-bottom:2rem;line-height:1.6;font-weight:var(--font-weight-medium)}.email-signup p.success-message{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-teal)}.email-signup-form .form-group{display:flex;gap:0;justify-content:center;max-width:500px;margin:0 auto 1.5rem}.email-signup-form .email-input{flex:1;padding:1rem;border:0;font-size:1rem;outline:none;line-height:1.2rem;font-family:var(--font-family-primary)}.email-signup-form .email-input:focus{border-color:var(--color-primary)}.email-signup-form .button{font-family:var(--font-family-primary);white-space:nowrap;min-width:auto;padding:1rem 2rem;font-size:1rem;border:0;line-height:1.2rem;height:48px;font-weight:var(--font-weight-bold);color:#fff;background-color:var(--color-nyu-silver-red)}.privacy-note{font-size:.9rem;margin-top:1rem}.email-signup-container:not(.email-signup-container--hero) .email-signup .privacy-note,.privacy-note{color:var(--color-text-muted)}.email-signup-container--hero{padding:0;min-height:unset;background-color:transparent;background-image:none;width:100%}.email-signup-container--hero .email-signup{max-width:640px}.email-signup-container--hero .email-signup h2{color:var(--color-black);font-size:1.5rem;margin:0 0 .5rem}.email-signup-container--hero .email-signup p,.email-signup-container--hero .email-signup p.success-message{color:var(--color-black)}.email-signup-container--hero .email-signup-form .form-group{margin:0 auto}.email-signup-container--hero .email-signup .privacy-note{color:var(--color-text-muted)}@media (max-width:768px){.email-signup-container:not(.email-signup-container--hero){padding:2rem}.email-signup h2{font-size:2rem}.email-signup-form .form-group{flex-direction:column;gap:1rem}.email-signup-form .button{width:100%}}@media (max-width:480px){.email-signup-container:not(.email-signup-container--hero){padding:3rem 2rem}}.contact-us-container{display:flex;align-items:center;justify-content:center;width:100%;margin:0;padding:3rem;background-color:#000;background-image:none}.contact-us{text-align:center;max-width:640px;width:100%}.contact-us>:last-child{margin-bottom:0}.contact-us h2{font-family:var(--font-family-secondary);font-size:2.5rem;font-weight:var(--font-weight-bold);color:#fff;text-transform:uppercase;margin-bottom:1rem}.contact-us p{font-size:.9rem;color:#fff;margin-bottom:2rem;line-height:1.6;font-weight:var(--font-weight-medium)}.contact-us__link{color:var(--color-magenta);text-decoration:none}.contact-us__link:hover{color:var(--color-nyu-silver-red)}@media (max-width:768px){.contact-us-container{padding:2rem}.contact-us h2{font-size:2rem}}@media (max-width:480px){.contact-us-container{padding:3rem 2rem}}.image-upload{position:relative;width:100%;margin-bottom:2rem}.image-upload__dropzone{border:none;padding:0;text-align:center;cursor:pointer;transition:all .2s ease;background-color:var(--color-white)}.image-upload__dropzone:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(87,6,140,.03) 0,rgba(87,6,140,.03) 20px);z-index:0;opacity:.5}.image-upload__dropzone>*{position:relative;z-index:1}.image-upload__dropzone:hover{border-color:var(--color-nyu-violet);background-color:var(--color-light-violet-2)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(87,6,140,.4)}70%{box-shadow:0 0 0 10px rgba(87,6,140,0)}to{box-shadow:0 0 0 0 rgba(87,6,140,0)}}.image-upload__dropzone--active{background-color:var(--color-light-violet-2)}.image-upload__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-medium-gray-1);height:100%;width:100%}.image-upload__icon{font-size:2rem;line-height:1;color:var(--color-nyu-violet)}.image-upload__text{font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--color-dark-gray);text-align:center;max-width:130px;line-height:1.2}.image-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.image-upload__error{color:var(--color-error)}.image-upload__error,.image-upload__uploading{font-size:var(--font-size-sm);margin-top:.5rem}.image-upload__uploading{color:var(--color-nyu-violet)}.image-upload__preview{position:relative;display:flex;align-items:center;justify-content:center;background-color:var(--color-light-gray);aspect-ratio:1/1;overflow:hidden;width:150px;height:150px}.image-upload__image{object-fit:contain;max-width:100%;max-height:100%}.image-upload__remove{position:absolute;top:0;right:0;width:20px;height:20px;background-color:#000;color:var(--color-white);border:none;font-size:.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.image-upload__grid{display:grid;grid-template-columns:repeat(auto-fill,150px);gap:1px;width:100%}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:var(--font-weight-semibold);color:#fff;background-color:#d9534f;border-radius:10px;position:absolute;top:-8px;right:-8px}.header-notification-icon{position:relative;display:inline-block}.notification-badge.large{min-width:24px;height:24px;font-size:14px}.notification-badge.small{min-width:16px;height:16px;font-size:10px;padding:0 4px}.notification-new{background-color:var(--color-nyu-silver-red);color:#fff;padding:.75rem;text-align:center;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background-color .2s ease}.notification-new:hover{background-color:var(--color-nyu-silver-deep-red)}.notification-new svg{margin-right:.5rem}.page.chat .chat-container{display:flex;flex-direction:column;width:100%;margin:0 auto;background-color:#fff}.page.chat .chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.page.chat .chat-header h2{margin:0;font-size:1.5rem;color:#333}.page.chat .conversation-list{list-style:none;padding:0;margin:0}.page.chat .conversation-item{border-bottom:1px solid var(--color-border)}.page.chat .conversation-link{display:flex;justify-content:space-between;padding:1rem 1.5rem;text-decoration:none;color:inherit;transition:background-color .2s}.page.chat .conversation-link:hover{background-color:#f9f9f9}.page.chat .conversation-details{flex:1}.page.chat .conversation-name{margin:0 0 .5rem;font-size:1.1rem;color:#333}.page.chat .conversation-preview{margin:0;font-size:.9rem;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:450px}.page.chat .conversation-meta{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.page.chat .conversation-time{font-size:.8rem;color:#999;margin-bottom:.5rem}.page.chat .conversation-count{background-color:#57068c;color:#fff;font-size:.75rem;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.page.chat .empty-state{padding:3rem 2rem;text-align:center;color:#777}.page.chat .empty-state p{margin-bottom:1.5rem}.page.chat .loading{padding:2rem;text-align:center;color:#777}.page.chat .error-message{padding:.75rem;background-color:#fff4f4;color:#d32f2f;border:1px solid #ffcdd2;border-radius:4px;margin:1rem 1.5rem}.page.chat .chat-room-container{display:flex;flex-direction:column;width:100%;height:calc(100vh - 225px);min-height:500px;margin:0 auto;background-color:#fff}.page.chat .chat-room-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.page.chat .back-button{color:#57068c;text-decoration:none;font-weight:500}.page.chat .connection-status{font-size:.8rem;margin-left:auto;display:inline-flex;align-items:center}.page.chat .status-connected{display:inline-flex;align-items:center;font-weight:var(--font-weight-bold);padding:.5rem 1.5rem;background-color:var(--color-teal);color:var(--color-white);height:100%}.page.chat .status-connected:before{display:none}.page.chat .status-disconnected{display:inline-flex;align-items:center;font-weight:var(--font-weight-bold);padding:.5rem 1.5rem;background-color:var(--color-nyu-silver-red);color:var(--color-white);height:100%}.page.chat .messages-container{flex:1;overflow-y:auto;padding:1rem;background-color:#f9f9f9}.page.chat .messages-list{display:flex;flex-direction:column}.page.chat .message{max-width:70%;margin-bottom:1rem}.page.chat .message-mine{align-self:flex-end}.page.chat .message-other{align-self:flex-start}.page.chat .message.message-system{align-self:stretch;width:100%;max-width:100%;margin:0;padding:.5rem 0;text-align:left;color:#555;font-size:.85rem;font-style:italic}.page.chat .message.message-system .message-content{margin:0;word-break:break-word;background:none;padding:0}.page.chat .message.message-system .message-system__time{font-style:normal;font-weight:600;color:#444;white-space:nowrap}.page.chat .message.message-system .message-system__sep{font-style:normal;color:#888}.page.chat .message.message-system .message-system__body{font-style:italic}.page.chat .message-sender{font-size:.8rem;margin-bottom:.25rem;color:#777}.page.chat .message-bubble{position:relative;padding:.75rem 1rem;border-radius:1rem}.page.chat .message-mine .message-bubble{background-color:#57068c;color:#fff;border-bottom-right-radius:.25rem}.page.chat .message-other .message-bubble{background-color:var(--color-medium-gray-3);color:#000;border-bottom-left-radius:.25rem}.page.chat .message-content{margin-bottom:.5rem;word-break:break-word}.page.chat .message-time{font-size:.7rem;opacity:.8;text-align:right}.page.chat .message-mine .message-time{color:hsla(0,0%,100%,.8)}.page.chat .message-other .message-time{color:#999}.page.chat .date-divider{display:flex;align-items:center;margin:1.5rem 0;color:#777;font-size:.8rem}.page.chat .date-divider:after,.page.chat .date-divider:before{content:"";flex:1;border-bottom:1px solid var(--color-border)}.page.chat .date-divider:before{margin-right:1rem}.page.chat .date-divider:after{margin-left:1rem}.page.chat .message-form{display:flex;padding:1rem;border-top:1px solid var(--color-border)}.page.chat .message-input{flex:1;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:1.5rem;outline:none;font-size:1rem;resize:none}.page.chat .message-input:focus{border-color:#57068c}.page.chat .send-button{margin-left:.5rem;padding:0 1.25rem;background-color:#57068c;color:#fff;border:none;border-radius:1.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.page.chat .send-button:hover{background-color:#450570}.page.chat .send-button:disabled{background-color:#ccc;cursor:not-allowed}.page.chat .load-more-button{display:block;margin:1rem auto;padding:.5rem 1rem;background-color:#f0f0f0;border:1px solid var(--color-border);border-radius:1.5rem;color:#777;font-size:.9rem;cursor:pointer;transition:background-color .2s}.page.chat .load-more-button:hover{background-color:#e5e5e5}.page.chat .load-more-button:disabled{opacity:.5;cursor:not-allowed}.page.chat .new-chat-container{display:flex;flex-direction:column;width:100%;max-width:800px;margin:0 auto;background-color:#fff}.page.chat .new-chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.page.chat .new-chat-form{padding:1.5rem}.page.chat .form-group{margin-bottom:1.5rem}.page.chat .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.page.chat .form-control,.page.chat .search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;outline:none}.page.chat .form-control:focus,.page.chat .search-input:focus{border-color:#57068c}.page.chat .help-text{margin-top:.5rem;font-size:.85rem;color:#777}.page.chat .users-list{max-height:300px;overflow-y:auto;margin-top:1rem;border:1px solid var(--color-border);border-radius:4px}.page.chat .user-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s}.page.chat .user-item:last-child{border-bottom:none}.page.chat .user-item:hover{background-color:#f9f9f9}.page.chat .user-item.selected{background-color:#f0f2ff}.page.chat .user-name{margin:0 0 .25rem;font-size:1rem;color:#333}.page.chat .user-email{margin:0;font-size:.85rem;color:#777}.page.chat .selection-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#57068c}.page.chat .selected-count{margin-top:1rem;font-size:.9rem;color:#57068c;font-weight:500}.page.chat .create-button{padding:.75rem 1.5rem;background-color:#57068c;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.page.chat .create-button:hover{background-color:#450570}.page.chat .create-button:disabled{background-color:#ccc;cursor:not-allowed}.table-responsive{overflow-x:auto;width:100%;margin-bottom:1.5rem}.table{width:100%;border-collapse:collapse;text-align:left}.table td,.table th{padding:.75rem 1rem;vertical-align:middle}.table th{font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--color-gray-light)}.table tr{border-bottom:1px solid var(--color-gray-light)}.table tr:last-child{border-bottom:none}.table tbody tr:hover{background-color:var(--color-gray-lightest)}.table a{color:var(--color-nyu-silver-red);text-decoration:none}.table a:hover{color:var(--color-nyu-silver-deep-red);text-decoration:underline}.table a:focus{outline:3px solid #3dbbdb}@media (max-width:768px){.table td,.table th{padding:.5rem}}dl{margin:0 0 1rem;padding:0}dl:last-child{margin-bottom:0}dt{display:inline;font-family:var(--font-family-secondary);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);color:#000;margin-right:.5rem}dt:after{content:":"}dd{display:inline;margin:0 0 .75rem;padding:0;font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);color:#404040;line-height:1.5}dd:after{content:"\A";white-space:pre}dd:last-child{margin-bottom:0}dd:last-child:after{content:""}dl.info-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);column-gap:1rem;row-gap:.65rem;margin:0 0 1.25rem}dl.info-grid dt{display:block;margin:0;font-family:var(--font-family-secondary);font-weight:var(--font-weight-normal);color:var(--color-dark-gray);text-align:right}dl.info-grid dt:after{content:""}dl.info-grid dd{display:block;margin:0;font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--color-dark-gray);min-width:0;word-break:break-word}dl.info-grid dd:after{content:""}@media (max-width:700px){dl.info-grid{grid-template-columns:1fr;row-gap:.35rem}dl.info-grid dt{margin-top:.5rem;text-align:left}dl.info-grid dt:first-child{margin-top:0}}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.5rem;margin:1rem 0}.list-grid:last-child{margin-bottom:0}.list-grid-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;position:relative}.list-grid-item .badge{align-self:flex-start;margin-bottom:1rem;order:-1}.list-grid-item .badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;order:-1}.list-grid-item dl{flex:1;margin:0}.list-grid-item .btn,.list-grid-item .button,.list-grid-item button{margin-top:1rem;align-self:flex-start}.list-grid-item .button-group,.list-grid-item .buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}@media (max-width:480px){.list-grid{grid-template-columns:1fr;gap:1rem}.list-grid-item{padding:1rem}}.list-grid-empty{grid-column:1/-1;text-align:center;padding:2rem;color:#6c757d;font-style:italic}.list-grid-item:has(.btn),.list-grid-item:has(.button),.list-grid-item:has(button){transition:box-shadow .2s ease}.list-grid-item:has(.btn):hover,.list-grid-item:has(.button):hover,.list-grid-item:has(button):hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.consent-checkbox.required{background:var(--color-light-violet-2);border-color:var(--color-nyu-violet)}.consent-checkbox .form-checkbox{margin-bottom:.5rem}.consent-checkbox .consent-title{font-weight:500;margin-left:.5rem}.consent-checkbox .required-badge{background:var(--color-nyu-violet);color:var(--color-white);font-size:.75rem;padding:.2rem .4rem;margin-left:.5rem}.consent-checkbox .changed-badge{background:var(--color-warning);color:var(--color-black);font-size:.75rem;padding:.2rem .4rem;margin-left:.5rem}.consent-details{margin-left:1.5rem}.consent-description{color:var(--color-black);font-size:.9rem;margin-bottom:.5rem;line-height:1.4}.legal-basis{font-size:.8rem;color:var(--color-black);font-style:italic}.consent-notice{margin:2rem 0;padding:1.5rem;background:var(--color-light-gray);border-left:4px solid var(--color-nyu-violet)}.consent-notice h4{margin-top:0;margin-bottom:.75rem;color:var(--color-black);font-size:1.1rem}.consent-notice>p{margin-bottom:1rem;color:var(--color-black);line-height:1.5}.consent-items{margin:1rem 0}.consent-item.required{margin-bottom:1rem;padding:1rem;background:var(--color-white);border:1px solid var(--color-nyu-violet)}.consent-header{align-items:center;margin-bottom:.5rem}.consent-header strong{color:var(--color-black);font-size:.95rem}.privacy-notice{margin-top:1.5rem}.privacy-notice p{margin-bottom:.75rem;font-size:.9rem;color:var(--color-black);line-height:1.5}.privacy-notice p:last-child{margin-bottom:0}.consent-manager{max-width:800px}.consent-intro{margin-bottom:2rem;padding:1.5rem;background:var(--color-light-gray);border-left:4px solid var(--color-nyu-violet)}.consent-intro h2{margin-top:0;color:var(--color-dark-gray)}.consent-intro p{margin-bottom:.5rem;color:var(--color-medium-gray-1)}.consent-categories,.consent-item{margin-bottom:2rem}.consent-item{padding:1rem;background:var(--color-white);transition:all .2s ease}.consent-item:last-child{margin-bottom:0}.consent-item:hover{border-color:var(--color-nyu-violet);box-shadow:0 2px 8px rgba(87,6,140,.1)}.consent-item.required{background:var(--color-light-violet-2);border-color:var(--color-nyu-violet)}.consent-item.changed{background:var(--color-light-gray);border-color:var(--color-warning)}.consent-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.consent-toggle{display:flex;align-items:center}.consent-toggle input[type=checkbox]{margin-right:.5rem}.consent-title{font-weight:500;color:var(--color-dark-gray)}.required-badge{background:var(--color-nyu-violet);color:var(--color-white)}.changed-badge,.required-badge{font-size:.75rem;padding:.2rem .4rem;margin-left:.5rem;font-weight:400}.changed-badge{background:var(--color-warning);color:var(--color-black)}.consent-status{margin-top:.5rem;font-size:.8rem;color:var(--color-medium-gray-1)}.consent-status .withdrawn{color:var(--color-error);font-weight:500}.consent-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-medium-gray-3)}.policy-note{margin-bottom:1rem;font-size:.9rem;color:var(--color-medium-gray-1);line-height:1.5}.form-actions{display:flex;gap:1px;align-items:center}.form-actions button{flex:0 0 auto}.push-notification-consent{max-width:600px;margin:0 auto}.push-notification-status.declined,.push-notification-status.granted{padding:1.5rem;text-align:center;margin-bottom:1rem}.push-notification-status.granted{background:var(--color-light-gray);border:1px solid var(--color-success)}.push-notification-status.declined{background:var(--color-light-gray);border:1px solid var(--color-error)}.push-notification-status h3{margin-top:0;margin-bottom:.5rem}.consent-explanation{margin-bottom:2rem}.permission-steps{margin:1.5rem 0}.permission-step{padding:1rem;margin-bottom:1rem;border:1px solid var(--color-medium-gray-3);background:var(--color-light-gray)}.permission-step.completed{background:var(--color-light-gray);border-color:var(--color-success)}.permission-step strong{display:block;margin-bottom:.5rem;color:var(--color-dark-gray)}.notification-details{margin:1.5rem 0;padding:1rem;background:var(--color-white);border:1px solid var(--color-medium-gray-3)}.notification-details h4{margin-top:0;margin-bottom:.75rem;color:var(--color-dark-gray)}.notification-details ul{margin-bottom:.75rem;padding-left:1.5rem}.notification-details li{margin-bottom:.25rem;color:var(--color-medium-gray-1)}.consent-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.privacy-preferences .privacy-intro{margin-bottom:2rem;padding:1.5rem;background:var(--color-light-gray)}.consent-category-group{margin-bottom:2rem}.category-title{font-size:1.2rem;font-weight:600;color:var(--color-dark-gray);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-nyu-violet)}.consent-management{margin-bottom:2rem}.sticky-actions{position:sticky;bottom:0;background:var(--color-white);padding:1rem;box-shadow:0 -2px 8px rgba(0,0,0,.1);margin:2rem -1rem -1rem}.privacy-footer,.sticky-actions{border-top:2px solid var(--color-medium-gray-3)}.privacy-footer{margin-top:3rem;padding-top:2rem}.privacy-footer h4{color:var(--color-dark-gray);margin-bottom:1rem}.policy-links ul{list-style:none;padding:0}.policy-links li{margin-bottom:.5rem}.policy-links a{color:var(--color-nyu-violet);text-decoration:none;font-weight:500}.policy-links a:hover{text-decoration:underline}.contextual-consent-prompt{background:var(--color-light-gray);border:1px solid var(--color-warning);padding:1.5rem;margin-bottom:2rem}.contextual-consent-prompt h3{margin-top:0;color:var(--color-dark-gray)}.contextual-consent-prompt p{color:var(--color-medium-gray-1);margin-bottom:1rem}.contextual-consent-actions{display:flex;gap:1rem;margin-top:1rem}.contextual-consent-actions .button{flex:none}.consent-manager.loading{text-align:center;padding:2rem;color:var(--color-medium-gray-1)}@media (max-width:768px){.consent-header{align-items:flex-start;gap:.5rem}.consent-header,.contextual-consent-actions{flex-direction:column}.sticky-actions{margin:1rem -.5rem -.5rem}}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-deep-violet);z-index:1000;padding:1.5rem;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:2rem}.cookie-consent-text{flex:1;min-width:0}.cookie-consent-text h4{margin:0 0 .5rem;color:var(--color-white);font-size:1.1rem;font-weight:600}.cookie-consent-text p{margin:0;color:var(--color-white);line-height:1.5;font-size:.9rem}.cookie-consent-text a{color:var(--color-light-violet-1);text-decoration:none;font-weight:500}.cookie-consent-text a:hover{text-decoration:underline}.cookie-consent-actions{display:flex;gap:.75rem;flex-shrink:0;align-items:center}.cookie-consent-actions .button{white-space:nowrap;min-width:auto;padding:.5rem 1rem}@media (max-width:768px){.cookie-consent-banner{padding:1rem}.cookie-consent-content{flex-direction:column;gap:1rem}.cookie-consent-actions{width:100%;justify-content:space-between}.cookie-consent-actions .button{flex:1;min-width:0}}@media (max-width:480px){.cookie-consent-actions{flex-direction:column;gap:.5rem}.cookie-consent-actions .button{width:100%}}.badges{display:flex;gap:var(--spacing-sm);margin-bottom:.5rem}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:1px;margin-bottom:1px}.badge:last-child{margin-right:0}.badge-labeled{display:inline-flex;font-size:.75rem;letter-spacing:.5px;margin-right:10px;margin-bottom:10px;overflow:hidden}.badge-labeled:last-child{margin-right:0}.badge-labeled__label{padding:.25rem .5rem;background-color:#fff;color:#000;font-weight:500;border-width:1px;border-style:solid;border-right:none}.badge-labeled__value{padding:.3rem .5rem .2rem;color:#fff;border:none;font-weight:600;text-transform:uppercase}.badge-labeled--success .badge-labeled__label{border-color:var(--color-success)}.badge-labeled--success .badge-labeled__value{background-color:var(--color-success)}.badge-labeled--warning .badge-labeled__label{border-color:var(--color-warning)}.badge-labeled--warning .badge-labeled__value{background-color:var(--color-warning)}.badge-labeled--danger .badge-labeled__label{border-color:var(--color-danger)}.badge-labeled--danger .badge-labeled__value{background-color:var(--color-danger)}.badge-labeled--info .badge-labeled__label{border-color:var(--color-info)}.badge-labeled--info .badge-labeled__value{background-color:var(--color-info)}.badge-labeled--secondary .badge-labeled__label{border-color:var(--color-gray)}.badge-labeled--secondary .badge-labeled__value{background-color:var(--color-gray);color:var(--color-gray-darker)}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#fff}.badge-danger{background-color:var(--color-danger);color:#fff}.badge-info{background-color:var(--color-info);color:#fff}.badge-secondary{background-color:var(--color-gray);color:var(--color-gray-darker)}