/* ==========================================================================
   Green World Foundation  |  Theme layer (loaded after gwf-base.css)
   Palette: Forest green · Marigold (sayapatri) · Newari brick terracotta · Rice paper
   Motifs: Dhaka weave, Newari ankhi-jhyal lattice, terraced fields, marigold garland,
           lali-gurans flower, temple-arch frames, Devanagari numerals
   ========================================================================== */

/* ---------- Fonts ---------- */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;font-display:swap;src:url("../vendor/fonts/files/playfair-display-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("../vendor/fonts/files/playfair-display-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url("../vendor/fonts/files/playfair-display-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url("../vendor/fonts/files/playfair-display-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url("../vendor/fonts/files/playfair-display-latin-600-italic.woff2") format("woff2")}
@font-face{font-family:"Tiro Devanagari Hindi";font-style:normal;font-weight:400;font-display:swap;src:url("../vendor/fonts/files/tiro-devanagari-hindi-devanagari-400-normal.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Tiro Devanagari Hindi";font-style:italic;font-weight:400;font-display:swap;src:url("../vendor/fonts/files/tiro-devanagari-hindi-devanagari-400-italic.woff2") format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Tiro Devanagari Hindi";font-style:normal;font-weight:400;font-display:swap;src:url("../vendor/fonts/files/tiro-devanagari-hindi-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215}

/* ---------- 1. Tokens ---------- */
:root{
  --sn-crimson:#145a41; --sn-crimson-dark:#0f3d2e; --sn-crimson-light:#2f7d55;
  --sn-saffron:#f2a71b; --sn-saffron-dark:#d98a0b;
  --sn-blue:#0f3d2e; --sn-blue-light:#145a41;
  --sn-cream:#f6efdf; --sn-cream-dark:#ede2c8;
  --sn-ink:#18221c; --sn-body:#4c5750; --sn-line:rgba(15,61,46,.13);
  --sn-grad-warm:linear-gradient(135deg,#145a41 0%,#1d6b4c 60%,#2f7d55 100%);
  --sn-grad-cool:linear-gradient(135deg,#0b2c21 0%,#0f3d2e 55%,#145a41 100%);
  --sn-font-head:"Playfair Display","Tiro Devanagari Hindi",Georgia,"Times New Roman",serif;
  --sn-font-body:"Mukta","Segoe UI",system-ui,sans-serif;
  --sn-radius:12px;
  --sn-shadow-sm:0 3px 14px rgba(15,61,46,.07);
  --sn-shadow:0 18px 44px -14px rgba(15,61,46,.22);
  --sn-shadow-lg:0 34px 80px -24px rgba(15,61,46,.34);
  --gw-forest:#0f3d2e; --gw-forest-deep:#0a2a20; --gw-green:#145a41; --gw-leaf:#5e9e3c;
  --gw-marigold:#f2a71b; --gw-terra:#b5482c; --gw-terra-dark:#8f3520; --gw-paper:#fbf8f1;
  --gw-np:"Tiro Devanagari Hindi","Mukta",Georgia,serif;
  --gw-arch:999px 999px 14px 14px;
}

/* ---------- 2. Base ---------- */
html,body{overflow-x:clip}
body{background:var(--gw-paper);color:var(--sn-body);font-size:16.5px;line-height:1.72}
h1,h2,h3,h4,h5,h6,.sn-display{font-family:var(--sn-font-head);font-weight:600;color:var(--sn-ink);letter-spacing:-.012em}
h1 em,h2 em,h3 em,.sn-title em{font-style:italic;font-weight:500;color:var(--gw-terra)}
a{color:var(--gw-green)} a:hover{color:var(--gw-terra)}
::selection{background:var(--gw-marigold);color:var(--sn-ink)}
.devanagari,.gw-np{font-family:var(--gw-np);font-weight:400;letter-spacing:0}
::-webkit-scrollbar-thumb{background:var(--gw-green)}
.sn-bg-cream{background:var(--sn-cream)}
.sn-bg-cream-dark{background:var(--sn-cream-dark)}
.sn-text-crimson{color:var(--gw-terra)!important}
.section{padding:104px 0}
.section-sm{padding:72px 0}
.lead-sm{font-size:1.08rem;color:var(--sn-body)}

/* Section headings */
.sn-eyebrow{gap:.55rem;font-size:.76rem;letter-spacing:.2em;color:var(--gw-terra);margin-bottom:1rem}
.sn-eyebrow::before,.sn-eyebrow.center::after{width:17px;height:17px;border-radius:0;background:url("../img/gwf/flower.svg") center/contain no-repeat;flex:none}
.sn-title{font-size:clamp(1.95rem,3.3vw,2.85rem);line-height:1.14;margin-bottom:.9rem}
.sn-title-underline{width:96px;height:8px;border-radius:0;background:url("../img/gwf/dhaka.svg") left center/auto 8px repeat-x;margin-top:1.1rem}

/* Retire Sahayog motifs, reuse their hooks for Green World ones */
.sn-prayerflags{display:none}
.sn-mandala{opacity:.07;background:var(--gw-green);-webkit-mask:url("../img/gwf/window.svg") center/contain no-repeat;mask:url("../img/gwf/window.svg") center/contain no-repeat;animation:none}
.sn-mandala.tr{top:-40px;right:-40px;width:300px;height:400px}
.sn-mandala.bl{bottom:-60px;left:-40px;width:300px;height:400px}
.sn-pagoda-divider{height:10px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 10px}
.sn-himalaya{height:110px;background:url("../img/gwf/terrace.svg") bottom center/100% 100% no-repeat;z-index:3}

/* Shared decorative helpers */
.gw-dhaka{height:10px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 10px}
.gw-garland{height:30px;background:url("../img/gwf/garland.svg") repeat-x left top/120px 30px;pointer-events:none}
.gw-lattice-bg{position:absolute;inset:0;pointer-events:none;background:currentColor;opacity:.06;-webkit-mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat;mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat}
.gw-window{position:absolute;pointer-events:none;background:currentColor;-webkit-mask:url("../img/gwf/window.svg") center/contain no-repeat;mask:url("../img/gwf/window.svg") center/contain no-repeat}

/* ---------- 3. Buttons ---------- */
.btn{border-radius:6px;font-weight:700;font-size:.84rem;letter-spacing:.11em;text-transform:uppercase;padding:.92rem 1.8rem;box-shadow:none}
.btn-sn{background:var(--gw-green);color:#fff;box-shadow:0 12px 26px -12px rgba(20,90,65,.7)}
.btn-sn:hover,.btn-sn:focus-visible{background:var(--gw-terra);color:#fff;padding-left:1.8rem;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(181,72,44,.7)}
.btn-sn-outline{color:var(--gw-green);border:1.5px solid var(--gw-green);padding:calc(.92rem - 1.5px) calc(1.8rem - 1.5px)}
.btn-sn-outline:hover{background:var(--gw-green);border-color:var(--gw-green);color:#fff;transform:translateY(-2px)}
.btn-sn-light{background:var(--gw-marigold);color:var(--sn-ink)}
.btn-sn-light:hover{background:#fff;color:var(--gw-terra);transform:translateY(-2px)}
.btn-sn-ghost{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.5);padding:calc(.92rem - 1.5px) calc(1.8rem - 1.5px)}
.btn-sn-ghost:hover{background:#fff;color:var(--gw-forest);border-color:#fff}
.btn-gw-gold{background:var(--gw-marigold);color:var(--sn-ink);border:0}
.btn-gw-gold:hover{background:var(--gw-terra);color:#fff;transform:translateY(-2px)}
.btn-lg-sn{padding:1.05rem 2.1rem;font-size:.86rem}
.btn-sm-sn{padding:.66rem 1.25rem;font-size:.76rem}
.btn-sn-outline.btn-sm-sn,.btn-sn-ghost.btn-sm-sn{padding:calc(.66rem - 1.5px) calc(1.25rem - 1.5px)}
.sn-more,.gw-link{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gw-green)}
.sn-more i,.gw-link i{transition:transform .3s var(--sn-ease)}
.sn-more:hover,.gw-link:hover{color:var(--gw-terra)}
.sn-more:hover i,.gw-link:hover i{transform:translateX(5px)}

/* ---------- 4. Top bar & navbar ---------- */
.sn-topbar{background:var(--gw-forest);color:rgba(246,239,223,.78);font-size:.86rem;padding:.55rem 0;border:0}
.sn-topbar a{color:rgba(246,239,223,.9)} .sn-topbar a:hover{color:var(--gw-marigold)}
.sn-topbar .sn-topbar-item{margin-right:1.4rem}
.sn-topbar .sn-topbar-item i{color:var(--gw-marigold)}
.gw-topbar-np{font-family:var(--gw-np);color:var(--gw-marigold);font-size:1rem}
.sn-social a{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;background:rgba(255,255,255,.08);color:#f6efdf;margin-left:.3rem;font-size:.8rem;transition:all .3s}
.sn-social a:hover{background:var(--gw-marigold);color:var(--sn-ink)}

.sn-navbar{background:rgba(251,248,241,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);box-shadow:none;border-bottom:1px solid var(--sn-line);padding:.9rem 0}
.sn-navbar.sticky-on{padding:.45rem 0;box-shadow:0 14px 34px -18px rgba(15,61,46,.4)}
.sn-brand{gap:.85rem}
.sn-brand img{height:62px;width:62px;object-fit:contain}
.sticky-on .sn-brand img{height:50px;width:50px}
.sn-brand-text strong{font-family:var(--sn-font-head);font-weight:700;font-size:1.36rem;color:var(--gw-forest);letter-spacing:-.01em}
.sn-brand-text span{font-family:var(--gw-np);font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--gw-terra);font-weight:400;margin-top:2px}
.sn-navbar .navbar-nav>.nav-item>.nav-link{color:var(--sn-ink);font-size:.97rem;font-weight:600}
.sn-navbar .navbar-nav>.nav-item>.nav-link::after{left:50%;right:auto;bottom:.1rem;width:7px;height:7px;border-radius:1px;background:var(--gw-marigold);transform:translateX(-50%) rotate(45deg) scale(0);transition:transform .3s var(--sn-ease)}
.sn-navbar .navbar-nav>.nav-item>.nav-link:hover::after,.sn-navbar .navbar-nav>.nav-item.active>.nav-link::after{transform:translateX(-50%) rotate(45deg) scale(1)}
.sn-navbar .navbar-nav>.nav-item>.nav-link:hover,.sn-navbar .navbar-nav>.nav-item.active>.nav-link{color:var(--gw-green)}
.sn-navbar .dropdown-menu{background:#fffdf8;border:0;border-top:3px solid var(--gw-terra);border-radius:0 0 12px 12px;box-shadow:var(--sn-shadow);padding:.55rem;min-width:236px}
.sn-navbar .dropdown-item{border-radius:6px;font-weight:500;color:var(--sn-ink);padding:.55rem .8rem}
.sn-navbar .dropdown-item i{color:var(--gw-terra)}
.sn-navbar .dropdown-item:hover,.sn-navbar .dropdown-item.active{background:var(--sn-cream);color:var(--gw-green)}
.sn-nav-cta .btn{padding:.7rem 1.25rem;white-space:nowrap}
@media (min-width:992px) and (max-width:1199.98px){
  .sn-brand{gap:.6rem}
  .sn-brand img,.sticky-on .sn-brand img{height:46px;width:46px}
  .sn-brand-text strong{font-size:1.05rem}
  .sn-brand-text span{font-size:.76rem}
  .sn-navbar .navbar-nav>.nav-item>.nav-link{padding:.6rem .42rem!important;font-size:.88rem}
  .sn-nav-cta{margin-left:.4rem!important}
  .sn-nav-cta .btn{padding:.6rem .9rem}
  .gw-hero-window{display:none!important}
}
.navbar-toggler{width:46px;height:46px;border:1.5px solid var(--sn-line);border-radius:8px;color:var(--gw-green);font-size:1.25rem;display:grid;place-items:center;padding:0}
@media (max-width:991.98px){
  .sn-brand img{height:50px;width:50px}
  .sn-brand-text strong{font-size:1.15rem}
  .sn-navbar .navbar-collapse{background:#fffdf8;margin-top:.7rem;border-top:3px solid var(--gw-terra);border-radius:0 0 12px 12px;padding:.6rem 1rem 1.1rem}
  .sn-navbar .dropdown-menu{border-left:2px solid var(--gw-marigold);border-top:0;background:transparent}
  .sn-navbar .dropdown-item{white-space:normal}
}
@media (max-width:399.98px){ .sn-brand-text span{display:none} }

/* ---------- 5. Hero ---------- */
.gw-hero{background:var(--gw-forest)}
.gw-hero .carousel-item{height:clamp(600px,90vh,880px)}
.gw-hero .sn-hero-overlay{background:linear-gradient(90deg,rgba(9,36,27,.95) 0%,rgba(9,36,27,.8) 36%,rgba(9,36,27,.32) 70%,rgba(9,36,27,.5) 100%),linear-gradient(0deg,rgba(9,36,27,.55) 0%,rgba(9,36,27,0) 40%)}
.gw-hero .container{align-items:center;padding-bottom:90px}
.gw-hero .sn-hero-content{max-width:660px;padding-bottom:0}
.gw-hero .sn-hero-kicker{display:inline-flex;align-items:center;gap:.55rem;background:rgba(242,167,27,.12);border:1px solid rgba(242,167,27,.55);color:#ffd27d;border-radius:4px;padding:.42rem 1rem;font-size:.76rem;letter-spacing:.2em;margin-bottom:1.5rem}
.gw-hero .sn-hero-kicker::before{content:"";width:15px;height:15px;background:url("../img/gwf/flower.svg") center/contain no-repeat}
.gw-hero h1{font-size:clamp(2.4rem,4.7vw,4.4rem);line-height:1.04;font-weight:600;margin-bottom:1.4rem;text-shadow:0 6px 40px rgba(0,0,0,.25)}
.gw-hero h1 em{font-style:italic;font-weight:500;color:var(--gw-marigold)}
.gw-hero p{font-size:1.16rem;color:rgba(255,255,255,.84);max-width:540px;margin-bottom:2.3rem}
.gw-hero-window{right:7%;top:13%;width:min(26vw,330px);aspect-ratio:3/4;color:rgba(242,167,27,.55);z-index:2}
.gw-hero-np{position:absolute;left:-.04em;bottom:66px;z-index:2;font-family:var(--gw-np);font-size:clamp(5.5rem,15vw,15.5rem);line-height:1;color:rgba(246,239,223,.06);white-space:nowrap;pointer-events:none;user-select:none}
.gw-hero-ui{position:absolute;left:0;right:0;bottom:118px;z-index:5;pointer-events:none}
.gw-hero-ui .container{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:0;height:auto}
.gw-hero-ui .carousel-indicators{position:static;margin:0;justify-content:flex-start;pointer-events:auto}
.gw-hero-ui .carousel-indicators [data-bs-target]{width:auto;height:auto;text-indent:0;background:none;border:0;border-bottom:2px solid rgba(255,255,255,.25);opacity:.6;color:#fff;font-family:var(--gw-np);font-size:1.1rem;padding:0 .2rem .45rem;margin:0 1.2rem 0 0;transition:all .3s}
.gw-hero-ui .carousel-indicators .active{opacity:1;color:var(--gw-marigold);border-bottom-color:var(--gw-marigold)}
.gw-hero-nav{display:flex;gap:.6rem;pointer-events:auto}
.gw-hero-nav button{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04);color:#fff;transition:all .3s}
.gw-hero-nav button:hover{background:var(--gw-marigold);border-color:var(--gw-marigold);color:var(--sn-ink)}
.gw-hero .sn-himalaya{height:120px}
@media (max-width:991.98px){
  .gw-hero .carousel-item{height:auto;min-height:620px;padding:100px 0 190px}
  .gw-hero .container{padding-bottom:0}
  .gw-hero-window{display:none}
  .gw-hero-ui{bottom:100px}
}
@media (max-width:575.98px){ .gw-hero-nav{display:none} .gw-hero .sn-himalaya{height:70px} .gw-hero-ui{bottom:74px} .gw-hero .carousel-item{padding:84px 0 150px} }

/* ---------- 6. Quick action panel ---------- */
.gw-quick{position:relative;z-index:6;margin-top:-64px;padding-bottom:16px}
.gw-quick-panel{background:#fff;border-radius:14px;box-shadow:var(--sn-shadow-lg);overflow:hidden;position:relative}
.gw-quick-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 6px;z-index:2}
.gw-quick-item{position:relative;height:100%;padding:2.6rem 2.2rem 2.3rem;transition:background .35s var(--sn-ease)}
.gw-quick-item h3{font-size:1.3rem;margin:1.1rem 0 .55rem}
.gw-quick-item p{margin-bottom:1.1rem;font-size:.98rem}
.gw-quick-item:hover{background:var(--sn-cream)}
.gw-quick-item.is-featured{background:var(--gw-forest);color:rgba(255,255,255,.78)}
.gw-quick-item.is-featured h3{color:#fff}
.gw-quick-item.is-featured .gw-link{color:var(--gw-marigold)}
.gw-quick-item.is-featured .gw-icon{background:var(--gw-marigold);color:var(--gw-forest)}
@media (min-width:992px){ .gw-quick-panel>[class*=col]+[class*=col] .gw-quick-item{border-left:1px solid var(--sn-line)} }
@media (max-width:991.98px){ .gw-quick-panel>[class*=col]+[class*=col] .gw-quick-item{border-top:1px solid var(--sn-line)} .gw-quick{margin-top:-50px} }
.gw-icon{width:58px;height:58px;display:grid;place-items:center;color:#fff;background:var(--gw-green);font-size:1.3rem;clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%);transition:all .35s var(--sn-ease);flex:none}

/* ---------- 7. About (arch collage) ---------- */
.gw-arch-collage{position:relative;padding:22px 84px 70px 22px;max-width:580px}
.gw-arch-frame{position:absolute;left:0;top:0;width:calc(100% - 106px);aspect-ratio:4/5;border:1.5px solid var(--gw-marigold);border-radius:var(--gw-arch)}
.gw-arch{position:relative;z-index:2;border-radius:var(--gw-arch);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sn-shadow-lg);background:var(--sn-cream-dark)}
.gw-arch img,.gw-arch-sub img{width:100%;height:100%;object-fit:cover}
.gw-arch-sub{position:absolute;right:0;bottom:0;z-index:3;width:46%;aspect-ratio:1;border-radius:14px;overflow:hidden;border:8px solid var(--gw-paper);box-shadow:var(--sn-shadow)}
.gw-seal{position:absolute;left:-8px;bottom:120px;z-index:4;width:136px;height:136px;border-radius:50%;background:var(--gw-terra);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 7px var(--gw-paper),var(--sn-shadow);animation:gw-float 6s ease-in-out infinite}
.gw-seal::before{content:"";position:absolute;inset:9px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.55)}
.gw-seal strong{font-family:var(--sn-font-head);font-size:2.4rem;line-height:1;font-weight:700}
.gw-seal span{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;max-width:92px;line-height:1.25;margin-top:.35rem}
@keyframes gw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.sn-collage .img-main{border-radius:var(--gw-arch)}
.sn-collage .img-sub{border-radius:14px}
.sn-check li{padding-left:2rem;font-weight:600}
.sn-check li::before{content:"";top:.3rem;width:19px;height:19px;border-radius:0;background:url("../img/gwf/flower.svg") center/contain no-repeat;font-size:0}
.gw-about-body p{font-size:1.04rem}
.gw-about-body p:first-of-type::first-letter{float:left;font-family:var(--sn-font-head);font-size:3.6rem;line-height:.9;padding:.35rem .6rem 0 0;color:var(--gw-terra)}
@media (max-width:991.98px){ .gw-arch-collage{padding:16px 0 0 16px;margin:0 auto;max-width:440px} .gw-arch-frame{width:calc(100% - 16px)} .gw-arch-sub{display:none} .gw-seal{left:auto;right:-6px;bottom:28px;width:112px;height:112px} .gw-seal strong{font-size:1.9rem} }

/* ---------- 8. Split section heading ---------- */
.gw-head{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:flex-end;justify-content:space-between;margin-bottom:3.2rem}
.gw-head>div:first-child{max-width:620px}
.gw-head>div:last-child{max-width:430px}
.gw-head .sn-title{margin-bottom:0}
.gw-head p{margin-bottom:1.1rem}
@media (min-width:992px){ .gw-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:3.5rem} .gw-head>div:first-child,.gw-head>div:last-child{max-width:none} .gw-head>div:last-child:not(:has(p)){text-align:right} }

/* ---------- 9. Service cards ---------- */
.gw-services{position:relative;overflow:hidden}
.gw-services .gw-lattice-bg{color:var(--gw-green);opacity:.045}
.gw-service{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--sn-line);border-radius:14px;overflow:hidden;color:var(--sn-body);transition:transform .45s var(--sn-ease),box-shadow .45s var(--sn-ease),border-color .45s}
.gw-service:hover{transform:translateY(-8px);box-shadow:var(--sn-shadow);border-color:transparent;color:var(--sn-body)}
.gw-service-media{position:relative;height:210px;overflow:hidden;background:var(--sn-cream-dark)}
.gw-service-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--sn-ease)}
.gw-service:hover .gw-service-media img{transform:scale(1.07)}
.gw-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,61,46,0) 45%,rgba(15,61,46,.55))}
.gw-service-body{position:relative;padding:0 1.8rem 1.9rem;flex:1;display:flex;flex-direction:column}
.gw-service-body .gw-icon{margin-top:-29px;position:relative;z-index:2;box-shadow:0 0 0 6px #fff}
.gw-service:hover .gw-icon{background:var(--gw-terra)}
.gw-service-num{position:absolute;right:1.5rem;top:.7rem;font-family:var(--gw-np);font-size:2.7rem;line-height:1;color:rgba(181,72,44,.16);transition:color .4s}
.gw-service:hover .gw-service-num{color:rgba(181,72,44,.42)}
.gw-service h3{font-size:1.32rem;margin:1.15rem 0 .55rem;transition:color .3s}
.gw-service:hover h3{color:var(--gw-green)}
.gw-service p{font-size:.98rem;flex:1}
.gw-service::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gw-green),var(--gw-marigold),var(--gw-terra));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--sn-ease)}
.gw-service:hover::after{transform:scaleX(1)}

/* Legacy service card (services index / what-we-do) */
.sn-service{border-radius:14px;border:1px solid var(--sn-line);box-shadow:none}
.sn-service::before{background:var(--sn-grad-cool)}
.sn-service-icon{border-radius:0;clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%);background:var(--gw-green);color:#fff}
.sn-service:hover .sn-service-icon{background:var(--gw-marigold);color:var(--gw-forest)}

/* ---------- 10. Counters ---------- */
.sn-counters{background:var(--gw-forest);color:var(--gw-marigold);padding:84px 0}
.sn-counters::before{background:currentColor;opacity:.07;-webkit-mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat;mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat}
.sn-counters::after{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 10px}
.sn-counter{padding:1.2rem .5rem}
.sn-counter i{font-size:1.7rem;color:var(--gw-marigold);margin-bottom:.9rem}
.sn-counter .num{font-size:clamp(2.4rem,4.4vw,3.5rem);font-weight:600;color:#fff}
.sn-counter p{color:rgba(246,239,223,.7);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-top:.6rem}
@media (min-width:992px){ .sn-counters .row>[class*=col]+[class*=col] .sn-counter{border-left:1px solid rgba(246,239,223,.12)} }

/* ---------- 11. Programme cards & tabs ---------- */
.sn-tabs{display:inline-flex;flex-wrap:wrap;gap:.3rem;background:#fff;border:1px solid var(--sn-line);border-radius:999px;padding:.35rem;margin:0 auto 2.6rem}
.gw-tabs-wrap{text-align:center}
.sn-tabs .nav-link{border:0;border-radius:999px;color:var(--sn-ink);font-weight:600;padding:.7rem 1.5rem;background:transparent}
.sn-tabs .nav-link.active{background:var(--gw-green);color:#fff;box-shadow:0 10px 22px -10px rgba(20,90,65,.8)}
.sn-prog{border-radius:14px;border:1px solid var(--sn-line);box-shadow:none;background:#fff;overflow:hidden}
.sn-prog:hover{box-shadow:var(--sn-shadow);transform:translateY(-6px)}
.sn-prog-media{aspect-ratio:16/11;height:auto}
.sn-prog-media img{width:100%;height:100%;object-fit:cover}
.sn-badge{border-radius:4px;letter-spacing:.14em;font-size:.68rem;padding:.4rem .7rem}
.sn-badge.ongoing{background:var(--gw-marigold);color:var(--sn-ink)}
.sn-badge.completed{background:var(--gw-green);color:#fff}
.sn-prog-body{padding:1.6rem 1.6rem 1.7rem}
.sn-prog-body h3{font-size:1.28rem;line-height:1.3}
.sn-prog-meta i{color:var(--gw-terra)}

/* ---------- 12. Cards, news, docs ---------- */
.sn-card{border-radius:14px;border:1px solid var(--sn-line);box-shadow:none;background:#fff}
.sn-card:hover{box-shadow:var(--sn-shadow)}
.sn-news-date{display:flex;flex-direction:column-reverse;border-radius:8px;overflow:hidden;background:#fff;padding:0;min-width:62px;text-align:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.sn-news-date strong{display:block;font-family:var(--sn-font-head);font-size:1.55rem;line-height:1;color:var(--sn-ink);padding:.45rem .55rem .4rem}
.sn-news-date span{display:block;background:var(--gw-terra);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.14em;padding:.25rem .45rem;text-transform:uppercase}
.sn-doc{border-radius:12px;border:1px solid var(--sn-line);background:#fff}
.sn-doc:hover{border-color:var(--gw-marigold);box-shadow:var(--sn-shadow-sm)}
.sn-doc-icon{border-radius:8px;background:rgba(181,72,44,.1);color:var(--gw-terra)}
.sn-doc h5{font-family:var(--sn-font-body);font-weight:700;font-size:1rem}

/* ---------- 13. CTA bands ---------- */
.sn-cta,.gw-cta{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--gw-terra-dark) 0%,var(--gw-terra) 58%,#c8633a 100%);color:rgba(255,255,255,.88)}
.sn-cta{padding-top:96px}
.sn-cta::before,.gw-cta .gw-garland{content:"";position:absolute;left:0;right:0;top:0;z-index:3;height:30px;background:url("../img/gwf/garland.svg") repeat-x left top/120px 30px}
.sn-cta::after{background:#fff;opacity:.06;-webkit-mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat;mask:url("../img/gwf/lattice.svg") 0 0/40px 40px repeat}
.gw-cta{padding:118px 0 96px}
.gw-cta .container{position:relative;z-index:2}
.gw-cta h2{color:#fff;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.12}
.gw-cta h2 em{color:#ffd27d}
.gw-cta .gw-np{color:#ffd27d;font-size:1.25rem}
.gw-cta-window{right:-30px;bottom:-60px;width:330px;aspect-ratio:3/4;color:rgba(255,255,255,.12)}
.gw-cta-note{font-size:.86rem;color:rgba(255,255,255,.72);margin-top:1rem}
.gw-cta-note i{color:#ffd27d}

/* ---------- 14. Gallery mosaic ---------- */
.gw-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;grid-auto-flow:dense;gap:12px}
.gw-mosaic a{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--sn-cream-dark)}
.gw-mosaic a:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.gw-mosaic a:nth-child(6n+4){grid-column:span 2;grid-row:span 2}
.gw-mosaic a:nth-child(6n+1){border-radius:var(--gw-arch)}
.gw-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--sn-ease)}
.gw-mosaic a::after{content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.3rem;background:rgba(15,61,46,.55);opacity:0;transition:opacity .35s}
.gw-mosaic a:hover::after{opacity:1}
.gw-mosaic a:hover img{transform:scale(1.08)}
@media (max-width:767.98px){ .gw-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px} .gw-mosaic a:nth-child(6n+4){grid-column:span 2;grid-row:span 1} }
.sn-gal{border-radius:10px}

/* ---------- 15. Testimonials ---------- */
.sn-quote{background:#fff;border:1px solid var(--sn-line);border-radius:14px;box-shadow:none;padding:2.4rem 2rem 2rem;position:relative}
.sn-quote::before{content:"\201C";font-family:var(--sn-font-head);font-size:5.5rem;line-height:1;color:var(--gw-marigold);opacity:.55;position:absolute;right:1.3rem;top:.4rem;left:auto}
.sn-quote p{font-family:var(--sn-font-head);font-style:italic;font-size:1.1rem;line-height:1.6;color:var(--sn-ink)}
.sn-quote-person img{border:3px solid #fff;box-shadow:0 0 0 2px var(--gw-marigold)}
.sn-quote-person h5{font-family:var(--sn-font-body);font-weight:700}
.sn-stars{color:var(--gw-marigold)}

/* ---------- 16. Partners marquee ---------- */
.gw-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.gw-marquee-track{display:flex;gap:1rem;width:max-content;animation:gw-marquee 40s linear infinite}
.gw-marquee:hover .gw-marquee-track{animation-play-state:paused}
.gw-partner{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.7rem;border:1px solid var(--sn-line);border-radius:999px;background:#fff;font-family:var(--sn-font-head);font-weight:600;font-size:1.05rem;color:var(--gw-forest);white-space:nowrap}
.gw-partner::before{content:"";width:14px;height:14px;background:url("../img/gwf/flower.svg") center/contain no-repeat}
a.gw-partner:hover{border-color:var(--gw-marigold);color:var(--gw-terra)}
@keyframes gw-marquee{to{transform:translateX(-50%)}}
.sn-partner{border-radius:999px;font-family:var(--sn-font-head)}

/* ---------- 17. Inner page banner ---------- */
.sn-banner{background:var(--gw-forest);padding:120px 0 150px}
.sn-banner .sn-banner-bg{opacity:.75;filter:saturate(.9)}
.sn-banner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,36,27,.6),rgba(9,36,27,.78))}
.sn-banner h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:600}
.sn-banner .breadcrumb{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.45rem 1.2rem;margin-bottom:.4rem}
.sn-banner .breadcrumb-item.active{color:var(--gw-marigold)}
.gw-banner-window{left:4%;bottom:-20px;width:190px;aspect-ratio:3/4;color:rgba(242,167,27,.3);z-index:2}
.gw-banner-window.r{left:auto;right:4%}
.gw-banner-np{display:block;font-family:var(--gw-np);color:var(--gw-marigold);font-size:1.15rem;margin-bottom:.4rem}
@media (max-width:991.98px){ .sn-banner{padding:86px 0 110px} .gw-banner-window{display:none} }

/* ---------- 18. Forms, accordion, misc ---------- */
.form-control,.form-select{border-radius:8px;border:1px solid rgba(15,61,46,.18);background-color:#fff;padding:.8rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--gw-green);box-shadow:0 0 0 .22rem rgba(20,90,65,.14)}
.accordion-button:not(.collapsed){background:var(--sn-cream);color:var(--gw-green)}
.sn-amount label{border-radius:8px}
.sn-amount input:checked+label,.sn-amount label:hover{background:var(--gw-green);border-color:var(--gw-green);color:#fff}
.sn-team{border-radius:14px;border:1px solid var(--sn-line);box-shadow:none}
.sn-team-media{border-radius:var(--gw-arch);margin:14px 14px 0;overflow:hidden}
.sn-team-social a{border-radius:50%}
.sn-team-body h4{font-size:1.25rem}
.sn-team-body span{color:var(--gw-terra)}
.sn-album{border-radius:14px}
.sn-sidebar .dropdown-item{white-space:normal;display:flex;gap:.6rem;align-items:flex-start;line-height:1.35;font-weight:500;color:var(--sn-ink)}
.sn-sidebar .dropdown-item i{color:var(--gw-terra);margin-top:.2rem;width:16px;flex:none;text-align:center}
.sn-sidebar .dropdown-item.active,.sn-sidebar .dropdown-item:hover{background:var(--gw-green)!important;color:#fff}
.sn-sidebar .dropdown-item.active i,.sn-sidebar .dropdown-item:hover i{color:var(--gw-marigold)}
.page-link{color:var(--gw-green)}
.page-item.active .page-link{background:var(--gw-green);border-color:var(--gw-green)}
.sn-loader{background:var(--gw-paper)}
.sn-loader-ring{border-color:var(--sn-cream-dark);border-top-color:var(--gw-green)}
.sn-top{border-radius:50%;background:var(--gw-marigold);color:var(--sn-ink)}
.sn-top:hover{background:var(--gw-green);color:#fff}

/* ---------- 19. Footer ---------- */
.gw-footer{position:relative;background:var(--gw-forest-deep);color:rgba(246,239,223,.72);padding-top:30px}
.gw-footer::before{display:none}
.gw-footer>.gw-garland{position:absolute;left:0;right:0;top:0}
.gw-footer .sn-footer-main{position:relative;padding:80px 0 56px}
.gw-footer .sn-footer-main .gw-lattice-bg{color:#f6efdf;opacity:.04}
.gw-footer .container{position:relative;z-index:2}
.gw-footer-brand{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.gw-footer-brand img{width:64px;height:64px}
.gw-footer-brand strong{display:block;font-family:var(--sn-font-head);font-size:1.4rem;color:#fff;line-height:1.15}
.gw-footer-brand span{display:block;font-family:var(--gw-np);color:var(--gw-marigold);font-size:.95rem}
.gw-footer h5{font-family:var(--sn-font-head);font-size:1.2rem;color:#fff;margin-bottom:1.3rem;padding-bottom:.8rem;position:relative}
.gw-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:6px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 6px;border-radius:0}
.gw-footer a{color:rgba(246,239,223,.78)}
.gw-footer a:hover{color:var(--gw-marigold)}
.gw-footer ul li{margin-bottom:.55rem}
.gw-footer ul li a{display:inline-flex;align-items:center;gap:.45rem}
.gw-footer .gw-links li a::before{content:"";width:6px;height:6px;background:var(--gw-marigold);transform:rotate(45deg);opacity:.7}
.gw-footer .sn-footer-contact i{color:var(--gw-marigold)}
.gw-footer .sn-footer-contact span{min-width:0;overflow-wrap:anywhere}
.gw-footer .gw-links li a{align-items:baseline}
.gw-footer .gw-links li a::before{flex:none;transform:translateY(-2px) rotate(45deg)}
.gw-footer .sn-social a{background:rgba(255,255,255,.07)}
.gw-footer .sn-footer-bottom{position:relative;background:#071f17;border-top:0;padding:1.15rem 0;font-size:.88rem;color:rgba(246,239,223,.6)}
.gw-footer .sn-footer-bottom::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:url("../img/gwf/dhaka.svg") repeat-x left center/auto 6px;opacity:.9}
.gw-footer .btn-gw-gold{color:var(--sn-ink)}

/* ---------- 20. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){ .gw-marquee-track,.gw-seal{animation:none} }