/* PMI James River Newsletter V2 shared runtime core */:root{color-scheme:light dark;--ink:#2d211a;--muted:#78675c;--muted-strong:#5f5149;--section-alt:#ffffff;--card:#ffffff;--orange:#ff6d00;--footer:#221b17;--footer-text:#cfc2b7;--shadow:0 18px 50px rgba(79,52,32,.10);--radius:24px;--max:1160px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}@media (prefers-color-scheme: dark){:root{--ink:#f6eadf;--muted:#c9b9ac;--muted-strong:#dfd0c3;--section-alt:#1b1612;--card:#29211b;--line:#49382e;--topbar:rgba(23,19,16,.94);--topbar-line:rgba(255,109,0,.20);--footer:#0f0c0a;--footer-text:#cbbbae;--shadow:0 18px 50px rgba(0,0,0,.28)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;}a{color:inherit}img{max-width:100%;display:block}.shell{width:min(calc(100% - 32px),var(--max));margin-inline:auto}@media (prefers-color-scheme: dark){.prototype-bar{background:#0c0908;color:#eadfd5}}.topbar{position:sticky;top:0;z-index:20;background:var(--topbar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--topbar-line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}.brand img{width:168px;height:auto}.nav{display:flex;gap:6px;overflow:auto;scrollbar-width:none;padding-block:8px}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 11px;border-radius:999px}.nav a:hover,.nav a:focus-visible{background:var(--card);outline:none}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--rust)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);line-height:.98;letter-spacing:-.03em}h1{font-size:clamp(64px,11vw,150px);font-weight:500;margin-bottom:28px}h2{font-size:clamp(45px,7vw,82px);font-weight:500;margin-bottom:18px}h3{font-size:28px;font-weight:600;margin-bottom:10px}.stamp{position:absolute;top:5px;right:0;width:122px;height:122px;border-radius:50%;border:2px solid var(--rust);display:grid;place-items:center;text-align:center;color:var(--rust);font-family:var(--serif);font-weight:700;transform:rotate(7deg);background:var(--stamp-bg)}.stamp span{display:block;font-size:27px;line-height:1}.stamp small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.section.white{background:var(--section-alt)}.section.paper2{background:var(--section-soft)}
/* Preserve authored raster brand colors in normal/forced-color rendering. */
:where(.brand img,.about-brand-lockup img,.publication-footer-brand img){
  -webkit-filter:none!important;
  filter:none!important;
  forced-color-adjust:none!important;
}
/* Use the authored black/white + orange PMI assets directly. Do not invert or hue-shift brand artwork. */

@media (max-width:900px){.brand{justify-content:center}}@media (max-width:900px){.hero-grid,.section-head{grid-template-columns:1fr}}@media (max-width:900px){.stamp{width:92px;height:92px;right:7%;top:0}}@media (max-width:900px){.stamp span{font-size:21px}}@media (max-width:900px){.stamp small{font-size:8px}}@media (max-width:640px){
      .shell{width:min(calc(100% - 24px),var(--max))}}@media (max-width:640px){.prototype-bar{font-size:10px;padding:7px 10px}}@media (max-width:640px){.hero{padding-bottom:68px}}@media (max-width:640px){
      h1{font-size:72px}}@media (max-width:640px){.stamp{display:none}}@media (orientation:landscape) and (max-height:600px){
      .prototype-bar{display:none}}@media (orientation:landscape) and (max-height:600px){
      .stamp{display:none}}@media (orientation:landscape) and (max-height:600px){
      h1{font-size:64px}}@media (orientation:landscape) and (max-height:600px){
      .section-head{margin-bottom:30px;}}@media (orientation:landscape) and (max-height:600px){
      h2{font-size:48px}}@media (orientation:landscape) and (max-height:600px){.section-intro{font-size:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}section[id]{scroll-margin-top:var(--sticky-offset)}.topbar,.topbar-inner,.brand img,.nav{transition:min-height .22s ease,padding .22s ease,width .22s ease,transform .22s ease}.nav-shell{position:relative;min-width:0;flex:1}.nav-shell.can-scroll-left::before,.nav-shell.can-scroll-right::after{opacity:1}.nav{position:relative;z-index:1}@media (prefers-color-scheme: dark){.section-cta{box-shadow:0 12px 30px rgba(0,0,0,.18)}}.section-cta:hover,.section-cta:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rust) 52%,var(--line));box-shadow:0 16px 34px rgba(75,49,31,.10);outline:none}.cta-copy{display:grid;gap:3px}.cta-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--rust)}.cta-title{font-family:var(--serif);font-size:22px;line-height:1.08;font-weight:600}.cta-arrow{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 42px;background:var(--rust);color:#fff;font-size:24px;line-height:1}@media (max-width:900px){
      .nav-shell{width:100%}}@media (max-width:900px){
      .topbar.is-compact .topbar-inner{padding-top:2px}}@media (max-width:900px){
      .topbar.is-compact .brand img{width:118px}}@media (max-width:900px){
      .topbar.is-compact .nav{padding-top:2px;padding-bottom:5px}}@media (max-width:900px){
      .topbar.is-compact .nav a{padding-top:7px;padding-bottom:7px}}@media (max-width:640px){
      
      
      
      
      .section-cta{width:100%;padding:17px 18px;margin-top:22px;border-radius:18px}}@media (max-width:640px){
      .cta-title{font-size:20px}}@media (max-width:640px){.cta-arrow{width:38px;height:38px;flex-basis:38px}}@media (orientation:landscape) and (max-height:600px){
      .nav-shell{min-width:0;flex:1;width:auto}}.skip-link{
  position:fixed;left:14px;top:10px;z-index:1000;
  transform:translateY(-180%);
  padding:10px 14px;border-radius:10px;
  background:var(--card);color:var(--ink);
  border:2px solid var(--focus);font-weight:800;text-decoration:none;
  box-shadow:var(--shadow);
}.skip-link:focus{transform:translateY(0)}.hero-art-stage .stamp-seal{
  position:relative;width:184px;aspect-ratio:1;border:3px solid currentColor;border-radius:50%;
  display:grid;place-items:center;background:var(--stamp-bg);transform:rotate(7deg);
}.hero-art-stage .stamp-seal::before{
  content:"";position:absolute;inset:11px;border:1.5px dashed currentColor;border-radius:50%;
}.hero-art-stage .stamp-copy{position:relative;z-index:1;text-align:center;transform:translateY(-1px)}.hero-art-stage .stamp-copy span{display:block;font-family:var(--serif);font-size:52px;line-height:.9;font-weight:700;letter-spacing:-.035em}.hero-art-stage .stamp-copy small{display:block;margin-top:10px;font-family:var(--sans);font-size:11px;line-height:1;font-weight:900;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}.hero-art-stage .stamp-dots{
  width:145px;height:92px;color:var(--rust);
  background-image:radial-gradient(circle,currentColor 2px,transparent 2.4px);
  background-size:22px 19px;background-position:center 0;
}@media (max-width:900px){
  .hero-art-stage .stamp-seal{width:150px}}@media (max-width:900px){
  .hero-art-stage .stamp-copy span{font-size:42px}}@media (max-width:900px){
  .hero-art-stage .stamp-copy small{font-size:9px;margin-top:8px}}@media (max-width:900px){
  .hero-art-stage .stamp-dots{width:119px;height:76px;background-size:18px 16px}}@media (max-width:640px){
  .hero-art-stage .stamp-seal{width:126px;border-width:2.5px}}@media (max-width:640px){
  .hero-art-stage .stamp-seal::before{inset:9px;border-width:1.25px}}@media (max-width:640px){
  .hero-art-stage .stamp-copy span{font-size:35px}}@media (max-width:640px){
  .hero-art-stage .stamp-copy small{font-size:7.5px;margin-top:7px;letter-spacing:.21em}}@media (max-width:640px){
  .hero-art-stage .stamp-dots{width:100px;height:64px;background-size:15px 13px;background-image:radial-gradient(circle,currentColor 1.7px,transparent 2.1px)}}@media (orientation:landscape) and (max-height:600px){
  .hero-art-stage .stamp-seal{width:104px;border-width:2px}}@media (orientation:landscape) and (max-height:600px){
  .hero-art-stage .stamp-seal::before{inset:7px;border-width:1px}}@media (orientation:landscape) and (max-height:600px){
  .hero-art-stage .stamp-copy span{font-size:29px}}@media (orientation:landscape) and (max-height:600px){
  .hero-art-stage .stamp-copy small{font-size:6.4px;margin-top:5px;letter-spacing:.18em}}@media (orientation:landscape) and (max-height:600px){
  .hero-art-stage .stamp-dots{width:82px;height:48px;background-size:12px 10px;background-image:radial-gradient(circle,currentColor 1.4px,transparent 1.8px)}}body{background:var(--paper)}.issue-share-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.08);color:inherit;font:700 10px/1 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.issue-share-button:hover,.issue-share-button:focus-visible{background:rgba(255,255,255,.16);outline:2px solid rgba(255,255,255,.72);outline-offset:2px}.issue-share-button:disabled{opacity:.7;cursor:wait}.issue-share-button svg{width:14px;height:14px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.issue-share-button[data-share-state="copied"]{background:rgba(255,255,255,.18)}@media (max-width:640px){.issue-share-button{right:7px;min-height:28px;padding:4px 8px;font-size:9px}}@media (prefers-color-scheme:dark){.issue-share-button{background:#241811;color:#fff7ea;border-color:#fff7ea}.issue-share-button:hover,.issue-share-button:focus-visible,.issue-share-button[data-share-state="copied"]{background:#3a2a21;color:#fff7ea}}.contents-links a:hover{text-decoration:underline;text-underline-offset:3px}.contents-links a:hover,.contents-links a:focus-visible{text-decoration:underline;text-underline-offset:3px}.contents-band{
  margin-top:26px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:15px 0;
  display:flex;
  gap:18px;
  align-items:flex-start;
}.contents-links{
  display:flex;
  gap:7px 18px;
  flex-wrap:wrap;
}.contents-links a{
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  color:var(--muted-strong);
  padding:4px 0;
  min-height:26px;
  display:inline-flex;
  align-items:center;
}.contents-links a:hover,
.contents-links a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}@media (prefers-color-scheme:dark){
  .contents-band .contents-label{color:#ef8b63}}@media (max-width:900px){
  .contents-band{display:block}}@media (max-width:900px){
  .contents-band .contents-label{margin-bottom:9px}}

:root{
  --issue-section-y:100px;
  --issue-hero-art-min:430px;
  --issue-section-intro-size:18px;
  --issue-section-intro-max:650px;
  --sticky-offset:96px;
  --issue-season-word:"";
}

/* Shared publication hero contract: structural geometry is owned here, never by audience CSS. */
.publication-hero .publication-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  grid-template-areas:"primary art" "secondary art" "toolbox toolbox";
  column-gap:clamp(38px,4vw,56px);
  row-gap:0;
  align-items:start;
  min-width:0
}
.publication-hero .publication-hero-first-viewport{display:contents}
.publication-hero .publication-hero-primary{grid-area:primary;min-width:0}
.publication-hero .publication-hero-secondary{grid-area:secondary;min-width:0;margin-top:28px}
.publication-hero .publication-hero-art{grid-area:art;display:grid;place-items:center;align-self:stretch;min-height:var(--issue-hero-art-min);overflow:clip;order:0}
.publication-hero .publication-hero-art-stage{position:relative;width:min(100%,500px);max-width:100%;aspect-ratio:1.08;display:grid;place-items:center;margin-inline:auto}
.publication-hero .publication-hero-toolbox{grid-area:toolbox;width:100%;margin-top:34px}
.publication-season-stamp{position:absolute;top:0;right:0;width:180px;height:auto;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--rust,var(--orange));z-index:4;pointer-events:none}
.publication-season-stamp .stamp-seal{width:100%}
.publication-season-stamp .stamp-dots{width:80%;height:78px}
:is(#start,#top) .publication-closures.closures-card{padding:20px 22px!important;border:0!important;border-top:7px solid var(--rust,var(--orange))!important;border-radius:26px!important;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--orange) 9%,var(--card)))!important;box-shadow:0 18px 42px rgba(90,58,35,.11)!important;min-width:0}
:is(#start,#top) .publication-closures-title{display:block;font-family:var(--serif);font-size:22px;line-height:1.1;margin:0;color:var(--ink)}
:is(#start,#top) .publication-closures .closure-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 22px!important;margin-top:10px!important;min-width:0}
:is(#start,#top) .publication-closures .closure-item{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;align-items:baseline!important;padding:8px 0!important;border:0!important;border-top:1px solid var(--line)!important;min-width:0}
:is(#start,#top) .publication-closures .closure-item:nth-child(-n+2){border-top:0!important}
:is(#start,#top) .publication-closures .closure-date{font-family:var(--serif);font-size:17px;font-weight:800;color:var(--rust,var(--orange));white-space:nowrap}
:is(#start,#top) .publication-closures .closure-name{min-width:0;font-size:15px;line-height:1.35;color:var(--muted-strong);overflow-wrap:anywhere}
@media(max-width:900px){
  .hero.publication-hero{min-height:auto;align-items:initial;padding:var(--hero-mobile-top-pad,28px) 0 var(--hero-mobile-bottom-pad,54px)}
  .publication-hero .publication-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"first" "secondary" "toolbox";column-gap:0;row-gap:0}
  .publication-hero .publication-hero-first-viewport{grid-area:first;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(var(--hero-mobile-art-min,280px),1fr);gap:var(--hero-mobile-first-gap,16px);min-width:0;align-items:start}
  .publication-hero .publication-hero-primary{grid-area:auto;order:0;min-width:0}
  .publication-hero .publication-hero-art{grid-area:auto;order:1;min-height:var(--hero-mobile-art-min,280px);align-self:stretch;place-items:end center;overflow:visible}
  .publication-hero .publication-hero-secondary{grid-area:secondary;order:2;margin-top:var(--hero-mobile-secondary-gap,30px);min-width:0}
  .publication-hero .publication-hero-toolbox{grid-area:toolbox;order:3;margin-top:var(--hero-mobile-toolbox-gap,28px);width:100%}
  .publication-hero .publication-hero-art-stage{width:var(--hero-mobile-art-width,min(100%,360px));max-width:100%}
  .publication-season-stamp{width:150px;right:0;top:0;gap:8px}
  .publication-season-stamp .stamp-dots{height:66px}
}
@media(max-width:640px) and (orientation:portrait){
  .publication-hero .publication-hero-first-viewport{
    min-height:calc(100svh - var(--hero-mobile-header-offset,159px) - var(--hero-mobile-top-pad,28px));
    grid-template-rows:auto minmax(var(--hero-mobile-art-min,260px),1fr)
  }
  .publication-hero .publication-hero-art{min-height:var(--hero-mobile-art-min,280px);padding-bottom:var(--hero-mobile-art-bottom-space,28px)}
  .publication-hero .publication-hero-art-stage{width:var(--hero-mobile-art-width,min(100%,320px))}
  .publication-season-stamp{width:126px;right:0;top:0;gap:6px}
  .publication-season-stamp .stamp-dots{height:56px}
  :is(#start,#top) .publication-closures .closure-grid{grid-template-columns:1fr!important;gap:0!important}
  :is(#start,#top) .publication-closures .closure-item,:is(#start,#top) .publication-closures .closure-item:nth-child(-n+2){border-top:1px solid var(--line)!important}
  :is(#start,#top) .publication-closures .closure-item:first-child{border-top:0!important}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:900px){
  .publication-hero .publication-hero-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"first" "secondary" "toolbox"!important}
  .hero.publication-hero{padding:24px 0 38px!important}
  .publication-hero .publication-hero-first-viewport{min-height:auto!important;grid-template-rows:auto auto!important;gap:12px!important}
  .publication-hero .publication-hero-art{order:1!important;min-height:230px!important}
  .publication-hero .publication-hero-art-stage{width:min(100%,280px)!important}
  .publication-season-stamp{width:110px;right:0;top:0}
}

/* Shared publication footer */
.publication-footer{background:var(--footer);color:var(--footer-text);padding:24px 0;border-top:1px solid color-mix(in srgb,var(--orange) 22%,transparent)}
.publication-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.publication-footer-brand{display:inline-flex;align-items:center;border-radius:8px;text-decoration:none;flex:0 0 auto}
.publication-footer-brand img{display:block;width:240px;max-width:100%;height:auto}
.publication-footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:0}
.publication-footer-company{color:#fff;text-decoration:none;font-size:13px;font-weight:800;line-height:1.25;letter-spacing:.01em;border-radius:4px}
.publication-footer-company:hover{color:#ffb170}
.publication-footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:5px 7px;flex-wrap:wrap;color:color-mix(in srgb,var(--footer-text) 76%,transparent);font-size:12px;line-height:1.4;text-align:right}
.publication-footer-legal a{color:inherit;text-decoration:none;border-radius:4px}
.publication-footer-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.publication-footer-brand:focus-visible,.publication-footer-company:focus-visible,.publication-footer-legal a:focus-visible{outline:3px solid #ffb170;outline-offset:4px}
@media(max-width:640px){
  .publication-footer{padding:22px 0}
  .publication-footer-inner{flex-direction:column;align-items:center;gap:14px}
  .publication-footer-brand img{width:220px}
  .publication-footer-right{align-items:center;gap:7px}
  .publication-footer-legal{justify-content:center;text-align:center}
}
