/* N20 only. Shared header, menu, forms and footer inherit the current system. */
.n20-main { font-size:17px; line-height:1.65; }
.n20-shell { max-width:1320px; margin-inline:auto; padding-inline:15px; }
.n20-main h1,.n20-main h2,.n20-main h3 { color:var(--commercial-ink); font-weight:700; }
.n20-main h2 { margin:0 0 24px; font-size:clamp(29px,3.4vw,44px); line-height:1.16; letter-spacing:-.035em; }
.n20-main h3 { margin:0 0 14px; font-size:22px; line-height:1.3; letter-spacing:-.02em; }
.n20-main p { margin:0 0 17px; }
.n20-main a:not(.commercial-button):not(.commercial-breadcrumbs__link) { color:var(--commercial-primary-strong); text-underline-offset:4px; }
.n20-main a:focus-visible,.n20-main button:focus-visible,.n20-lightbox :focus-visible { outline:3px solid var(--commercial-focus); outline-offset:4px; }
.n20-main .n20-kicker { font-size:12px; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--commercial-primary-strong); margin-bottom:20px; }
.n20-main .n20-small { font-size:14px; line-height:1.6; color:var(--commercial-muted); }
.n20-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:center; gap:40px; padding-top:38px; margin-bottom:42px; }
.n20-hero h1 { font-size:clamp(34px,3.35vw,50px); line-height:1.1; letter-spacing:-.045em; margin:0 0 24px; }
.n20-main .n20-lead { font-size:20px; line-height:1.6; color:var(--commercial-ink); }
.n20-hero .commercial-actions { margin:24px 0 14px; }
.n20-main .n20-hero-proof { font-size:14px; line-height:1.65; padding-top:20px; border-top:1px solid var(--commercial-border); margin-top:22px; }
.n20-hero-art { margin:0; align-self:center; background:#f5f1fb; border-radius:30px; overflow:hidden; }
.n20-hero-art picture { width:100%; }
.n20-hero-art img { width:100%; height:auto; }
.n20-hero-art figcaption { padding:0 24px 18px; font-size:12px; line-height:1.5; color:var(--commercial-muted); }
.n20-art-legend { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:0 24px 25px; color:var(--commercial-primary-strong); font-size:14px; font-weight:700; }
.n20-nav { display:flex; flex-wrap:wrap; gap:12px 30px; padding:22px 0; border-block:1px solid var(--commercial-border); }
.n20-nav a { font-size:14px; font-weight:600; min-height:36px; display:flex; align-items:center; text-decoration:none; }
.n20-section { padding-block:80px; scroll-margin-top:25px; }
.n20-heading-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:32px; }
.n20-heading-row h2 { margin-bottom:0; }
.n20-heading-row>p { max-width:620px; margin-bottom:0; }
.n20-two { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.n20-model { padding:32px; border:1px solid var(--commercial-border); border-radius:22px; }
.n20-model-accent { background:var(--commercial-soft); }
.n20-number { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:14px; background:var(--commercial-soft-strong); color:var(--commercial-primary-strong); font-size:18px; font-weight:700; margin-bottom:24px; }
.n20-model p:last-child { margin-bottom:0; }
.n20-economics { display:grid; grid-template-columns:1fr 1.6fr; gap:36px; padding:35px 0; border-bottom:1px solid var(--commercial-border); }
.n20-economics h3,.n20-economics p { margin-bottom:0; }
.n20-boundary { font-size:15px; line-height:1.65; color:var(--commercial-muted); padding-top:24px; }
.n20-search { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; border-block:1px solid var(--commercial-border); }
.n20-type-demo { background:var(--commercial-soft); border:1px solid var(--commercial-border); border-radius:30px; padding:30px; align-self:center; }
.n20-main .n20-demo-label { font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--commercial-muted); }
.n20-type-controls { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 28px; }
.n20-type-controls button { font:inherit; font-size:14px; font-weight:600; background:white; color:var(--commercial-primary-strong); border:1px solid var(--commercial-border-strong); border-radius:14px; padding:10px 18px; min-height:44px; cursor:pointer; }
.n20-type-controls button[aria-pressed="true"] { color:white; background:var(--commercial-primary-strong); }
.n20-type-demo dl,.n20-roles dl { margin:0 0 20px; }
.n20-type-demo dl>div,.n20-roles dl>div { padding-block:15px; border-bottom:1px solid var(--commercial-border); }
.n20-type-demo dt,.n20-roles dt { font-size:15px; font-weight:700; color:var(--commercial-ink); }
.n20-type-demo dd,.n20-roles dd { font-size:15px; line-height:1.6; margin:4px 0 0; }
.n20-intro { max-width:800px; }
.n20-flow { padding:0; margin:32px 0 40px; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.n20-flow li { border-top:2px solid var(--commercial-accent); padding-top:18px; }
.n20-flow li>span { color:var(--commercial-primary-strong); font-size:14px; font-weight:700; display:block; margin-bottom:16px; }
.n20-flow h3 { font-size:19px; }
.n20-flow p { font-size:15px; }
.n20-exception { display:grid; grid-template-columns:.75fr 1.25fr; gap:50px; background:#f6f5f9; border-radius:22px; padding:34px; }
.n20-exception p:last-child { margin-bottom:0; }
.n20-estimate { border-block:1px solid var(--commercial-border); }
.n20-list { padding-left:22px; margin:0; }
.n20-list li { padding-left:6px; margin-bottom:14px; }
.n20-roles { padding:28px; background:var(--commercial-soft); border-radius:22px; }
.n20-roles .n20-small { margin-bottom:0; }
.n20-cost { margin-top:40px; max-width:1020px; }
.n20-work { margin-block:35px; padding-block:35px; border-block:1px solid var(--commercial-border); }
.n20-work ol { padding-left:23px; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; }
.n20-work li { padding-left:6px; }
.n20-acceptance ul { margin:0; padding-left:22px; }
.n20-acceptance li { padding-left:6px; margin-bottom:12px; }
.n20-proofs { margin-top:35px; }
.n20-proofs article { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding-block:34px; border-top:1px solid var(--commercial-border); }
.n20-proofs figure { margin:0; min-width:0; }
.n20-proofs img { border:1px solid var(--commercial-border); border-radius:22px; width:100%; }
.n20-proofs figcaption { font-size:12px; color:var(--commercial-muted); margin-top:12px; }
.n20-proof-copy a { font-size:15px; font-weight:700; }
.n20-faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:45px; padding-top:40px; }
.n20-faq .commercial-faq { width:100%; }
.n20-final .n20-kicker { color:#e0d5ff; }
.n20-final .n20-contact { color:white!important; font-size:14px; }
.n20-related { display:flex; flex-wrap:wrap; gap:20px 35px; margin:40px 0 65px; }
.n20-related a { font-size:14px; font-weight:600; }
.n20-lightbox { border:0; padding:20px; border-radius:22px; width:min(1250px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; background:white; color:#272631; }
.n20-lightbox::backdrop { background:rgba(24,20,45,.78); }
.n20-lightbox img { display:block; width:100%; height:auto; }
.n20-lightbox p { font:14px/1.5 Montserrat,sans-serif; }
.n20-lightbox-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.n20-lightbox-bar button,.n20-lightbox-bar a { font:600 14px/1.5 Montserrat,sans-serif; color:#5843bd; }
.n20-lightbox-bar button { border:1px solid #b8aadf; border-radius:14px; background:#f7f5ff; padding:10px 16px; cursor:pointer; }
@media(max-width:1100px) { .n20-hero { gap:25px; } .n20-hero h1 { font-size:42px; } .n20-flow { grid-template-columns:1fr 1fr; } }
@media(max-width:900px) { .n20-hero { grid-template-columns:1fr; } .n20-hero-copy { max-width:750px; } .n20-hero-art { width:100%; max-width:720px; } .n20-hero-art img { max-height:none; } .n20-heading-row,.n20-search,.n20-faq { grid-template-columns:1fr; gap:28px; } .n20-section { padding-block:55px; } .n20-search .n20-type-demo { max-width:700px; } .n20-exception { grid-template-columns:1fr; gap:15px; } }
@media(max-width:600px) { .n20-main { font-size:16px; } .n20-hero { padding-top:28px; } .n20-hero h1 { font-size:34px; } .n20-main .n20-lead { font-size:18px; } .n20-main h2 { font-size:30px; } .n20-main h3 { font-size:21px; } .n20-two,.n20-economics,.n20-flow,.n20-work ol,.n20-proofs article { grid-template-columns:1fr; } .n20-two { gap:18px; } .n20-model,.n20-type-demo,.n20-roles,.n20-exception { padding:23px; } .n20-heading-row { gap:20px; } .n20-economics { gap:14px; } .n20-section { padding-block:44px; } .n20-nav { gap:4px 20px; } .n20-main .n20-kicker { margin-bottom:16px; } .n20-flow { gap:12px; } .n20-flow h3 { font-size:19px; } .n20-proofs article { gap:20px; } .n20-type-controls button { padding-inline:14px; } .n20-related { flex-direction:column; gap:14px; } .n20-main .n20-hero-proof { margin-bottom:0; } .n20-hero-art figcaption,.n20-art-legend { padding-inline:20px; } }
@media(max-width:360px) { .n20-hero h1 { font-size:30px; } .n20-model,.n20-type-demo,.n20-roles,.n20-exception { padding:18px; } .n20-type-controls { gap:6px; } .n20-type-controls button { padding-inline:10px; } }

.n20-button-icon { flex:0 0 auto; margin-left:8px; }
