/* 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:11.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-d{margin-top:clamp(22px,2.4vw,34px);max-width:62ch;font-family:var(--sans);font-size:clamp(17px,1.3vw,20px);line-height:1.6;font-weight:400;color:var(--bone-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-2);white-space:nowrap;font-size:clamp(13px,1vw,15px)}
.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}}

/* v6.4 · project write-ups, contact page + inquiry form */
.pj-txt{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:start;margin-top:clamp(22px,2.4vw,34px)}
.pj-txt .pj-d{margin-top:0}
.pj-body{max-width:60ch;display:flex;flex-direction:column;gap:1.1em;font-family:var(--sans);font-size:clamp(17px,1.15vw,19px);line-height:1.65;color:var(--bone-2)}
.pj-body p:first-child{padding-top:.15em}
@media (max-width:900px){.pj-txt{grid-template-columns:1fr;gap:1.1em}}
.cta2{display:flex;gap:12px;flex-wrap:wrap}
.btn:not(.light){color:var(--lilac-2);background:transparent}
.btn:not(.light):hover{background:rgba(201,184,240,.1);color:var(--bone)}
.ctp-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,120px);padding-top:clamp(40px,6vw,96px);padding-bottom:clamp(80px,10vw,150px);align-items:start}
.ctp-g.one{grid-template-columns:1fr;min-height:60vh}
.ctp-k{color:var(--mute)}
.ctp-t{font-size:clamp(44px,6.6vw,124px);margin-top:clamp(18px,2.2vw,30px);max-width:9ch}
.ctp-d{margin-top:clamp(22px,2.4vw,34px);max-width:40ch;font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:var(--bone-2)}
.ctp-call{margin-top:clamp(28px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ctp-note{max-width:38ch;font-size:15px;line-height:1.55;color:var(--mute)}
.ctp-mail{margin-top:clamp(28px,3vw,44px);color:var(--mute)}.ctp-mail span{color:var(--lilac-2);text-transform:none;letter-spacing:.04em;margin-left:.6em}
.ctp-r{position:sticky;top:calc(var(--tick) + 88px)}
.iqf,.iqf-ok{background:linear-gradient(180deg,var(--aub),var(--ink-2));border:1px solid var(--line);padding:clamp(22px,3vw,44px)}
.iqf-k{color:var(--lilac-2);margin-bottom:22px}
.iqf-g{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld.wide,.fld:has(textarea){grid-column:1/-1}
.fld label{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--lilac-2);display:flex;justify-content:space-between;gap:10px}
.fld .opt,.fld .req{color:var(--mute);letter-spacing:.08em;font-size:11px}
.fld .req{color:var(--lilac)}
.fld input,.fld select,.fld textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--bone);background:var(--ink);border:1px solid rgba(201,184,240,.28);border-radius:0;padding:13px 14px;appearance:none;-webkit-appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--lilac) 50%),linear-gradient(135deg,var(--lilac) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.fld select option{background:var(--ink-2);color:var(--bone)}
.fld textarea{resize:vertical;min-height:110px}
.fld input::placeholder{color:#8f859c}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--lilac);outline-offset:1px;border-color:var(--lilac)}
.fld input:user-invalid{border-color:var(--lilac-3);outline:1px dashed var(--lilac-3)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.iqf-call{margin-top:18px;padding:12px 14px;border-left:2px solid var(--lilac);background:rgba(201,184,240,.07);font-size:15px;line-height:1.5;color:var(--bone-2)}
.iqf-f{margin-top:24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.iqf-f .btn{cursor:pointer}.iqf-f .btn[disabled]{opacity:.6;cursor:wait}
.iqf-s{font-size:15px;color:var(--lilac-2)}
.iqf-ok{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.iqf-ok[hidden]{display:none}
.iqf-ok .mono{color:var(--lilac-2)}
.iqf-ok .display{font-size:clamp(40px,5vw,88px)}
.iqf-ok p:not(.mono){font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:var(--bone-2);max-width:40ch}
.iqf-ok:focus{outline:none}
@media (max-width:900px){.ctp-g{grid-template-columns:1fr}.ctp-r{position:static}.ctp-t{max-width:none}}
@media (max-width:560px){.iqf-g{grid-template-columns:1fr}}

/* v6.6 · centered project write-up + one gallery system for every project
   Rule: 3 equal columns (2 under 1000px, 1 under 600px), same gutter everywhere,
   one tile shape per project (4:5 portrait sets, 3:2 landscape sets) cropped with object-fit:cover,
   an incomplete last row centers at the same tile size (never stretched). */
.pj-h{text-align:center}
.pj-t{margin-left:auto;margin-right:auto;max-width:16ch}
.pj-txt{display:flex;flex-direction:column;gap:1.1em;max-width:700px;margin:clamp(26px,3vw,44px) auto 0;text-align:left}
.pj-txt .pj-d{max-width:none;margin-top:0;color:var(--bone)}
.pj-body{max-width:none}
.pj-body p:first-child{padding-top:0}
.pgal{--g:clamp(10px,1.2vw,20px);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--g)}
.pgal .gi{flex:0 0 calc((100% - 2*var(--g))/3);width:calc((100% - 2*var(--g))/3);overflow:hidden}
.pgal .gi img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 50%}
.pgal-portrait .gi img{aspect-ratio:4/5}
.pgal .gi.deck img,.pgal .gi.drawing img{object-fit:contain;background:#fff}
@media (max-width:1000px){.pgal .gi{flex-basis:calc((100% - var(--g))/2);width:calc((100% - var(--g))/2)}}
@media (max-width:600px){.pgal .gi{flex-basis:100%;width:100%}}
/* v6.7 location label + testimonial slots */
.pj-loc{text-align:center;margin-top:14px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.tl .tl-loc{grid-column:2;color:var(--mute);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.pj-quote{margin:8px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.14);text-align:center}
.pj-quote blockquote p{font-family:var(--serif);font-size:clamp(18px,1.6vw,24px);line-height:1.4;color:var(--bone)}
.pj-quote figcaption{margin-top:12px;color:var(--mute);font-size:12px}
.tst{padding:clamp(48px,6vw,96px) 0}
.tst-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,3vw,48px)}
.tst-q{flex:1 1 280px;max-width:420px;text-align:center}
.tst-q blockquote p{font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.4}
.tst-q figcaption{margin-top:12px;color:var(--mute);font-size:12px}
.svc-a .btn.dk{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.svc-a .btn.dk:hover{background:var(--plum);border-color:var(--plum);color:var(--bone)}

/* v6.8 · project write-up spans the full gallery width; text runs in the gallery's own columns
   (3 / 2 under 1000px / 1 under 600px) with the same gutter, so text edges line up with the photo edges.
   Back link, title and location stay centered on every project page. */
.pj-txt{--g:clamp(10px,1.2vw,20px);display:block;max-width:none;width:100%;margin:clamp(26px,3vw,44px) 0 0;column-count:3;column-gap:var(--g);column-fill:balance;text-align:left}
.pj-txt .pj-body{display:contents}
.pj-txt p{break-inside:avoid-column}
.pj-txt .pj-d,.pj-txt .pj-body p{margin:0 0 1.1em}
.pj-txt .pj-body p{padding-top:0}
.pj-txt .pj-quote{column-span:all;break-inside:avoid}
@media (max-width:1000px){.pj-txt{column-count:2}}
@media (max-width:600px){.pj-txt{column-count:1}}

/* v7.0 · smaller title block and smaller write-up type */
.pj-h{padding-top:clamp(20px,2.6vw,44px);padding-bottom:clamp(18px,2vw,30px)}
.pj-t{font-size:clamp(38px,5.6vw,104px);margin-top:clamp(10px,1.1vw,16px)}
.pj-loc{margin-top:10px}
/* v7.2 · description back under the project name (before the gallery), in 2 columns spanning the full photo-grid width */
.pj-txt{column-count:2;margin-top:clamp(18px,2vw,30px)}
.pj-note{text-align:left;margin:.2em 0 0;color:var(--mute);font-family:var(--sans);font-size:clamp(12.5px,.9vw,13.5px);line-height:1.5}
@media (max-width:1000px){.pj-txt{column-count:2}}
@media (max-width:600px){.pj-txt{column-count:1}}
.pj-txt .pj-d,.pj-txt .pj-body p{font-family:var(--sans);font-size:clamp(14px,1.05vw,15.5px);line-height:1.55;margin:0 0 1em}
.pj-txt .pj-d{font-weight:500;color:var(--bone)}
.pj-txt .pj-body p{font-weight:400;color:var(--bone-2)}
/* v7.3 · lead matches the write-up exactly; a little air above the credit note */
.pj-txt .pj-d{font-family:var(--sans);font-weight:400;color:var(--bone-2);font-size:clamp(14px,1.05vw,15.5px);line-height:1.55;letter-spacing:normal;text-transform:none}
.pj-note{margin-top:clamp(10px,1vw,16px)}
/* v7.7 · photo credit under the gallery, same small grey note as the firm credits */
.pj-pc .pj-note{margin-top:clamp(12px,1.2vw,18px)}
.pj-pc .pj-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.pj-pc .pj-note a:hover{color:var(--bone)}
