@import "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;600&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#06206b;--navy-dark:#000752;--navy-deep:#000039;--burgundy:#8e2a3c;--orange:#e3601a;--teal:#1b7a78;--gold:#c5942a;--gold-dark:#a87b1e;--gray-dark:#414141;--gray-mid:#272727;--white:#fff;--off-white:#f5f5f5;--text-light:#ccc;--max-w:1200px;--transition:.3s ease}html{scroll-behavior:smooth}body{color:#333;background:#fff;font-family:Open Sans,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,h4,h5{letter-spacing:.05em;font-family:Raleway,sans-serif;font-weight:600;line-height:1.3}a{color:inherit;transition:color var(--transition);text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}header{z-index:1000;background:#fff;border-bottom:1px solid #e8e8e8;padding:0;position:sticky;top:0;box-shadow:0 1px 8px #00000014}.header-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;gap:16px;height:104px;margin:0 auto;padding:0 24px;display:flex}.logo-img{width:auto;height:92px;display:block}.header-right{align-items:center;gap:8px;display:flex}.logo{flex-direction:column;line-height:1.1;display:flex}.logo-title{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-family:Raleway,sans-serif;font-size:1.25rem;font-weight:700}.logo-subtitle{color:#ffffffa6;letter-spacing:.12em;text-transform:uppercase;font-family:Open Sans,sans-serif;font-size:.7rem}nav>ul{gap:4px;display:flex}nav>ul>li{position:relative}nav>ul>li>a{text-transform:uppercase;letter-spacing:.06em;color:#444;white-space:nowrap;transition:background var(--transition), color var(--transition);border-radius:4px;padding:8px 9px;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:600}nav>ul>li>a:hover,nav>ul>li>a.active{color:var(--navy);background:#06206b14}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger span{background:var(--navy);width:24px;height:2px;transition:all var(--transition);border-radius:2px;display:block}.mobile-nav{background:var(--navy-dark);z-index:999;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:none;position:fixed;inset:0}.mobile-nav.open{display:flex}.mobile-nav a{text-transform:uppercase;letter-spacing:.1em;color:#ffffffd9;text-align:center;width:100%;max-width:300px;transition:color var(--transition);border-bottom:1px solid #ffffff1a;padding:14px 32px;font-family:Raleway,sans-serif;font-size:1.2rem;font-weight:600}.mobile-nav a:hover{color:#fff}.mobile-nav-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:24px;right:24px}.hero{color:#fff;text-align:center;background:#fff;padding:96px 24px;position:relative;overflow:hidden}.hero:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(255,255,255,0.04)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:1;max-width:760px;margin:0 auto;position:relative}.hero-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#fff9;margin-bottom:16px;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:500}.hero h1{text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15}.hero p{color:#fffc;max-width:560px;margin:0 auto 36px;font-size:1.1rem}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn{text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:all var(--transition);border:2px solid #0000;border-radius:4px;padding:14px 32px;font-family:Raleway,sans-serif;font-size:.8rem;font-weight:700;display:inline-block}.btn-primary{color:var(--navy);background:#fff;border-color:#fff;box-shadow:0 2px 8px #0000002e}.btn-primary:hover{color:#fff;background:0 0}.btn-outline{color:var(--navy);border-color:var(--navy);background:0 0}.btn-outline:hover{background:var(--navy);color:#fff}.hero .btn-outline,.section-dark .btn-outline{color:#fff;border-color:#fff9}.hero .btn-outline:hover,.section-dark .btn-outline:hover{background:#ffffff26;border-color:#fff}.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-navy:hover{background:var(--navy-dark);border-color:var(--navy-dark)}.section{padding:80px 0}.section-sm{padding:48px 0}.section-dark{color:#222;background:#fff}.section-navy{color:#222;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.section-light{background:var(--off-white)}.section-header{text-align:center;margin-bottom:56px}.section-header .eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--navy);margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600;display:inline-block}.section-dark .section-header .eyebrow,.section-navy .section-header .eyebrow{color:var(--navy)}.section-header h2{text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.4rem)}.section-header p{color:#666;max-width:580px;margin:0 auto;font-size:1.05rem}.section-dark .section-header p,.section-navy .section-header p{color:#666}.divider{background:var(--navy);border-radius:2px;width:56px;height:3px;margin:16px auto 0}.section-dark .divider,.section-navy .divider{background:var(--navy)}.properties-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.property-card{transition:transform var(--transition), box-shadow var(--transition);background:#fff;border:1px solid #00000014;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.property-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001c}.property-card-image{height:240px;position:relative;overflow:hidden}.property-card-image .img-placeholder{letter-spacing:.08em;text-transform:uppercase;color:#ffffffe6;text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;font-family:Raleway,sans-serif;font-size:1.1rem;font-weight:600;display:flex}.property-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.property-card:hover .property-card-image img{transform:scale(1.04)}.img-placeholder-lg img{object-fit:cover;width:100%;height:100%;display:block}.image-block img{object-fit:cover;width:100%;height:380px;display:block}.facility-real-img{object-fit:cover;border-radius:12px;width:100%;height:360px;box-shadow:0 4px 24px #0000001a}.suite-img{object-fit:cover;width:100%;height:180px;display:block}.room-img{object-fit:cover;border-radius:6px;width:100%;height:160px;margin-bottom:12px;display:block}.property-card-salem .img-placeholder{background:linear-gradient(135deg, var(--burgundy) 0%, #3a1416 100%)}.property-card-swampscott .img-placeholder{background:linear-gradient(135deg, var(--teal) 0%, #173535 100%)}.property-badge{color:#fff;text-transform:uppercase;letter-spacing:.14em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;padding:5px 12px;font-family:Raleway,sans-serif;font-size:.63rem;font-weight:600;position:absolute;top:16px;left:16px}.property-card-body{padding:28px}.property-card-body h3{letter-spacing:.01em;color:var(--navy);margin-bottom:10px;font-size:1.15rem}.property-card-salem .property-card-body h3{color:var(--burgundy)}.property-card-swampscott .property-card-body h3{color:var(--teal)}.property-card-body p{color:#666;margin-bottom:20px;font-size:.95rem}.property-meta{color:#444;align-items:center;gap:8px;margin-bottom:8px;font-family:Open Sans,sans-serif;font-size:.9rem;display:flex}.property-meta svg{flex-shrink:0}.property-card-footer{gap:12px;padding:16px 28px 28px;display:flex}.btn-salem{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}.btn-salem:hover{background:var(--navy-dark);border-color:var(--navy-dark)}.btn-swampscott{background:var(--teal);color:#fff;border-color:var(--teal)}.btn-swampscott:hover{background:var(--navy-dark);border-color:var(--navy-dark)}.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark)}.features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature-item{transition:background var(--transition), transform var(--transition), box-shadow var(--transition);background:#fff;border:1px solid #ececec;border-radius:14px;flex-direction:column;gap:14px;padding:28px 24px;display:flex;box-shadow:0 1px 4px #00000008}.feature-item:hover{background:var(--off-white);transform:translateY(-3px);box-shadow:0 10px 28px #06206b14}.feature-icon{width:48px;height:48px;color:var(--navy);background:#06206b14;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;animation:4s ease-in-out infinite icon-float;display:flex}.feature-item:hover .feature-icon{background:var(--navy);color:#fff;animation:.6s icon-bounce}.feature-item h4{letter-spacing:.01em;color:var(--navy);margin:0;font-family:Raleway,sans-serif;font-size:.95rem;font-weight:700}.feature-item p{color:#555;margin:0;font-size:.88rem;line-height:1.65}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes icon-bounce{0%,to{transform:scale(1)}40%{transform:scale(1.12)rotate(-3deg)}70%{transform:scale(.96)}}@keyframes icon-pulse{0%,to{box-shadow:0 0 #06206b2e}50%{box-shadow:0 0 0 8px #06206b00}}.testimonials-carousel{position:relative;overflow:hidden}.testimonial-track{transition:transform .5s;display:flex}.testimonial-slide{text-align:center;min-width:100%;padding:0 40px}.testimonial-quote{color:#333;max-width:700px;margin:0 auto 28px;font-size:clamp(1rem,2vw,1.25rem);font-style:italic;line-height:1.8}.testimonial-attribution{text-transform:uppercase;letter-spacing:.2em;color:var(--navy);font-family:Raleway,sans-serif;font-size:.8rem;font-weight:600}.carousel-controls{justify-content:center;align-items:center;gap:16px;margin-top:40px;display:flex}.carousel-btn{width:40px;height:40px;color:var(--navy);cursor:pointer;transition:all var(--transition);background:0 0;border:2px solid #d8dde5;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.carousel-btn:hover{border-color:var(--navy);background:#06206b0f}.carousel-dots{gap:8px;display:flex}.carousel-dot{cursor:pointer;width:8px;height:8px;transition:background var(--transition);background:#ffffff4d;border:none;border-radius:50%}.carousel-dot.active{background:#ffffffe6}.filter-bar{flex-wrap:wrap;gap:10px;display:flex}.filter-btn{text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--navy);color:var(--navy);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:11px 26px;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:700}.filter-btn:hover{background:#06206b14}.filter-btn.active{background:var(--navy);color:#fff}.testimonials-masonry{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.testimonial-card{text-align:left;cursor:pointer;font:inherit;transition:transform var(--transition), box-shadow var(--transition);background:#f4f5f7;border:1px solid #e6e8ec;border-radius:10px;flex-direction:column;gap:14px;padding:28px 26px;display:flex}.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.testimonial-card blockquote{color:#333;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:.98rem;font-style:italic;line-height:1.7;display:-webkit-box;overflow:hidden}.testimonial-card .testimonial-attribution{font-size:.72rem}.testimonial-tag{text-transform:uppercase;letter-spacing:.08em;color:#fff;border-radius:999px;align-self:flex-start;padding:5px 12px;font-family:Raleway,sans-serif;font-size:.62rem;font-weight:700}.testimonial-tag.tag-both{background:var(--navy)}.testimonial-tag.tag-salem{background:var(--burgundy)}.testimonial-tag.tag-swampscott{background:var(--teal)}.testimonial-modal-overlay{z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.testimonial-modal-card{text-align:center;background:#fff;border-radius:12px;flex-direction:column;gap:20px;width:100%;max-width:640px;padding:48px 44px;display:flex}.testimonial-modal-card .testimonial-tag{align-self:center}.testimonial-modal-card blockquote{color:#222;margin:0;font-size:clamp(1.1rem,2.4vw,1.4rem);font-style:italic;line-height:1.8}.testimonial-modal-count{color:#999;margin:0;font-size:.8rem}.testimonial-modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2.4rem;line-height:1;position:absolute;top:20px;right:24px}.testimonial-modal-nav{color:#fff;cursor:pointer;width:52px;height:52px;transition:background var(--transition);background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;margin:0 12px;font-size:2rem}.testimonial-modal-nav:hover{background:#ffffff4d}@media (max-width:600px){.testimonials-masonry{grid-template-columns:1fr}.testimonial-modal-nav{width:42px;height:42px;margin:0 6px;font-size:1.5rem}.testimonial-modal-card{padding:36px 24px}}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.two-col-reverse{direction:rtl}.two-col-reverse>*{direction:ltr}.content-block h2{text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin-bottom:20px;font-size:clamp(1.5rem,3vw,2.2rem)}.content-block p{color:#555;margin-bottom:16px;font-size:.98rem}.content-block p:last-of-type{margin-bottom:28px}.image-block{border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0000001f}.img-placeholder-lg{letter-spacing:.1em;text-transform:uppercase;color:#fffc;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:380px;padding:32px;font-family:Raleway,sans-serif;font-size:1rem;font-weight:600;display:flex}.img-placeholder-lg .icon{opacity:.5;font-size:3rem}.contact-layout{grid-template-columns:1fr 1.4fr;align-items:start;gap:64px;display:grid}.contact-info h3{text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-top:32px;margin-bottom:16px;font-size:1.1rem}.contact-info h3:first-child{margin-top:0}.contact-info p,.contact-info address{color:#555;font-size:.95rem;font-style:normal;line-height:1.7}.contact-facility{border-left:4px solid var(--navy);background:var(--off-white);border-radius:0 4px 4px 0;margin-bottom:20px;padding:20px}.contact-facility h4{text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:6px;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:700}.contact-facility-salem{border-color:var(--burgundy)}.contact-facility-salem h4{color:var(--burgundy)}.contact-facility-swampscott{border-color:var(--teal)}.contact-facility-swampscott h4{color:var(--teal)}.contact-facility p{color:#555;font-size:.9rem}.contact-facility a{color:var(--navy);font-weight:600}form .form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}form .form-group{margin-bottom:20px}form label{text-transform:uppercase;letter-spacing:.1em;color:#444;margin-bottom:6px;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:700;display:block}form input,form select,form textarea{color:#333;width:100%;transition:border-color var(--transition);background:#fff;border:2px solid #e0e0e0;border-radius:4px;outline:none;padding:12px 16px;font-family:Open Sans,sans-serif;font-size:.95rem}form input:focus,form select:focus,form textarea:focus{border-color:var(--navy)}form textarea{resize:vertical;min-height:120px}form select{cursor:pointer}.form-required{color:#c0392b;margin-left:2px}.facility-hero{text-align:center;color:#222;padding:80px 24px;position:relative;overflow:hidden}.facility-hero:before{content:"";background:#fffc;position:absolute;inset:0}.facility-hero-salem{background:#ececec url(/images/salem/exterior6.jpg) 50%/cover no-repeat;border-bottom:1px solid #ececec}.facility-hero-swampscott{background:#ececec url(/images/swampscott/exterior1.jpg) 50%/cover no-repeat;border-bottom:1px solid #ececec}.facility-hero h1{text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:clamp(1.8rem,4vw,3rem);position:relative}.facility-hero p{color:#555;max-width:540px;margin:0 auto 32px;font-size:1.1rem;position:relative}.facility-hero .btn{position:relative}.amenities-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.amenity-item{color:#444;background:#fff;border:1px solid #00000014;border-radius:10px;align-items:center;gap:12px;padding:14px 18px;font-size:.9rem;display:flex;box-shadow:0 1px 6px #0000000a}.amenity-item span{font-size:1.2rem}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;display:grid}.leadership-row{grid-template-columns:repeat(3,1fr);max-width:760px;margin:0 auto}@media (max-width:700px){.leadership-row{grid-template-columns:1fr}}.team-card{text-align:center;transition:transform var(--transition), box-shadow var(--transition);background:#fff;border:1px solid #00000014;border-radius:12px;padding:32px 24px;box-shadow:0 2px 10px #0000000d}.team-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001a}.team-avatar{background:var(--navy);color:#fff;letter-spacing:.05em;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;font-family:Raleway,sans-serif;font-size:1.4rem;font-weight:700;display:flex}.team-card h4{color:#222;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.95rem;font-weight:700}.team-card .role{color:#777;text-transform:uppercase;letter-spacing:.08em;font-family:Raleway,sans-serif;font-size:.8rem}.team-card .ext{color:var(--navy);margin-top:10px;font-size:.85rem}.faq-list{flex-direction:column;gap:10px;max-width:800px;margin:0 auto;display:flex}.faq-item{transition:box-shadow var(--transition);background:#fff;border:1px solid #00000017;border-radius:12px;overflow:hidden}.faq-item.open{box-shadow:0 4px 20px #00000014}.faq-question{text-align:left;cursor:pointer;color:#222;width:100%;transition:color var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-family:Raleway,sans-serif;font-size:.97rem;font-weight:600;display:flex}.faq-question:hover{color:var(--navy)}.faq-question .chevron{transition:transform var(--transition);color:var(--navy);opacity:.7;flex-shrink:0;font-size:1.1rem}.faq-item.open .faq-question .chevron{transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .4s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:500px}.faq-answer p{color:#555;padding:0 22px 20px;font-size:.95rem;line-height:1.8}.meal-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.meal-card{border:1px solid #00000014;border-left:3px solid var(--burgundy);background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 10px #0000000d}.meal-card h4{text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:700}.meal-card p{color:#555;font-size:.9rem;line-height:1.7}.suite-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.suite-card{border:1px solid #00000014;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.suite-card-header{color:var(--navy);background:var(--off-white);border-bottom:1px solid #ececec;padding:24px}.suite-card-swampscott .suite-card-header{background:var(--off-white)}.suite-card-header h3{text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem}.suite-card-body{background:#fff;padding:20px 24px}.suite-card-body p{color:#555;font-size:.9rem;line-height:1.7}.directions-block{background:var(--off-white);border-radius:8px;margin-bottom:20px;padding:32px}.directions-block h4{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:700}.directions-block p{color:#555;font-size:.9rem;line-height:1.8}.page-hero{background:var(--off-white);color:#222;text-align:center;border-bottom:1px solid #ececec;padding:64px 24px}.page-hero .eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--navy);margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600}.page-hero h1{text-transform:uppercase;letter-spacing:.05em;text-wrap:balance;max-width:640px;margin:0 auto 16px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.18}.page-hero p{color:#555;text-wrap:pretty;max-width:560px;margin:0 auto;font-size:1.05rem}.breadcrumb{display:none}.stats-bar{color:var(--navy);background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec;padding:40px 24px}.stats-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.stat-item .number{margin-bottom:6px;font-family:Raleway,sans-serif;font-size:2.4rem;font-weight:700;line-height:1}.stat-item .label{text-transform:uppercase;letter-spacing:.15em;color:#666;font-family:Raleway,sans-serif;font-size:.75rem}footer{background:var(--gray-mid);color:#ffffffbf;padding:56px 0 0}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-brand .logo-title{margin-bottom:12px;font-size:1.1rem}.footer-brand p{color:#ffffff8c;margin-top:8px;font-size:.88rem;line-height:1.7}.footer-social{gap:12px;margin-top:18px;display:flex}.footer-social a{color:#fffc;width:38px;height:38px;transition:all var(--transition);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-social a:hover{background:var(--gold);color:#fff}.map-pin{cursor:pointer;z-index:2;transition:transform var(--transition);flex-direction:column;align-items:center;text-decoration:none;display:flex;position:absolute;transform:translate(-50%,-100%)}.map-pin:hover{transform:translate(-50%,-100%)scale(1.12)}.map-pin-emoji{filter:drop-shadow(0 2px 4px #00000073);font-size:2rem;line-height:1}.map-pin-label{background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:4px;margin-top:2px;padding:3px 8px;font-family:Raleway,sans-serif;font-size:.68rem;font-weight:700;box-shadow:0 2px 6px #0000004d}.footer-col h5{text-transform:uppercase;letter-spacing:.2em;color:#ffffffe6;margin-bottom:16px;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:700}.footer-col ul li{margin-bottom:8px}.footer-col ul li a{color:#ffffff8c;transition:color var(--transition);font-size:.88rem}.footer-col ul li a:hover{color:#fff}.footer-col address{color:#ffffff8c;font-size:.88rem;font-style:normal;line-height:1.8}.footer-col address a{color:#ffffffb3}.footer-col address a:hover{color:#fff}.footer-bottom{color:#ffffff59;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 0;font-size:.8rem;display:flex}.footer-bottom a{color:#ffffff80}.footer-bottom a:hover{color:#fffc}.scroll-top{background:var(--navy);color:#fff;cursor:pointer;opacity:0;pointer-events:none;width:44px;height:44px;transition:opacity var(--transition), transform var(--transition);z-index:500;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 16px #0000004d}.scroll-top.visible{opacity:1;pointer-events:auto}.scroll-top:hover{transform:translateY(-3px)}.tabs-nav{border-bottom:2px solid #e0e0e0;flex-wrap:wrap;gap:0;margin-bottom:40px;display:flex}.tab-btn{text-transform:uppercase;letter-spacing:.1em;color:#888;cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 24px;font-family:Raleway,sans-serif;font-size:.8rem;font-weight:700}.tab-btn:hover{color:var(--navy)}.tab-btn.active{color:var(--navy);border-bottom-color:var(--navy)}.tab-panel{display:none}.tab-panel.active{display:block}nav>ul>li.has-dropdown>a:after{content:"▾";opacity:.5;color:#444;margin-left:5px;font-size:.65rem}.dropdown{opacity:0;visibility:hidden;z-index:1001;border-top:3px solid var(--navy);background:#fff;border-radius:0 0 10px 10px;flex-direction:column;min-width:240px;padding:8px 0;transition:opacity .25s,transform .25s,visibility .25s;display:block;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(8px);box-shadow:0 12px 36px #00000026}nav>ul>li.has-dropdown:hover>.dropdown,nav>ul>li.has-dropdown:focus-within>.dropdown{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}nav>ul>li.has-dropdown:nth-last-child(-n+3) .dropdown{left:auto;right:0;transform:translateY(8px)}nav>ul>li.has-dropdown:nth-last-child(-n+3):hover>.dropdown,nav>ul>li.has-dropdown:nth-last-child(-n+3):focus-within>.dropdown{transform:translateY(0)}.dropdown li{position:static}.dropdown li a{text-transform:uppercase;letter-spacing:.06em;color:#444;border-left:3px solid #0000;padding:10px 22px;font-family:Raleway,sans-serif;font-size:.78rem;font-weight:600;transition:all .2s;display:block}.dropdown li a:hover{background:var(--off-white);color:var(--navy);border-left-color:var(--navy)}.mobile-nav-group{width:100%;max-width:300px}.mobile-nav-group>a{justify-content:space-between;align-items:center;display:flex}.mobile-nav-group>a .mobile-chevron{opacity:.5;font-size:.7rem;transition:transform .3s}.mobile-nav-group.open>a .mobile-chevron{transform:rotate(180deg)}.mobile-dropdown{width:100%;max-width:300px;max-height:0;transition:max-height .4s;overflow:hidden}.mobile-nav-group.open .mobile-dropdown{max-height:500px}.mobile-dropdown a{color:#ffffff8c!important;border-bottom:none!important;padding:10px 32px 10px 48px!important;font-size:.9rem!important}.mobile-dropdown a:hover{color:#fff!important}.role-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.role-card{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;gap:12px;padding:32px 28px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 1px 4px #0000000a}.role-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.role-card h4{color:var(--navy);letter-spacing:.02em;font-family:Raleway,sans-serif;font-size:1rem;font-weight:700}.role-card p{color:#666;font-size:.9rem;line-height:1.65}.role-card .btn{align-self:flex-start;margin-top:auto}.benefit-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;display:grid}.benefit-cards-5{grid-template-columns:repeat(5,1fr);gap:18px}@media (max-width:1024px){.benefit-cards-5{grid-template-columns:repeat(3,1fr)}}.benefit-card{text-align:center;background:#fff;border:1px solid #0000000f;border-radius:16px;padding:36px 28px;transition:transform .3s,box-shadow .3s;box-shadow:0 1px 4px #0000000a}.benefit-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.benefit-card .benefit-icon{width:64px;height:64px;color:var(--navy);background:#06206b14;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.8rem;animation:4s ease-in-out infinite icon-float;display:flex}.benefit-card .benefit-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:28px;height:28px}.benefit-card:hover .benefit-icon{background:var(--navy);color:#fff;animation:.6s icon-bounce}.benefit-card-image{border-top-left-radius:16px;border-top-right-radius:16px;width:calc(100% + 56px);height:140px;margin:-36px -28px 20px;overflow:hidden}.benefit-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.benefit-card:hover .benefit-card-image img{transform:scale(1.05)}.benefit-card h4{color:#222;letter-spacing:.02em;margin-bottom:10px;font-family:Raleway,sans-serif;font-size:.95rem;font-weight:700}.benefit-card p{color:#666;font-size:.88rem;line-height:1.65}.impact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.impact-card{background:#fff;border:1px solid #0000000f;border-radius:16px;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 1px 4px #0000000a}.impact-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.impact-card-body{padding:32px 28px}.impact-card-body h3{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-family:Raleway,sans-serif;font-size:1.1rem;font-weight:700}.impact-card-body p{color:#666;margin-bottom:20px;font-size:.9rem;line-height:1.7}.impact-card-icon{background:var(--off-white);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;font-size:1.6rem;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.photo-grid-item{aspect-ratio:4/3;border-radius:12px;position:relative;overflow:hidden}.photo-grid-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.photo-grid-item:hover img{transform:scale(1.05)}.photo-grid-item .photo-caption{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(#0000,#000000a6);padding:12px 16px;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.give-hero{padding-top:56px}.give-hero h1{text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin-bottom:18px;font-size:clamp(2rem,4.2vw,2.9rem);line-height:1.15}.give-hero .content-block p{color:#555;margin-bottom:28px;font-size:1.05rem;line-height:1.75}.give-hero .image-block img{object-position:center 18%;height:460px}.giving-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.giving-card{text-align:center;border:1px solid #0000000f;border-top:4px solid var(--navy);background:#fff;border-radius:16px;padding:36px 24px;transition:transform .3s,box-shadow .3s;box-shadow:0 1px 4px #0000000a}.giving-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.giving-card .giving-icon{color:var(--navy);margin-bottom:16px;font-size:2rem;animation:4s ease-in-out infinite icon-float}.giving-card .giving-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:36px;height:36px}.giving-card h4{text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-bottom:10px;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:700}.giving-card p{color:#666;font-size:.88rem;line-height:1.65}.giving-list{flex-direction:column;gap:16px;max-width:880px;margin:0 auto;display:flex}.giving-row{border:1px solid #ececec;border-left:4px solid var(--navy);background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:22px 28px;transition:transform .3s,box-shadow .3s,border-color .3s;display:grid}.giving-row:hover{border-left-color:var(--gold);transform:translate(4px);box-shadow:0 8px 22px #06206b14}.giving-row .giving-row-icon{width:56px;height:56px;color:var(--navy);background:#06206b14;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;animation:4s ease-in-out infinite icon-float;display:flex}.giving-row:hover .giving-row-icon{background:var(--navy);color:#fff;animation:.6s icon-bounce}.giving-row-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:28px;height:28px}.tile-icon{width:44px;height:44px;color:var(--navy);z-index:1;background:#06206b14;border-radius:12px;justify-content:center;align-items:center;margin:-42px auto 12px;animation:4s ease-in-out infinite icon-float;display:flex;position:relative;box-shadow:0 2px 8px #00000014}.tile-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:22px;height:22px}.giving-row-body h4{text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:6px;font-family:Raleway,sans-serif;font-size:1rem;font-weight:700}.giving-row-body p{color:#555;margin:0;font-size:.92rem;line-height:1.6}.giving-row .btn{white-space:nowrap}@media (max-width:720px){.giving-row{grid-template-columns:auto 1fr;gap:16px}.giving-row .btn{grid-column:1/-1;justify-self:start}}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;display:grid}.blog-card{background:#fff;border:1px solid #0000000f;border-radius:16px;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 1px 4px #0000000a}.blog-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.blog-card-image{height:200px;overflow:hidden}.blog-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.blog-card:hover .blog-card-image img{transform:scale(1.04)}.blog-card-body{padding:28px}.blog-card-body .blog-date{text-transform:uppercase;letter-spacing:.15em;color:#999;margin-bottom:8px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600}.blog-card-body h3{color:#222;margin-bottom:10px;font-family:Raleway,sans-serif;font-size:1.05rem;font-weight:700}.blog-card-body p{color:#666;font-size:.9rem;line-height:1.65}.blog-card-link{color:inherit;text-decoration:none;display:block}.blog-card-more{text-transform:uppercase;letter-spacing:.08em;color:#e3601a;margin-top:16px;font-family:Raleway,sans-serif;font-size:.8rem;font-weight:700;transition:transform .25s;display:inline-block}.blog-card:hover .blog-card-more{transform:translate(4px)}.article-hero{color:#fff;background-position:50%;background-size:cover;padding:120px 0 64px}.article-hero .article-back{text-transform:uppercase;letter-spacing:.1em;color:#ffffffd9;margin-bottom:24px;font-family:Raleway,sans-serif;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.article-hero .article-back:hover{color:#fff}.article-hero .article-meta{text-transform:uppercase;letter-spacing:.12em;color:#fffc;margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.8rem;font-weight:600}.article-hero h1{color:#fff;max-width:800px;font-size:2.4rem;line-height:1.2}.article-body{max-width:720px;margin:0 auto}.article-body .article-lead{color:#333;margin-bottom:32px;font-size:1.2rem;font-weight:500;line-height:1.6}.article-body h2{color:#06206b;margin:36px 0 14px;font-family:Raleway,sans-serif;font-size:1.4rem;font-weight:700}.article-body p{color:#444;margin-bottom:20px;font-size:1.05rem;line-height:1.8}.article-body ul{margin:0 0 24px 1.2em;padding:0}.article-body ul li{color:#444;margin-bottom:10px;font-size:1.05rem;line-height:1.7;list-style:outside}.article-quote{border-left:4px solid #e3601a;margin:32px 0;padding:8px 0 8px 24px}.article-quote p{color:#06206b;margin-bottom:8px;font-size:1.25rem;font-style:italic;line-height:1.5}.article-quote cite{color:#888;font-size:.85rem;font-style:normal}.article-cta{text-align:center;background:#f6f7fb;border-radius:16px;margin-top:48px;padding:32px}.article-cta p{color:#06206b;margin-bottom:16px;font-family:Raleway,sans-serif;font-weight:600}@media (max-width:640px){.article-hero h1{font-size:1.8rem}.article-body .article-lead{font-size:1.1rem}}.leader-card{text-align:center;background:#fff;border:1px solid #0000000f;border-radius:16px;padding:36px 24px;transition:transform .3s,box-shadow .3s;box-shadow:0 1px 4px #0000000a}.leader-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.leader-card .leader-avatar{background:var(--navy);color:#fff;letter-spacing:.05em;border-radius:8px;justify-content:center;align-items:center;width:160px;height:190px;margin:0 auto 16px;font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:700;display:flex;overflow:hidden}.leader-card .leader-avatar img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.leader-card h4{color:#222;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:1rem;font-weight:700}.leader-card .leader-title{color:#777;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.78rem}.leader-card .leader-location{color:#999;margin-bottom:10px;font-size:.75rem;font-style:italic}.leader-card .leader-email{color:var(--navy);word-break:break-all;font-size:.82rem}.leader-card .leader-email:hover{text-decoration:underline}.board-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.board-member{text-align:center;background:#fff;border:1px solid #0000000f;border-radius:12px;padding:24px 20px}.board-member h4{color:#222;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:700}.board-member .board-role{color:var(--navy);text-transform:uppercase;letter-spacing:.08em;font-family:Raleway,sans-serif;font-size:.75rem}.callout-box{background:var(--off-white);border-left:5px solid var(--navy);border-radius:16px;padding:40px}.callout-box h3{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-family:Raleway,sans-serif;font-size:1.2rem;font-weight:700}.callout-box p{color:#555;margin-bottom:16px;font-size:.95rem;line-height:1.7}.callout-box p:last-child{margin-bottom:0}.header-tour{background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;border-left:0 solid #e0e0e0;border-radius:50px;align-items:center;margin-left:16px;padding:10px 22px;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.header-tour:hover{background:var(--gold-dark);color:#fff}.nav-tour-separator{background:#ddd;width:1px;height:24px;margin:0 8px}.sticky-tour{display:none}.lightbox-overlay{z-index:2000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.lightbox-overlay.active{display:flex}.lightbox-overlay img{object-fit:contain;cursor:default;border-radius:8px;max-width:90vw;max-height:85vh}.lightbox-close{color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition);background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;display:flex;position:absolute;top:20px;left:20px}.lightbox-close:hover{background:#ffffff4d}.lightbox-figure{cursor:default;flex-direction:column;align-items:center;gap:16px;margin:0;display:flex}.lightbox-caption{color:#fff;letter-spacing:.04em;text-align:center;max-width:80vw;font-family:Raleway,sans-serif;font-size:.9rem}.lightbox-counter{opacity:.65}.lightbox-nav{color:#fff;cursor:pointer;width:56px;height:56px;transition:all var(--transition);z-index:2001;background:#ffffff1f;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff47}.lightbox-prev{left:24px}.lightbox-next{right:24px}@media (max-width:600px){.lightbox-nav{width:44px;height:44px;font-size:1.5rem}.lightbox-prev{left:10px}.lightbox-next{right:10px}}[data-lightbox]{cursor:zoom-in}.hero{position:relative}.hero-slides{z-index:0;position:absolute;inset:0}.hero-slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.2s;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-slide:after{content:"";background:#00000073;position:absolute;inset:0}.hero-content{z-index:2;position:relative}.feature-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:24px;height:24px}a.feature-item{color:inherit;text-decoration:none}a.feature-item:hover{background:#ffffff26;transform:translateY(-4px)}.activities-doc{background:var(--off-white);text-align:center;border:2px dashed #ddd;border-radius:12px;padding:40px}.activities-doc h4{text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-bottom:8px;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:700}.activities-doc p{color:#888;font-size:.88rem}@media (max-width:1080px){nav>ul{display:none}.hamburger{display:flex}.header-inner{height:92px}.logo-img{height:80px}}@media (max-width:900px){.two-col,.contact-layout{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.role-cards{grid-template-columns:1fr}}@media (max-width:750px){.header-inner{height:84px}.logo-img{height:72px}.hero{padding:64px 20px}.section{padding:56px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column;gap:8px}form .form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:repeat(2,1fr);gap:16px}.two-col-reverse{direction:ltr}.benefit-cards,.photo-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.hero-buttons{flex-direction:column;align-items:center}.features-grid{grid-template-columns:1fr;gap:12px}.properties-grid,.benefit-cards,.giving-grid,.photo-grid,.blog-grid{grid-template-columns:1fr}.board-grid{grid-template-columns:1fr 1fr}.sticky-tour{padding:12px 22px;font-size:.72rem;bottom:16px;right:16px}.lightbox-overlay{padding:16px}.lightbox-close{top:12px;left:12px}}.login-section{background:var(--off-white);justify-content:center;align-items:center;min-height:calc(100vh - 96px);padding:64px 24px;display:flex}.login-wrap{grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:stretch;gap:40px;width:100%;max-width:1080px;display:grid}.login-card{background:#fff;border:1px solid #ececec;border-radius:16px;padding:48px 44px;box-shadow:0 20px 60px #06206b1a}.login-card-header{text-align:center;margin-bottom:28px}.login-card-header .eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--navy);margin-bottom:12px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600}.login-card-header h1{text-transform:uppercase;letter-spacing:.05em;color:#222;margin-bottom:14px;font-family:Raleway,sans-serif;font-size:clamp(1.6rem,2.6vw,2rem)}.login-sub{color:#666;max-width:360px;margin:0 auto;font-size:.95rem;line-height:1.6}.login-logo-circle{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field>span{text-transform:uppercase;letter-spacing:.18em;color:#444;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:600}.login-field input{color:#222;transition:border-color var(--transition), box-shadow var(--transition);background:#fff;border:1px solid #d8d8d8;border-radius:8px;width:100%;padding:13px 16px;font-family:Open Sans,sans-serif;font-size:1rem}.login-field input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #06206b1f}.login-password-wrap{position:relative}.login-password-toggle{color:var(--navy);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:none;padding:6px 8px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.login-check{color:#444;cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.login-check input{width:16px;height:16px;accent-color:var(--navy)}.login-forgot{color:var(--navy);font-size:.85rem;font-weight:600}.login-forgot:hover{color:var(--gold-dark)}.login-error{color:#8b1a1a;background:#fdecea;border:1px solid #f5c2c0;border-radius:8px;padding:10px 14px;font-size:.9rem}.login-submit{width:100%;margin-top:4px;padding:14px 24px;font-size:.8rem}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-demo{background:var(--off-white);border:1px dashed #d0d0d0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px 16px;display:flex}.login-demo-label{text-transform:uppercase;letter-spacing:.2em;color:var(--navy);margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:700}.login-demo-creds{color:#444;flex-wrap:wrap;align-items:center;gap:4px;font-size:.82rem;display:flex}.login-demo-creds code{color:#222;background:#fff;border:1px solid #e2e2e2;border-radius:4px;padding:2px 6px;font-family:Open Sans,monospace;font-size:.78rem}.login-demo-fill{border:1px solid var(--navy);color:var(--navy);text-transform:uppercase;letter-spacing:.16em;cursor:pointer;transition:all var(--transition);background:0 0;border-radius:50px;padding:8px 14px;font-family:Raleway,sans-serif;font-size:.68rem;font-weight:700}.login-demo-fill:hover{background:var(--navy);color:#fff}.login-help{text-align:center;color:#666;border-top:1px solid #ececec;margin-top:28px;padding-top:24px;font-size:.9rem}.login-help a{color:var(--navy);font-weight:600}.login-help a:hover{color:var(--gold-dark)}.login-side{background:var(--navy);color:#fff;border-radius:16px;flex-direction:column;justify-content:center;padding:48px 40px;display:flex}.login-side h2{text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:28px;font-family:Raleway,sans-serif;font-size:1.4rem}.login-feature-list{flex-direction:column;gap:22px;display:flex}.login-feature-list li{align-items:flex-start;gap:16px;display:flex}.login-feature-icon{width:40px;height:40px;color:var(--gold);background:#ffffff1f;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.login-feature-icon svg{width:20px;height:20px}.login-feature-list h4{letter-spacing:.05em;color:#fff;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.95rem}.login-feature-list p{color:#ffffffbf;font-size:.88rem;line-height:1.55}@media (max-width:900px){.login-wrap{grid-template-columns:1fr;gap:24px}.login-side{order:-1;padding:36px 28px}}@media (max-width:520px){.login-section{padding:32px 16px}.login-card,.login-side{padding:32px 24px}}.portal{background:var(--off-white);min-height:calc(100vh - 96px)}.portal-loading{text-align:center;color:#666;padding:80px 24px}.portal-top{background:var(--navy);color:#fff;z-index:100;padding:48px 0 56px;transition:padding .25s,box-shadow .25s;position:sticky;top:96px}.portal-top.portal-top-compact{padding:12px 0;box-shadow:0 4px 16px #0000002e}.portal-top-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-top .eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--gold);margin-bottom:10px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600;transition:font-size .25s,margin .25s,opacity .2s,max-height .25s;overflow:hidden}.portal-top h1{text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:6px;font-family:Raleway,sans-serif;font-size:clamp(1.7rem,3vw,2.2rem);transition:font-size .25s,margin .25s,letter-spacing .25s}.portal-sub{color:#ffffffbf;font-size:.95rem;transition:font-size .25s,opacity .2s,max-height .25s,margin .25s;overflow:hidden}.portal-top-compact .eyebrow{opacity:0;max-height:0;margin:0;font-size:0}.portal-top-compact h1{letter-spacing:.04em;margin-bottom:0;font-size:1.05rem}.portal-top-compact .portal-sub{opacity:0;max-height:0;margin:0;font-size:0}.portal-top-compact .portal-signout{padding:7px 16px;font-size:.66rem}.portal-signout{color:#fff;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #fff6;border-radius:50px;padding:10px 22px;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:700}.portal-signout:hover{background:#ffffff1a;border-color:#fff}.portal-section{padding:56px 0}.portal-section-alt{background:#fff;border-top:1px solid #ececec}.portal-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.portal-section-head h2{text-transform:uppercase;letter-spacing:.05em;color:#222;font-family:Raleway,sans-serif;font-size:1.4rem}.portal-add-btn{padding:10px 20px;font-size:.72rem}.portal-add-form{background:#fff;border:1px solid #ececec;border-radius:12px;grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:16px;margin-bottom:24px;padding:24px;display:grid}.portal-add-form label{flex-direction:column;gap:6px;display:flex}.portal-add-form label>span{text-transform:uppercase;letter-spacing:.16em;color:#444;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600}.portal-add-form input,.portal-add-form select{color:#222;background:#fff;border:1px solid #d8d8d8;border-radius:8px;padding:10px 14px;font-family:Open Sans,sans-serif;font-size:.95rem}.portal-add-form .btn{padding:11px 22px;font-size:.72rem}@media (max-width:720px){.portal-add-form{grid-template-columns:1fr}}.portal-residents{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.resident-card{background:#fff;border:1px solid #ececec;border-radius:14px;align-items:flex-start;gap:18px;padding:24px;display:flex;box-shadow:0 6px 18px #06206b0f}.resident-avatar{color:#fff;letter-spacing:.04em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-family:Raleway,sans-serif;font-size:1.1rem;font-weight:700;display:flex}.resident-body{flex:1}.resident-relation{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin-bottom:4px;font-family:Raleway,sans-serif;font-size:.66rem;font-weight:600}.resident-body h3{letter-spacing:.03em;color:#222;margin-bottom:6px;font-family:Raleway,sans-serif;font-size:1.15rem}.resident-meta{color:#666;margin-bottom:2px;font-size:.85rem}.resident-since{color:#888;margin-top:10px;font-size:.78rem}.resident-note{background:var(--off-white);border-left:3px solid var(--gold);color:#444;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:.88rem;font-style:italic;line-height:1.55}.portal-tabs{border-bottom:1px solid #ececec;gap:4px;margin-bottom:28px;display:flex;overflow-x:auto}.portal-tab{text-transform:uppercase;letter-spacing:.12em;color:#666;cursor:pointer;white-space:nowrap;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 22px;font-family:Raleway,sans-serif;font-size:.78rem;font-weight:600}.portal-tab.active{color:var(--navy);border-bottom-color:var(--gold)}.portal-filter{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.portal-chip{letter-spacing:.08em;text-transform:uppercase;color:#555;cursor:pointer;transition:all var(--transition);background:#fff;border:1px solid #d8d8d8;border-radius:50px;padding:8px 18px;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:600}.portal-chip:hover{border-color:var(--navy);color:var(--navy)}.portal-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.portal-photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.portal-photo{cursor:zoom-in;aspect-ratio:4/3;background:#000;border:none;border-radius:12px;padding:0;display:block;position:relative;overflow:hidden}.portal-photo img{object-fit:cover;opacity:.95;width:100%;height:100%;transition:transform .4s,opacity .3s}.portal-photo:hover img{opacity:1;transform:scale(1.04)}.portal-photo-meta{color:#fff;text-align:left;background:linear-gradient(#0000,#000000c7);flex-direction:column;gap:2px;padding:16px 14px 12px;display:flex;position:absolute;inset:auto 0 0}.portal-photo-meta strong{letter-spacing:.03em;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:600}.portal-photo-meta span{color:#ffffffc7;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.portal-empty{color:#888;text-align:center;padding:32px 12px;font-style:italic}.portal-events{flex-direction:column;gap:14px;display:flex}.portal-events li{background:#fff;border:1px solid #ececec;border-radius:12px;align-items:center;gap:20px;padding:18px 22px;display:flex}.portal-event-date{text-align:center;border-right:1px solid #ececec;flex:none;width:64px;padding-right:18px}.portal-event-day{color:var(--navy);font-family:Raleway,sans-serif;font-size:1.6rem;font-weight:700;line-height:1;display:block}.portal-event-month{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-top:4px;font-family:Raleway,sans-serif;font-size:.7rem;display:block}.portal-events h4{letter-spacing:.03em;color:#222;margin-bottom:4px;font-family:Raleway,sans-serif;font-size:1rem}.portal-events p{color:#666;font-size:.9rem}.portal-messages{max-width:640px}.portal-message-form{flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;display:flex}.portal-message-form textarea{color:#222;resize:vertical;background:#fff;border:1px solid #d8d8d8;border-radius:10px;width:100%;padding:14px 16px;font-family:Open Sans,sans-serif;font-size:.95rem}.portal-message-form textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #06206b1f}.portal-lightbox{z-index:2000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.portal-lightbox figure{cursor:default;max-width:min(900px,90vw)}.portal-lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:78vh;margin:0 auto;display:block}.portal-lightbox figcaption{color:#fff;text-align:center;flex-direction:column;gap:4px;margin-top:16px;display:flex}.portal-lightbox figcaption strong{letter-spacing:.04em;font-family:Raleway,sans-serif;font-size:1rem}.portal-lightbox figcaption span{color:#ffffffb3;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}.portal-lightbox-close{color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition);background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;top:20px;right:20px}.portal-lightbox-close:hover{background:#ffffff4d}@media (max-width:600px){.portal-section{padding:36px 0}.portal-top{padding:32px 0 36px}.portal-top.portal-top-compact{padding:10px 0}.resident-card{padding:20px}.portal-residents{grid-template-columns:1fr}}.geo-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06206b8c;justify-content:center;align-items:center;padding:24px;animation:.25s geo-fade;display:flex;position:fixed;inset:0}.geo-modal{text-align:center;border-top:5px solid var(--gold);background:#fff;border-radius:18px;width:100%;max-width:440px;padding:40px 32px 32px;animation:.3s cubic-bezier(.2,.8,.3,1.1) geo-pop;position:relative;box-shadow:0 24px 60px #00000047}.geo-modal-wave{margin-bottom:12px;font-size:2.4rem;line-height:1}.geo-modal h2{color:var(--navy);letter-spacing:.02em;margin-bottom:12px;font-family:Raleway,sans-serif;font-size:1.5rem}.geo-modal p{color:#555;margin-bottom:24px;font-size:.95rem;line-height:1.7}.geo-modal-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.geo-modal-secondary{text-transform:uppercase;letter-spacing:.12em;color:var(--navy);font-family:Raleway,sans-serif;font-size:.78rem;font-weight:600;text-decoration:underline}.geo-modal-secondary:hover{color:var(--gold-dark)}.geo-modal-close{color:#999;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.6rem;line-height:1;position:absolute;top:12px;right:14px}.geo-modal-close:hover{color:var(--navy)}@keyframes geo-fade{0%{opacity:0}to{opacity:1}}@keyframes geo-pop{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:480px){.geo-modal{padding:32px 22px 26px}.geo-modal h2{font-size:1.3rem}}
