:root{
  --green-950:#031f1a;
  --green-900:#052c24;
  --green-800:#073d32;
  --green-700:#0b5546;
  --green-600:#0f6b58;
  --gold:#caa04a;
  --gold-light:#e5c46f;
  --gold-pale:#f4e7c3;
  --cream:#f7f3e9;
  --paper:#fffdf8;
  --ink:#142b25;
  --muted:#687871;
  --line:#e6e1d5;
  --shadow:0 18px 55px rgba(3,31,26,.10);
  --radius:18px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Georgia,"Noto Serif Bengali","Noto Serif",serif;
  line-height:1.7;
}

img{
  max-width:100%;
}

a{
  color:inherit;
}

.wrap{
  width:min(1180px,92%);
  margin:auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.head{
  height:84px;
  background:rgba(3,31,26,.97);
  border-bottom:1px solid rgba(229,196,111,.18);
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}

.head .wrap{
  height:100%;
  display:flex;
  align-items:center;
  gap:26px;
}

.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  min-width:200px;
}

.brand img{
  width:180px;
  height:72px;
  object-fit:contain;
  object-position:left center;
  display:block;
}

.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:5px;
}

.nav a{
  position:relative;
  padding:10px 13px;
  font:600 13px Arial,sans-serif;
  text-decoration:none;
  color:#eef5f1;
  letter-spacing:.2px;
}

.nav a:after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:3px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:.25s;
}

.nav a:hover:after{
  transform:scaleX(1);
}

.nav a.active{
  color:var(--gold-light);
}

.lang{
  font:600 12px Arial,sans-serif;
  text-decoration:none;
  color:var(--gold-pale);
  border:1px solid rgba(229,196,111,.42);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.03);
}

.lang:hover{
  background:rgba(202,160,74,.12);
}

.mobile-toggle{
  display:none;
  border:1px solid rgba(229,196,111,.35);
  background:transparent;
  color:#fff;
  border-radius:10px;
  padding:8px 10px;
  font-size:20px;
}


/* =========================================================
   HERO
   ========================================================= */

.hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--green-950),var(--green-800));
  color:#fff;
  min-height:680px;
  display:flex;
  align-items:center;
}

.hero:before,
.hero:after{
  content:"";
  position:absolute;
  border:1px solid rgba(229,196,111,.13);
  border-radius:50%;
  pointer-events:none;
}

.hero:before{
  width:620px;
  height:620px;
  right:-170px;
  top:-140px;
}

.hero:after{
  width:430px;
  height:430px;
  right:-65px;
  top:-45px;
}

.hero-pattern{
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:
    linear-gradient(
      30deg,
      rgba(229,196,111,.18) 12%,
      transparent 12.5%,
      transparent 87%,
      rgba(229,196,111,.18) 87.5%,
      rgba(229,196,111,.18)
    ),
    linear-gradient(
      150deg,
      rgba(229,196,111,.18) 12%,
      transparent 12.5%,
      transparent 87%,
      rgba(229,196,111,.18) 87.5%,
      rgba(229,196,111,.18)
    );
  background-size:56px 96px;
}

.hero .wrap{
  width:min(1180px,92%);
  min-height:680px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:50px;
  position:relative;
  z-index:2;
}

.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:50px;
}

.copy{
  padding:70px 0;
  grid-column:1;
  grid-row:1;
}

.eyebrow{
  font:700 11px Arial,sans-serif;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold-light);
}

.hero h1{
  font-size:clamp(44px,6vw,76px);
  line-height:1.05;
  margin:15px 0 8px;
  letter-spacing:-1px;
}

.hero h1 span{
  display:block;
  color:var(--gold-light);
  font-size:.46em;
  letter-spacing:2px;
  margin-top:15px;
  font-weight:500;
}

.hero .identity{
  font-size:clamp(18px,2vw,25px);
  color:#e4eee9;
  margin:0;
  max-width:700px;
}

.hero p{
  max-width:700px;
  color:#cadbd5;
  font-size:18px;
  line-height:1.9;
}

.hero .actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px;
  border-radius:999px;
  text-decoration:none;
  font:700 13px Arial,sans-serif;
  letter-spacing:.2px;
  transition:.25s;
  cursor:pointer;
  border:0;
}

.btn.gold{
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  color:#15241f;
  box-shadow:0 10px 30px rgba(202,160,74,.22);
}

.btn.gold:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 35px rgba(202,160,74,.30);
}

.btn.outline{
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
  background:rgba(255,255,255,.03);
}

.btn.outline:hover{
  background:rgba(255,255,255,.10);
}


/* =========================================================
   HERO PORTRAIT
   ========================================================= */

.hero-mark{
  grid-column:2;
  grid-row:1;

  display:flex !important;
  justify-content:center !important;
  align-items:center !important;

  min-height:540px !important;
  padding:0 !important;
}


/* Large integrated portrait frame */
.mark-frame{
  width:400px !important;
  height:520px !important;

  padding:0 !important;

  border:1px solid rgba(229,196,111,.48) !important;
  border-radius:28px !important;

  background:
    linear-gradient(
      145deg,
      rgba(7,61,50,.45),
      rgba(3,31,26,.20)
    ) !important;

  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;

  position:relative !important;

  overflow:hidden !important;

  box-shadow:
    0 0 18px rgba(229,196,111,.07),
    0 25px 65px rgba(0,0,0,.28) !important;
}


/* Moving light across portrait */
.mark-frame:before{
  content:"" !important;

  position:absolute !important;

  top:-15% !important;
  left:-70% !important;

  width:42% !important;
  height:130% !important;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,255,255,.025) 25%,
      rgba(255,244,199,.13) 50%,
      rgba(255,255,255,.025) 75%,
      transparent 100%
    ) !important;

  transform:skewX(-18deg) !important;

  filter:blur(10px) !important;

  border:0 !important;
  border-radius:0 !important;

  animation:heroPortraitSweep 7s ease-in-out infinite !important;

  pointer-events:none !important;

  z-index:5 !important;
}


/* Remove old circular decoration */
.mark-frame:after{
  content:none !important;
  display:none !important;
}


/* Portrait fills frame */
.hero-logo{
  width:100% !important;
  height:100% !important;

  object-fit:cover !important;
  object-position:center top !important;

  display:block !important;

  position:relative !important;

  z-index:2 !important;

  align-self:stretch !important;

  filter:
    drop-shadow(
      0 12px 25px rgba(0,0,0,.22)
    ) !important;
}


/* Slow image light sweep */
@keyframes heroPortraitSweep{

  0%{
    left:-70%;
    opacity:0;
  }

  15%{
    opacity:.7;
  }

  45%{
    opacity:1;
  }

  70%{
    opacity:.6;
  }

  100%{
    left:125%;
    opacity:0;
  }

}


/* =========================================================
   HERO NAME
   ========================================================= */

.hero-name{
  display:flex;
  align-items:baseline;
  gap:18px;
  flex-wrap:wrap;

  font-size:48px !important;
  line-height:1.15;

  font-weight:700;

  color:#E5C46F !important;

  font-family:"Trebuchet MS",Arial,sans-serif !important;

  margin-left:0 !important;
  padding-left:0 !important;
  text-indent:0 !important;
}

.hero-name .name-bn{
  font-size:48px !important;
  font-weight:700;
}

.hero-name .name-en{
  font-size:36px !important;
  font-weight:700;
}


/* =========================================================
   GENERAL SECTIONS
   ========================================================= */

.section{
  padding:86px 0;
}

.cream{
  background:var(--cream);
}

.section-head{
  max-width:720px;
  margin-bottom:38px;
}

.section-head.center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.section h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.15;
  margin:10px 0 14px;
  letter-spacing:-.8px;
}

.section-head p{
  color:var(--muted);
  font-size:17px;
}

.headrow{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:25px;
  margin-bottom:28px;
}

.headrow h2{
  margin:0;
}

.read{
  color:var(--green-700);
  font:700 13px Arial,sans-serif;
  text-decoration:none;
  white-space:nowrap;
}

.read:hover{
  color:var(--gold);
}


/* =========================================================
   ABOUT
   ========================================================= */

.about-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:center;
}

.about-card{
  position:relative !important;
  min-height:0 !important;
  height:auto !important;

  padding:10px !important;

  border:2px solid #073d32 !important;
  border-radius:22px !important;

  background:
    linear-gradient(
      145deg,
      #052c24,
      #073d32
    ) !important;

  overflow:hidden !important;

  display:flex;
  align-items:center;
  justify-content:center;

  box-shadow:
    0 0 18px rgba(7,61,50,.18),
    0 18px 50px rgba(3,31,26,.18) !important;
}


/* About moving border */
@property --about-angle{
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}

.about-card:before{
  content:"" !important;

  position:absolute !important;
  inset:-1px !important;

  padding:2px !important;

  border-radius:23px !important;

  background:
    conic-gradient(
      from var(--about-angle),
      transparent 0deg,
      transparent 330deg,
      rgba(229,196,111,.10) 338deg,
      rgba(229,196,111,.45) 347deg,
      #fff4c7 353deg,
      rgba(229,196,111,.90) 358deg,
      transparent 360deg
    ) !important;

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0) !important;

  -webkit-mask-composite:xor !important;
  mask-composite:exclude !important;

  animation:
    aboutBorderTravel 10s linear infinite !important;

  pointer-events:none !important;

  z-index:5 !important;
}

.about-card:after{
  content:none !important;
  display:none !important;
}

.about-card img{
  width:100% !important;
  height:auto !important;
  max-height:520px !important;

  object-fit:cover !important;

  border-radius:16px !important;

  display:block !important;

  position:relative !important;

  z-index:2 !important;

  box-shadow:none !important;
}

@keyframes aboutBorderTravel{

  from{
    --about-angle:0deg;
  }

  to{
    --about-angle:360deg;
  }

}

.gold-rule{
  width:60px;
  height:3px;
  background:var(--gold);
  margin:20px 0;
}

.about-copy p{
  font-size:18px;
  color:var(--muted);
  line-height:1.95;
}

.mini-stats{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px;
}

.stat{
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.stat b{
  display:block;
  color:var(--green-800);
  font-size:18px;
}

.stat span{
  display:block;
  color:var(--muted);
  font:12px Arial,sans-serif;
  margin-top:3px;
}


/* =========================================================
   CARDS
   ========================================================= */

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.card{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 35px rgba(3,31,26,.07);
  transition:.25s;
}

.card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(3,31,26,.12);
}

.thumb{
  height:190px;

  background:
    radial-gradient(
      circle at 70% 20%,
      rgba(229,196,111,.28),
      transparent 22%
    ),
    linear-gradient(
      135deg,
      var(--green-800),
      var(--green-600)
    );

  display:flex;
  align-items:center;
  justify-content:center;

  color:var(--gold-light);

  font:700 13px Arial,sans-serif;

  letter-spacing:2px;

  position:relative;
}

.thumb:after{
  content:"";

  position:absolute;

  width:115px;
  height:115px;

  border:1px solid rgba(229,196,111,.24);

  border-radius:50%;
}

.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.body{
  padding:22px;
}

.tag{
  display:inline-block;

  background:var(--gold-pale);

  color:var(--green-900);

  border-radius:999px;

  padding:5px 10px;

  font:700 10px Arial,sans-serif;

  letter-spacing:.6px;
}

.card h3{
  font-size:21px;
  line-height:1.45;
  margin:14px 0 10px;
}

.card p{
  line-height:1.75;
  color:var(--muted);
  margin:0 0 15px;
}


/* =========================================================
   VIDEO
   ========================================================= */

.video-thumb{
  aspect-ratio:16/9;
  width:100%;
  display:block;
  background:var(--green-950);
}

.video-thumb iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.video-meta{
  padding:20px;
}

.video-meta h3{
  margin:12px 0 0;
  font-size:19px;
  line-height:1.45;
}


/* =========================================================
   QUOTE / CTA
   ========================================================= */

.quote{
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(
      135deg,
      var(--green-950),
      var(--green-800)
    );

  color:#fff;

  padding:92px 0;

  text-align:center;
}

.quote:before,
.quote:after{
  content:"";

  position:absolute;

  border:1px solid rgba(229,196,111,.16);

  border-radius:50%;
}

.quote:before{
  width:420px;
  height:420px;
  left:-210px;
  top:-170px;
}

.quote:after{
  width:330px;
  height:330px;
  right:-160px;
  bottom:-160px;
}

.quote blockquote{
  font-size:clamp(25px,3.3vw,39px);
  line-height:1.65;
  max-width:920px;
  margin:auto;
  position:relative;
  z-index:2;
}

.quote cite{
  display:block;
  margin-top:20px;
  color:var(--gold-light);
  font:600 12px Arial,sans-serif;
  letter-spacing:1px;
}

.cta{
  background:var(--cream);
}

.cta-box{
  background:linear-gradient(135deg,#fff,#f4ecda);
  border:1px solid #eadfca;
  border-radius:24px;
  padding:42px 46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  box-shadow:var(--shadow);
}

.cta-box h2{
  margin:0 0 8px;
}

.cta-box p{
  color:var(--muted);
  margin:0;
}


/* =========================================================
   INNER PAGES
   ========================================================= */

.page{
  background:
    radial-gradient(
      circle at 85% 30%,
      rgba(229,196,111,.12),
      transparent 22%
    ),
    linear-gradient(
      120deg,
      var(--green-950),
      var(--green-800)
    );

  color:#fff;

  padding:82px 0;
}

.page h1{
  font-size:clamp(44px,6vw,68px);
  line-height:1;
  margin:15px 0 0;
}

.page p{
  color:#d8e4df;
}

.article{
  max-width:850px;
  margin:auto;
}

.article-top{
  margin-bottom:30px;
}

.article h1{
  font-size:clamp(38px,5vw,58px);
  line-height:1.15;
  margin:12px 0;
}

.article-meta{
  font:12px Arial,sans-serif;
  color:var(--muted);
}

.content{
  font-size:19px;
  line-height:2.05;
  color:#29433b;
}

.content p{
  margin:0 0 1.2em;
}

.content h2,
.content h3{
  color:var(--green-900);
  line-height:1.35;
  margin-top:1.6em;
}

.article-back{
  margin-top:35px;
}

.article-featured{
  margin:0 auto 30px;
  max-width:980px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
}

.article-featured img{
  width:100%;
  max-height:620px;
  display:block;
  object-fit:cover;
}

.article-lead{
  font-size:20px;
  line-height:1.9;
  color:var(--muted);
  border-left:3px solid var(--gold);
  padding-left:20px;
  margin:0 0 30px;
}

.article-language{
  margin-top:35px;
  margin-bottom:10px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
}

.article-language a{
  color:var(--green-800);
  font-weight:700;
  text-decoration:none;
}

.article-language a:hover{
  color:var(--gold);
}


/* =========================================================
   CONTACT
   ========================================================= */

.contact-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:50px;
  align-items:start;
}

.contact-info{
  padding:30px;
  border-radius:20px;

  background:
    linear-gradient(
      145deg,
      var(--green-900),
      var(--green-700)
    );

  color:#fff;
}

.contact-info h2{
  margin-top:0;
}

.contact-info p{
  color:#d8e4df;
}

.contact-item{
  border-top:1px solid rgba(255,255,255,.13);
  padding:15px 0;
}

.contact-item small{
  display:block;
  color:var(--gold-light);
  font:700 10px Arial,sans-serif;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.contact-item span{
  display:block;
  margin-top:3px;
}


/* =========================================================
   FORMS
   ========================================================= */

.form{
  max-width:800px;
}

.form label{
  font:700 12px Arial,sans-serif;
  color:var(--green-900);
  display:block;
  margin-top:4px;
}

.form input,
.form textarea,
.form select{
  width:100%;
  padding:14px 15px;
  margin:8px 0 18px;

  border:1px solid #dcd6c9;

  border-radius:11px;

  background:#fff;

  color:var(--ink);

  font:15px Georgia,"Noto Serif Bengali",serif;

  outline:none;
}

.form input:focus,
.form textarea:focus,
.form select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(202,160,74,.12);
}

.form textarea{
  min-height:190px;
  resize:vertical;
}

.notice{
  padding:15px 17px;

  background:#edf7f0;

  color:#28553d;

  border:1px solid #cfe5d5;

  border-radius:12px;

  margin-bottom:20px;
}

.error-notice{
  background:#fff1f0;
  color:#8a2d25;
  border-color:#f1c7c2;
}


/* =========================================================
   FOOTER
   ========================================================= */

.footer{
  background:#021b17;
  color:#dbe7e2;

  padding:52px 0 24px;

  border-top:1px solid rgba(229,196,111,.15);

  font:13px Arial,sans-serif;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:40px;
  align-items:start;
}

.footer-brand img{
  width:180px;
  height:95px;
  object-fit:contain;
  object-position:left center;
}

.footer p{
  color:#9fb2aa;
  line-height:1.8;
  max-width:360px;
}

.footer h4{
  margin:4px 0 15px;
  color:var(--gold-light);
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
}

.footer a{
  color:#dbe7e2;
  text-decoration:none;
  display:block;
  margin:8px 0;
}

.footer a:hover{
  color:var(--gold-light);
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:35px;
  padding-top:20px;

  display:flex;
  justify-content:space-between;

  gap:15px;

  color:#81958e;
}

.socials{
  display:flex;
  gap:8px;
}

.socials a{
  width:34px;
  height:34px;

  border:1px solid rgba(229,196,111,.25);

  border-radius:50%;

  display:grid;
  place-items:center;

  margin:0;

  color:var(--gold-light);

  font-weight:700;
}

.socials a svg{
  width:17px;
  height:17px;
  fill:currentColor;
}

.footer-simple{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:10px;
  flex-wrap:nowrap;
  text-align:center;
}

.footer-simple .socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:4px;
}

.footer-simple > div{
  text-align:center;
}

.footer-simple > div:last-child a{
  display:inline;
  margin:0;
  color:var(--gold-light);
  text-decoration:none;
  font-weight:700;
}

.footer-simple > div:last-child a:hover{
  color:#fff;
}


/* =========================================================
   ADMIN
   ========================================================= */

.admin-shell{
  min-height:100vh;
  background:var(--cream);
}

.admin-nav{
  background:var(--green-950);
  color:#fff;
  padding:15px 0;
}

.admin-nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}

.admin-nav a{
  color:#fff;
  text-decoration:none;
  margin-left:15px;
  font:600 12px Arial;
}

.admin-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:25px;
  box-shadow:var(--shadow);
}

.admin-list{
  width:100%;
  border-collapse:collapse;
}

.admin-list th,
.admin-list td{
  padding:12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  font:13px Arial;
}

.admin-list th{
  color:var(--green-800);
}

.admin-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.checks{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  padding-top:25px;
}

.checks label{
  margin:0!important;
  font-weight:600!important;
}

.checks input{
  width:auto;
  margin-right:7px;
}

.admin-thumb-preview{
  max-width:260px;
  max-height:160px;
  border-radius:12px;
  border:1px solid var(--line);
  object-fit:cover;
}

.admin-list-thumb{
  width:72px;
  height:52px;
  object-fit:cover;
  border-radius:8px;
}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin:25px 0;
}

.admin-stats>div{
  padding:22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--cream);
  text-align:center;
}

.admin-stats strong{
  display:block;
  font-size:32px;
  color:var(--green-800);
}

.admin-stats span{
  font:12px Arial;
  color:var(--muted);
}

.admin-menu{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.admin-menu a{
  padding:12px 15px;
  border-radius:10px;
  background:var(--green-900);
  color:#fff;
  text-decoration:none;
  font:700 12px Arial;
}

.admin-thumb-preview,
.book-admin-cover{
  object-fit:contain;
}

.book-admin-cover{
  max-width:180px;
  max-height:230px;
  border:1px solid var(--line);
  border-radius:10px;
}

.muted{
  color:var(--muted);
}

hr{
  border:0;
  border-top:1px solid var(--line);
  margin:30px 0;
}


/* =========================================================
   BOOKS
   ========================================================= */

.book-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}

.book-grid-large{
  grid-template-columns:repeat(3,1fr);
}

.book-card{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 35px rgba(3,31,26,.07);
  transition:.25s;
}

.book-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(3,31,26,.12);
}

.book-card>a{
  display:block;
  background:#f4f0e6;
  aspect-ratio:3/4;
  overflow:hidden;
}

.book-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.book-body{
  padding:18px;
}

.book-body h2,
.book-body h3{
  margin:0 0 12px;
  line-height:1.45;
}

.book-body p{
  color:var(--muted);
}

.book-detail{
  display:grid;
  grid-template-columns:minmax(280px,430px) 1fr;
  gap:60px;
  align-items:start;
}

.book-detail-cover{
  background:#f4f0e6;
  border-radius:22px;
  padding:20px;
  box-shadow:var(--shadow);
}

.book-detail-cover img{
  width:100%;
  display:block;
  max-height:650px;
  object-fit:contain;
}

.book-detail-copy h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.2;
  margin-top:0;
}

.book-list-thumb{
  width:60px!important;
  height:80px!important;
  object-fit:contain!important;
  background:#f4f0e6;
}


/* =========================================================
   SEARCH
   ========================================================= */

.search-wrap{
  max-width:980px;
}

.search-form{
  display:flex;
  gap:10px;
  align-items:center;
}

.search-form input{
  flex:1;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  font:16px Arial,sans-serif;
}

.search-results{
  margin-top:45px;
}

.search-results h2{
  margin-bottom:28px;
}

.search-results h3{
  color:var(--green-800);
  margin-top:30px;
}

.search-list{
  display:grid;
  gap:10px;
}

.search-list a{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  text-decoration:none;
  background:#fff;
}

.search-list a:hover{
  border-color:var(--gold);
}

.search-list span{
  font:11px Arial,sans-serif;
  color:var(--muted);
}


/* =========================================================
   SEARCH ICON
   ========================================================= */

.icon-btn{
  width:38px;
  height:38px;
  flex:0 0 38px;

  border:1px solid rgba(229,196,111,.35);

  border-radius:10px;

  background:rgba(255,255,255,.03);

  color:#e5c46f;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  text-decoration:none;

  font:600 22px Arial,sans-serif;

  line-height:1;

  cursor:pointer;

  transition:.25s;
}

.icon-btn:hover{
  color:#fff;
  background:rgba(202,160,74,.12);
  border-color:rgba(229,196,111,.6);
}

.search-btn{
  margin-left:2px;
  font-size:23px;
}

.link-button{
  border:0;
  background:none;
  padding:0;
  color:var(--green-700);
  font:700 13px Arial;
  cursor:pointer;
}


/* =========================================================
   BIOGRAPHY
   ========================================================= */

.biography{
  max-width:900px;
}

.biography h2{
  font-size:clamp(34px,5vw,52px);
  color:var(--green-900);
  margin-top:0;
}

.biography h3{
  font-size:27px;
  color:var(--green-800);
  margin-top:42px;
  margin-bottom:12px;
}

.biography p{
  font-size:18px;
  line-height:2;
  color:#29433b;
  margin:0 0 18px;
}

.bio-books{
  border-left:3px solid var(--gold);
  padding-left:22px;
  margin-top:15px;
}

.bio-books p{
  margin:0 0 6px;
}


/* =========================================================
   SHARE
   ========================================================= */

.share-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:28px 0;
}

.share-label{
  font:700 12px Arial,sans-serif;
  color:var(--muted);
  margin-right:4px;
}

.share{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--green-900);
  display:grid;
  place-items:center;
  text-decoration:none;
  font:700 13px Arial;
  cursor:pointer;
}

.share:hover{
  border-color:var(--gold);
  color:var(--gold);
}

.share.native{
  display:none;
}

.share svg{
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
}


/* =========================================================
   WHATSAPP
   ========================================================= */

.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:54px;
  height:54px;

  border-radius:50%;

  background:#20b85a;

  color:#fff;

  display:grid;
  place-items:center;

  text-decoration:none;

  font:800 17px Arial;

  z-index:80;

  box-shadow:0 12px 30px rgba(0,0,0,.22);

  border:3px solid #fff;
}

.whatsapp-float svg{
  width:29px;
  height:29px;
  fill:#fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1100px){

  .book-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .book-grid-large{
    grid-template-columns:repeat(2,1fr);
  }

  .nav a{
    padding-left:8px;
    padding-right:8px;
  }

  .nav a:after{
    left:8px;
    right:8px;
  }
}


/* =========================================================
   950px
   ========================================================= */

@media (max-width:950px){

  .nav{
    gap:0;
  }

  .nav a{
    padding:10px 8px;
  }

  .nav a:after{
    left:8px;
    right:8px;
  }

  .about-grid,
  .contact-grid{
    grid-template-columns:1fr;
    gap:35px;
  }

  .cards{
    grid-template-columns:repeat(2,1fr);
  }

  .hero .wrap,
  .hero-grid{
    grid-template-columns:1.05fr .95fr !important;
    gap:30px;
  }

  .copy{
    padding-top:55px;
  }

  .hero-mark{
    min-height:480px !important;
    padding:0 !important;
  }

  .mark-frame{
    width:340px !important;
    height:450px !important;
  }

  .cta-box{
    padding:32px;
    align-items:flex-start;
    flex-direction:column;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-brand{
    grid-column:1/-1;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px){

  .head{
    height:72px;
  }

  .head .wrap{
    gap:10px;
  }

  .brand{
    min-width:0;
  }

  .brand img{
    width:155px;
    height:62px;
  }

  .nav{
    display:none;
  }

  .mobile-toggle{
    display:block;
    margin-left:auto;
  }

  .lang{
    padding:7px 10px;
  }

  .hero{
    min-height:650px;
  }

  .hero .wrap,
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    min-height:650px;
  }

  .copy{
    grid-column:1 !important;
    grid-row:1 !important;
    padding:60px 0 10px;
  }

  .hero-mark{
    grid-column:1 !important;
    grid-row:2 !important;

    min-height:340px !important;

    padding:0 0 35px !important;
  }

  .mark-frame{
    width:280px !important;
    height:350px !important;

    border-radius:22px !important;
  }

  .hero-logo{
    object-fit:cover !important;
    object-position:center top !important;
  }

  .hero h1{
    font-size:43px;
    letter-spacing:-1px;
  }

  .hero .identity{
    font-size:18px;
  }

  .hero p{
    font-size:17px;
  }

  .hero-name{
    gap:8px;
    font-size:34px !important;
  }

  .hero-name .name-bn{
    font-size:34px !important;
  }

  .hero-name .name-en{
    font-size:27px !important;
  }

  .section{
    padding:65px 0;
  }

  .cards{
    grid-template-columns:1fr;
  }

  .headrow{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .about-card{
    min-height:360px;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    flex-direction:column;
  }

  .page{
    padding:65px 0;
  }

  .article h1{
    font-size:36px;
  }

  .content{
    font-size:17px;
  }

  .cta-box{
    padding:28px;
  }

  .contact-info{
    padding:25px;
  }

  .admin-two{
    grid-template-columns:1fr;
  }

  .article-featured{
    border-radius:15px;
  }

  .article-lead{
    font-size:18px;
  }

  .book-grid,
  .book-grid-large{
    grid-template-columns:1fr 1fr;
  }

  .book-detail{
    grid-template-columns:1fr;
    gap:30px;
  }

  .search-form{
    flex-direction:column;
    align-items:stretch;
  }

  .search-form .btn{
    width:100%;
  }

  .share.native{
    display:grid;
  }

  .footer-simple{
    gap:10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .footer-simple .socials{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:4px;
  }

  .footer-simple > div{
    text-align:center;
  }

  .whatsapp-float{
    right:15px;
    bottom:15px;
  }

  .admin-stats{
    grid-template-columns:1fr 1fr;
  }

  .search-list a{
    flex-direction:column;
    gap:5px;
  }

  .biography p{
    font-size:17px;
  }

  .search-btn{
    display:inline-flex !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    font-size:24px !important;
    border-radius:10px;
    margin-left:5px;
  }

  .nav.open{
    display:flex;
    position:absolute;
    left:4%;
    right:4%;
    top:72px;
    padding:12px;

    flex-direction:column;
    align-items:stretch;

    background:var(--green-950);

    border:1px solid rgba(229,196,111,.2);

    border-radius:0 0 16px 16px;

    box-shadow:0 20px 35px rgba(0,0,0,.25);
  }

  .nav.open a{
    padding:12px 14px;
  }

  .nav.open a:after{
    display:none;
  }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width:430px){

  .book-grid,
  .book-grid-large{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:43px;
  }

  .hero .identity{
    font-size:18px;
  }

}


/* =========================================================
   ENGLISH VERSION — ARIAL BOLD
   ========================================================= */

html[lang="en"] body,
html[lang="en"] body *{
  font-family:Arial,sans-serif !important;
  font-weight:700 !important;
}


/* =========================================================
   FOOTER FINAL — CENTER STACK
   ========================================================= */

.footer-simple{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
  text-align:center;
}

.footer-simple .socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:4px;
}

.footer-simple > div{
  text-align:center;
}

.footer-simple > div:last-child a{
  display:inline;
  margin:0;
  color:var(--gold-light);
  text-decoration:none;
  font-weight:700;
}

.footer-simple > div:last-child a:hover{
  color:#fff;
}/* FIX NATIVE SHARE ICON */
.share.native{
  display:grid !important;
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  flex:0 0 36px !important;
  aspect-ratio:1 / 1 !important;
}/* =========================================================
   NATIVE SHARE ARROW — FINAL FIX
   ========================================================= */

.share-row .share.native{
  display:grid !important;

  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;

  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;

  padding:0 !important;
  margin:0 !important;

  border:1px solid var(--line) !important;
  border-radius:50% !important;

  background:#fff !important;
  color:var(--green-900) !important;

  box-sizing:border-box !important;

  flex:0 0 36px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  line-height:1 !important;

  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;

  text-decoration:none !important;

  overflow:hidden !important;

  aspect-ratio:1 / 1 !important;

  position:relative !important;
}

.share-row .share.native:hover{
  border-color:var(--gold) !important;
  color:var(--gold) !important;
}

/* Arrow itself */
.share-row .share.native svg{
  width:16px !important;
  height:16px !important;

  min-width:16px !important;
  min-height:16px !important;

  max-width:16px !important;
  max-height:16px !important;

  display:block !important;

  margin:0 !important;
  padding:0 !important;

  position:static !important;

  transform:none !important;

  fill:currentColor !important;
  stroke:currentColor !important;
}

/* If arrow is text instead of SVG */
.share-row .share.native{
  text-align:center !important;
  vertical-align:middle !important;
}

/* Remove any inherited pseudo-element */
.share-row .share.native::before,
.share-row .share.native::after{
  content:none !important;
  display:none !important;
}/* =========================================================
   SHARE BUTTON — FINAL OVAL FIX
   ========================================================= */

.share-row button.share.native,
.share-row a.share.native{
    -webkit-appearance:none !important;
    appearance:none !important;

    display:inline-flex !important;

    width:36px !important;
    min-width:36px !important;
    max-width:36px !important;

    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;

    inline-size:36px !important;
    block-size:36px !important;

    flex:0 0 36px !important;
    aspect-ratio:1 / 1 !important;

    padding:0 !important;
    margin:0 !important;

    border:1px solid var(--line) !important;
    border-radius:50% !important;

    background:#fff !important;
    color:var(--green-900) !important;

    align-items:center !important;
    justify-content:center !important;

    line-height:1 !important;
    text-align:center !important;

    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;

    transform:none !important;

    overflow:hidden !important;

    box-sizing:border-box !important;
}

/* Arrow */
.share-row button.share.native svg,
.share-row a.share.native svg{
    width:15px !important;
    height:15px !important;

    min-width:15px !important;
    max-width:15px !important;

    min-height:15px !important;
    max-height:15px !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;

    transform:none !important;

    fill:currentColor !important;
    stroke:currentColor !important;
}

/* Remove unwanted decoration */
.share-row button.share.native::before,
.share-row button.share.native::after,
.share-row a.share.native::before,
.share-row a.share.native::after{
    content:none !important;
    display:none !important;
}/* COPY BUTTON — FINAL */
.share-row .copy-btn{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;

    padding:0 !important;
    margin:0 !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid var(--line) !important;
    border-radius:50% !important;

    background:#fff !important;
    color:var(--green-900) !important;

    outline:none !important;
    box-shadow:none !important;

    appearance:none !important;
    -webkit-appearance:none !important;

    overflow:hidden !important;
    flex:0 0 36px !important;
    aspect-ratio:1/1 !important;
}

.share-row .copy-btn svg{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
    max-width:16px !important;
    max-height:16px !important;

    display:block !important;
    margin:0 !important;
    padding:0 !important;

    fill:currentColor !important;
    stroke:currentColor !important;
}

.share-row .copy-btn:focus,
.share-row .copy-btn:focus-visible,
.share-row .copy-btn:active{
    outline:none !important;
    box-shadow:none !important;
}