/* ==========================================================================
   J.M Colour World
   Palette: neel indigo (tant dye) · marigold (puja garlands) · leaf green (order actions)
   Type: Bricolage Grotesque (English display) · Baloo Da 2 (Bengali display) · Hind Siliguri (text, both scripts)
   ========================================================================== */
:root{
  --neel:#1E2A78; --neel-deep:#121A52; --neel-soft:#E8EBF8;
  --marigold:#F2A900; --marigold-deep:#C98A00; --marigold-soft:#FFF5DA;
  --sindoor:#D7372B; --leafchip:#2E9E7A; --sky:#9CC7E6; --sandal:#F3D9C4;
  --leaf:#1F8A4C; --leaf-deep:#166B3A;
  --ink:#171A2C; --slate:#565D73; --mist:#F3F5FB; --line:#DFE3EE; --paper:#fff;
  --r-s:8px; --r-m:14px; --r-l:22px;
  --shadow:0 1px 2px rgba(18,26,82,.06),0 12px 32px -18px rgba(18,26,82,.35);
  --wrap:1180px;
  --display:"Bricolage Grotesque","Hind Siliguri",system-ui,sans-serif;
  --display-bn:"Baloo Da 2","Hind Siliguri",system-ui,sans-serif;
  --text:"Hind Siliguri",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--neel);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--neel-deep)}
:focus-visible{outline:3px solid var(--marigold);outline-offset:3px;border-radius:6px}
::selection{background:var(--marigold);color:var(--ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px;top:8px;background:var(--neel);color:#fff;padding:10px 16px;border-radius:var(--r-s);z-index:60}
.skip:focus{left:12px}
.muted{color:var(--slate)} .small{font-size:.9rem} .nowrap{white-space:nowrap} .mt{margin-top:28px}

h1,h2,h3,.h3{font-family:var(--display);color:var(--neel);margin:0 0 .45em;font-weight:800;letter-spacing:-.022em;line-height:1.06;font-optical-sizing:auto}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.65rem,3.1vw,2.45rem);font-weight:700}
h3,.h3{font-size:1.28rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.lang-bn h1,.lang-bn h2,.lang-bn h3,.lang-bn .h3{font-family:var(--display-bn);letter-spacing:0;line-height:1.22;font-weight:700}
.lang-bn h1{font-size:clamp(2.1rem,4.8vw,3.6rem)}
p{margin:0 0 1em;max-width:68ch}
.lead{font-size:1.15rem;line-height:1.6;color:var(--slate)}
.lang-bn body,.lang-bn{line-height:1.75}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.5) blur(10px);-webkit-backdrop-filter:saturate(1.5) blur(10px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:18px;min-height:74px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto;flex:none}
.logo{width:40px;height:40px}
.brand b{display:block;font-family:var(--display);font-weight:800;font-size:1.28rem;letter-spacing:-.02em;color:var(--neel);line-height:1}
.brand-sub{display:block;font-size:.78rem;color:var(--slate);line-height:1.3;margin-top:4px}
.nav{display:flex;gap:2px}
.nav a{padding:9px 11px;border-radius:var(--r-s);text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;white-space:nowrap}
.nav a:hover{background:var(--mist);color:var(--neel)}
.nav a[aria-current="page"]{color:var(--neel);font-weight:600;background:var(--neel-soft)}
.head-tools{display:flex;align-items:center;gap:8px}
.lang-switch{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1.5px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--neel);background:#fff;white-space:nowrap}
.lang-switch:hover{border-color:var(--neel);color:var(--neel)}
.lang-switch[lang="bn"]{font-family:var(--text)}
.lang-dot{width:9px;height:9px;border-radius:50%;background:conic-gradient(var(--marigold) 0 33%,var(--leaf) 0 66%,var(--neel) 0)}
.menu-btn{display:none;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;font:600 .92rem var(--text);color:var(--neel);cursor:pointer}
@media (max-width:1180px){.nav a{padding:9px 8px;font-size:.92rem}}
@media (max-width:1080px){
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding:8px 24px 18px;display:none;box-shadow:0 18px 30px -24px rgba(18,26,82,.45)}
  .nav.open{display:flex}
  .nav a{padding:13px 10px;font-size:1.05rem;border-bottom:1px solid var(--mist)}
  .menu-btn{display:block}
}
@media (max-width:620px){.head-tools .head-wa{display:none}.brand-sub{display:none}.head-row{gap:8px;min-height:62px}.head-tools{gap:6px}.lang-switch{padding:7px 10px;font-size:.88rem}.menu-btn{padding:7px 12px}.logo{width:34px;height:34px}.brand b{font-size:1.1rem}.wrap{padding:0 18px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;font:600 1rem/1.2 var(--text);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn svg{width:20px;height:20px;flex:none}
.btn-lg{padding:16px 26px;font-size:1.05rem}
.btn-small{padding:8px 15px;font-size:.92rem}
.btn-small svg{width:17px;height:17px}
.btn-order{background:var(--leaf);color:#fff}
.btn-order:hover{background:var(--leaf-deep);color:#fff}
.btn-line{border-color:var(--neel);color:var(--neel);background:#fff}
.btn-line:hover{background:var(--neel);color:#fff}
.btn-neel{background:var(--neel);color:#fff}
.btn-neel:hover{background:var(--neel-deep);color:#fff}
.btn-marigold{background:var(--marigold);color:var(--ink)}
.btn-marigold:hover{background:#FFC02E;color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 1em}
.arrow-link{font-weight:600;text-decoration:underline;text-decoration-color:var(--marigold);text-decoration-thickness:3px;text-underline-offset:5px;color:var(--neel)}
.arrow-link:hover{text-decoration-color:var(--neel)}

/* ---------- hero ---------- */
.hero{padding:64px 0 56px;overflow:hidden;background:
  radial-gradient(900px 420px at 88% 18%,var(--marigold-soft),transparent 70%),
  linear-gradient(180deg,#fff,#fff)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{margin-bottom:.32em;max-width:15ch;font-size:clamp(2.3rem,5vw,3.9rem)}
.lang-bn .hero h1{max-width:16ch}
.hero .lead{font-size:1.2rem;max-width:52ch;margin-bottom:1.6em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;list-style:none;color:var(--slate);font-size:.95rem}
.facts li{display:flex;align-items:center;gap:9px}
.facts li::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--marigold);flex:none}
.hero-art{position:relative;min-height:470px}
.fan{position:absolute;inset:0 0 0 6%;}
.chip{position:absolute;left:50%;bottom:4%;width:21%;height:82%;margin-left:-10.5%;border-radius:12px;background:var(--c);transform-origin:50% 93%;transform:rotate(0deg);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 14px 30px -18px rgba(18,26,82,.6);transition:transform 1.1s cubic-bezier(.2,.85,.2,1)}
.chip span{position:absolute;left:7px;right:7px;top:7px;background:rgba(255,255,255,.96);border-radius:7px;padding:8px 4px 9px;text-align:center}
.chip b{display:block;font:600 .86rem/1.15 var(--text);color:var(--ink)}
.chip small{display:block;font-size:.66rem;color:var(--slate);margin-top:2px;letter-spacing:.02em}
.fan-pin{position:absolute;left:50%;bottom:calc(4% + 82% * .07);width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(18,26,82,.12)}
.fan.open .chip{transform:rotate(var(--r))}
.hero-card{position:absolute;left:0;bottom:2%;width:min(300px,62%);background:#fff;border-radius:var(--r-m);box-shadow:var(--shadow);border:1px solid var(--line);padding:16px 18px 14px;z-index:2}
.hero-card-title{font-weight:700;color:var(--neel);font-size:.92rem;margin:0 0 6px}
.hero-card ul{list-style:none;margin:0 0 8px;padding:0}
.hero-card li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.hero-card li:last-child{border-bottom:0}
.hero-card li small{color:var(--slate)}
.hero-card li b{color:var(--neel);font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-card a{font-size:.88rem;font-weight:600}
.fan-note{position:absolute;right:0;top:0;max-width:34%;font-size:.85rem;color:var(--slate);text-align:right;margin:0}
@media (max-width:900px){
  .hero{padding:36px 0 30px}
  .hero-grid{grid-template-columns:1fr;gap:20px}
  .hero-art{min-height:380px;max-width:460px;width:100%;margin:0 auto}
  .fan-note{display:none}
}
@media (max-width:600px){.hero-art{min-height:300px;max-width:340px}.fan{inset:0}.hero-card{display:none}.chip b{font-size:.74rem}.chip small{display:none}}

/* ---------- page head ---------- */
.page-head{position:relative;padding:44px 0 46px;background:linear-gradient(180deg,var(--mist),#fff 92%)}
.page-head h1{font-size:clamp(2.1rem,4.6vw,3.4rem);max-width:20ch}
.page-head .lead{max-width:60ch}
.head-stripe{position:absolute;left:0;right:0;bottom:0;height:5px;display:grid;grid-template-columns:repeat(6,1fr)}
.head-stripe i:nth-child(1){background:var(--marigold)}.head-stripe i:nth-child(2){background:var(--sindoor)}.head-stripe i:nth-child(3){background:var(--neel)}
.head-stripe i:nth-child(4){background:var(--leafchip)}.head-stripe i:nth-child(5){background:var(--sky)}.head-stripe i:nth-child(6){background:var(--sandal)}
.crumbs{font-size:.88rem;color:var(--slate);margin-bottom:16px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:#A6ACBF}
.crumbs a{color:var(--slate);text-decoration:none}
.crumbs a:hover{color:var(--neel);text-decoration:underline}
.stat-row{display:flex;flex-wrap:wrap;gap:14px 40px;margin:22px 0 4px;padding:0;list-style:none}
.stat-row li{font-size:.94rem;color:var(--slate);line-height:1.35}
.stat-row b{display:block;font:800 1.55rem/1.1 var(--display);letter-spacing:-.02em;color:var(--neel);margin-bottom:3px}
.lang-bn .stat-row b{font-family:var(--display-bn);font-weight:700}
.page-head .btn-row{margin-top:22px}

/* ---------- sections ---------- */
.section{padding:76px 0}
.section-tight{padding-top:36px}
.section-tint{background:var(--mist)}
.section-neel{background:var(--neel);color:#DCE0F7}
.section-neel h2,.section-neel h3{color:#fff}
.section-neel .lead{color:#C7CDEE}
.section-neel a:not(.btn){color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin-bottom:26px}
.section-head h2{margin:0}
.section-head p{margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.split-map{grid-template-columns:.95fr 1.05fr;align-items:center}
.split>*,.calc>*,.hero-grid>*{min-width:0}
.price-wrap{overflow-x:auto}
@media (max-width:900px){.split,.split-map{grid-template-columns:1fr;gap:32px}.section{padding:52px 0}}

/* ---------- prices ---------- */
.price-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:0 1px 2px rgba(18,26,82,.04)}
.price-meta{display:flex;justify-content:space-between;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--marigold-soft),#fff 75%);font-size:.95rem}
.price-meta strong{color:var(--neel)}
table.prices{width:100%;border-collapse:collapse}
.prices th{text-align:left;font-weight:600;color:var(--slate);font-size:.85rem;padding:12px 22px;border-bottom:1px solid var(--line)}
.prices td{padding:14px 22px;border-bottom:1px solid var(--line);vertical-align:top}
.prices tbody tr:last-child td{border-bottom:0}
.prices tbody tr[data-cat]:hover td{background:#FAFBFE}
.prices .amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.prices td.amt{font-weight:700;color:var(--neel);font-size:1.08rem}
.prices tr.cat th{background:var(--mist);color:var(--neel);font-weight:700;font-size:.92rem;padding:10px 22px}
.pname{font-weight:600}
.prices .note{display:block;color:var(--slate);font-size:.86rem;font-weight:400}
.sample-flag{background:#FFECE8;color:#8A1F11;border:1px solid #F3C3B9;border-radius:var(--r-s);padding:10px 14px;font-size:.9rem;margin:0 0 16px;max-width:none}
.price-tools{display:flex;gap:14px 18px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}
.search{flex:1 1 280px}
.search label{display:block;font-size:.88rem;color:var(--slate);margin-bottom:6px}
.search input{width:100%;padding:13px 18px;border:1.5px solid var(--line);border-radius:999px;font:400 1rem var(--text);background:#fff}
.search input:focus,.calc-form input:focus,.calc-form select:focus,.wa-form input:focus,.wa-form textarea:focus,.wa-form select:focus{border-color:var(--neel);outline:none;box-shadow:0 0 0 4px rgba(30,42,120,.13)}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font:500 .92rem var(--text);color:var(--ink);cursor:pointer}
.tabs button:hover{border-color:var(--neel)}
.tabs button[aria-pressed="true"]{background:var(--neel);border-color:var(--neel);color:#fff}
.empty-row td{text-align:center;color:var(--slate);padding:30px}
@media (max-width:600px){.prices th,.prices td,.prices tr.cat th{padding-left:14px;padding-right:14px}.price-meta{padding:14px}.prices td.nowrap{white-space:normal}.trade-col,.wa-form,.visit-info{padding:22px}}

/* ---------- steps (a real sequence) ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:22px 0 0;border-top:3px solid var(--line)}
.steps li::before{content:counter(s);position:absolute;top:-3px;left:0;height:3px;width:56px;background:var(--marigold);font-size:0}
.steps li::after{content:counter(s);display:block;position:absolute;top:18px;right:0;font:800 3rem/1 var(--display);color:var(--neel-soft)}
.steps h3{margin-bottom:.35em;padding-right:44px}
.steps p{margin:0;color:var(--slate)}
.steps-stack{grid-template-columns:1fr;gap:22px;margin-top:22px}
@media (max-width:800px){.steps{grid-template-columns:1fr;gap:24px}}

/* ---------- ticks ---------- */
.ticks{list-style:none;padding:0;margin:0 0 1.4em}
.ticks li{position:relative;padding-left:32px;margin-bottom:.7em}
.ticks li::before{content:"";position:absolute;left:2px;top:.45em;width:15px;height:8px;border-left:3px solid var(--leaf);border-bottom:3px solid var(--leaf);transform:rotate(-45deg)}
.section-neel .ticks li::before{border-color:var(--marigold)}

/* ---------- offers ---------- */
.offers{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}
.offer{border-radius:var(--r-l);padding:30px}
.offer h3{font-size:1.45rem}
.offer-main{grid-row:span 2;background:var(--neel);color:#D3D8F4;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}
.offer-main::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,169,0,.38),transparent 65%)}
.offer-main h3{color:#fff;font-size:1.9rem}
.offer-sub{color:#B9C0EA;margin-top:-.3em}
.price-from{font:700 1.15rem var(--display);color:var(--marigold);margin:.4em 0 .9em}
.lang-bn .price-from{font-family:var(--display-bn)}
.offer-main .btn{margin-top:auto;position:relative;z-index:1}
.offer-side{background:#fff;border:1px solid var(--line)}
.section-tint .offer-side{background:#fff}
@media (max-width:900px){.offers{grid-template-columns:1fr}.offer-main{grid-row:auto}}

/* ---------- calculator teaser ---------- */
.calc-teaser{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center}
.calc-teaser .lead{max-width:56ch}
.calc-teaser-art{display:flex;justify-content:center}
.bucket{position:relative;width:170px;height:170px;border-radius:24px 24px 44px 44px;background:linear-gradient(180deg,var(--neel) 0 22%,var(--marigold) 22% 100%);box-shadow:var(--shadow)}
.bucket i{position:absolute;left:18px;right:18px;top:-26px;height:46px;border:6px solid #9AA2C8;border-bottom:0;border-radius:70px 70px 0 0}
.bucket span{position:absolute;inset:auto 0 30px 0;text-align:center;font:800 3.4rem/1 var(--display);color:var(--neel)}
@media (max-width:760px){.calc-teaser{grid-template-columns:1fr;gap:28px}.calc-teaser-art{justify-content:flex-start}.bucket{width:120px;height:120px}.bucket span{font-size:2.4rem;bottom:20px}}

/* ---------- zones & map ---------- */
.zone-list{list-style:none;padding:0;margin:0 0 18px}
.zone-list li{display:grid;grid-template-columns:20px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.zone-list li:last-child{border-bottom:0}
.zone-dot{width:20px;height:20px;border-radius:50%;margin-top:4px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.06)}
.zone-list b{display:block;color:var(--neel);font-size:1.05rem}
.zone-list b span{font-weight:500;color:var(--slate);font-size:.92rem;margin-left:6px}
.zone-list small{display:block;color:var(--slate);font-size:.86rem;margin-top:2px}
.map-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:10px;box-shadow:var(--shadow)}
.map-card svg{border-radius:14px}
.towns{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.towns a{display:inline-flex;gap:8px;align-items:baseline;padding:9px 15px;border:1.5px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;background:#fff}
.towns a span{color:var(--slate);font-weight:400;font-size:.86rem}
.towns a:hover{border-color:var(--neel)}

/* ---------- trade ---------- */
.trade-split{gap:28px}
.trade-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:32px;box-shadow:0 1px 2px rgba(18,26,82,.04)}
.trade-col:first-child{border-top:5px solid var(--marigold)}
.trade-col:last-child{border-top:5px solid var(--leaf)}

/* ---------- callout ---------- */
.callout{border-left:5px solid var(--marigold);background:var(--marigold-soft);padding:22px 26px;border-radius:0 var(--r-m) var(--r-m) 0}
.callout h3{margin-bottom:.4em}
.callout p:last-child{margin-bottom:0}
.callout-big{padding:32px}
.callout-big .btn{margin-top:6px}

/* ---------- visit ---------- */
.visit{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.visit-info{padding:34px}
.visit address{font-style:normal;font-weight:600;margin-bottom:.8em}
.hours{border-collapse:collapse;margin:0 0 20px;font-size:.95rem}
.hours caption{text-align:left;color:var(--slate);font-size:.86rem;margin-bottom:4px}
.hours th{text-align:left;font-weight:500;padding:3px 24px 3px 0}
.hours td{font-variant-numeric:tabular-nums}
.visit-map{min-height:380px;background:linear-gradient(135deg,var(--mist),var(--neel-soft))}
.visit iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
@media (max-width:900px){.visit{grid-template-columns:1fr}.visit-map,.visit iframe{min-height:280px}}

/* ---------- faq ---------- */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:24px;width:10px;height:10px;border-right:2.5px solid var(--neel);border-bottom:2.5px solid var(--neel);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:29px}
.faq summary:hover{color:var(--neel)}
.faq details p{color:var(--slate);margin:0 0 18px}

/* ---------- forms ---------- */
.wa-form{background:#fff;color:var(--ink);border-radius:var(--r-l);padding:28px;box-shadow:var(--shadow)}
.wa-form-light{border:1px solid var(--line)}
.wa-form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:14px}
.wa-form input,.wa-form textarea,.wa-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-s);font:400 1rem var(--text);background:#fff;color:var(--ink)}
.wa-form textarea{min-height:110px;resize:vertical}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.calc-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:28px;box-shadow:0 1px 2px rgba(18,26,82,.04)}
.seg{border:0;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.seg legend{font-weight:600;margin-bottom:10px;padding:0}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-block;padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;font-weight:600}
.seg input:checked+span{background:var(--neel);border-color:var(--neel);color:#fff}
.seg input:focus-visible+span{outline:3px solid var(--marigold);outline-offset:2px}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px;margin-bottom:16px}
.calc-form label{display:block;font-weight:600;font-size:.92rem}
.calc-form input[type=number],.calc-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-s);font:500 1.05rem var(--text);background:#fff;color:var(--ink)}
.calc-form .wide{margin-bottom:16px}
.checks{display:flex;flex-direction:column;gap:10px}
.check{display:flex!important;align-items:center;gap:10px;font-weight:500!important;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--neel)}
.calc-form [hidden]{display:none!important}
.calc-result{position:sticky;top:96px;background:var(--neel);color:#D3D8F4;border-radius:var(--r-l);padding:30px;box-shadow:var(--shadow)}
.calc-kicker{margin:0;color:#B9C0EA;font-weight:600}
.calc-big{font:800 clamp(2.4rem,5vw,3.4rem)/1.05 var(--display);color:#fff;margin:.15em 0 .5em;letter-spacing:-.02em}
.lang-bn .calc-big{font-family:var(--display-bn)}
.calc-dl{margin:0 0 22px}
.calc-dl div{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.calc-dl dt{color:#B9C0EA}
.calc-dl dd{margin:0;text-align:right;color:#fff;font-weight:600}
.calc-dl dd .pk{display:block;font-weight:500}
.calc-total dd{font:800 1.6rem/1.1 var(--display);color:var(--marigold)}
.calc-result .small{color:#AEB5E3;margin:16px 0 0}
.calc-result .sample-flag{margin-top:12px}
@media (max-width:900px){.calc{grid-template-columns:1fr}.calc-result{position:static}}
@media (max-width:520px){.calc-grid{grid-template-columns:1fr 1fr}.calc-form{padding:20px}}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.post-card:hover{border-color:#C7CDE2;box-shadow:var(--shadow)}
.post-card-link{display:flex;flex-direction:column;height:100%;padding:0 0 22px;text-decoration:none;color:var(--ink)}
.post-swatch{display:grid;grid-template-columns:2fr 1fr 1fr;height:92px;margin-bottom:18px}
.post-swatch i:nth-child(1){background:var(--sw)}
.post-swatch i:nth-child(2){background:color-mix(in srgb,var(--sw) 55%,#fff)}
.post-swatch i:nth-child(3){background:color-mix(in srgb,var(--sw) 22%,#fff)}
.post-meta{display:block;padding:0 24px;font-size:.84rem;color:var(--slate);margin-bottom:8px}
.post-card h3{padding:0 24px;font-size:1.3rem;margin-bottom:.4em}
.post-card p{padding:0 24px;color:var(--slate);font-size:.97rem;margin-bottom:14px}
.post-card .more{margin:auto 24px 0;font-weight:600;color:var(--neel);text-decoration:underline;text-decoration-color:var(--marigold);text-decoration-thickness:3px;text-underline-offset:5px}
.tag-en{background:var(--mist);border-radius:999px;padding:1px 8px;color:var(--neel);font-weight:600}
.post-feature{margin-bottom:22px}
.post-feature .post-card-link{display:grid;grid-template-columns:1fr 1.1fr;padding:0;align-items:center}
.post-feature .post-swatch{height:100%;min-height:260px;margin:0}
.post-feature .post-card-link > :not(.post-swatch){grid-column:2}
.post-feature .post-swatch{grid-row:1 / span 5}
.post-feature .post-meta{padding-top:30px}
.post-feature h3{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.post-feature .more{margin-bottom:30px}
@media (max-width:900px){.post-grid{grid-template-columns:1fr}.post-feature .post-card-link{display:flex;align-items:stretch;padding-bottom:22px}.post-feature .post-swatch{min-height:110px;height:110px;margin-bottom:18px}.post-feature .post-meta{padding-top:0}}
.post-head{position:relative;padding:44px 0 56px;background:linear-gradient(180deg,color-mix(in srgb,var(--sw) 14%,#fff),#fff)}
.post-head h1{font-size:clamp(2.1rem,4.6vw,3.3rem)}
.post-head .post-meta{padding:0;margin-bottom:14px}
.post-band{position:absolute;left:0;right:0;bottom:0;height:8px;display:grid;grid-template-columns:3fr 2fr 1fr 1fr}
.post-band i:nth-child(1){background:var(--sw)}
.post-band i:nth-child(2){background:color-mix(in srgb,var(--sw) 60%,#fff)}
.post-band i:nth-child(3){background:color-mix(in srgb,var(--sw) 32%,#fff)}
.post-band i:nth-child(4){background:color-mix(in srgb,var(--sw) 14%,#fff)}
.prose{padding-top:40px;padding-bottom:20px;font-size:1.1rem;line-height:1.75}
.prose h2{font-size:1.7rem;margin:1.6em 0 .5em}
.prose h3{margin:1.4em 0 .4em}
.prose p,.prose li{max-width:66ch}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.prose li::marker{color:var(--marigold-deep)}
.prose strong{color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0 1.6em;font-size:1rem;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;display:block;overflow-x:auto}
.prose th{background:var(--mist);color:var(--neel);text-align:left;padding:11px 16px;font-weight:700}
.prose td{padding:11px 16px;border-top:1px solid var(--line)}
.prose a{font-weight:600}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--marigold);color:var(--slate)}
.post-cta{display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--marigold-soft);border-radius:var(--r-l);padding:26px 30px}
.post-cta p{margin:0;color:var(--slate)}
.post-cta .h3{margin-bottom:.2em}
.right-cta{display:flex;justify-content:flex-end;align-items:center;height:100%}
@media (max-width:900px){.right-cta{justify-content:flex-start}}

/* ---------- footer ---------- */
.site-foot{background:var(--neel-deep);color:#B8BFE6;padding:56px 0 120px;font-size:.95rem}
.site-foot a{color:#fff;text-decoration-color:rgba(255,255,255,.35)}
.site-foot a:hover{text-decoration-color:var(--marigold)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.brand-foot b{color:#fff}.brand-foot .brand-sub{color:#9AA3D6}
.brand-foot{margin-bottom:16px}
.site-foot address{font-style:normal;margin-bottom:12px}
.site-foot h2{font:700 1.02rem var(--text);color:#fff;margin:0 0 12px;letter-spacing:0}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:7px}
.foot-base{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;font-size:.84rem;color:#8F98CC;max-width:none;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-lang a{font-weight:600}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr}}
@media (min-width:901px){.site-foot{padding-bottom:56px}}

/* ---------- mobile action bar ---------- */
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;grid-template-columns:1fr 1.5fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -10px 28px -20px rgba(18,26,82,.55)}
.action-bar .btn{padding:13px 10px}
@media (max-width:900px){.action-bar{display:grid}}

/* ---------- 404 ---------- */
.notfound{padding:100px 0 120px}
.nf-chips{display:flex;gap:10px;margin-bottom:28px}
.nf-chips i{width:42px;height:120px;border-radius:10px;background:var(--marigold);transform:rotate(-14deg)}
.nf-chips i:nth-child(2){background:var(--neel);transform:rotate(0)}
.nf-chips i:nth-child(3){background:var(--leafchip);transform:rotate(14deg)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .chip{transform:rotate(var(--r))}
}
@media print{.site-head,.action-bar,.site-foot,.hero-art{display:none}}
