/* v6.2 · project pages, About page, lightbox, tile links. Loads after v6.css. */
.sub main{padding-top:calc(var(--tick) + 72px)}
.sub section{padding:clamp(80px,10vw,150px) 0}
.nav a[aria-current=page]{color:var(--bone)}.nav a[aria-current=page]::after{right:0}

/* tiles as links */
.tlink{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%}
.tlink:focus-visible{outline:2px solid var(--lilac);outline-offset:6px}
.ph .view{position:absolute;z-index:2;right:14px;bottom:14px;padding:7px 11px;background:rgba(14,11,17,.55);backdrop-filter:blur(6px);color:var(--bone);font-size:9.5px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.t:hover .view,.tlink:focus-visible .view{opacity:1;transform:none}
@media (hover:none){.ph .view{opacity:1;transform:none}}
.t-cta .ph img{filter:saturate(.7) brightness(.55)}
.t-cta .ph::after{background:radial-gradient(60% 80% at 20% 110%,rgba(138,92,255,.45),transparent 70%),linear-gradient(90deg,rgba(14,11,17,.7),rgba(14,11,17,.2));mix-blend-mode:normal}
.cta-in{position:absolute;z-index:3;inset:auto clamp(22px,3vw,44px) clamp(22px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.cta-in .mono{color:var(--violet)}
.cta-in .display{font-size:clamp(34px,4.6vw,84px);color:var(--bone)}
.t-cta:hover .btn.light{background:var(--bone);border-color:var(--bone)}

/* project head */
.pj-h{padding-top:clamp(40px,6vw,96px);padding-bottom:clamp(36px,4.4vw,64px)}
.pj-back{color:var(--mute);text-decoration:none}.pj-back:hover{color:var(--lilac)}
.pj-t{font-size:clamp(44px,8.4vw,164px);margin-top:clamp(18px,2.2vw,30px);max-width:14ch;overflow-wrap:break-word}
.pj-m{margin-top:clamp(18px,2vw,28px);color:var(--lilac-2)}

/* editorial gallery: justified rows, nothing cropped */
.gal{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,20px)}
.grow{display:flex;gap:clamp(10px,1.2vw,20px);align-items:flex-start}
.gi{margin:0;flex:var(--ar) 1 0;min-width:0;position:relative;background:var(--ink-2)}
.gi img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;filter:saturate(.92)}
.grow.lead{margin-bottom:clamp(20px,3vw,48px)}
.grow.lead .gi img{max-height:calc(100svh - 120px);object-fit:cover}
.gi.deck,.gi.drawing{background:#fff}
.gi.deck img,.gi.drawing img{filter:none}
.gopen{all:unset;display:block;cursor:zoom-in;width:100%}
.gopen:focus-visible{outline:2px solid var(--lilac);outline-offset:3px}
.gopen img{transition:filter .6s var(--ease)}
.gopen:hover img{filter:saturate(1) brightness(1.04)}
/* rendering-to-built compare */
.gi.cmp{flex:1 1 100%;aspect-ratio:1.6;overflow:hidden;background:#000}
.cmp-b,.cmp-r{position:absolute;inset:0}
.cmp-r{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.cmp img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transform:scale(var(--s,1));transform-origin:var(--o,50% 50%)}
.cmp-line{position:absolute;top:0;bottom:0;left:var(--x,50%);width:1px;background:rgba(242,237,228,.85);box-shadow:0 0 18px rgba(138,92,255,.7);pointer-events:none;z-index:2}
.cmp-l{position:absolute;z-index:2;top:14px;font-size:9.5px;padding:5px 9px;background:rgba(14,11,17,.45);backdrop-filter:blur(4px);color:var(--bone)}
.cmp-l.l1{left:14px}.cmp-l.l2{right:14px}
.cmp input{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;touch-action:pan-y}
.cmp input::-webkit-slider-thumb{-webkit-appearance:none;width:60px;height:2000px}
.cmp input:focus-visible ~ .cmp-line{box-shadow:0 0 0 2px var(--lilac)}
.cmp figcaption{position:absolute;z-index:2;left:14px;bottom:12px;color:var(--bone-2);font-size:9.5px;text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* prev / next + CTA */
.pj-nav{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,26px);margin-top:clamp(80px,10vw,150px)}
.pj-nav a{display:flex;flex-direction:column;gap:12px;text-decoration:none;padding:clamp(22px,2.6vw,40px) 0;border-top:1px solid var(--line)}
.pj-nav .nx{text-align:right;align-items:flex-end}
.pj-nav .mono{color:var(--mute)}
.pj-nav b{font-family:var(--serif);font-weight:800;font-stretch:125%;letter-spacing:-.04em;line-height:.98;font-size:clamp(22px,3.2vw,56px);transition:color .35s}
.pj-nav a:hover b{color:var(--lilac)}
.pj-cta{border-top:1px solid var(--line)}
.pj-cta .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.pj-cta h2{font-size:clamp(36px,5.4vw,100px)}

/* lightbox */
.lbx{position:fixed;inset:0;z-index:100;background:rgba(10,8,12,.96);display:grid;grid-template-columns:72px 1fr 72px;align-items:center;touch-action:pan-y}
.lbx[hidden]{display:none}
.lbx-f{margin:0;grid-column:2;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;height:100%;justify-content:center;padding:56px 0 24px}
.lbx-f img{max-width:100%;max-height:calc(100svh - 120px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:opacity .25s}
.lbx-f figcaption{display:flex;justify-content:space-between;gap:24px;width:100%;max-width:1200px;color:var(--bone-2);font-size:10px}
.lbx-n{color:var(--mute);white-space:nowrap}
.lbx-x{position:absolute;top:16px;right:18px;background:none;border:1px solid var(--line);color:var(--bone);padding:9px 13px;cursor:pointer}
.lbx-p,.lbx-nx{all:unset;cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}
.lbx-p span,.lbx-nx span{width:46px;height:46px;border:1px solid rgba(242,237,228,.6);border-radius:50%;position:relative}
.lbx-p span::after,.lbx-nx span::after{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border:solid var(--bone);border-width:0 0 1px 1px}
.lbx-p span::after{transform:translate(-30%,-50%) rotate(45deg)}.lbx-nx span::after{transform:translate(-70%,-50%) rotate(-135deg)}
.lbx-p:hover span,.lbx-nx:hover span,.lbx-p:focus-visible span,.lbx-nx:focus-visible span,.lbx-x:focus-visible{border-color:var(--lilac);box-shadow:0 0 24px rgba(138,92,255,.5)}
body.lock{overflow:hidden}

/* About page */
.abp{min-height:100svh}
.abp-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,5vw,96px);align-items:center;max-width:1600px;margin:0 auto;padding:clamp(28px,4vw,64px) var(--m) clamp(80px,9vw,140px)}
.abp-ph{margin:0;position:relative;background:var(--ink-2)}
.abp-ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.abp-ph::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--line)}
.abp-k{color:var(--lilac-2)}.abp-k .bn{font-size:14px;color:var(--lilac)}.abp-k .sep{color:var(--violet)}
.abp-t{font-size:clamp(48px,7vw,132px);margin-top:clamp(18px,2vw,28px)}
.abp-bio{margin-top:clamp(24px,3vw,44px);max-width:52ch;display:flex;flex-direction:column;gap:14px}
.abp-bio p{font-size:clamp(16px,1.2vw,19px);line-height:1.6;color:var(--bone-2)}
.abp-bio p.idl-x{font-family:var(--serif);font-weight:600;font-stretch:112%;font-size:clamp(19px,1.7vw,27px);line-height:1.3;letter-spacing:-.015em;color:var(--bone)}
.abp-meta{margin-top:clamp(22px,2.6vw,36px);color:var(--mute);line-height:1.9}.abp-meta .sep{color:var(--violet)}
.abp-cta{display:flex;align-items:center;gap:28px;margin-top:clamp(26px,3vw,44px)}
.abp-pf{color:var(--bone-2);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.abp-pf:hover{color:var(--lilac);border-color:var(--lilac)}

/* homepage About teaser */
.ab-tz{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);align-items:end}
.ab-tz img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ab-go{margin-top:28px}

@media (max-width:820px){
  .sub main{padding-top:calc(var(--tick) + 60px)}
  .grow{flex-direction:column}
  .gi{flex:none;width:100%}
  .grow.lead .gi img{max-height:none}
  .gi.cmp{aspect-ratio:4/5}
  .pj-nav{grid-template-columns:1fr 1fr}
  .lbx{grid-template-columns:0 1fr 0}
  .lbx-p,.lbx-nx{position:absolute;bottom:18px;height:auto;z-index:2}
  .lbx-p{left:calc(50% - 60px)}.lbx-nx{right:calc(50% - 60px)}
  .lbx-f{padding:60px 10px 92px}
  .lbx-f img{max-height:calc(100svh - 190px)}
  .lbx-f figcaption{flex-direction:column;gap:6px}
  .abp-g{grid-template-columns:1fr;padding-top:8px}
  .ab-tz{grid-template-columns:1fr}
  .ab-tz img{max-width:280px}
  .cta-in .display{font-size:clamp(34px,10vw,56px)}
}
@media (prefers-reduced-motion:reduce){.gopen img,.lbx-f img,.ph .view{transition:none}}

/* v6.2 hero lockup: নকশা + "Your space, your story." Variants lk-a / lk-b / lk-c on .hero */
.hero .divider{z-index:5}          /* the wipe line, handle and labels always sit above the lockup */
.nk-lock{position:relative}
.nk{margin:0;display:flex;align-items:flex-end;gap:22px;pointer-events:none;line-height:1}
.nk-w{font-family:"Noto Serif Bengali",serif;font-weight:800;line-height:1;letter-spacing:0;display:block}
.nk-c{color:var(--bone-2);font-size:10px;padding-bottom:.9em;white-space:nowrap}
.nk-c .bn{font-size:13px;font-weight:600;color:var(--lilac)}
.hero h1{position:relative}
/* A · overlap: big solid lilac word, the headline's first line overlaps its foot */
.lk-a .nk-w{font-size:clamp(84px,14.5vw,280px);color:var(--lilac);opacity:.92;text-shadow:0 0 60px rgba(138,92,255,.35)}
.lk-a .nk{margin-bottom:calc(clamp(84px,14.5vw,280px) * -.42)}
.lk-a .nk-c{position:relative;top:calc(clamp(84px,14.5vw,280px) * -.42)}
.lk-a h1{text-shadow:0 2px 30px rgba(14,11,17,.55)}
/* B · stacked: solid lilac word sits directly above the headline, same left edge */
.lk-b .nk-w{font-size:clamp(70px,10.5vw,200px);color:var(--lilac)}
.lk-b .nk{margin-bottom:clamp(6px,1vw,16px)}
/* C · ghost: oversized outlined word behind the headline */
.lk-c .nk-w{font-size:clamp(110px,21vw,400px);color:transparent;-webkit-text-stroke:clamp(1px,.14vw,2.5px) rgba(201,184,240,.85)}
.lk-c .nk{margin-bottom:calc(clamp(110px,21vw,400px) * -.62)}
.lk-c .nk-c{position:relative;top:calc(clamp(110px,21vw,400px) * -.62)}
@media (max-width:820px){
  .nk{gap:12px;flex-wrap:wrap}
  .lk-a .nk-w{font-size:clamp(70px,23vw,140px)}
  .lk-a .nk{margin-bottom:calc(clamp(70px,23vw,140px) * -.38)}
  .lk-a .nk-c,.lk-c .nk-c{display:none}
  .lk-b .nk-w{font-size:clamp(60px,19vw,120px)}
  .lk-c .nk-w{font-size:clamp(90px,30vw,180px)}
  .lk-c .nk{margin-bottom:calc(clamp(90px,30vw,180px) * -.6)}
}

/* v6.2b · 6-project grid: category group + full-width CTA */
.w12{grid-column:1/-1}.w6{grid-column:span 6}
.pf-grp{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-bottom:calc(-1 * clamp(48px,6vw,96px) + clamp(16px,1.6vw,24px))}
.pf-grp .mono{color:var(--lilac);white-space:nowrap;font-size:clamp(11px,.85vw,13px)}
.pf-grp::after{content:"";flex:1;height:1px;background:var(--line)}
.t-cta.w12 .ph{height:clamp(240px,24vw,420px)}
@media (max-width:820px){
  .w12,.w6{grid-column:auto}
  .pf-grp{margin-bottom:-28px}
  .t-cta.w12 .ph{height:auto;aspect-ratio:4/3}
}

/* v6.2f name / title lockup (About page + home teaser) */
.idl{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-family:var(--serif);font-weight:600;font-stretch:112%;letter-spacing:-.015em;line-height:1.2;font-size:clamp(19px,1.7vw,27px)}
.idl-n{color:var(--bone)}
.idl-d{width:1px;align-self:stretch;min-height:1em;background:var(--violet)}
.idl-t{color:var(--lilac-2)}
.abp-bio .idl+p{margin-top:6px}
@media (max-width:640px){.idl{flex-direction:column;align-items:flex-start;gap:4px}.idl-d{display:none}}
