:root{--green:#006a4e;--deep:#003b34;--gold:#ffdf50;--ink:#082c2a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#eaf7ff;color:var(--ink);font-family:"Hind Siliguri","Noto Sans Bengali","Nirmala UI","Kohinoor Bangla",Vrinda,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.page-shell{width:min(100%,1200px);margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 20px 80px #062c3b22}
.artwork-wrap{position:relative;width:100%;line-height:0;isolation:isolate}
.landing-art{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}

/* Flags: boxes measured on the artwork; the SVG fabric waves inside them. */
.flag{position:absolute;z-index:3;pointer-events:none;transform-origin:0 50%;filter:drop-shadow(0 5px 5px #002b2540);will-change:transform}
.flag svg{display:block;width:100%;height:100%;overflow:visible}
.flag-top{left:43.95%;top:4.56%;width:20.7%;height:6.64%;animation:flag-sway 3.6s ease-in-out infinite}
.flag-child{left:84.6%;top:63.4%;width:15.4%;height:9.4%;transform-origin:0 85%;animation:child-flag-sway 2.9s ease-in-out infinite}

/* Doves: drift across the sky, wings flap. */
.dove{position:absolute;z-index:4;width:5.2%;aspect-ratio:5/3;fill:#fff;filter:drop-shadow(0 2px 3px #225c8a55);animation:dove-drift 8s ease-in-out infinite;pointer-events:none}
.dove svg{width:100%;height:100%;overflow:visible}
.dove .wing{transform-box:fill-box;transform-origin:50% 85%;animation:wing-flap .62s ease-in-out infinite alternate}
.dove-two .wing{animation-duration:.72s}
.dove-three .wing{animation-duration:.55s}
.dove-one{left:78.5%;top:3.8%}
.dove-two{left:81.5%;top:6.6%;width:4.4%;animation-delay:-2s}
.dove-three{left:79%;top:11.8%;width:3.8%;animation-delay:-4s}

/* Clickable areas over the artwork (percentages of the artwork). */
.hotspot{position:absolute;z-index:8;display:block;margin:0;padding:0;border:0;border-radius:12px;background:transparent;cursor:pointer}
.hotspot:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.nav-download{left:43.3%;top:1.5%;width:8.2%;height:2.8%}
.nav-lang{left:85.5%;top:1.2%;width:11.5%;height:3.2%;border-radius:50px}
.download-hotspot{left:4.7%;top:28.1%;width:29%;height:3.6%;border-radius:50px}
.search-hotspot{left:70.5%;top:83.6%;width:13%;height:3.6%;border-radius:50px}

/* Language chooser: two words only. */
.chooser{width:min(92vw,420px);padding:22px;border:0;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 24px 60px #00302a55}
.chooser::backdrop{background:rgba(0,43,40,.55)}
.chooser.is-over{box-shadow:0 0 0 4px var(--gold),0 24px 60px #00302a55}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{appearance:none;margin:0;border:2px solid transparent;border-radius:18px;padding:26px 12px;background:var(--green);color:#fff;font:inherit;font-size:24px;font-weight:800;cursor:pointer;touch-action:manipulation;user-select:none;transition:border-color .15s ease,opacity .15s ease}
.choice:hover,.choice:focus-visible{border-color:var(--gold);outline:none}
.choice.is-dragging{opacity:.6}

@keyframes flag-sway{0%,100%{transform:perspective(500px) rotateY(-3deg) skewY(0deg) scaleX(1)}25%{transform:perspective(500px) rotateY(13deg) skewY(2deg) scaleX(.97)}50%{transform:perspective(500px) rotateY(-8deg) skewY(-1deg) scaleX(1.02)}75%{transform:perspective(500px) rotateY(10deg) skewY(1deg) scaleX(.98)}}
@keyframes child-flag-sway{0%,100%{transform:perspective(400px) rotateY(-2deg) rotateZ(0deg) scaleX(1)}35%{transform:perspective(400px) rotateY(14deg) rotateZ(1deg) scaleX(.96)}70%{transform:perspective(400px) rotateY(-10deg) rotateZ(-.5deg) scaleX(1.02)}}
@keyframes wing-flap{from{transform:scaleY(.45) rotate(8deg)}to{transform:scaleY(1.12) rotate(-8deg)}}
@keyframes dove-drift{0%,100%{translate:0 0;rotate:-3deg}50%{translate:22px -13px;rotate:5deg}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
