.page-hero{padding:clamp(4rem,8vw,7rem) 0 clamp(3.5rem,6vw,5.5rem)}.page-hero .eyebrow{color:var(--color-accent-detail)}.page-hero h1{margin:var(--space-4) 0 0;letter-spacing:-.055em;max-width:16ch;font-size:clamp(2.7rem,5.4vw,4.8rem);font-weight:500;line-height:.96}.page-hero h1 span{color:var(--jps-grey-500);display:block}.page-lede{max-width:40rem;margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.55}.page-section{padding:var(--section-space) 0}.page-section.dark{background:var(--jps-ink);color:var(--jps-warm-white)}.page-section h2{margin:var(--space-4) 0 0;letter-spacing:-.05em;max-width:18ch;font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:500;line-height:.98}.section-intro{max-width:38rem;margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:1.05rem;line-height:1.55}.dark .section-intro,.dark .point p{color:var(--jps-grey-300)}.dark .eyebrow{color:var(--color-accent)}.point-list{margin:var(--space-6) 0 0;padding:0;list-style:none}.point{border-top:1px solid var(--color-border);grid-template-columns:3.25rem minmax(11rem,16rem) minmax(0,1fr);align-items:baseline;gap:1rem 1.75rem;padding:1.25rem 0;display:grid}.dark .point{border-top-color:color-mix(in srgb, var(--jps-white) 16%, transparent)}.point-index{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-accent-detail);font-size:.68rem;font-weight:700}.dark .point-index{color:var(--color-accent)}.point h3,.plain-list strong{letter-spacing:-.025em;margin:0;font-size:1.12rem;font-weight:600}.point p{color:var(--color-text-muted);margin:0;line-height:1.5}.plain-list{margin:var(--space-6) 0 0;gap:0;padding:0;list-style:none;display:grid}.plain-list li{border-top:1px solid var(--color-border);gap:.35rem;padding:1.15rem 0;display:grid}.plain-list li:last-child{border-bottom:1px solid var(--color-border)}.page-cta{background:var(--jps-ink);color:var(--jps-warm-white);padding:var(--section-space) 0}.page-cta .eyebrow{color:var(--color-accent)}.cta-grid{grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);align-items:end;gap:clamp(2rem,5vw,5rem);display:grid}.page-cta h2{margin:var(--space-4) 0 0;letter-spacing:-.055em;max-width:12ch;font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;line-height:.96}.page-cta h2 span{color:var(--jps-grey-300);display:block}.page-cta p{color:var(--jps-grey-300);margin:0;font-size:1.05rem;line-height:1.55}.page-button{min-height:3.2rem;margin-top:var(--space-5);border:1px solid var(--jps-warm-white);border-radius:var(--radius-sm);color:var(--jps-ink);background:var(--jps-warm-white);justify-content:center;align-items:center;gap:.7rem;padding:.85rem 1.15rem;font-weight:600;display:inline-flex}.page-button:hover{background:var(--color-accent);border-color:var(--color-accent)}.page-button.on-light{background:var(--jps-ink);border-color:var(--jps-ink);color:var(--jps-warm-white)}.page-button.on-light:hover{background:var(--jps-brand-black);border-color:var(--jps-brand-black);color:var(--jps-warm-white)}.card-grid{margin-top:var(--space-6);background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.article-card{padding:0 0 var(--space-5);background:var(--color-background);align-content:start;gap:.75rem;display:grid}.article-thumb{background:var(--jps-grey-100);border-bottom:1px solid var(--color-border);height:10.5rem;color:var(--jps-grey-700);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.35rem;padding:.95rem 1rem;font-size:.66rem;font-weight:700;line-height:1.35;display:flex}.article-card .eyebrow,.article-card h2,.article-card p{padding-inline:var(--space-5)}.article-card .eyebrow{color:var(--color-accent-detail)}.article-card h2{letter-spacing:-.035em;max-width:22ch;margin:0;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:500;line-height:1.1}.article-card p{color:var(--color-text-muted);margin:0;line-height:1.5}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(18rem,1.1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.contact-form{padding:var(--space-5);border:1px solid var(--color-border);background:var(--jps-white);gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:700}.field input,.field textarea{border:1px solid var(--jps-grey-300);border-radius:var(--radius-sm);background:var(--jps-warm-white);width:100%;color:var(--color-text);padding:.85rem .9rem}.field textarea{resize:vertical;min-height:8rem}.form-note{color:var(--color-text-muted);margin:0;font-size:.92rem;line-height:1.5}.page-hero.has-band{padding-bottom:clamp(1.75rem,3vw,2.75rem)}.page-hero-copy{min-width:0}.hero-layout[data-place=aside]{grid-template-columns:minmax(0,1.15fr) minmax(16rem,22.5rem);align-items:center;gap:clamp(2rem,5vw,4.75rem);display:grid}.hero-layout[data-place=below] .hero-visual-slot{margin-top:clamp(2rem,4vw,3.25rem)}.page-visual{padding-bottom:clamp(3rem,6vw,5.25rem)}.visual-panel{border:1px solid var(--jps-grey-300);background:var(--jps-white);box-shadow:0 2.5rem 5.5rem color-mix(in srgb, var(--jps-ink) 9%, transparent)}.visual-topline{padding:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;display:flex}.visual-topline .eyebrow{color:var(--color-accent-detail)}.visual-status{color:var(--jps-grey-700);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0;font-size:.67rem;font-weight:600;display:inline-flex}.status-dot{background:var(--color-accent-detail);width:.45rem;height:.45rem;box-shadow:0 0 0 .2rem color-mix(in srgb, var(--color-accent) 18%, transparent);border-radius:50%}@media (width<=72rem){.hero-layout[data-place=aside]{grid-template-columns:1fr}.hero-layout[data-place=aside] .hero-visual-slot{max-width:22rem}}@media (width<=52rem){.point{grid-template-columns:2.5rem minmax(0,1fr);gap:.35rem 1rem}.point p{grid-column:2}.cta-grid,.contact-layout,.card-grid{grid-template-columns:1fr}.visual-topline{align-items:flex-start}}@media (width<=40rem){.article-thumb{flex-direction:column;justify-content:flex-end;align-items:flex-start;height:8.5rem}}
