/* HOME module styles only. Loaded on the homepage and nowhere else. */

/* ---------- hero ---------- */
.hm-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.hm-hero__spine{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--spine);z-index:2}
.hm-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);
  align-items:center;padding-block:clamp(44px,6.4vw,84px)}
.hm-hero__lead{max-width:46ch}
.hm-chain{position:relative;padding-left:34px}
.hm-chain__photo{width:100%;border-radius:var(--r-lg);border:1px solid var(--border);margin-bottom:24px}
.hm-chain__rail{position:absolute;left:4px;top:8px;width:4px;height:calc(100% - 16px)}
.hm-chain__line{stroke-dasharray:400;stroke-dashoffset:400;animation:hmDraw 2.2s .25s cubic-bezier(.5,0,.2,1) forwards}
@keyframes hmDraw{to{stroke-dashoffset:0}}
.hm-chain__list{display:flex;flex-direction:column;gap:clamp(14px,1.7vw,20px)}
.hm-chain__item{position:relative;padding-left:8px;display:flex;align-items:flex-start;gap:16px}
.hm-chain__dot{position:absolute;left:-34px;top:34px;width:11px;height:11px;border-radius:50%;
  background:#fff;border:2px solid var(--green);box-shadow:0 0 0 4px rgba(46,125,34,.10)}
.hm-chain__item:first-child .hm-chain__dot{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,78,140,.10)}
.hm-chain__step{display:block;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.hm-chain__name{display:block;font-weight:600;font-size:1.06rem;letter-spacing:-.018em;margin-top:3px}
.hm-chain__note{display:block;font-size:.813rem;color:var(--grey);margin-top:3px;max-width:38ch}

.hm-facts{border-top:1px solid var(--border);background:var(--mist)}
.hm-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.hm-fact{padding:22px 24px 22px 0;border-right:1px solid var(--border)}
.hm-fact:last-child{border-right:0}
.hm-fact__k{display:block;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-lt)}
.hm-fact__v{display:block;font-weight:600;font-size:.938rem;margin-top:7px;letter-spacing:-.015em}
.hm-fact__n{display:block;font-size:.75rem;color:var(--grey);margin-top:2px}

/* ---------- intro ---------- */
.hm-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px)}
.hm-intro .pb-head{margin-bottom:0}
.hm-intro__p{color:var(--grey);margin-bottom:16px;max-width:62ch}
.hm-intro__points{margin:22px 0 26px;display:grid;gap:11px}
.hm-intro__points li{position:relative;padding-left:24px;font-size:.938rem}
.hm-intro__points li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:2px;
  border-radius:2px;background:var(--spine-h)}

/* ---------- platform layers ---------- */
.hm-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.hm-layer{background:var(--white);padding:clamp(20px,2.4vw,30px);position:relative;transition:background .25s}
.hm-layer:hover{background:#FBFDFF}
.hm-layer::after{content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:var(--spine-h);opacity:0;transition:opacity .25s}
.hm-layer:hover::after{opacity:1}
.hm-layer__num{font-size:.688rem;font-weight:600;letter-spacing:.12em;color:var(--grey-lt);display:block;margin-bottom:14px}
.hm-layer h3{margin-bottom:6px}

/* ---------- video ---------- */
.hm-video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--border);background:var(--mist);box-shadow:var(--shadow-lift);max-width:960px;margin-inline:auto}
.hm-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- products ---------- */
.hm-products{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--gap)}
.hm-product{padding:20px 0;border-bottom:1px solid var(--border)}
.hm-product__top{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:6px}
.hm-product__top h3{letter-spacing:-.018em}

/* ---------- circular ecosystem ---------- */
.hm-cycle__ring{max-width:660px;margin:0 auto}
.hm-cycle__track{stroke-dasharray:1400;stroke-dashoffset:1400;animation:hmRing 2.6s .2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes hmRing{to{stroke-dashoffset:0}}
.hm-cycle__c1{font:600 19px var(--font);fill:var(--ink);letter-spacing:-.5px}
.hm-cycle__c2{font:500 15px var(--font);fill:var(--green)}
.hm-cycle__t1{font:600 14px var(--font);fill:var(--ink)}
.hm-cycle__t2{font:400 10.5px var(--font);fill:var(--grey)}
.hm-cycle__list{display:none}

/* ---------- bangladesh corridor ---------- */
.hm-corridor{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);position:relative}
.hm-corridor::before{content:"";position:absolute;left:6px;right:6px;top:5px;height:2px;background:var(--spine-h);opacity:.55}
.hm-corridor__step{padding-top:26px;position:relative}
.hm-corridor__marker{position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;
  background:#fff;border:2px solid var(--blue)}
.hm-corridor__step:last-child .hm-corridor__marker{border-color:var(--green)}
.hm-corridor__step h3{margin-bottom:6px}

/* ---------- pitch deck strip + leadership + contact ---------- */
.hm-deck{margin-top:var(--gap);display:flex;flex-wrap:wrap;gap:20px;align-items:center;
  justify-content:space-between;padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);
  background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}
.hm-leader{padding-top:26px}
.hm-leader__mark{width:34px;height:3px;border-radius:3px;background:var(--spine-h);margin-bottom:16px}
.hm-leader__role{color:var(--blue);font-weight:500;font-size:.875rem;margin:4px 0 10px}
.hm-contact{border-top:1px solid var(--border);background:var(--white)}
.hm-contact__inner{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.hm-contact__acts{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .hm-hero__inner{grid-template-columns:1fr;gap:40px}
  .hm-intro{grid-template-columns:1fr}
  .hm-layers{grid-template-columns:repeat(2,1fr)}
  .hm-facts__grid{grid-template-columns:repeat(2,1fr)}
  .hm-fact:nth-child(2){border-right:0}
  .hm-fact:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .hm-corridor{grid-template-columns:repeat(2,1fr)}
  .hm-corridor::before{display:none}
}
@media (max-width:767px){
  .hm-hero__inner{padding-block:44px 36px}
  .hm-layers{grid-template-columns:1fr}
  .hm-products{grid-template-columns:1fr}
  .hm-facts__grid{grid-template-columns:1fr}
  .hm-fact{border-right:0;border-bottom:1px solid var(--border);padding:16px 0}
  .hm-fact:last-child{border-bottom:0}
  .hm-corridor{grid-template-columns:1fr;gap:0}
  .hm-corridor__step{padding:18px 0 18px 26px}
  .hm-corridor__marker{top:22px}
  .hm-corridor__step::after{content:"";position:absolute;left:5px;top:34px;bottom:-6px;width:2px;background:var(--border)}
  .hm-corridor__step:last-child::after{display:none}
  /* the ring becomes a readable list on small screens */
  .hm-cycle__ring{display:none}
  .hm-cycle__list{display:grid;gap:0}
  .hm-cycle__list li{position:relative;padding:15px 0 15px 26px;border-bottom:1px solid var(--border)}
  .hm-cycle__list li::before{content:"";position:absolute;left:0;top:22px;width:10px;height:10px;
    border-radius:50%;border:2px solid var(--green);background:#fff}
  .hm-cycle__list li::after{content:"";position:absolute;left:4px;top:34px;bottom:0;width:2px;background:var(--border)}
  .hm-cycle__list li:last-child::after{display:none}
  .hm-cycle__lname{display:block;font-weight:600;letter-spacing:-.015em}
  .hm-contact__acts{width:100%}
  .hm-contact__acts .pb-btn{flex:1 1 100%}
}


/* ── v1.0.1 · hero transformation composition ─────────────────────────────
   One controlled visual per stage: an approved photograph when supplied,
   otherwise a line drawing. Brand colours only. */
.hm-chain__item{align-items:flex-start}
.hm-chain__cell{
  flex:0 0 84px;width:84px;height:84px;border-radius:16px;
  border:1px solid var(--border);background:var(--white);
  display:grid;place-items:center;overflow:hidden;
  box-shadow:0 1px 2px rgba(31,38,46,.04);
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.hm-chain__cell svg{width:54px;height:54px}
.hm-chain__cell img{width:100%;height:100%;object-fit:cover}
.hm-chain__item:hover .hm-chain__cell{
  border-color:#CBD8E6;box-shadow:var(--shadow-lift);transform:translateY(-2px);
}
.hm-chain__body{display:flex;flex-direction:column;min-width:0;padding-top:2px}
.hm-chain__body .hm-chain__note{max-width:34ch}
.hm-cell--raw{background:linear-gradient(180deg,#FFFFFF 0%,#F5F9F3 100%)}
.hm-cell--process{background:linear-gradient(180deg,#FFFFFF 0%,#F2F7FB 100%)}
.hm-cell--refine{background:linear-gradient(180deg,#FFFFFF 0%,#F2F7FB 100%)}
.hm-cell--apply{background:linear-gradient(180deg,#FFFFFF 0%,#F5F9F3 100%)}

@media (max-width:767px){
  .hm-chain__cell{flex-basis:56px;width:56px;height:56px;border-radius:13px}
  .hm-chain__cell svg{width:38px;height:38px}
}

/* ── v1.0.1 · Bangladesh map slot ───────────────────────────────────────── */
.hm-bd__map{
  margin:0 0 clamp(24px,3vw,36px);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;background:var(--white);box-shadow:var(--shadow);
}
.hm-bd__map img{width:100%;height:auto;display:block}
.hm-bd__map figcaption{
  font-size:.75rem;color:var(--grey-lt);padding:12px 16px;border-top:1px solid var(--border);
}

/* ── v1.0.1 · leadership portrait slot ──────────────────────────────────── */
.hm-leader__photo{
  width:64px;height:64px;border-radius:50%;object-fit:cover;
  border:1px solid var(--border);margin-bottom:14px;display:block;
}
