/* Shared composition choices after the approved OS/education/consulting reviews. */
.nf-lab-page main p{font-size:18px;line-height:1.8;word-break:keep-all;text-wrap:pretty}
.nf-lab-page .nf-hero-copy>p{font-size:20px;max-width:960px}
.nf-lab-page .nf-hero-copy h1{max-width:1080px;text-wrap:balance}
.nf-lab-page .nf-hero-caption>p{font-size:17px;margin:0;max-width:900px}
.nf-lab-page .nf-hero-caption>span{flex-shrink:0}
.nf-lab-page .nf-section-head{max-width:1040px}
.nf-lab-page .nf-section-head h2{font-size:38px;line-height:1.4;text-wrap:pretty}
.nf-lab-page .nf-section-head p{max-width:940px}
.nf-feature-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:48px}
.nf-feature-columns article,.nf-icon-cards article{min-width:0}
.nf-feature-icon{width:48px;height:48px;background:#E7EFF8;color:#225D97;border-radius:15px;display:grid;place-items:center;flex-shrink:0}
.nf-feature-icon svg{width:24px;height:24px}
.nf-feature-columns h3{font-size:23px;margin-top:23px!important}
.nf-feature-columns p{margin-top:14px}
.nf-icon-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nf-icon-cards article{display:flex;align-items:flex-start;gap:24px;padding:30px;border:1px solid #D7E4EF;border-radius:20px;background:white}
.nf-icon-cards .nf-feature-icon{width:60px;height:64px;background:#F0F5FA}
.nf-icon-cards h3{font-size:22px;line-height:1.45}
.nf-icon-cards p{margin-top:10px}
.nf-lab-page .nf-os-flow p,.nf-lab-page .nf-os-records p{font-size:17px}
.nf-lab-page .nf-os-records h3{font-size:24px}
.nf-lab-page .nf-os-records .nf-section-head{margin:0;max-width:960px}
.nf-lab-page .nf-os-records p{margin-top:14px}
.nf-lab-page .nf-lab-setup{padding-top:28px}
.nf-setup-rows{border-top:1px solid #D7E4EF;margin-bottom:28px}
.nf-setup-rows article{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:28px 0;border-bottom:1px solid #D7E4EF}
.nf-setup-rows article>span{font-size:18px;color:#52799F}
.nf-setup-rows h3{font-size:23px}
.nf-setup-rows p{margin-top:12px}
.nf-lab-page .nf-os-build-options h3{font-size:32px}
.nf-lab-page .nf-os-build-options p{font-size:17px;margin-top:16px}
.nf-lab-page .nf-os-build-note{font-size:16px;margin-top:24px;max-width:950px}
.nf-os-page .nf-os-build-options,.nf-lab-page .nf-os-build-options,.nf-merch-page .nf-os-build-options{grid-template-rows:auto auto auto auto;row-gap:0}
.nf-os-page .nf-os-build-options article,.nf-lab-page .nf-os-build-options article,.nf-merch-page .nf-os-build-options article{display:grid;grid-template-rows:subgrid;grid-row:span 4}
.nf-lab-page .nf-os-build-options dl,.nf-merch-page .nf-os-build-options dl{margin-top:26px}
.nf-lab-page .nf-cta p{max-width:860px}
.nf-lab-page .nf-content-gallery figcaption{font-size:16px}
.nf-utility-page main p{font-size:18px;line-height:1.8;text-wrap:pretty}
.nf-utility-page .nf-form label,.nf-utility-page .nf-form input,.nf-utility-page .nf-form select,.nf-utility-page .nf-form textarea{font-size:16px}
.nf-utility-page .nf-legal{max-width:1000px}
.nf-utility-page .nf-legal p,.nf-utility-page .nf-legal li,.nf-utility-page .nf-legal td,.nf-utility-page .nf-legal th{font-size:16px;line-height:1.8}
@media(max-width:1000px){
 .nf-feature-columns{gap:28px}.nf-icon-cards article{padding:24px;gap:18px}.nf-setup-rows article{grid-template-columns:145px minmax(0,1fr);gap:28px}
 .nf-lab-page .nf-hero-caption{display:block}.nf-lab-page .nf-hero-caption>span{display:block;margin-top:12px}
}
@media(max-width:760px){
 .nf-lab-page main p,.nf-lab-page .nf-hero-copy>p,.nf-lab-page .nf-os-flow p,.nf-lab-page .nf-os-records p,.nf-lab-page .nf-os-build-options p,.nf-utility-page main p{font-size:16px}
 .nf-lab-page .nf-section-head h2{font-size:29px}.nf-lab-page .nf-hero-copy h1{font-size:35px}
 .nf-feature-columns{grid-template-columns:1fr;gap:30px;margin-top:32px}.nf-feature-columns h3{margin-top:16px!important}
 .nf-icon-cards{grid-template-columns:1fr}.nf-icon-cards article{padding:22px;gap:18px}.nf-icon-cards .nf-feature-icon{width:44px;height:48px}
 .nf-feature-columns h3,.nf-icon-cards h3,.nf-setup-rows h3{font-size:21px}
 .nf-setup-rows article{grid-template-columns:1fr;gap:12px;padding:24px 0}.nf-setup-rows article>span{font-size:14px}
 .nf-lab-page .nf-os-build-options{grid-template-columns:1fr;grid-template-rows:none;gap:20px}
 .nf-os-page .nf-os-build-options article,.nf-lab-page .nf-os-build-options article,.nf-merch-page .nf-os-build-options article{display:block;grid-row:auto}
 .nf-lab-page .nf-os-records h3{font-size:22px}.nf-lab-page .nf-os-build{padding-top:28px}
 .nf-utility-page .nf-legal td,.nf-utility-page .nf-legal th{font-size:14px}
}
.nf-keep{white-space:nowrap}
.nf-utility-page .nf-form input:not([type=checkbox]):not([type=hidden]),.nf-utility-page .nf-form select,.nf-utility-page .nf-form textarea{font-size:16px}
.nf-utility-page .nf-form .dress-preview-note{font-size:14px!important;line-height:1.8}
.nf-utility-page .nf-form .agree label{font-size:15px;line-height:1.75}
.nf-utility-page .nf-form .agree p,.nf-utility-page .nf-form .agree small,.nf-utility-page .nf-form .reqnote,.nf-utility-page .nf-form label span,.nf-utility-page .nf-form label em{font-size:13px;line-height:1.7}
@media(max-width:760px){.nf-lab-page .nf-cta p{font-size:16px!important}}
.nf-mobile-scene{display:none;width:100%;height:auto;border-radius:22px}
@media(max-width:700px){.nf-lab-page .nf-art-marketing,.nf-lab-page .nf-art-sales,.nf-lab-page .nf-art-backoffice{display:none}.nf-mobile-scene{display:block}}
.nf-template-example{padding:40px 0;border-top:1px solid #D7E4EF;margin-top:35px}
.nf-template-example>h3{font-size:28px}.nf-template-example>p{margin-top:14px;max-width:850px}
.nf-template-preview{margin-top:32px;padding:28px;background:#F5F8FB;border-radius:24px}
.nf-template-preview .nf-feature-columns{margin-top:0}
.nf-template-preview .nf-os-flow{margin-top:0}
.nf-template-preview .nf-os-flow p{font-size:16px}
@media(max-width:700px){.nf-template-preview{padding:20px}.nf-template-example>h3{font-size:24px}}

/* Content hero: brand-guided production, multi-use outputs, review and response. */
.nf-content-workflow-art{display:block;width:100%;height:auto;border-radius:26px;border:1px solid #D7E4EF}
.nf-content-workflow-mobile{display:none}
@media(max-width:700px){.nf-content-workflow-desktop{display:none}.nf-content-workflow-mobile{display:block;border-radius:20px}}

/* Campaign examples are photographs, with breathing room rather than device frames. */
.nf-campaign-gallery-mixed{grid-template-columns:1.1fr .9fr 1.15fr;gap:28px}
.nf-campaign-gallery-mixed figure{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.nf-campaign-gallery-mixed figure:nth-child(2){margin-top:32px}
.nf-campaign-gallery-mixed figure:nth-child(3){margin-top:12px}
.nf-campaign-gallery-mixed img{height:auto;object-fit:contain;border-radius:14px}
.nf-campaign-gallery-mixed figure:first-child img,.nf-campaign-gallery-mixed figure:nth-child(3) img{aspect-ratio:3/2}
.nf-campaign-gallery-mixed figure:nth-child(2) img{aspect-ratio:4/3;object-fit:cover}
.nf-campaign-gallery-mixed figcaption{padding:20px 0 0}
.nf-campaign-gallery-mixed figcaption span{font-size:11px;line-height:1.6}
@media(max-width:700px){
.nf-campaign-gallery-mixed{grid-template-columns:1fr;gap:32px}
.nf-campaign-gallery-mixed figure:nth-child(2),.nf-campaign-gallery-mixed figure:nth-child(3){margin-top:0}
.nf-campaign-gallery-mixed figure:nth-child(3){display:block;grid-column:auto}
.nf-campaign-gallery-mixed figcaption{padding:16px 0 0}
}

/* Contact represents a conversation about the work, rather than the OS product. */
.nf-contact-object.nf-contact-conversation{height:auto;aspect-ratio:4/3;background:#EDF2F5;border:1px solid #D7E4EF}
.nf-contact-conversation img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Inbound sales: event, preparation artifacts, meeting and follow-through. */
.nf-sales-hero{display:block;width:100%;height:auto;border:1px solid #D7E4EF;border-radius:26px}
.nf-sales-hero-mobile{display:none}
.nf-sales-prep{margin-top:26px;background:#FFFFFFE8;border-radius:16px;padding:6px 22px}
.nf-sales-prep>div{padding:20px 0}
.nf-sales-prep>div+div{border-top:1px solid #D7E4EF}
.nf-sales-prep span{font-size:11px;letter-spacing:.1em;color:#527596}
.nf-page .nf-sales-prep h4{font-size:19px;line-height:1.5;margin:9px 0 0;letter-spacing:-.025em}
.nf-page .nf-sales-prep p{margin:9px 0 0;font-size:17px;line-height:1.75}
@media(max-width:700px){.nf-sales-hero-desktop{display:none}.nf-sales-hero-mobile{display:block;border-radius:20px}.nf-sales-prep{padding:4px 18px}}

/* Shared hero edge alignment; the artwork scales uniformly inside a wider ground. */
.nf-marketing-concept{width:100%;background:var(--nf-ground)}
.nf-marketing-composition{position:relative;container-type:inline-size;width:min(100%,980px);margin-inline:auto}
.nf-marketing-composition>.nf-marketing-raster{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
@media(max-width:1078px){.nf-marketing-composition>.nf-marketing-raster{mask-image:none}}
