@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#092c3c;--gold:#e9b94e;--cream:#f7f7f0;--muted:#61716f;--green:#27684f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--navy);font:15px/1.7 Manrope,'Hind Siliguri',sans-serif;background:#fff}h1,h2,h3,h4,p{margin-top:0}[lang=bn]{font-family:'Hind Siliguri',sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none}header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:8px 6%;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #082c3b12}.brand{display:block;width:133px;height:86px;overflow:hidden;position:relative}.brand img{position:absolute;width:164px;height:164px;max-width:none;left:-17px;top:-31px;object-fit:contain}.nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--gold);color:var(--navy);border:1px solid var(--gold);border-radius:8px;padding:14px 23px;font-weight:800;font-size:14px}.btn.white{background:#fff;border-color:#fff}.btn.outline{background:transparent;border-color:#ffffff80;color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.menu-button{width:45px;height:45px;border:1px solid #d8dece;border-radius:50%;background:white;font-size:23px;color:var(--navy)}.header-actions{display:flex;align-items:center;gap:16px}.hero{position:relative;min-height:660px;display:flex;align-items:center;color:#fff;background:#183a34 url('/assets/hero.jpg?v=river-village-20261111') center 48%/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#062b2ded 0%,#072d2bd9 26%,#0b2d2b75 55%,#062b2b0d 100%)}.hero-inner{position:relative;max-width:1280px;width:100%;margin:auto;padding:75px 7% 90px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#927027;display:block;margin-bottom:16px}.hero .eyebrow{color:#f5d78c}.hero h1{font-size:clamp(46px,5.2vw,74px);font-weight:600;line-height:1.24;max-width:650px;margin:0 0 18px}.hero h1 span{color:#f7ce69}.hero p{max-width:450px;color:#e9f0e6;font-size:18px;line-height:1.8}.hero .english{font-size:14px;color:#d1e3d5;max-width:420px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.image-note{position:absolute;bottom:12px;right:20px;font-size:9px;color:#fff9}.values-strip{background:var(--navy);display:grid;grid-template-columns:repeat(3,1fr);color:white;padding:27px 7%;gap:25px}.values-strip>div{display:flex;gap:18px;align-items:center}.values-strip b{font-size:18px;font-weight:500}.values-strip small{display:block;font-size:11px;color:#bdd0cd}.strip-icon{color:var(--gold);font-size:27px}.section{padding:80px 7%;max-width:1500px;margin:auto}h2{font-size:clamp(31px,3.2vw,45px);line-height:1.3;letter-spacing:-.025em;font-weight:700;margin-bottom:18px}h3{font-size:21px;line-height:1.4;margin-bottom:10px}p{color:var(--muted)}.section-top{display:flex;gap:45px;justify-content:space-between;align-items:end;margin-bottom:35px}.section-top>p{max-width:400px;margin-bottom:20px}.section-top h2{margin-bottom:5px}.section-top .eyebrow{margin-bottom:12px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.intro .bengali{font-size:22px;color:var(--navy)}.intro .mission-box{background:var(--cream);padding:35px;border-radius:16px;border-left:4px solid var(--gold)}.intro .mission-box p{margin-bottom:0}.pill{display:inline-block;color:var(--green);font-size:11px;background:#eaf1e8;padding:6px 10px;border-radius:5px;font-weight:700}.programmes-wrap{background:var(--cream)}.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.programme-card{background:white;border-radius:13px;border:1px solid #e7eade;overflow:hidden;display:flex;flex-direction:column}.programme-card .card-inner{padding:28px;display:flex;flex-direction:column;flex:1}.programme-card h3{font-size:25px;margin:15px 0 7px}.programme-card p{font-size:14px}.programme-card small{font-size:11px;color:#78837e}.card-link{margin-top:auto;padding-top:16px;font-size:13px;font-weight:800;color:var(--green);display:flex;justify-content:space-between;align-items:center}.card-icon{width:48px;height:48px;border-radius:12px;background:#f7f0d9;color:#967024;display:grid;place-items:center;font-size:24px}.legacy{display:grid;grid-template-columns:.65fr 1.35fr;gap:8%;background:white;align-items:center}.seal{background:var(--cream);border-radius:18px;min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#95732e;font-size:28px;text-align:center}.seal small{font-size:10px;letter-spacing:.14em;margin:16px}.legacy .eyebrow{margin-bottom:18px}.legacy h2{margin-bottom:7px}.legacy h3{font-weight:500}.profile-note,.birth-date{font-size:13px}.legacy details{display:none}.objectives{background:var(--cream);border-radius:20px}.objective-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 45px;padding:0;margin:0}.objective-list li{display:flex;gap:18px;padding:25px 0;border-top:1px solid #dadfce}.objective-number{font-size:18px;color:#997526}.objective-list h3{font-size:20px;margin-bottom:6px}.objective-list h4{font-size:20px;font-weight:500;margin:0 0 10px}.objective-list p{font-size:13px;margin:8px 0}.connect-banner{margin:60px 7%;background:var(--navy);color:#fff;border-radius:19px;padding:45px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px}.connect-banner h2{font-size:36px;margin-bottom:8px}.connect-banner p{color:#c2d3ce;margin:0}.page-heading{padding:55px 7%;background:var(--navy);color:#fff}.page-heading h1{font-size:42px;line-height:1.3;margin:12px 0}.page-heading p{color:#cedfd7;max-width:680px}.breadcrumb{font-size:11px;color:#d4e0d6}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-item{padding:20px 0;border-bottom:1px solid #dde2d8}.contact-item small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.contact-item a{font-size:19px;font-weight:700;overflow-wrap:anywhere}.contact-item p{color:var(--navy);margin:0}.form-card{background:var(--cream);padding:35px;border:1px solid #e3e7da;border-radius:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:700;color:var(--navy)}label .bn{display:block;font-family:'Hind Siliguri',sans-serif;font-size:15px;font-weight:500;margin-bottom:6px}input,textarea,select{width:100%;padding:12px;border:1px solid #cfd9cf;border-radius:6px;background:#fff;color:var(--navy);font-size:15px}textarea{min-height:115px;resize:vertical}.required{color:#8d3d21}.check{display:flex;gap:10px;align-items:start;font-weight:400;font-size:12px}.check input{width:18px;height:18px;flex-shrink:0;margin-top:4px}.form-note{font-size:12px}.form-note[role=status]{font-size:14px;color:var(--green);font-weight:700}.error{color:#9b321f!important}.programme-body{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:start}.programme-side{padding:30px;background:var(--cream);border-radius:12px}.programme-side ul{padding-left:20px;color:var(--muted);font-size:14px}.programme-body .lead{font-size:22px;color:var(--navy)}.notice{border-left:3px solid var(--gold);padding:14px 18px;background:#fcf8e9;font-size:13px;color:#665a35;margin:20px 0}.apply-wrap{max-width:950px}.form-step{font-size:19px;border-bottom:1px solid #d7dece;padding-bottom:12px;margin:25px 0 20px}.form-step:first-child{margin-top:0}.honeypot{position:absolute;left:-9999px}.application-success{padding:25px;background:#e8f0e3;border-radius:10px}.application-success h3{font-size:25px}.application-success strong{font-size:19px}.menu{width:min(440px,91vw);max-width:91vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;border:0;background:var(--cream);color:var(--navy);padding:25px 28px;z-index:50}.menu::backdrop{background:#092c3caa}.menu-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dae0d3;padding-bottom:15px}.menu-close{background:none;border:0;font-size:32px;color:var(--navy)}.menu details{border-bottom:1px solid #dce1d5;padding:18px 0}.menu summary{cursor:pointer;font-size:17px;font-weight:700}.menu details a{display:block;font-size:13px;border-left:2px solid var(--gold);padding-left:15px;margin:17px 0 0}.menu .drawer-home{display:block;padding:20px 0 8px;font-weight:700}.menu .btn{width:100%;margin-top:25px}.menu-open{overflow:hidden}.skip{position:fixed;top:-100px;left:10px;z-index:100;padding:12px;background:#fff}.skip:focus{top:8px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c69328;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}@media(max-width:1000px){.nav{display:none}.programme-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{height:88px;padding:4px 5%}.brand{width:113px;height:78px}.brand img{width:145px;height:145px;left:-15px;top:-27px}.header-actions{gap:12px}.header-actions .btn{font-size:12px;padding:10px 13px}.menu-button{width:42px;height:42px}.hero{min-height:650px;align-items:end;background-position:64% center}.hero:before{background:linear-gradient(0deg,#062c30fa 0%,#082e30e8 29%,#082e3060 68%,#082e3010 100%)}.hero-inner{padding:195px 6% 48px}.hero h1{font-size:45px;line-height:1.3;max-width:360px}.hero .eyebrow{font-size:10px;margin-bottom:15px}.hero p{font-size:18px;margin-bottom:12px}.hero .english{font-size:12px;max-width:300px}.hero-actions{gap:10px;margin-top:22px}.hero-actions .btn{font-size:14px;padding:13px 16px}.image-note{font-size:8px;bottom:6px}.values-strip{padding:22px 6%;gap:13px;grid-template-columns:1fr 1fr 1fr}.values-strip>div{display:block}.strip-icon{font-size:23px}.values-strip b{font-size:15px}.values-strip small{font-size:9px}.section{padding:50px 6%}.intro,.legacy,.content-grid,.programme-body{grid-template-columns:1fr;gap:25px}.intro .bengali{font-size:22px}.intro .mission-box{padding:26px}.section-top{display:block;margin-bottom:25px}.section-top>p{margin-top:15px;font-size:14px}.programme-grid{grid-template-columns:1fr}.programme-card .card-inner{padding:25px}.programme-card h3{font-size:26px}.programme-card p{font-size:15px}.card-icon{width:43px;height:43px}.objective-list{grid-template-columns:1fr}.objectives{border-radius:0}.seal{min-height:190px}.connect-banner{margin:20px 6% 45px;padding:30px;display:block}.connect-banner h2{font-size:29px}.connect-banner .btn{margin-top:24px}.page-heading{padding:35px 6%}.page-heading h1{font-size:34px}.form-card{padding:23px 18px}.form-grid{grid-template-columns:1fr;gap:18px}.full{grid-column:auto}.contact-item a{font-size:18px}.programme-side{padding:25px}.form-step{font-size:17px}h2{font-size:32px}.birth-date{font-size:12px}.header-actions .btn span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Living riverside illustration, with a quiet reduced-motion version. */
.hero{overflow:hidden;isolation:isolate;background-image:none;background-color:#176c69}
.hero::after{content:'';position:absolute;inset:-2%;z-index:-2;background:url('/assets/hero.jpg?v=river-village-20261111') center 48%/cover no-repeat;animation:village-drift 22s ease-in-out infinite alternate;will-change:transform}
.hero::before{z-index:-1;background:linear-gradient(90deg,#062b2dd9 0%,#072d2bc2 26%,#0b2d2b45 55%,#062b2b00 100%)}
.hero-inner{z-index:2}.image-note{z-index:3}.river-glimmer{position:absolute;inset:53% 0 0;pointer-events:none;z-index:0;opacity:.12;background:repeating-linear-gradient(173deg,transparent 0 25px,#ddfff526 26px 27px,transparent 29px 58px);background-size:200% 140%;mask-image:linear-gradient(transparent,#000 50%,transparent);animation:river-ripple 12s linear infinite}
.hero-birds{position:absolute;top:12%;right:12%;width:100px;height:45px;color:#193f40;opacity:.65;z-index:0;pointer-events:none;animation:birds-glide 15s ease-in-out infinite alternate}
@keyframes village-drift{from{transform:scale(1.015) translateX(-.4%)}to{transform:scale(1.055) translateX(.4%)}}
@keyframes river-ripple{from{background-position:0 0}to{background-position:100% 35px}}
@keyframes birds-glide{from{transform:translate(-18px,4px)}to{transform:translate(28px,-9px)}}
@media(max-width:650px){.hero::after{background-position:64% center}.hero::before{background:linear-gradient(0deg,#062c30f5 0%,#082e30d9 26%,#082e3035 64%,#082e3000 100%)}.hero-birds{top:10%;right:15%;width:70px}.river-glimmer{inset:35% 0 0;opacity:.09}}
@media(prefers-reduced-motion:reduce){.hero::after,.river-glimmer,.hero-birds{animation:none!important;will-change:auto}}

/* Clear copy panel and separate living village illustration. */
.hero{display:grid;grid-template-columns:47% 53%;min-height:610px;background:#092c3c;isolation:isolate;align-items:stretch}
.hero::after,.hero::before{display:none}.hero-scene{grid-column:2;grid-row:1;position:relative;overflow:hidden;min-height:610px;background:#176c69}
.hero-scene::before{content:'';position:absolute;inset:-2%;background:url('/assets/hero.jpg?v=river-village-20261111') 66% center/cover no-repeat;animation:village-drift 22s ease-in-out infinite alternate;will-change:transform}
.hero-inner{grid-column:1;grid-row:1;background:#092c3c;max-width:none;padding:65px 9% 65px 14%;margin:0;align-self:center}
.hero h1{font-size:clamp(40px,4.1vw,63px);line-height:1.35;letter-spacing:0}.hero h1 span{color:#f7ce69}.hero p{color:#f1f5f1;font-weight:400}.hero .english{color:#d6e4df}.hero .eyebrow{color:#f7d68b;font-size:10px;line-height:1.8}.hero-actions{gap:12px}.hero .river-glimmer{left:47%;z-index:1}.hero-birds{right:10%;top:12%;z-index:1}.image-note{right:15px;color:#fff;background:#092c3ca6;padding:3px 7px;border-radius:3px}.social-section{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center}.social-card{background:var(--cream);border:1px solid #e0e5d6;border-radius:18px;padding:45px}.social-card p{max-width:580px}.facebook-mark{width:58px;height:58px;background:#1877f2;border-radius:13px;color:white;font:bold 48px Arial,sans-serif;text-align:center;line-height:69px;overflow:hidden;margin-bottom:25px}.social-help{padding:25px}.social-help .card-link{max-width:240px}
@media(max-width:1000px){.hero{grid-template-columns:45% 55%}.hero-inner{padding:45px 9%}.hero h1{font-size:44px}.hero-actions .btn{padding:12px 17px;font-size:13px}.hero .river-glimmer{left:45%}}
@media(max-width:650px){.hero{display:flex;flex-direction:column;min-height:0}.hero-scene{min-height:0;height:265px;flex:none;order:0}.hero-scene::before{background-position:66% 53%;inset:-2%}.hero-inner{order:1;padding:31px 6% 36px;width:100%;background:#092c3c}.hero .eyebrow{font-size:9px;margin-bottom:12px}.hero h1{font-size:40px;line-height:1.4;max-width:100%;margin-bottom:14px}.hero p{font-size:18px;line-height:1.85}.hero .english{font-size:12px;max-width:100%;line-height:1.8}.hero-actions{margin-top:22px}.hero-actions .btn{font-size:14px;padding:13px 17px}.hero .river-glimmer{inset:110px 0 auto;height:140px;opacity:.1}.hero-birds{top:24px;right:16%;width:60px}.image-note{top:240px;bottom:auto;font-size:7px;line-height:1.5;padding:2px 5px}.social-section{grid-template-columns:1fr;gap:20px}.social-card{padding:29px 23px}.social-card h2{font-size:29px}.social-help{padding:10px}.social-card .btn{font-size:12px;padding:13px}}
@media(prefers-reduced-motion:reduce){.hero-scene::before{animation:none;will-change:auto}}

/* Light motion: content remains readable without JavaScript. */
.btn,.programme-card,.card-icon,.card-link,.nav a,.social-card,.menu-button{transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,border-color .28s ease,color .28s ease}
.programme-card{position:relative}.programme-card::after{content:'';position:absolute;inset:auto 20px 0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;border-radius:3px;pointer-events:none}
.programme-card:focus-within{box-shadow:0 13px 35px #092c3c10;border-color:#c6d4bd}.programme-card:focus-within::after{transform:scaleX(1)}
.card-link span{display:inline-block;transition:transform .28s ease}.btn:active{transform:scale(.98)}.menu-button:active{transform:scale(.94)}
.motion-ready .reveal{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.awaiting{opacity:0;translate:0 22px}.motion-ready .reveal.shown{opacity:1;translate:0 0}
.hero-inner>.eyebrow{animation:hero-copy-in .65s ease both}.hero-inner h1{animation:hero-copy-in .75s .08s ease both}.hero-inner>p{animation:hero-copy-in .75s .17s ease both}.hero-actions{animation:hero-copy-in .75s .24s ease both}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.header-scrolled{box-shadow:0 5px 22px #092c3c12}header{transition:box-shadow .3s ease}
.menu[open]{animation:menu-enter .3s ease both}.menu[open]::backdrop{animation:backdrop-enter .3s ease both}@keyframes menu-enter{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.programme-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #092c3c12;border-color:#ccd5bc}.programme-card:hover::after{transform:scaleX(1)}.programme-card:hover .card-icon{transform:rotate(-5deg);background:#f3e5b9}.programme-card:hover .card-link span,.card-link:hover span{transform:translateX(4px)}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #0002}.nav a:hover{color:#987226}.menu-button:hover{background:#f8f1df}.social-card:hover{box-shadow:0 12px 30px #092c3c0d}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal.awaiting{opacity:1;translate:none}.programme-card:hover,.btn:hover{transform:none}}
/* A gold light traces the primary action, inspired by the Scenius reference. */
.btn{position:relative;isolation:isolate;overflow:hidden}.btn::before{content:'';position:absolute;width:150%;height:350%;left:-25%;top:-125%;background:conic-gradient(from 0deg,transparent 0deg 270deg,#fff5b8 300deg,#fff9d8 320deg,transparent 350deg);z-index:-2;opacity:0;animation:action-border-light 3.2s linear infinite;animation-play-state:paused;transition:opacity .25s ease;pointer-events:none}.btn::after{content:'';position:absolute;inset:2px;border-radius:5px;background:var(--gold);z-index:-1;pointer-events:none}.btn.dark::after{background:var(--navy)}.btn.white::after{background:white}.btn.outline::before,.btn.outline::after{display:none}.btn:focus-visible::before{opacity:1;animation-play-state:running}@keyframes action-border-light{to{transform:rotate(360deg)}}@media(hover:hover) and (pointer:fine){.btn:hover::before{opacity:1;animation-play-state:running}}@media(prefers-reduced-motion:reduce){.btn::before{display:none}}

/* Foundation events */
.nav a[aria-current="page"] { color: var(--green); text-decoration: underline; text-underline-offset: .35em; }
.event-heading p { margin-bottom: 0; }
.event-section { min-height: 290px; }
.event-section [hidden], .event-notice-strip [hidden] { display: none; }
.event-notice-strip {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 10px 26px; padding: 14px 6%; background: #f8f0d9; color: var(--navy); font-weight: 700;
}
.event-notice-strip a, .event-notice-strip button, .event-manager-link a {
  text-decoration: underline; text-underline-offset: 4px;
}
.event-notice-strip button { background: none; border: 0; color: inherit; padding: 5px 0; font-weight: inherit; }
.event-notice-dialog {
  color: var(--navy); border: 1px solid #e8dbb4; border-top: 5px solid var(--gold); border-radius: 18px;
  width: min(550px, calc(100% - 30px)); max-height: calc(100dvh - 38px); padding: clamp(20px, 5vw, 34px);
  box-shadow: 0 18px 90px #092c3c45; overflow: auto;
}
.event-notice-dialog::backdrop { background: #092c3c9e; }
.event-notice-heading { display: flex; justify-content: space-between; align-items: start; gap: 15px; }
.event-notice-heading h2, .event-notice-heading p { margin-bottom: 0; }
.event-notice-heading button { line-height: 1; padding: 3px 8px; }
.event-notice-list { list-style: none; margin: 20px 0 24px; padding: 0; }
.event-notice-list li { border-top: 1px solid #e4e8de; padding: 13px 0; }
.event-notice-list li:last-child { border-bottom: 1px solid #e4e8de; }
.event-notice-list a { display: block; font-size: 18px; font-weight: 700; overflow-wrap: anywhere; }
.event-notice-list a:hover { text-decoration: underline; }
.event-notice-list p { margin: 2px 0 0; font-size: 13px; }
.event-group + .event-group { margin-top: 52px; }
.event-group h2 span { display: block; font-size: 14px; letter-spacing: 0; color: var(--muted); margin-top: 5px; }
.event-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr)); gap: 22px; }
.event-card { border: 1px solid #e1e6da; border-radius: 14px; background: var(--cream); overflow: hidden; }
.event-card img { width: 100%; height: 205px; object-fit: cover; display: block; }
.event-card-content { padding: 22px; }
.event-card h3 { margin-top: 12px; overflow-wrap: anywhere; }
.event-card p { margin-bottom: 8px; overflow-wrap: anywhere; }
.event-card a { display: inline-block; }
.event-detail-meta { font-weight: 700; }
.event-description { max-width: 760px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 17px; }
.event-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: 16px; margin: 24px 0; }
.event-gallery a { display: grid; place-items: center; border-radius: 10px; background: var(--cream); border: 1px solid #e1e6da; overflow: hidden; }
.event-gallery img { display: block; width: 100%; max-height: 420px; object-fit: contain; }
.event-manager-link { margin: 30px 0 0; font-weight: 700; }
.event-admin { display: grid; grid-template-columns: minmax(175px, 1fr) minmax(0, 2.5fr); align-items: start; gap: 30px; }
.event-admin h2 { font-size: 25px; }
.event-admin-list { display: grid; gap: 8px; }
.event-admin-list button { border: 1px solid #d9e1d5; border-radius: 8px; text-align: left; padding: 10px 12px; background: #fff; color: var(--navy); overflow-wrap: anywhere; }
.event-admin-list button[aria-current="true"] { border-color: var(--green); background: #eaf1e8; }
.event-admin-list small { display: block; color: var(--muted); }
.event-admin input:not([type="checkbox"]), .event-admin textarea { display: block; margin-top: 4px; }
#event-photo-captions { display: grid; gap: 10px; overflow-wrap: anywhere; }
#event-save-status { margin: 14px 0 0; }
.event-keep-photo { display: inline-flex; flex-direction: column; gap: 5px; margin: 5px 10px 5px 0; }
.event-keep-photo img { width: 90px; height: 65px; object-fit: cover; border-radius: 6px; }
.event-keep-photo .check { align-items: center; }
@media (max-width: 650px) { .event-admin { grid-template-columns: 1fr; } }

.site-footer {
  background: var(--navy);
  border-top: 3px solid var(--gold);
  color: #fff;
}
.site-footer-inner {
  max-width: 1500px;
  margin-inline: auto;
  padding: 46px 7% 16px;
}
.footer-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  align-items: start;
  gap: clamp(24px, 4vw, 64px);
}
.footer-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.footer-mark {
  display: grid;
  place-items: center;
  width: 78px;
  aspect-ratio: 1;
  overflow: hidden;
  padding: 4px;
  border: 1px solid #ead295;
  border-radius: 10px;
  background: #fff;
}
.footer-mark img { display: block; width: 100%; height: auto; transform: scale(1.23); }
.footer-name { color: #fff; font-size: clamp(19px, 2vw, 25px); font-weight: 700; line-height: 1.28; margin: 0 0 5px; }
.footer-english { color: #dce8e6; font-size: 12px; line-height: 1.45; margin: 0; }
.footer-mission { grid-column: 1 / -1; color: #d1e1df; font-size: 16px; line-height: 1.55; margin: 1px 0 0; }
.footer-layout h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; font-size: 17px; letter-spacing: 0; margin: 0 0 12px; }
.footer-layout h2 span { color: var(--gold); font-size: 16px; font-weight: 600; }
.footer-links, .footer-contact-links { list-style: none; margin: 0; padding: 0; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 14px; }
.footer-links a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 48px;
  padding: 5px 0;
  border-bottom: 1px solid #ffffff24;
  line-height: 1.35;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.footer-links small { margin-top: 2px; font-size: 13px; color: #c5d9d7; }
.footer-contact-links { display: grid; gap: 6px; }
.footer-contact-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 7px 11px;
  background: #ffffff0c;
  border: 1px solid #ffffff28;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.footer-contact-links small { display: block; font-size: 10px; font-weight: 600; color: #d1e1df; }
.footer-link-arrow {
  position: relative;
  flex: 0 0 8px;
  height: 8px;
  margin-inline: 4px 2px;
  border-top: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}
.footer-link-arrow::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 0;
  width: 11px;
  height: 1px;
  background: var(--gold);
  transform: rotate(-45deg);
  transform-origin: right;
}
.site-footer-bottom a span { color: var(--gold); }
.footer-contact address { margin-top: 11px; font-size: 12px; line-height: 1.5; color: #d1e1df; font-style: normal; }
.site-footer a:hover { color: #ffe0a0; }
.site-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 14px;
  border-top: 1px solid #ffffff30;
  margin-top: 24px;
  padding-top: 6px;
  color: #d1e1df;
}
.site-footer-bottom small { font-size: 11px; }
.site-footer-bottom a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: 12px; font-weight: 700; }
@media (max-width: 870px) {
  .footer-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .footer-identity { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .site-footer-inner { padding: 23px 6% 10px; }
  .footer-layout { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .footer-identity { gap: 9px 12px; }
  .footer-mark { width: 65px; }
  .footer-navigation { padding-top: 13px; border-top: 1px solid #ffffff30; }
  .footer-layout h2 { margin-bottom: 6px; }
  .footer-links { gap: 2px 16px; }
  .site-footer-bottom { margin-top: 16px; }
}
