/* N42 owns this namespace. Shared header, form and parent layout are untouched. */
.n42-section { --n42-ink:#272631; --n42-muted:#55525f; --n42-violet:#5843bd; --n42-line:#d8d2e8; color:var(--n42-ink); padding:76px 0; scroll-margin-top:24px; font-size:17px; line-height:1.65; }
.n42-section :is(p,a,button) { opacity:1; }
.n42-section p { color:var(--n42-muted); margin:18px 0 0; }
.n42-section h2 { color:var(--n42-ink); font-size:clamp(30px,3.1vw,44px); line-height:1.2; font-weight:600; letter-spacing:-.035em; margin:0; }
.n42-section h3 { color:var(--n42-ink); font-size:24px; line-height:1.3; font-weight:600; letter-spacing:-.02em; margin:0; }
.n42-section a { color:var(--n42-violet); text-decoration:underline; text-underline-offset:4px; }
.n42-section .n42-eyebrow { color:var(--n42-violet); font-size:14px; font-weight:600; margin:0 0 16px; }
.n42-section .n42-lead { color:var(--n42-ink); font-size:18px; }
.n42-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:40px; align-items:center; }
.n42-intro-copy { min-width:0; }
.n42-section .n42-button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:54px; max-width:100%; padding:16px 22px; margin-top:24px; border:1px solid transparent; border-radius:14px; background:var(--n42-violet); color:#fff; font:inherit; font-size:16px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; transition:background .2s; }
.n42-section .n42-button:hover { background:#433298; }
.n42-button span { font-size:24px; }
.n42-illustration { margin:0; min-width:0; }
.n42-illustration picture { overflow:hidden; border-radius:22px; background:#eae4e4; }
.n42-illustration img { width:100%; height:auto; object-fit:cover; }
.n42-illustration figcaption { color:var(--n42-muted); font-size:14px; line-height:1.5; margin-top:12px; }
.n42-artifact { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:40px; margin-top:54px; padding:36px; background:#eeebf6; border-radius:30px; align-items:center; }
.n42-artifact-copy { min-width:0; }
.n42-section .n42-note { font-size:14px; line-height:1.6; }
.n42-card { min-width:0; background:#fff; border:1px solid var(--n42-line); border-radius:22px; padding:26px; box-shadow:0 12px 35px #3d367f0d; }
.n42-section .n42-card-label { margin:0 0 12px; color:var(--n42-violet); font-size:14px; font-weight:600; }
.n42-card h3 { font-size:22px; }
.n42-card-data { margin:20px 0 0; font-size:14px; line-height:1.55; }
.n42-card-data > div { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:14px; border-top:1px solid var(--n42-line); padding:12px 0; }
.n42-card-data dt { color:var(--n42-muted); }
.n42-card-data dd { margin:0; color:var(--n42-ink); font-weight:500; }
.n42-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.n42-controls[hidden] { display:none; }
.n42-controls button { font:inherit; font-size:14px; line-height:1.5; min-height:44px; padding:10px 12px; border:1px solid #c4badf; border-radius:14px; color:#433477; background:#fff; cursor:pointer; text-align:left; }
.n42-controls button[aria-pressed=true] { color:#fff; background:#5843bd; border-color:#5843bd; }
.n42-status { padding:18px; margin-top:18px; border-radius:14px; background:#f7f2e8; font-size:14px; line-height:1.6; }
.n42-status strong { color:#654011; }
.n42-section .n42-status p { margin-top:8px; color:#5b4629; }
.n42-status[data-n42-state=checked] { background:#eaf5ee; }
.n42-status[data-n42-state=checked] strong, .n42-section .n42-status[data-n42-state=checked] p { color:#235538; }
.n42-process { margin-top:50px; }
.n42-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:0; margin:28px 0 0; list-style:none; }
.n42-steps li { min-width:0; padding-top:16px; border-top:2px solid #a99adc; }
.n42-steps span { color:var(--n42-muted); font-size:14px; display:block; margin-bottom:10px; }
.n42-steps strong { display:block; font-size:18px; line-height:1.4; color:var(--n42-ink); }
.n42-section .n42-steps p { font-size:16px; line-height:1.6; margin-top:12px; }
.n42-section .n42-boundary { font-size:14px; line-height:1.65; padding:20px 22px; border-left:3px solid #8c76d8; background:#f0edf7; border-radius:0 14px 14px 0; margin-top:28px; }
.n42-pilot { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; margin-top:50px; }
.n42-acceptance { padding:28px; border:1px solid var(--n42-line); border-radius:22px; background:#fff; align-self:start; }
.n42-acceptance ul { margin:20px 0 0; padding-left:22px; font-size:16px; line-height:1.6; }
.n42-acceptance li+li { margin-top:12px; }
.n42-questions { display:grid; gap:10px; margin-top:40px; }
.n42-questions details { border:1px solid var(--n42-line); border-radius:18px; background:#fff; }
.n42-questions summary { padding:20px 22px; min-height:58px; font-size:17px; font-weight:600; line-height:1.5; color:var(--n42-ink); cursor:pointer; }
.n42-section .n42-questions p { font-size:16px; padding:0 22px 22px; margin:0; }
.n42-final { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; margin-top:40px; border-radius:30px; padding:36px; background:#332d70; color:#fff; }
.n42-final h3 { color:#fff; font-size:28px; }
.n42-section .n42-final p { color:#f1eef9; }
.n42-section .n42-final-note { font-size:14px; line-height:1.6; }
.n42-section .n42-button-light { background:#fff; color:#332d70; margin-top:0; }
.n42-section .n42-button-light:hover { background:#efebff; color:#332d70; }
.n42-section :is(a,button,summary):focus-visible { outline:3px solid #957ddc; outline-offset:4px; }
@media(max-width:1100px) { .n42-final { grid-template-columns:1fr; gap:22px; }.n42-final .n42-button { justify-self:start; }.n42-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .n42-section { padding-block:50px; }.n42-intro,.n42-artifact,.n42-pilot { grid-template-columns:1fr; gap:26px; }.n42-illustration { max-width:650px; }.n42-artifact { padding:26px; }.n42-pilot { gap:26px; } }
@media(max-width:600px) { .n42-section { font-size:16px; padding-block:42px; }.n42-section h2 { font-size:30px; }.n42-section h3 { font-size:23px; }.n42-section .n42-lead { font-size:17px; }.n42-artifact { margin-top:32px; padding:22px 18px; border-radius:22px; }.n42-card { padding:20px 16px; }.n42-card-data > div { grid-template-columns:1fr; gap:5px; }.n42-steps { grid-template-columns:1fr; gap:24px; }.n42-process,.n42-pilot { margin-top:34px; }.n42-acceptance { padding:22px 18px; }.n42-final { padding:26px 20px; border-radius:22px; }.n42-final h3 { font-size:26px; }.n42-section .n42-button { font-size:15px; padding-inline:18px; }.n42-questions summary { font-size:16px; padding:18px; }.n42-section .n42-questions p { padding-inline:18px; }.n42-controls button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .n42-section .n42-button { transition:none; } }
