:root {
    --navy: #102f55;
    --navy-deep: #0a2341;
    --blue: #1f69a8;
    --blue-soft: #eaf3fa;
    --gold: #e5b84d;
    --ink: #1d2b3a;
    --muted: #687889;
    --surface: #f5f8fb;
}
* { box-sizing: border-box; }
body { font-family: 'Inter','Hind Siliguri',sans-serif; color: var(--ink); line-height: 1.65; }
html[lang="bn"] body { font-family: 'Hind Siliguri','Inter',sans-serif; }
a { text-decoration: none; }
.topbar { background: var(--navy-deep); color: #d8e3ef; font-size: .78rem; padding: .45rem 0; }
.topbar a { color: #fff; margin-left: 1rem; }
.main-nav { background: rgba(255,255,255,.96); box-shadow: 0 5px 24px rgba(16,47,85,.07); backdrop-filter: blur(12px); }
.navbar-brand { color: var(--navy); }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 14px; background: var(--navy); color: var(--gold); font-size: 1.6rem; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; letter-spacing: .04em; }
.brand-copy strong { font-size: .94rem; font-weight: 800; }
.brand-copy small { font-size: .54rem; letter-spacing: .13em; margin-top: 4px; color: #718093; }
.nav-link { color: #33485e; font-size: .88rem; font-weight: 600; padding: .8rem .65rem !important; }
.nav-link:hover { color: var(--blue); }
.language-mobile a { color: var(--blue); font-weight: 600; }
.hero-section { position: relative; overflow: hidden; color: white; background: linear-gradient(115deg,#0b2747 0%,#123d68 58%,#1b5c88 100%); }
.min-vh-hero { min-height: 650px; padding-top: 65px; padding-bottom: 65px; }
.hero-section:after { content:""; position:absolute; width:680px; height:680px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-190px; top:-220px; }
.hero-orb { position:absolute; border-radius:50%; filter: blur(1px); }
.orb-one { width:320px; height:320px; background:rgba(229,184,77,.09); right:18%; bottom:-210px; }
.orb-two { width:180px; height:180px; background:rgba(255,255,255,.04); left:-80px; top:20%; }
.eyebrow,.section-kicker { display:inline-flex; align-items:center; color:var(--gold); font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin-bottom:1rem; }
.hero-section h1 { max-width:720px; font-size:clamp(2.7rem,5vw,4.7rem); line-height:1.12; font-weight:800; letter-spacing:-.045em; }
html[lang="bn"] .hero-section h1 { line-height:1.28; letter-spacing:0; }
.hero-lead { color:#d1deeb; font-size:1.08rem; max-width:590px; margin-top:1.4rem; }
.btn-gold { background:var(--gold); color:#142b43; border:1px solid var(--gold); border-radius:999px; font-weight:800; padding:.85rem 1.45rem; }
.btn-gold:hover { background:#f0ca6a; border-color:#f0ca6a; color:#142b43; transform:translateY(-1px); }
.btn-outline-light { border-radius:999px; padding:.85rem 1.4rem; font-weight:700; }
.hero-trust { display:flex; flex-wrap:wrap; gap:1.5rem; color:#d9e5f0; font-size:.8rem; }
.hero-trust div { display:flex; align-items:center; gap:.55rem; }
.hero-trust strong { color:var(--gold); font-size:1.1rem; }
.hero-visual { min-height:430px; position:relative; display:grid; place-items:center; }
.visual-circle { position:absolute; border-radius:50%; }
.circle-back { width:390px; height:390px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); }
.circle-front { width:300px; height:300px; border:1px solid rgba(229,184,77,.45); }
.family-card { position:relative; z-index:2; width:min(310px,85%); min-height:330px; padding:2rem; border-radius:25px; color:var(--navy); background:linear-gradient(145deg,#fff 0%,#e9f2f7 100%); box-shadow:0 30px 80px rgba(0,0,0,.25); transform:rotate(3deg); display:flex; flex-direction:column; justify-content:center; }
.family-icon { width:70px; height:70px; border-radius:22px; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-size:2rem; margin-bottom:1.5rem; }
.family-card-label { color:#708197; font-size:.8rem; }
.family-card strong { font-size:1.6rem; line-height:1.2; margin-top:.35rem; }
.family-lines { margin-top:1.6rem; display:grid; gap:8px; }
.family-lines span { height:7px; border-radius:10px; background:#d7e2eb; }
.family-lines span:nth-child(2) { width:78%; }.family-lines span:nth-child(3) { width:56%; }
.family-footer { margin-top:1.5rem; font-size:.65rem; font-weight:800; letter-spacing:.12em; color:var(--blue); }
.family-footer i { color:#d6a52e; margin-right:.35rem; }
.floating-note { position:absolute; z-index:3; right:-3px; bottom:35px; background:white; color:var(--navy); padding:.9rem 1.1rem; border-radius:14px; box-shadow:0 12px 35px rgba(0,0,0,.18); font-size:.73rem; font-weight:700; }
.floating-note i { color:#d5a62f; font-size:1.1rem; margin-right:.5rem; }
.notice-strip { background:#f0f5f9; padding:1rem 0; border-bottom:1px solid #e4ebf1; }
.notice-label { color:var(--navy); font-size:.72rem; font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.notice-content { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; color:#53677c; font-size:.82rem; }
.notice-dot { color:var(--gold); }.notice-link { color:var(--blue); font-weight:700; font-size:.8rem; white-space:nowrap; }
.section-padding { padding:100px 0; }
.section-kicker { color:var(--blue); margin-bottom:.8rem; }
.section-title { color:var(--navy); font-size:clamp(2rem,3.5vw,3rem); line-height:1.18; font-weight:800; letter-spacing:-.035em; margin-bottom:1.2rem; }
html[lang="bn"] .section-title { line-height:1.35; letter-spacing:0; }
.section-text { color:var(--muted); max-width:660px; }
.about-art { min-height:390px; border-radius:28px; background:linear-gradient(145deg,#eaf3f8,#d9e9f2); display:grid; place-items:center; position:relative; overflow:hidden; }
.about-art:before,.about-art:after { content:""; position:absolute; border:1px solid rgba(31,105,168,.15); border-radius:50%; }
.about-art:before { width:370px;height:370px; }.about-art:after { width:270px;height:270px; }
.about-art-main { position:relative; z-index:1; width:220px;height:220px; border-radius:50%; background:var(--navy); color:var(--gold); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 25px 55px rgba(16,47,85,.2); }
.about-art-main i { font-size:4.3rem; }.about-art-main span { text-align:center; color:#fff; font-size:.85rem; letter-spacing:.2em; line-height:1.2; }
.about-art-main b { color:var(--gold); font-size:1.25rem; }
.about-art-caption { position:absolute; z-index:2; bottom:25px; left:25px; right:25px; background:#fff; padding:1rem 1.2rem; border-radius:14px; color:var(--navy); font-weight:700; box-shadow:0 10px 30px rgba(16,47,85,.1); }
.about-art-caption i { color:#d6a52e; margin-right:.5rem; }
.text-link { color:var(--blue); font-weight:800; font-size:.88rem; display:inline-flex; align-items:center; gap:.55rem; }
.text-link:hover { color:var(--navy); gap:.8rem; }
.products-section { background:var(--surface); }
.section-heading { max-width:750px; margin:0 auto 2rem; }
.product-card,.value-card,.news-card { background:#fff; border:1px solid #e7edf2; border-radius:20px; padding:2rem; transition:all .25s ease; }
.product-card:hover,.value-card:hover,.news-card:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(16,47,85,.08); border-color:#d6e5f0; }
.product-icon,.value-icon { width:58px;height:58px;border-radius:17px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:1.65rem;margin-bottom:1.4rem; }
.product-card h3,.value-card h3,.news-card h3 { color:var(--navy); font-size:1.16rem; font-weight:800; margin-bottom:.8rem; }
.product-card p,.value-card p,.news-card p { color:var(--muted); font-size:.9rem; min-height:65px; }
.product-card .text-link { margin-top:.7rem; }
.product-disclaimer { text-align:center; color:#8391a0; font-size:.75rem; margin-top:2rem; }
.values-section { background:#fff; }
.value-card { padding:1.7rem; }
.value-card p { margin-bottom:0; min-height:0; }
.news-card { padding:1.7rem; }
.news-date { color:#8795a3; font-size:.75rem; font-weight:700; margin-bottom:1rem; }
.news-card p { min-height:0; margin-bottom:0; }
.empty-state { background:#fff; border:1px dashed #cbd7e1; border-radius:16px; padding:2rem; text-align:center; color:var(--muted); }
.contact-section { background:linear-gradient(120deg,#0a2341,#123d68); }
.text-gold { color:var(--gold); }
.contact-section .section-title { max-width:470px; }
.contact-lead { color:#c6d5e4; max-width:430px; margin-bottom:2rem; }
.contact-detail { display:flex; align-items:center; gap:1rem; color:#fff; margin:1.25rem 0; }
.contact-detail > i { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.1);color:var(--gold);font-size:1.1rem; }
.contact-detail span { display:flex; flex-direction:column; font-size:.9rem; }
.contact-detail small { color:#9fb5ca; font-size:.72rem; margin-bottom:.15rem; }
.contact-form { background:#fff; border-radius:22px; padding:2rem; box-shadow:0 20px 60px rgba(0,0,0,.15); }
.contact-form h3 { color:var(--navy); font-weight:800; font-size:1.35rem; margin-bottom:1.5rem; }
.form-label { color:#40566c; font-size:.8rem; font-weight:700; }
.form-control { border:1px solid #dce5ec; border-radius:10px; padding:.78rem .9rem; font-size:.88rem; }
.form-control:focus { border-color:#6ea2c9; box-shadow:0 0 0 .2rem rgba(31,105,168,.1); }
.form-check-label { color:#687889; font-size:.78rem; }
.footer { background:#081d35; color:#fff; padding:55px 0 20px; }
.footer h6 { font-size:.9rem; font-weight:800; margin-bottom:1rem; }
.footer a:not(.navbar-brand) { display:block; color:#c2d0dd; font-size:.83rem; margin:.55rem 0; }
.footer a:hover { color:var(--gold); }
.footer-muted { color:#a9bbcc; font-size:.83rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:1.2rem; margin-top:1rem; color:#93a8bb; font-size:.72rem; }
@media (max-width: 991.98px) {
    .min-vh-hero { min-height:auto; padding-top:75px; padding-bottom:60px; }
    .hero-visual { min-height:370px; }
    .circle-back { width:320px;height:320px; }.circle-front { width:245px;height:245px; }
    .family-card { min-height:285px; }
    .section-padding { padding:75px 0; }
}
@media (max-width: 575.98px) {
    .hero-section h1 { font-size:2.55rem; }
    .hero-visual { min-height:330px; }
    .circle-back { width:280px;height:280px; }.circle-front { width:220px;height:220px; }
    .family-card { width:250px; min-height:265px; padding:1.5rem; }
    .floating-note { right:0; bottom:10px; font-size:.65rem; }
    .hero-trust { gap:.8rem 1rem; font-size:.7rem; }
    .notice-content { font-size:.75rem; }
    .section-padding { padding:62px 0; }
    .contact-form { padding:1.35rem; }
}
