html,body{overflow-x:hidden}
body{background:#fbfcfe;color:#26364a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root{--surface:#fff;--surface-soft:#f5f7fa;--border-soft:#e5e9ef;--shadow-soft:0 10px 30px rgba(16,35,63,.07);--shadow-card:0 18px 45px rgba(16,35,63,.10)}
.site-container{width:min(1260px,calc(100% - 48px))}
.site-topbar{border-bottom:1px solid rgba(255,255,255,.08)}
.site-header{height:88px;border-bottom:1px solid rgba(16,35,63,.06);box-shadow:0 8px 30px rgba(16,35,63,.06)}
.nav-wrap{gap:24px}
.nav-wrap{position:relative}
.site-brand{flex:0 0 270px;min-width:0}
.site-brand>span:last-child{min-width:0}
.brand-mark{flex:0 0 46px;width:46px;height:46px}
.site-brand strong{max-width:205px;font-size:19px;line-height:1.15}
.site-brand small{display:block;margin-top:5px;font-size:9px;line-height:1.2;letter-spacing:1.05px;white-space:nowrap}
.site-nav{flex:1 1 auto;justify-content:flex-end;gap:1px;min-width:0}
.site-nav>a,.nav-dropdown>button{padding:31px 9px;font-size:14px;white-space:nowrap}
.site-nav>a,.nav-dropdown>button{position:relative;transition:color .2s ease}
.site-nav>a:not(.nav-donate):after,.nav-dropdown>button:after{content:"";position:absolute;right:9px;bottom:21px;left:9px;height:2px;border-radius:2px;background:var(--saffron);transform:scaleX(0);transition:transform .2s ease}
.site-nav>a.active:after,.site-nav>a:hover:after,.nav-dropdown>button.active:after,.nav-dropdown>button:hover:after{transform:scaleX(1)}
.nav-dropdown>button{display:inline-flex;align-items:center;gap:3px}
.site-nav .nav-donate{min-width:96px;margin-left:9px;padding:13px 17px;text-align:center;box-shadow:0 9px 22px rgba(232,119,34,.24);transition:transform .2s ease,box-shadow .2s ease}
.site-nav .nav-donate:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(232,119,34,.30)}
.nav-dropdown-menu{border:1px solid var(--border-soft);padding:9px}
.nav-dropdown-menu a{font-size:14px}
.hero{min-height:590px;background-position:center center!important}
.hero-content{max-width:820px;padding:78px 0 105px}
.hero h1{max-width:820px;font-size:clamp(48px,5vw,68px);line-height:1.03;letter-spacing:-1.4px;text-wrap:balance}
.hero p{max-width:680px;margin:0;font-size:18px;line-height:1.65}
.hero-actions{margin-top:28px}
.btn{min-height:46px;border-radius:10px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{box-shadow:0 10px 24px rgba(232,119,34,.22)}
.btn-filter-clear{font-weight:700}
.quick-grid{border:1px solid rgba(16,35,63,.06);box-shadow:var(--shadow-card)}
.quick-card{transition:background .2s ease,transform .2s ease}
.quick-card:hover{background:#fffaf4;transform:translateY(-2px)}
.quick-card i{box-shadow:inset 0 0 0 1px rgba(232,119,34,.12)}
.section{position:relative}
.section-soft{background:linear-gradient(180deg,#f8fafc 0%,#f5f7fa 100%)}
.section-title h2{letter-spacing:-.6px}
.section-title p{font-size:16px}
.content-card,.directory-card,.event-card,.feature-card,.gallery-card,.job-card{border:1px solid var(--border-soft);box-shadow:var(--shadow-soft)}
.content-card{padding:32px}
.content-card h2,.content-card h3{color:var(--navy);letter-spacing:-.25px}
.directory-card,.event-card,.feature-card,.gallery-card,.job-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.directory-card:hover,.event-card:hover,.feature-card:hover,.gallery-card:hover,.job-card:hover{border-color:rgba(232,119,34,.22);box-shadow:var(--shadow-card)}
.directory-body h3,.event-body h3{line-height:1.3}
.directory-body p{min-height:24px}
.directory-button{margin-top:16px}
.directory-filter{border-top:4px solid var(--saffron)}
.directory-summary{padding:0 4px}
.form-label{font-size:13px;letter-spacing:.2px}
.form-control{min-height:46px;background:#fff;border-color:#dfe4eb;transition:border-color .2s ease,box-shadow .2s ease}
.form-control:hover{border-color:#c7ced8}
.form-control:focus{border-color:var(--saffron);box-shadow:0 0 0 4px rgba(232,119,34,.11)}
textarea.form-control{min-height:130px}
.page-hero{position:relative;overflow:hidden;padding:82px 0}
.page-hero:after{content:"";position:absolute;width:320px;height:320px;right:-90px;top:-135px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 58px rgba(255,255,255,.035)}
.page-hero .site-container{position:relative;z-index:1}
.page-hero h1{letter-spacing:-1px}
.detail-grid{align-items:start;gap:38px}
.detail-grid>div:first-child{min-width:0}
.detail-image{box-shadow:var(--shadow-card);border:1px solid var(--border-soft)}
.info-list{gap:0}
.info-item{padding:16px 0;border-bottom:1px solid var(--border-soft)}
.info-item:last-child{border-bottom:0}
.info-item i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:#fff5e9;border-radius:10px}
.profile-facts span{border:1px solid #f0e4d6}
.event-date{min-width:58px}
.event-body{display:flex;min-height:190px;flex-direction:column}
.event-body .text-link{margin-top:auto;padding-top:8px}
.gallery-card{background:#fff}
.gallery-card img,.gallery-card video{border-bottom:1px solid var(--border-soft)}
.contact-info{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#10233f,#173f68)}
.contact-row{padding:3px 0}
.contact-row i{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.08)}
.donation-band{position:relative;overflow:hidden}
.donation-band:after{content:"";position:absolute;width:440px;height:440px;right:-120px;bottom:-290px;border-radius:50%;background:rgba(245,182,66,.08)}
.donation-grid{position:relative;z-index:1}
.donation-type{transition:transform .2s ease,background .2s ease}
.donation-type:hover{transform:translateY(-3px);background:#ffffff18}
.donation-type strong,.donation-type small{display:block}
.donation-type small{margin-top:5px;color:#d8e3ef}
.footer-cta{box-shadow:inset 0 1px rgba(255,255,255,.18)}
.site-footer{background:linear-gradient(180deg,#0d1d31,#081421)}
.footer-grid h4{position:relative;padding-bottom:12px}
.footer-grid h4:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--saffron)}
.footer-grid a{transition:color .2s ease,transform .2s ease}
.footer-grid a:hover{transform:translateX(3px)}
.footer-bottom{color:#8698ad}
.check-list span:before{content:"\2713"}
@media(max-width:1199px){
  .site-container{width:min(100% - 36px,1120px)}
  .site-brand{flex-basis:auto}
  .site-brand strong{max-width:none}
  .nav-toggle{display:grid;place-items:center}
  .nav-toggle{flex:0 0 44px;margin-left:auto;position:relative;z-index:3}
  .site-nav{display:none;position:absolute;top:82px;right:18px;left:18px;max-height:calc(100vh - 115px);padding:12px;overflow-y:auto;flex-direction:column;align-items:stretch;background:#fff;border-radius:14px;box-shadow:var(--shadow)}
  .site-nav.open{display:flex}
  .site-nav>a,.nav-dropdown>button{display:flex;width:100%;justify-content:space-between;padding:12px 14px;text-align:left}
  .site-nav>a:after,.nav-dropdown>button:after{display:none}
  .nav-dropdown-menu{position:static;display:none;padding:2px 8px 8px 22px;opacity:1;visibility:visible;transform:none;box-shadow:none}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .site-nav .nav-donate{margin:5px 0 0;justify-content:center}
}
@media(max-width:640px){
  .site-container{width:min(1180px,calc(100% - 26px))}
  .topbar-links{width:100%;justify-content:center;gap:14px;font-size:11px}
  .nav-wrap{gap:10px}
  .site-brand{max-width:calc(100% - 54px)}
  .site-brand strong{max-width:190px;font-size:17px}
  .site-brand small{max-width:190px;overflow:hidden;text-overflow:ellipsis}
  .hero{min-height:570px}
  .hero-content{padding:62px 0 120px}
  .hero h1{font-size:clamp(42px,13vw,57px);letter-spacing:-.8px}
  .hero-content{width:100%;max-width:100%}
  .hero p{max-width:100%;overflow-wrap:anywhere}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .btn{width:100%}
  .content-card{padding:24px}
  .page-hero{padding:60px 0}
  .page-hero h1{font-size:38px}
}
.event-image{height:190px}
.gallery-card img,.gallery-card video{height:190px}
.detail-image:not(.directory-detail-image):not(.business-detail-image){height:320px}
@media(max-width:640px){
  .event-image,.gallery-card img,.gallery-card video{height:175px}
  .detail-image:not(.directory-detail-image):not(.business-detail-image){height:240px}
}
