/* ============================================================
   SiliconPath Law - Resources, v2.

   Built on the Services kinetic story: loads AFTER about-v2.css (tokens,
   glass hero, .pnv, [data-rv]) and services-v2.css, and BEFORE
   cursor-layer.css. This file holds only what is this page's own: the
   four-card hub and the not-yet-live navigator tile.
   EVERY MOTION RULE IS GATED ON html.st-scroll; without it the page is
   plain, static, complete content. Every card shares one style.
   ============================================================ */

/* Leadership Insights: not a link yet (as in the source). Same tile, quieter. */
.pnv__a--off{cursor:default}
.pnv__a--off .pnv__t{color:var(--ink-2,#4A3F3A)}
@media(hover:hover) and (pointer:fine){.pnv__a--off:hover{transform:none}}

/* ---- 2. THE HUB ------------------------------------------------------- */
.rhub{background:var(--paper,#F7F4EF)}
.rhub__g{margin:0;padding:0;list-style:none;display:grid;gap:16px}
@media(min-width:760px){.rhub__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rhub__item{display:flex}
.rhub__c{position:relative;isolation:isolate;overflow:hidden;flex:1;display:flex;flex-direction:column;
  min-height:clamp(240px,24vw,300px);padding:clamp(26px,3vw,40px);border-radius:var(--r-lg,22px);
  text-decoration:none;color:var(--ink,#1F1714);background:var(--white,#fff);border:1px solid var(--line,#E4DAD0);
  box-shadow:0 30px 60px -46px rgba(62,20,17,.45);
  transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s ease,border-color .3s ease}
a.rhub__c:hover{transform:translateY(-4px);border-color:var(--line-2,#D0C1B4);
  box-shadow:0 40px 70px -40px rgba(62,20,17,.5)}
a.rhub__c:active{transform:scale(.99)}
a.rhub__c:focus-visible{outline:3px solid var(--brand,#5A1F1B);outline-offset:3px}
/* A large watermark of the card's own icon, drifting a little on hover. */
.rhub__wm{position:absolute;z-index:-1;right:-10px;bottom:-26px;font-size:clamp(7rem,12vw,9.5rem);line-height:1;
  color:var(--brand,#5A1F1B);opacity:.05;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .4s ease}
a.rhub__c:hover .rhub__wm{transform:translate(-8px,-6px) rotate(-6deg);opacity:.08}
.rhub__ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;font-size:1.25rem;
  color:var(--brand,#5A1F1B);background:var(--brand-wash,#F3E8E5);border:1px solid rgba(90,31,27,.12);
  transition:background .3s ease,color .3s ease,rotate .35s cubic-bezier(.23,1,.32,1)}
a.rhub__c:hover .rhub__ic{background:var(--brand,#5A1F1B);color:#fff;rotate:-6deg}
.rhub__t{margin-top:22px;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.rhub__p{margin-top:12px;max-width:46ch;color:var(--ink-2,#4A3F3A);font-size:1rem;line-height:1.7}
.rhub__go{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;
  font-weight:800;color:var(--brand,#5A1F1B)}
.rhub__go i{transition:transform .3s cubic-bezier(.23,1,.32,1)}
a.rhub__c:hover .rhub__go i{transform:translateX(4px)}
.rhub__c--off{cursor:default}
.rhub__c--off .rhub__go{font-family:var(--mono);font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-2,#4A3F3A)}
/* Cards rise in one by one as the grid comes up the screen (the grid's
   --progress: 0 as its top enters at the bottom, 1 as its bottom leaves). */
html.st-scroll .rhub__item{
  --t:clamp(0, calc((var(--progress,1) - .03 - var(--k,0) * .05) * 7), 1);
  opacity:calc(.12 + var(--t) * .88);
  transform:translateY(calc((1 - var(--t)) * 34px))}

@media(prefers-reduced-motion:reduce){
  .rhub__c,.rhub__wm,.rhub__ic,.rhub__go i{transition:none}
}

/* ======================================================================
   PRESS RELEASES
   ====================================================================== */
/* Hero tile: the release's own artwork as a thumbnail, its title below the
   outlet and date. */
.prn{align-items:center}
.prn__thumb{flex:none;width:88px;aspect-ratio:2/1;border-radius:10px;overflow:hidden;
  border:1px solid var(--line,#E4DAD0);background:var(--white,#fff)}
.prn__thumb img{display:block;width:100%;height:100%;object-fit:contain}
.prn__t{font-size:.9rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* The releases: a three-column grid of upright cards - the artwork whole
   on top, the story below. Each new release takes the next slot, filling
   from the left; a lone release sits in the first column. */
.prl{background:var(--paper,#F7F4EF)}
.prl__g{margin:0;padding:0;list-style:none;display:grid;gap:clamp(16px,2vw,24px);perspective:1400px;
  grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.prl__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1040px){.prl__g{grid-template-columns:repeat(3,minmax(0,1fr))}}
.prl__item{display:flex}
.prl__c{position:relative;flex:1;display:flex;flex-direction:column;border-radius:24px;background:var(--white,#fff);
  border:1px solid var(--line,#E4DAD0);box-shadow:0 34px 70px -50px rgba(62,20,17,.5);
  transform-style:preserve-3d;transition:box-shadow .4s ease,border-color .3s ease}
.prl__c:hover{border-color:var(--line-2,#D0C1B4);box-shadow:0 44px 80px -46px rgba(62,20,17,.55)}
.prl__media{position:relative;display:block;margin:12px 12px 0;border-radius:16px;overflow:hidden;
  background:#FBF7F2;border:1px solid var(--line,#E4DAD0)}
/* Natural 2:1 ratio, whole: the title is set into the artwork. */
.prl__media img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.23,1,.32,1)}
.prl__c:hover .prl__media img{transform:scale(1.04)}
.prl__badge{position:absolute;right:12px;top:12px;padding:5px 11px;border-radius:999px;font-family:var(--mono);
  font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--brand,#5A1F1B)}
.prl__body{flex:1;display:flex;flex-direction:column;padding:clamp(18px,2vw,24px) clamp(20px,2.2vw,26px) clamp(22px,2.4vw,28px)}
.prl__meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-family:var(--mono);font-size:.64rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2,#4A3F3A)}
.prl__meta .bi{color:var(--brand,#5A1F1B)}
.prl__dot{color:var(--line-2,#D0C1B4)}
.prl__t{margin:12px 0 0;font-size:clamp(1.12rem,1.4vw,1.28rem);font-weight:800;letter-spacing:-.022em;line-height:1.3}
/* The title link covers the whole card, so the card is one target. */
.prl__lnk{color:var(--ink,#1F1714);text-decoration:none}
.prl__lnk::after{content:"";position:absolute;inset:0;z-index:2;border-radius:24px}
.prl__lnk:focus-visible{outline:none}
.prl__c:has(.prl__lnk:focus-visible){outline:3px solid var(--brand,#5A1F1B);outline-offset:3px}
.prl__d{margin:10px 0 0;color:var(--ink-2,#4A3F3A);font-size:.95rem;line-height:1.65}
.prl__go{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--brand,#5A1F1B)}
.prl__go i{transition:transform .3s cubic-bezier(.23,1,.32,1)}
.prl__c:hover .prl__go i{transform:translate(3px,-3px)}
/* 3D: the card tilts toward the pointer (StringCursor --x/--y, -1..1),
   desktop fine pointer only. */
html.st-cursor .prl__c{transform:rotateY(calc(var(--x,0) * 6deg)) rotateX(calc(var(--y,0) * -6deg));
  transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .4s ease,border-color .3s ease}
html.st-scroll .prl__item{
  --t:clamp(0, calc((var(--progress,1) - .03 - var(--k,0) * .05) * 6), 1);
  opacity:calc(.12 + var(--t) * .88);
  transform:translateY(calc((1 - var(--t)) * 40px)) scale(calc(.97 + var(--t) * .03))}

/* ======================================================================
   LEADERSHIP INSIGHTS
   ====================================================================== */
.lif{background:var(--paper,#F7F4EF)}
/* Live cards (li-feed.js) reuse the hub card. */
.lif__g{margin:0;padding:0;list-style:none;display:grid;gap:16px}
@media(min-width:760px){.lif__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.lif__g{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lif__item{display:flex}
.lif__img{display:block;width:calc(100% + 2 * clamp(26px,3vw,40px));max-width:none;
  margin:calc(-1 * clamp(26px,3vw,40px)) calc(-1 * clamp(26px,3vw,40px)) 20px;aspect-ratio:16/9;object-fit:cover}
.lif__date{font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2,#4A3F3A)}
.lif__c .rhub__t{margin-top:10px;font-size:clamp(1.15rem,1.6vw,1.35rem)}
/* The honest empty state: a calm card with a slowly sweeping clock. */
.lif__empty{max-width:860px;margin-inline:auto;display:flex;gap:clamp(18px,2.4vw,28px);align-items:flex-start;
  padding:clamp(26px,3.2vw,44px);border-radius:26px;background:var(--white,#fff);border:1px solid var(--line,#E4DAD0);
  box-shadow:0 40px 80px -56px rgba(62,20,17,.45)}
.lif__empty p{margin:0;color:var(--ink-2,#4A3F3A);font-size:clamp(1.02rem,1.4vw,1.18rem);line-height:1.75}
.lif__empty strong{color:var(--ink,#1F1714)}
.lif__empty a{color:var(--brand,#5A1F1B);font-weight:700;text-decoration:none;border-bottom:1.5px solid rgba(90,31,27,.3);transition:border-color .28s ease}
.lif__empty a:hover{border-bottom-color:var(--brand,#5A1F1B)}
.lif__clock{position:relative;flex:none;display:grid;place-items:center;width:clamp(54px,6vw,68px);aspect-ratio:1;border-radius:50%;
  font-size:clamp(1.3rem,1.8vw,1.6rem);color:var(--brand,#5A1F1B);background:var(--brand-wash,#F3E8E5)}
.lif__clock::after{content:"";position:absolute;inset:-5px;border-radius:50%;
  background:conic-gradient(from 0deg,var(--brand,#5A1F1B) 0 25%,transparent 25% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  animation:lif-sweep 6s linear infinite}
@keyframes lif-sweep{to{transform:rotate(1turn)}}
@media(max-width:560px){.lif__empty{flex-direction:column}}
/* Live cards arrive after the page is measured, so they rise in on a short
   timed stagger rather than on scroll progress. */
html.mo-on .lif__item{animation:lif-in .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--k,0) * 70ms)}
@keyframes lif-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .prl__c,.prl__media img,.prl__go i,.lif__empty a{transition:none}
  html.st-cursor .prl__c{transform:none}
  .lif__clock::after{animation:none}
  html.mo-on .lif__item{animation:none}
}

/* ======================================================================
   PRESS RELEASES - the hero press scene (MediaHero aside)
   ====================================================================== */
.prh{position:relative;perspective:1200px;padding:28px 0 0}
.prh__stage{position:relative;height:clamp(330px,30vw,380px);transform-style:preserve-3d;
  transform:rotateY(calc(var(--x,0) * 7deg)) rotateX(calc(var(--y,0) * -6deg));
  transition:transform .6s cubic-bezier(.23,1,.32,1)}
/* Newspaper sheets: paper, a masthead bar, columns of print lines. */
.prh__sheet{position:absolute;left:8%;top:4%;width:74%;height:78%;padding:18px 18px 0;border-radius:16px;
  background:linear-gradient(170deg,#FFFDF9,#F3ECE3);border:1px solid var(--line,#E4DAD0);
  box-shadow:0 30px 50px -34px rgba(36,19,16,.5);display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:9px 14px}
.prh__sheet i{display:block;height:7px;border-radius:4px;background:rgba(90,31,27,.12)}
.prh__sheet i:nth-child(3n){width:70%}
.prh__sheet .prh__mast{grid-column:1/-1;height:14px;margin-bottom:6px;background:rgba(90,31,27,.28);width:60%}
.prh__sheet--1{transform:translateZ(-60px) rotate(-9deg) translate(-26px,6px);animation:prh-fan1 1.1s .3s cubic-bezier(.2,.8,.2,1) both,prh-float 7s 1.4s ease-in-out infinite}
.prh__sheet--2{transform:translateZ(-30px) rotate(7deg) translate(30px,-4px);animation:prh-fan2 1.1s .45s cubic-bezier(.2,.8,.2,1) both,prh-float 8s 1.6s ease-in-out infinite reverse}
@keyframes prh-fan1{from{opacity:0;transform:translateZ(-60px) rotate(0) translate(0,30px)}to{opacity:1;transform:translateZ(-60px) rotate(-9deg) translate(-26px,6px)}}
@keyframes prh-fan2{from{opacity:0;transform:translateZ(-30px) rotate(0) translate(0,30px)}to{opacity:1;transform:translateZ(-30px) rotate(7deg) translate(30px,-4px)}}
@keyframes prh-float{50%{translate:0 -8px}}
/* The wire: a globe sending signal rings out. */
.prh__wire{position:absolute;right:2%;top:-6px;z-index:3;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;
  color:#fff;font-size:1.4rem;background:linear-gradient(160deg,var(--brand-2,#7C2E28),var(--brand,#5A1F1B));
  box-shadow:0 16px 30px -14px rgba(62,20,17,.7);transform:translateZ(60px)}
.prh__wire b{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(124,46,40,.45);animation:prh-ring 3s ease-out infinite}
.prh__wire b:nth-of-type(2){animation-delay:1s}
.prh__wire b:nth-of-type(3){animation-delay:2s}
@keyframes prh-ring{from{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}
/* The front card: the real release. */
.prh__card{position:absolute;left:16%;right:0;bottom:0;z-index:2;display:block;border-radius:18px;overflow:hidden;
  text-decoration:none;color:var(--ink,#1F1714);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 40px 70px -34px rgba(36,19,16,.6),0 8px 20px -12px rgba(36,19,16,.25);transform:translateZ(40px);
  animation:prh-rise 1s .55s cubic-bezier(.2,.8,.2,1) both,prh-float 6s 1.6s ease-in-out infinite;transition:box-shadow .35s ease}
.prh__card:hover{box-shadow:0 50px 80px -34px rgba(36,19,16,.7),0 10px 24px -12px rgba(36,19,16,.3)}
.prh__card:focus-visible{outline:3px solid var(--brand,#5A1F1B);outline-offset:3px}
@keyframes prh-rise{from{opacity:0;transform:translateZ(40px) translateY(40px)}to{opacity:1;transform:translateZ(40px)}}
.prh__img{position:relative;display:block;background:#FBF7F2}
.prh__img img{display:block;width:100%;height:auto}
.prh__badge{position:absolute;right:10px;top:10px;padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:.58rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--brand,#5A1F1B)}
.prh__body{display:block;padding:14px 16px 16px}
.prh__meta{display:block;font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2,#4A3F3A)}
.prh__t{display:-webkit-box;margin-top:6px;font-size:.95rem;font-weight:800;letter-spacing:-.015em;line-height:1.3;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prh__go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.85rem;font-weight:800;color:var(--brand,#5A1F1B)}
.prh__go i{transition:transform .3s cubic-bezier(.23,1,.32,1)}
.prh__card:hover .prh__go i{transform:translate(3px,-3px)}
/* The ticker: the release's own outlet and title, running. */
.prh__tick{margin-top:18px;overflow:hidden;border-radius:999px;padding:9px 0;background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 26px -18px rgba(36,19,16,.45);
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.prh__run{display:flex;width:max-content;animation:prh-tick 28s linear infinite}
.prh__item{display:inline-flex;align-items:center;gap:10px;padding-right:48px;white-space:nowrap;font-size:.8rem;font-weight:700;color:var(--ink,#1F1714)}
.prh__item b{padding:3px 9px;border-radius:999px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:var(--brand,#5A1F1B)}
@keyframes prh-tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .prh__stage{transform:none;transition:none}
  .prh__sheet,.prh__card,.prh__run,.prh__wire b{animation:none}
  .prh__sheet--1{transform:translateZ(-60px) rotate(-9deg) translate(-26px,6px)}
  .prh__sheet--2{transform:translateZ(-30px) rotate(7deg) translate(30px,-4px)}
  .prh__wire b{display:none}
}
