/* N27 isolated product-subscription section. Shared UI is inherited. */
.n27-subscription { color:var(--commercial-text,#373642); font-family:inherit; font-size:17px; line-height:1.65; padding-block:48px 60px; }
.n27-subscription * { box-sizing:border-box; }
.n27-subscription :is(h2,h3,h4,p,figure,dl,ol,ul) { margin:0; }
.n27-subscription :is(h2,h3,h4) { color:var(--commercial-ink,#272631); font-weight:700; line-height:1.2; }
.n27-subscription h2 { font-size:clamp(30px,3.6vw,48px); letter-spacing:-.035em; text-wrap:balance; }
.n27-subscription h3 { font-size:clamp(25px,2.5vw,33px); letter-spacing:-.025em; text-wrap:balance; }
.n27-subscription h4 { font-size:19px; }
.n27-subscription p + p { margin-top:16px; }
.n27-subscription a:not(.commercial-button) { color:var(--commercial-primary-strong,#5843bd); text-decoration:underline; text-underline-offset:4px; }
.n27-subscription :is(a,summary):focus-visible { outline:3px solid var(--commercial-focus,#4e35bd); outline-offset:4px; }
.n27-subscription .n27-kicker { color:var(--commercial-primary-strong,#5843bd); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:12px; }
.n27-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center; }
.n27-copy { min-width:0; }
.n27-copy > p:not(.n27-kicker) { margin-top:20px; }
.n27-subscription .n27-lead { font-size:20px; line-height:1.5; color:var(--commercial-ink,#272631); }
.n27-copy > .commercial-button { margin-top:24px; }
.n27-subscription .n27-small { font-size:14px; line-height:1.6; }
.n27-subscription .n27-proof { padding-top:20px; border-top:1px solid var(--commercial-border); font-size:14px; line-height:1.65; }
.n27-art { min-width:0; }
.n27-art img { display:block; width:100%; height:auto; border-radius:30px; }
.n27-art figcaption { margin-top:10px; font-size:12px; line-height:1.5; color:var(--commercial-muted,#666370); }
.n27-block { margin-top:64px; scroll-margin-top:28px; }
.n27-heading { max-width:860px; margin-bottom:28px; }
.n27-heading > p:not(.n27-kicker) { margin-top:16px; }
.n27-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; }
.n27-flow > li { min-width:0; padding:24px; background:var(--commercial-soft,#f7f5ff); border-radius:22px; }
.n27-number { display:block; color:var(--commercial-primary-strong,#5843bd); font-size:14px; font-weight:700; margin-bottom:18px; }
.n27-flow p { margin-top:12px; }
.n27-subscription .n27-note { margin-top:24px; padding-left:20px; border-left:3px solid var(--commercial-accent,#9581ed); font-size:16px; }
.n27-states > div { display:grid; grid-template-columns:minmax(160px,.3fr) minmax(0,1fr); gap:28px; padding-block:22px; border-top:1px solid var(--commercial-border); }
.n27-states dt { color:var(--commercial-primary-strong,#5843bd); font-size:19px; font-weight:700; }
.n27-states dd { margin:0; }
.n27-state-block > .n27-small { margin-top:16px; }
.n27-scope { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.n27-scope p { margin-top:18px; }
.n27-acceptance { padding:28px; border:1px solid var(--commercial-border); border-radius:22px; }
.n27-acceptance ul { display:grid; gap:14px; padding-left:20px; margin-top:20px; font-size:16px; }
.n27-platforms { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.35fr); gap:40px; margin-top:56px; padding:30px; border-radius:22px; background:var(--commercial-soft,#f7f5ff); font-size:16px; }
.n27-platforms p:not(.n27-kicker) { margin-top:16px; }
.n27-source-links { display:flex; flex-direction:column; gap:14px; align-self:center; font-size:14px; }
.n27-source-links > span { font-weight:700; }
.n27-questions { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:48px; }
.n27-questions > div > p:not(.n27-kicker) { margin-top:16px; }
.n27-questions .commercial-faq { width:100%; align-self:start; }
.n27-final { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.4fr); align-items:center; gap:40px; margin-top:56px; padding:36px; border-radius:30px; color:white; background:linear-gradient(120deg,#3d367f,#5843bd); }
.n27-final h3 { color:white; }
.n27-final p { margin-top:16px; }
/* Demonstration context only; no alternate landing page. */
.n27-demo-context { padding-block:24px 8px; max-width:900px; }
.n27-demo-context h1 { font-size:clamp(25px,3vw,36px); font-weight:700; line-height:1.2; margin:0; }
.n27-demo-context p { font-size:16px; line-height:1.6; margin:12px 0 0; }
@media(max-width:900px) {
 .n27-hero { grid-template-columns:minmax(0,1fr); gap:28px; }
 .n27-art { max-width:600px; }
 .n27-flow { gap:14px; }
 .n27-flow > li { padding:20px; }
 .n27-scope,.n27-questions { gap:28px; }
 .n27-platforms { grid-template-columns:1fr; gap:24px; }
 .n27-final { grid-template-columns:1fr; gap:24px; }
 .n27-final > a { justify-self:start; }
}
@media(max-width:600px) {
 .n27-subscription { font-size:16px; padding-block:32px 44px; }
 .n27-subscription .n27-lead { font-size:18px; }
 .n27-subscription .n27-note { font-size:16px; }
 .n27-block { margin-top:44px; }
 .n27-flow,.n27-scope,.n27-questions { grid-template-columns:1fr; }
 .n27-states > div { grid-template-columns:1fr; gap:10px; }
 .n27-subscription h4,.n27-states dt { font-size:18px; }
 .n27-platforms,.n27-acceptance { padding:22px; }
 .n27-final { padding:26px 22px; }
 .n27-final > a { width:100%; }
 .n27-art img { border-radius:22px; }
}

.n27-subscription .n27-final p { color: inherit; }
