.numos-case { --teal:#006A72; --ink:#004B51; --soft:#E6F1F2; --mint:#61E2BD; --mint-soft:#C7F3E5; --peach:#F4C8A6; --peach-soft:#FBE8D8; --paper:#FAFAF5; --deep:#F2F1E8; --text:#333333; --muted:#5A5A5A; --line:#E4E2D6; margin:0; background:var(--paper); color:var(--text); font:500 17px/1.8 'Quicksand',sans-serif; -webkit-font-smoothing:antialiased; }
.numos-case *, .numos-case *::before, .numos-case *::after { box-sizing:border-box; }
/* The site header overlaps the first block: land the kicker where .numos-hero lands its H1. */
.numos-case { padding-top:100px; }
/* flow-root keeps the last section's bottom margin inside the paper background instead of collapsing onto the white page. */
.numos-case { display:flow-root; }
@media (max-width:880px) { .numos-case { padding-top:66px; } }
.numos-case blockquote { margin:0; padding:0; border:0; font-style:normal; font-size:inherit; }
.numos-case figure { margin:0; }
.numos-case ul, .numos-case ol { margin:0; }
.numos-case ::selection { background:var(--mint-soft); color:var(--ink); }
.numos-case a { color:var(--teal); text-underline-offset:5px; text-decoration-thickness:1px; }
.numos-case a:hover { text-decoration-thickness:2px; }
.numos-case a:focus-visible, .numos-case summary:focus-visible { outline:3px solid var(--teal); outline-offset:5px; border-radius:4px; }
.numos-case h1, .numos-case h2, .numos-case h3 { font-family:'Nunito',sans-serif; color:var(--ink); font-weight:800; line-height:1.16; margin:0; text-wrap:balance; }
.numos-case .numos-case-title { font-size:clamp(42px,4.6vw,66px); letter-spacing:-.045em; }
.numos-case h2 { font-size:clamp(30px,3vw,43px); letter-spacing:-.035em; }
.numos-case h3 { font-size:27px; letter-spacing:-.025em; }
.numos-case p { margin:0 0 22px; }
.numos-case p:last-child { margin-bottom:0; }
.numos-case strong { font-weight:600; }
.numos-case .numos-case-wrap { width:min(1192px,calc(100% - 96px)); margin-inline:auto; }
.numos-case .numos-case-eyebrow { display:block; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin-bottom:20px; }
.numos-case .numos-case-hl { background:linear-gradient(102deg,transparent 1%,var(--mint-soft) 1.8%,var(--mint-soft) 97.5%,transparent 98.2%) no-repeat 0 90%/100% 43%; border-radius:.3em .1em .28em .12em; padding-inline:.035em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.numos-case .numos-case-hl-warm { background-image:linear-gradient(102deg,transparent 1%,var(--peach) 1.8%,var(--peach) 97.5%,transparent 98.2%); }
.numos-case .numos-case-topline { display:flex; justify-content:space-between; gap:24px; align-items:center; border-bottom:1px solid var(--line); padding:30px 0 22px; font-size:12px; color:var(--teal); letter-spacing:.08em; font-weight:600; }
.numos-case .numos-case-topline h1 { margin:0; font:inherit; color:inherit; letter-spacing:inherit; }
.numos-case .numos-case-topline > span { white-space:nowrap; }
.numos-case .numos-case-cover { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:66px; padding:64px 0 56px; align-items:start; }
.numos-case .numos-case-cover .numos-case-title { margin-bottom:30px; }
.numos-case .numos-case-lead { font-size:18px; line-height:1.8; }
.numos-case .numos-case-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:30px; }
.numos-case .numos-case-actions a { display:inline-flex; align-items:center; min-height:48px; font-size:14px; font-weight:600; }
.numos-case .numos-case-actions a:first-child { background:var(--ink); color:var(--paper); border-radius:12px; padding:14px 21px; text-decoration:none; gap:20px; box-shadow:0 6px 16px #004b510d; }
.numos-case .numos-case-actions a:first-child::after { content:'↗'; font-size:21px; }
.numos-case .numos-case-actions a:first-child:hover { background:var(--teal); }
.numos-case .numos-case-dossier { position:relative; overflow:hidden; isolation:isolate; background:var(--ink); color:var(--paper); border-radius:20px; padding:30px 32px 26px; margin-top:5px; min-height:444px; }
.numos-case .numos-case-dossier::before, .numos-case .numos-case-dossier::after { content:''; position:absolute; width:280px; height:530px; border:1px solid #61e2bd33; border-radius:48%; z-index:-1; transform:rotate(29deg); top:-56px; right:-190px; }
.numos-case .numos-case-dossier::after { right:-162px; }
.numos-case .numos-case-dossier-head { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #61e2bd4d; padding-bottom:17px; }
.numos-case .numos-case-dossier-head b { font:900 36px/1 'Nunito',sans-serif; letter-spacing:-.05em; }
.numos-case .numos-case-dossier-head span { font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.numos-case .numos-case-metric { padding-left:22px; border-left:2px solid var(--mint); }
.numos-case .numos-case-metric strong { display:block; font:800 52px/1.05 'Nunito',sans-serif; letter-spacing:-.055em; color:var(--ink); margin-bottom:12px; }
.numos-case .numos-case-metric span { display:block; font-size:14px; line-height:1.6; max-width:230px; }
.numos-case .numos-case-dossier .numos-case-metric { padding:12px 0 26px; border:0; }
.numos-case .numos-case-dossier .numos-case-metric strong { font-size:132px; color:var(--mint); margin:0; }
.numos-case .numos-case-dossier .numos-case-metric span { max-width:235px; font-size:16px; }
.numos-case .numos-case-trust { display:flex; flex-wrap:wrap; gap:9px 16px; padding-top:18px; border-top:1px solid #61e2bd4d; font-size:12px; }
.numos-case .numos-case-trust span:last-child { flex-basis:100%; }
.numos-case .numos-case-index { display:flex; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:8px 0; gap:8px 34px; }
.numos-case .numos-case-index a { display:flex; gap:12px; min-height:44px; align-items:center; font-size:13px; text-decoration:none; }
.numos-case .numos-case-index a span { font:800 12px 'Nunito',sans-serif; }
.numos-case .numos-case-index a:hover { text-decoration:underline; }
.numos-case .numos-case-client { display:grid; grid-template-columns:260px minmax(0,1fr); gap:56px; padding:60px 0 72px; }
.numos-case .numos-case-client h2 { font-size:28px; }
.numos-case .numos-case-client-copy { columns:2; column-gap:36px; font-size:15px; }
.numos-case .numos-case-client-copy p { break-inside:avoid; }
.numos-case .numos-case-start { background:var(--peach-soft); border-radius:20px; padding:48px; margin-bottom:80px; }
.numos-case .numos-case-start-top { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; }
.numos-case .numos-case-start-top p { font-size:16px; }
.numos-case .numos-case-quote { margin:0; }
.numos-case .numos-case-quote blockquote { margin:0; }
.numos-case .numos-case-quote blockquote p { font:700 23px/1.55 'Nunito',sans-serif; color:var(--ink); text-wrap:pretty; }
.numos-case .numos-case-quote figcaption { display:flex; flex-direction:column; font-size:12px; line-height:1.65; margin-top:20px; color:var(--muted); }
.numos-case .numos-case-quote figcaption b { color:var(--ink); font-weight:600; }
.numos-case .numos-case-start .numos-case-quote { margin-top:35px; padding-top:28px; border-top:1px solid #004b5126; }
.numos-case .numos-case-start .numos-case-quote blockquote p { font-size:25px; }
.numos-case .numos-case-section-head { max-width:700px; margin-bottom:50px; }
.numos-case .numos-case-story { display:grid; grid-template-columns:80px minmax(0,1fr); column-gap:34px; padding-bottom:56px; }
.numos-case .numos-case-number { position:relative; font:800 43px/1 'Nunito',sans-serif; color:var(--teal); padding-top:4px; letter-spacing:-.06em; }
.numos-case .numos-case-number::after { content:''; position:absolute; left:22px; top:72px; bottom:0; width:1px; background:var(--line); }
.numos-case .numos-case-story-main { border-top:1px solid var(--line); padding-top:28px; min-width:0; }
.numos-case .numos-case-story h3 { margin-bottom:28px; max-width:650px; font-size:32px; }
.numos-case .numos-case-story-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:46px; }
.numos-case .numos-case-story-copy { font-size:16px; }
.numos-case .numos-case-story-aside { display:flex; flex-direction:column; gap:28px; }
.numos-case .numos-case-story-aside .numos-case-quote { padding:25px; background:var(--soft); border-radius:14px; }
.numos-case .numos-case-story-aside .numos-case-quote blockquote p { font-size:21px; }
.numos-case .numos-case-story-warm .numos-case-quote { background:var(--peach-soft); }
.numos-case .numos-case-story-dark .numos-case-quote { background:var(--ink); }
.numos-case .numos-case-story-dark .numos-case-quote blockquote p { color:var(--paper); font-size:28px; }
.numos-case .numos-case-story-dark .numos-case-quote figcaption b { color:var(--mint-soft); }
.numos-case .numos-case-outcome { display:flex; align-items:baseline; gap:12px; color:var(--ink); font-size:13px; font-weight:600; margin-top:28px; }
.numos-case .numos-case-outcome::before { content:'✓'; display:inline-grid; place-items:center; background:var(--mint-soft); width:24px; height:24px; flex:0 0 24px; border-radius:50%; }
.numos-case .numos-case-results { border-top:1px solid var(--line); padding:52px 0 64px; display:grid; grid-template-columns:1fr 1.3fr; gap:85px; }
.numos-case .numos-case-results-list { margin:0; padding:0; list-style:none; counter-reset:results; }
.numos-case .numos-case-results-list li { counter-increment:results; padding:23px 0 23px 44px; border-bottom:1px solid var(--line); position:relative; }
.numos-case .numos-case-results-list li:first-child { padding-top:0; }
.numos-case .numos-case-results-list li::before { content:'0' counter(results); position:absolute; left:0; color:var(--teal); font:800 14px/2 'Nunito',sans-serif; }
.numos-case .numos-case-results h3 { font-size:24px; margin-bottom:10px; }
.numos-case .numos-case-results-list p { font-size:15px; }
.numos-case .numos-case-testimonial { background:var(--ink); border-radius:22px; padding:56px 80px; position:relative; margin-bottom:76px; }
.numos-case .numos-case-testimonial::before { content:'“'; position:absolute; left:25px; top:12px; font:800 105px/1 'Nunito',sans-serif; color:var(--mint); }
.numos-case .numos-case-testimonial blockquote p { font-size:clamp(27px,3vw,39px); line-height:1.4; color:var(--paper); letter-spacing:-.02em; }
.numos-case .numos-case-testimonial blockquote strong { color:var(--mint); font-weight:800; }
.numos-case .numos-case-testimonial figcaption, .numos-case .numos-case-testimonial figcaption b { color:var(--mint-soft); }
.numos-case .numos-case-park { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:85px; margin-bottom:80px; }
.numos-case .numos-case-park h2 { margin-bottom:25px; }
.numos-case .numos-case-park p { font-size:16px; }
.numos-case .numos-case-park .numos-case-metric { margin-top:35px; }
.numos-case .numos-case-sites h3 { font-size:20px; border-bottom:2px solid var(--ink); padding-bottom:17px; }
.numos-case .numos-case-sites ul { padding:0; margin:0; list-style:none; }
.numos-case .numos-case-sites li { position:relative; padding:17px 32px 17px 0; border-bottom:1px solid var(--line); font-size:13px; line-height:1.7; }
.numos-case .numos-case-sites li a { font-size:17px; font-weight:600; text-decoration:none; }
.numos-case .numos-case-sites li:has(a)::after { content:'↗'; position:absolute; right:3px; top:20px; color:var(--teal); pointer-events:none; }
.numos-case .numos-case-sites li a::after { content:''; position:absolute; inset:0; }
.numos-case .numos-case-sites li a:hover { text-decoration:underline; }
.numos-case .numos-case-sites li:last-child { color:var(--muted); padding-block:23px; }
.numos-case .numos-case-faq { padding:50px 0 65px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.3fr; gap:85px; }
.numos-case .numos-case-faq h2 { font-size:34px; }
.numos-case .numos-case-faq details { border-bottom:1px solid var(--line); padding:0 0 20px; margin-bottom:20px; }
.numos-case .numos-case-faq summary { cursor:pointer; min-height:48px; font:800 19px/1.5 'Nunito',sans-serif; color:var(--ink); padding:8px 26px 8px 0; }
.numos-case .numos-case-faq details > div { font-size:15px; padding-top:12px; }
.numos-case .numos-case-close { background:var(--mint-soft); padding:54px 60px; border-radius:22px; display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; margin-bottom:48px; }
.numos-case .numos-case-close h2 { font-size:37px; }
.numos-case .numos-case-close .numos-case-hl { background-image:linear-gradient(102deg,transparent 1%,var(--mint) 1.8%,var(--mint) 97.5%,transparent 98.2%); }
.numos-case .numos-case-close p { font-size:16px; }
.numos-case .numos-case-close .numos-case-actions { margin-top:20px; }
@media (max-width:1000px) {
 .numos-case .numos-case-wrap { width:calc(100% - 56px); }
 .numos-case .numos-case-cover { gap:30px; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
 .numos-case .numos-case-dossier { padding:24px; min-height:420px; }
 .numos-case .numos-case-client { grid-template-columns:160px minmax(0,1fr); gap:30px; }
 .numos-case .numos-case-client-copy { columns:auto; }
 .numos-case .numos-case-start { padding:32px; }
 .numos-case .numos-case-start-top { gap:30px; grid-template-columns:1fr 1.2fr; }
 .numos-case .numos-case-story { grid-template-columns:54px minmax(0,1fr); gap:20px; }
 .numos-case .numos-case-story-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
 .numos-case .numos-case-story-aside { display:grid; grid-template-columns:1fr 1.4fr; align-items:start; }
 .numos-case .numos-case-story-dark .numos-case-story-aside { grid-template-columns:1fr; }
 .numos-case .numos-case-results, .numos-case .numos-case-park, .numos-case .numos-case-faq { gap:36px; }
 .numos-case .numos-case-testimonial { padding:46px 54px; }
 .numos-case .numos-case-testimonial::before { left:9px; font-size:85px; }
 .numos-case .numos-case-close { padding:36px; gap:30px; grid-template-columns:1fr; }
}
@media (max-width:620px) {
 .numos-case { font-size:16px; }
 .numos-case .numos-case-wrap { width:calc(100% - 40px); }
 .numos-case .numos-case-topline { padding:22px 0 18px; font-size:12px; gap:10px; align-items:start; }
 .numos-case .numos-case-topline h1 { max-width:235px; }
 .numos-case .numos-case-cover { grid-template-columns:1fr; padding:36px 0 28px; gap:30px; }
 .numos-case .numos-case-title { font-size:42px; }
 .numos-case .numos-case-lead { font-size:16px; }
 .numos-case .numos-case-dossier { min-height:0; padding:24px; }
 .numos-case .numos-case-dossier .numos-case-metric { display:flex; align-items:center; gap:22px; padding-block:16px; }
 .numos-case .numos-case-dossier .numos-case-metric strong { font-size:88px; }
 .numos-case .numos-case-dossier .numos-case-metric span { font-size:14px; }
 .numos-case .numos-case-trust span:last-child { flex-basis:auto; }
 .numos-case .numos-case-index { column-gap:20px; }
 .numos-case .numos-case-index a { font-size:12px; }
 .numos-case .numos-case-client { grid-template-columns:1fr; gap:20px; padding:38px 0; }
 .numos-case .numos-case-client .numos-case-eyebrow { margin:0; }
 .numos-case .numos-case-start { padding:25px; margin-bottom:46px; }
 .numos-case .numos-case-start-top { grid-template-columns:1fr; gap:24px; }
 .numos-case .numos-case-start .numos-case-quote blockquote p { font-size:21px; }
 .numos-case .numos-case-section-head { margin-bottom:32px; }
 .numos-case .numos-case-story { grid-template-columns:1fr; gap:16px; padding-bottom:40px; }
 .numos-case .numos-case-number { font-size:32px; }
 .numos-case .numos-case-number::after { display:none; }
 .numos-case .numos-case-story-main { padding-top:22px; }
 .numos-case .numos-case-story h3 { font-size:28px; }
 .numos-case .numos-case-story-aside { grid-template-columns:1fr; }
 .numos-case .numos-case-metric { margin-block:6px; }
 .numos-case .numos-case-metric span { max-width:none; }
 .numos-case .numos-case-results, .numos-case .numos-case-park, .numos-case .numos-case-faq { grid-template-columns:1fr; gap:30px; }
 .numos-case .numos-case-results { padding:36px 0 42px; }
 .numos-case .numos-case-testimonial { padding:48px 25px 30px; margin-bottom:45px; }
 .numos-case .numos-case-testimonial::before { font-size:70px; top:0; left:22px; }
 .numos-case .numos-case-park { margin-bottom:42px; }
 .numos-case .numos-case-faq { padding:36px 0; }
 .numos-case .numos-case-faq h2 { font-size:30px; }
 .numos-case .numos-case-close { padding:28px 24px; gap:24px; margin-bottom:24px; }
 .numos-case .numos-case-close h2 { font-size:30px; }
}
@media print {
 .numos-case { background:white; }
 .numos-case .numos-case-wrap { width:100%; }
 .numos-case .numos-case-index { display:none; }
 .numos-case .numos-case-quote { break-inside:avoid; }
}

/* WP layout support adds is-layout-flow to core/details: cancel the blockGap margin after <summary>. */
details.wp-block-details.numos-case-faq__item > * + * { margin-block-start:0; }
