/* BBTH Staff Portal - home page */
:root{
  --c-maroon:#264a3b; --c-rose:#c9a227; --c-pagebg:#f6f4ea; --c-circle:#e4eadb;
  --c-band:#e9efe0; --c-ink:#223c31; --f-head:'Playfair Display',serif; --f-body:'Poppins',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--f-body);background:var(--c-pagebg);color:var(--c-ink);-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
.hidden{display:none!important}

/* top bar */
.top{position:sticky;top:0;z-index:20;background:linear-gradient(120deg,#1e3a2e,#264a3b 55%,#35604c);border-bottom:3px solid var(--c-rose);box-shadow:0 4px 18px rgba(36,71,58,.25)}
.top-in{max-width:1060px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:56px;height:40px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}
.brand-t b{display:block;color:#fff;font-family:var(--f-head);font-size:17px;letter-spacing:.3px}
.brand-t span{display:block;color:#e9d27a;font-size:10.5px;letter-spacing:2.5px;font-weight:500}
.brand-t span.tag{font-size:12px;letter-spacing:.3px;text-transform:none;color:#e9d27a;font-style:italic;font-family:var(--f-head);margin-top:2px}
.top-nav{display:flex;gap:10px}
.btn{display:inline-block;text-decoration:none;font-weight:500;border-radius:999px;padding:9px 18px;font-size:14px;transition:transform .12s ease,box-shadow .12s ease;border:1.5px solid transparent;cursor:pointer}
.btn.solid{background:linear-gradient(135deg,#d9b13b,#c9a227);color:#22301f;box-shadow:0 3px 10px rgba(201,162,39,.35)}
.btn.solid:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(201,162,39,.45)}
.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.big{padding:14px 26px;font-size:16px}

/* hero */
.hero{position:relative;overflow:hidden;color:#f3f1e4;background:
  radial-gradient(900px 420px at 85% -120px, rgba(201,162,39,.20), transparent 62%),
  radial-gradient(720px 400px at -12% 115%, rgba(201,162,39,.10), transparent 60%),
  linear-gradient(160deg,#1c352b 0%,#264a3b 55%,#2f5745 100%);
  border-bottom:3px solid var(--c-rose)}
.hero-in{position:relative;z-index:2;max-width:1060px;margin:0 auto;padding:78px 20px 96px}
.kicker{color:#e9d27a;letter-spacing:3px;font-size:12px;font-weight:600;margin-bottom:14px}
.kicker.dark{color:#8a6d12}
.hero h1{font-family:var(--f-head);font-size:clamp(31px,5.6vw,52px);line-height:1.12;color:#fff;font-weight:600}
.hero h1 em{font-style:italic;color:#ecd27f}
.hero .sub{max-width:560px;margin:18px 0 26px;color:#c9d4c1;font-size:16px;line-height:1.65}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:13px;color:#a4b69f}
.hero .tagline{color:#e9d27a;margin-top:-8px;margin-bottom:22px}
.tagline{font-family:var(--f-head);font-style:italic;font-size:15px}
/* fairy lights - two warm strings + soft bokeh, pure CSS (no photo source available yet) */
.lights{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.9;background:
  radial-gradient(circle 26px at 12% 22%, rgba(255,214,110,.14), transparent 70%),
  radial-gradient(circle 34px at 46% 8%,  rgba(255,214,110,.12), transparent 70%),
  radial-gradient(circle 28px at 78% 18%, rgba(255,214,110,.13), transparent 70%),
  radial-gradient(circle 40px at 94% 40%, rgba(255,214,110,.10), transparent 70%)}
.lights::before,.lights::after{content:'';position:absolute;left:0;right:0;height:60px;background-repeat:repeat-x}
.lights::before{top:14px;background-image:
  radial-gradient(circle 2.6px at 50% 12px, #ffd972 92%, rgba(255,217,114,0) 100%),
  radial-gradient(circle 8px at 50% 12px, rgba(255,208,96,.28), rgba(255,208,96,0) 100%);
  background-size:74px 34px,74px 34px;transform:rotate(-1.1deg) translateY(2px)}
.lights::after{top:34px;background-image:
  radial-gradient(circle 2.2px at 50% 12px, #ffe9a8 92%, rgba(255,233,168,0) 100%),
  radial-gradient(circle 7px at 50% 12px, rgba(255,224,150,.22), rgba(255,224,150,0) 100%);
  background-size:97px 34px,97px 34px;transform:rotate(.8deg);opacity:.75}

/* features */
.feats{padding:0 0 10px;margin-top:-46px;position:relative;z-index:3}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.feat{background:#fff;border:1px solid #e6e8d8;border-radius:16px;padding:22px 20px;box-shadow:0 10px 26px rgba(28,53,43,.12);transition:transform .18s ease,box-shadow .18s ease}
.feat:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(28,53,43,.16)}
.feat .fi{font-size:26px;margin-bottom:10px}
.feat h3{font-family:var(--f-head);font-size:18px;margin-bottom:8px;color:var(--c-maroon)}
.feat p{font-size:13.5px;color:#55665c;line-height:1.55}

/* about */
.about{padding:60px 0}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.about h2,.services h2,.notices h2{font-family:var(--f-head);font-size:clamp(24px,3.6vw,34px);color:var(--c-maroon);margin-bottom:12px}
.body{color:#4c5f55;font-size:15px;line-height:1.65}
.contact-cards{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.cc{background:#fff;border:1px solid #e6e8d8;border-left:4px solid var(--c-rose);border-radius:12px;padding:12px 16px;min-width:180px}
.cc span{display:block;font-size:11px;letter-spacing:1.6px;color:#8a8f80;text-transform:uppercase;margin-bottom:4px}
.cc b{font-size:15px;color:var(--c-ink)}
.logo-card{background:linear-gradient(150deg,#264a3b,#35604c);border-radius:20px;padding:34px;display:flex;justify-content:center;box-shadow:0 8px 24px rgba(36,71,58,.25)}
.logo-card img{width:220px;background:#fff;border-radius:14px;padding:10px}

/* notices */
.notices{padding:18px 0 48px}
.notice-list{display:flex;flex-direction:column;gap:10px}
.notice{background:#fffbe9;border:1px solid #ead98f;border-left:4px solid var(--c-rose);border-radius:12px;padding:12px 16px}
.notice .nd{font-size:11px;letter-spacing:1.4px;color:#9a7d15;text-transform:uppercase;margin-bottom:3px}
.notice .nt{font-size:14.5px;color:#4c4630}

/* services */
.services{padding:18px 0 64px}
.svc-sub{margin-bottom:24px;max-width:640px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:start}
.svc-card{background:#fff;border:1px solid #e6e8d8;border-top:3px solid var(--c-rose);border-radius:16px;padding:20px 22px 16px;box-shadow:0 4px 14px rgba(36,71,58,.06);transition:transform .18s ease,box-shadow .18s ease}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(36,71,58,.12)}
.svc-card h3{font-family:var(--f-head);color:var(--c-maroon);font-size:17.5px;margin-bottom:10px}
.svc-card ul{list-style:none;margin:0;padding:0}
.svc-card li{position:relative;font-size:13.5px;color:#4c5f55;line-height:1.45;padding:4px 0 4px 17px}
.svc-card li::before{content:'';position:absolute;left:1px;top:11px;width:6px;height:6px;background:var(--c-rose);transform:rotate(45deg);border-radius:1px}
.skel-card{height:150px;background:#f2f4e8;border-top-color:#e2e6d2}

/* footer */
.foot{background:linear-gradient(120deg,#1e3a2e,#264a3b 60%,#2c5041);color:#e8ecdf;border-top:3px solid var(--c-rose)}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 20px;flex-wrap:wrap}
.brand.small img{width:48px;height:34px}
.foot-c{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:#cfd8c6}
.foot-links{display:flex;gap:16px}
.foot-links a{color:#e9d27a;text-decoration:none;font-size:13.5px;border-bottom:1px dotted #e9d27a}
.tiny{text-align:center;font-size:11.5px;color:#9fb0a0;padding:0 20px 16px}

@media (max-width:720px){
  .two{grid-template-columns:1fr}
  .top-in{flex-wrap:wrap;row-gap:10px}
  .top-in .brand{flex:1 1 100%}
  .top-in .top-nav{margin-left:auto}
  .brand-t b{font-size:16px;white-space:nowrap}
  .btn{padding:9px 14px;font-size:13px}
  .btn.big{padding:13px 20px;font-size:15px}
  .cta-row .btn{flex:1 1 auto;text-align:center}
  .hero-in{padding:56px 20px 84px}
  .svc-grid{grid-template-columns:1fr}
  .foot-in{flex-direction:column;align-items:flex-start;gap:14px}
}

/* ---- smoothness ---- */
html { scroll-behavior: smooth; }
* { -webkit-tap-highlight-color: transparent; }
.btn, .card, .nav-links a { transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease; }
.card:hover { transform: translateY(-3px); }

.tagline b,.brand-t span.tag b{font-family:"Noto Sans Bengali",var(--f-body),sans-serif;font-style:normal;font-weight:500}
.tgbar{opacity:.5;font-style:normal;margin:0 6px}
@media(max-width:520px){.tagline b,.brand-t span.tag b{display:block}.tgbar{display:none}}
