/* ==========================================================
   Press section: 3D newspaper + hanging ID card
   ========================================================== */
.press{position:relative;background:#e7e4dc;color:#141414;overflow:clip}
.press-pin{position:relative;padding:72px 20px 96px}
.press-scene{position:relative;display:flex;flex-direction:column;align-items:center;gap:56px}
.press-label{position:absolute;left:24px;top:24px;font:600 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#6b675e}

/* ---------- desk + paper ---------- */
.paper-stage{position:relative;width:100%;max-width:880px;perspective:1600px;perspective-origin:50% 20%}
.paper{
  --p:0;
  position:relative;transform-style:preserve-3d;transform-origin:50% 100%;
  transform:
    translateY(calc((1 - min(var(--p) * 4, 1)) * 60px))
    rotateX(calc(42deg - min(var(--p) * 4, 1) * 38deg))
    rotateZ(calc(-7deg + min(var(--p) * 4, 1) * 5.5deg))
    scale(calc(.9 + min(var(--p) * 4, 1) * .1));
  background:#f6f3ea;
  background-image:
    radial-gradient(120% 80% at 10% 0%,rgba(255,255,255,.7),transparent 60%),
    linear-gradient(90deg,transparent calc(50% - 1px),rgba(0,0,0,.05) 50%,transparent calc(50% + 1px));
  padding:28px 30px 34px;border-radius:2px;
  box-shadow:0 1px 0 rgba(0,0,0,.06),0 30px 60px -20px rgba(40,30,10,.35),0 60px 80px -40px rgba(40,30,10,.3);
  will-change:transform;
}
/* a second sheet under the first for depth */
.paper::before{content:'';position:absolute;inset:6px -6px -8px 8px;background:#ece8dc;z-index:-1;transform:translateZ(-14px) rotate(1.2deg);box-shadow:0 20px 40px -18px rgba(0,0,0,.3)}
.paper::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 18%,transparent 82%,rgba(0,0,0,.06));
  opacity:calc(1 - min(var(--p) * 4, 1) * .8)}

.np-mast{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:3px double #141414;padding-bottom:10px}
.np-mast small{font:600 10px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#4a463e}
.np-title{font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:clamp(30px,5.6vw,58px);line-height:.9;letter-spacing:-.01em;text-align:center;flex:1}
.np-strip{display:flex;justify-content:space-between;font:600 10px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid #141414;color:#3b382f}
.np-head{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(24px,3.6vw,40px);line-height:1.02;margin:18px 0 6px;letter-spacing:-.01em}
.np-deck{font:italic 500 clamp(14px,1.5vw,17px)/1.4 'Playfair Display',Georgia,serif;color:#3b382f;margin-bottom:16px}
.np-cols{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:720px){.np-cols{grid-template-columns:1fr 1fr;gap:30px}.np-cols>article+article{border-left:1px solid rgba(0,0,0,.18);padding-left:30px}}
.np-kicker{font:700 10px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#7a7468}
.np-story h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(19px,2.1vw,24px);line-height:1.12;margin:8px 0 8px}
.np-story p{font:400 14px/1.6 Georgia,'Times New Roman',serif;color:#2a2822}

/* marker highlight, swept in by --h (0..1) */
.hl{--h:0;--hc:rgba(240,60,80,.55);
  background-image:linear-gradient(100deg,transparent .3em,var(--hc) .3em,var(--hc) calc(100% - .2em),transparent calc(100% - .2em));
  background-color:transparent;background-repeat:no-repeat;background-position:0 92%;background-size:calc(var(--h) * 100%) 72%;
  padding:0 .12em;margin:0 -.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:700;color:inherit}
.hl.blue{--hc:rgba(60,95,255,.42)}

/* hand-drawn stat boxes */
.np-box{position:relative;margin-top:16px;padding:14px 16px 12px;min-height:92px}
.np-box svg{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);overflow:visible;pointer-events:none}
.np-box svg path{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--d,0));vector-effect:non-scaling-stroke}
.np-box.red svg path{stroke:#d7263d}.np-box.blue svg path{stroke:#2340ff}
.np-big{font-family:'Antonio','Plus Jakarta Sans',sans-serif;font-size:clamp(30px,3.6vw,42px);line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.np-box.red .np-big{color:#d7263d}.np-box.blue .np-big{color:#2340ff}
.np-small{font:600 10px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#4a463e;margin-top:6px}

/* handwritten notes */
.np-note{font-family:'Caveat',cursive;font-size:clamp(20px,2.2vw,26px);line-height:1;color:#2340ff;
  clip-path:inset(0 calc((1 - var(--w,0)) * 100%) 0 0);display:inline-block;transform:rotate(-3deg);margin-top:10px}
.np-note.red{color:#d7263d}

/* the blue pen line that winds over the page */
.np-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0;mix-blend-mode:multiply}
.paper>*:not(.np-line){position:relative;z-index:1}
.np-line path{fill:none;stroke:#2340ff;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--l,0));vector-effect:non-scaling-stroke;opacity:.85}

.np-foot{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;margin-top:22px;padding-top:8px;border-top:1px solid #141414;font:600 10px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#4a463e}

/* ---------- hanging ID card ---------- */
.idc-wrap{--drop:0;position:relative;width:260px;height:470px;flex:none}
.idc-swing{position:absolute;left:50%;top:0;width:250px;margin-left:-125px;transform-origin:50% 0;
  transform:translateY(calc((1 - var(--drop)) * -110%)) ;transition:none}
.idc-sway{transform-origin:50% 0;animation:idc-sway 4.2s ease-in-out infinite alternate}
@keyframes idc-sway{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}
.idc-string{display:block;margin:0 auto;width:2px;height:120px;background:linear-gradient(#141414,#3a3a3a)}
.idc-clip{display:block;margin:-2px auto 0;width:34px;height:16px;border-radius:4px;background:linear-gradient(#cfcfcf,#8f8f8f);box-shadow:inset 0 -2px 0 rgba(0,0,0,.2)}
.idc-tilt{perspective:900px;margin-top:-4px}
.idc{--rx:0deg;--ry:0deg;position:relative;width:250px;height:372px;border-radius:18px;background:#0e0e10;color:#fff;
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 30px 50px -18px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.idc::before{content:'';position:absolute;left:50%;top:10px;width:46px;height:8px;margin-left:-23px;border-radius:6px;background:#e7e4dc;box-shadow:inset 0 2px 3px rgba(0,0,0,.4)}
.idc-top{display:flex;justify-content:space-between;align-items:center;padding:26px 16px 10px;font:700 9px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#a7a7a7}
.idc-top b{color:#fff}
.idc-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2ee66b;margin-right:6px;box-shadow:0 0 8px #2ee66b}
.idc-photo{position:relative;margin:0 14px;height:192px;border-radius:12px;overflow:hidden;background:#d9d9d9}
.idc-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.35);transform-origin:50% 34%;filter:contrast(1.05);display:block}
.idc-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65))}
.idc-name{position:absolute;left:12px;bottom:10px;z-index:1;font:800 15px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.idc-meta{padding:12px 16px 0;display:grid;gap:6px}
.idc-row{display:flex;justify-content:space-between;font:600 9px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8c8c8c;padding-bottom:6px;border-bottom:1px dashed rgba(255,255,255,.14)}
.idc-row b{color:#fff;font-weight:700}
.idc-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.14) 45%,rgba(255,255,255,0) 60%);
  transform:translateX(calc(var(--ry) * 4));mix-blend-mode:screen}
.idc-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:12px;background:#fff;color:#141414;
  box-shadow:0 12px 26px -10px rgba(0,0,0,.35);font:700 11px/1.15 'Plus Jakarta Sans',sans-serif;white-space:nowrap;
  opacity:var(--c,0);transform:translateY(calc((1 - var(--c,0)) * 12px)) scale(calc(.9 + var(--c,0) * .1))}
.idc-chip small{display:block;font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6b675e}
.idc-chip .dot{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:12px;flex:none}
.idc-chip.c1{left:-56px;top:200px}.idc-chip.c1 .dot{background:#d7263d}
.idc-chip.c2{right:-60px;top:330px}.idc-chip.c2 .dot{background:#2340ff}

/* ---------- desktop: pinned, side by side ---------- */
@media (min-width:1024px){
  .press{height:300vh}
  .press-pin{position:sticky;top:0;height:100vh;padding:0 4vw;display:flex;align-items:center}
  .press-scene{flex-direction:row;align-items:center;justify-content:center;gap:5vw;width:100%}
  .paper-stage{max-width:min(860px,58vw)}
  .paper{padding:clamp(18px,2.4vh,28px) 32px clamp(20px,2.6vh,30px)}
  .np-head{margin-top:clamp(10px,1.6vh,18px)}
  .np-deck{margin-bottom:clamp(8px,1.4vh,16px)}
  .np-story p{font-size:clamp(12.5px,1.55vh,14px)}
  .idc-wrap{align-self:flex-start;height:100vh}
  .idc-string{height:calc(50vh - 220px)}
}
@media (min-width:1024px) and (max-height:760px){
  .np-deck,.np-story p+p{display:none}
}
@media (prefers-reduced-motion:reduce){
  .idc-sway{animation:none}
  .idc{transition:none}
}

/* ---------- phones / tablets: card first, chips kept on screen ---------- */
@media (max-width:1023px){
  .idc-wrap{order:-1}
  .idc-chip.c1{left:-34px}
  .idc-chip.c2{right:-34px}
}

.idc-row.idc-mail b{text-transform:none;letter-spacing:.02em;font-size:10px}

/* ---------- Nirmaan Solutions (third highlight) ---------- */
.hl.amber{--hc:rgba(255,184,0,.55)}
.np-box.amber svg path{stroke:#e09a00}
.np-box.amber .np-big{color:#b87400}
.np-wide{margin-top:16px;padding-top:12px;border-top:1px solid rgba(0,0,0,.18)}
.np-wide-row{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px}
@media (min-width:720px){.np-wide-row{grid-template-columns:1.35fr 1fr;gap:24px;align-items:center}}
.np-wide .np-story h3{margin-top:6px}
.np-wide .np-box{margin-top:0;min-height:0}
.np-wide .np-big{font-size:clamp(22px,2.4vw,30px)}
.np-link{font:700 12px/1 'Plus Jakarta Sans',sans-serif;color:#b87400;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.idc-chip.c3{right:-58px;top:470px}.idc-chip.c3 .dot{background:#e09a00}
@media (min-width:1024px) and (max-height:860px){.np-deck{display:none}.np-wide{margin-top:10px;padding-top:8px}}
@media (max-width:1023px){.idc-chip.c3{right:-30px}}

/* Nirmaan Solutions: its own tinted band with a founder stamp so it reads as a headline story */
.np-wide{position:relative;background:linear-gradient(100deg,rgba(255,184,0,.13),rgba(255,184,0,.04));border:1.5px solid rgba(224,154,0,.55);border-radius:4px;padding:12px 16px 14px!important}
.np-wide .np-kicker{color:#b87400}
.np-wide::after{content:'FOUNDER';position:absolute;right:14px;top:-13px;padding:4px 10px;transform:rotate(3deg);font:800 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.24em;color:#b87400;background:#f6f3ea;border:2px solid #e09a00;border-radius:3px}
.np-wide .np-story h3{font-size:clamp(20px,2.3vw,27px)}
