/* Consistency Lab: adapted from the PermaResilience chapter-based case study. */
.page-consistency-lab { --cl-green:#087943; --cl-bright:#26df83; --cl-pink:#e90069; background:#fff; }
.cl-page { color:#14251d; background:#fff; overflow:clip; }
.cl-page .shell { max-width:1280px; }
.cl-page p { line-height:1.7; }
.cl-page figure { margin:0; }
.cl-page img { display:block; width:100%; height:auto; }
.cl-page h1,.cl-page h2,.cl-page h3 { letter-spacing:-.055em; }
.cl-page h2 { font-size:clamp(36px,4.2vw,58px); line-height:1.08; }
.cl-page h3 { font-size:28px; line-height:1.15; }
.cl-page em { color:var(--cl-green); font-style:normal; }
.cl-kicker { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin:0 0 22px; color:var(--cl-green); }
.cl-hero { padding:42px 0 0; position:relative; background:radial-gradient(ellipse at 84% 52%,#dff9ec,transparent 43%),#fff; }
.cl-hero-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:34px; border-bottom:1px solid #dce5df; }
.cl-hero-top p { margin:0; }.cl-kicker span { color:#5e6b64; margin-left:12px; }.cl-edition { font-size:10px; letter-spacing:.13em; color:#61736a; }
.cl-hero-layout { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:25px; padding:35px 0 50px; }
.cl-brand-name { font-size:17px; font-weight:700; letter-spacing:-.03em; margin:0 0 20px; }.cl-brand-name span { font-size:10px; vertical-align:top; margin-left:3px; }
.cl-hero h1 { font-size:clamp(45px,5.2vw,74px); line-height:1.01; }
.cl-lede { max-width:505px; font-size:18px; color:#53625b; margin:26px 0; }
.cl-button { background:var(--cl-pink); color:white; border-radius:3px; min-height:54px; padding:14px 24px; font-size:14px; }.cl-button span { margin-left:16px; font-size:23px; }
.cl-hero-art { position:relative; padding:25px 0 70px 24px; }
.cl-site-preview { width:76%; margin-left:auto!important; transform:rotate(3deg); border:1px solid #d6dfd9; border-radius:7px; overflow:hidden; box-shadow:0 20px 55px #1936261c; }
.cl-app-preview { position:relative; width:100%; margin-top:-110px!important; margin-left:-10px!important; transform:rotate(-3deg); border:6px solid #15271e; border-radius:9px; box-shadow:0 28px 50px #1638242a; }
.cl-app-preview img { border-radius:0 0 3px 3px; }.cl-browser-bar { display:flex; align-items:center; gap:5px; background:#15231c; color:#d6e5db; padding:11px 12px; font-size:8px; letter-spacing:.1em; }.cl-browser-bar i { width:5px; height:5px; border-radius:50%; background:#638471; }.cl-browser-bar span { margin-left:8px; }
.cl-grade-sticker { position:absolute; right:0; bottom:13px; background:var(--cl-bright); display:flex; align-items:center; gap:15px; padding:18px 22px; box-shadow:6px 6px 0 #163626; transform:rotate(2deg); }.cl-grade-sticker strong { font:700 46px 'Space Grotesk',sans-serif; }.cl-grade-sticker span { font-size:12px; line-height:1.5; font-weight:700; }.cl-grade-sticker b { font-size:30px; }
.cl-orbit { position:absolute; left:18px; top:5px; color:var(--cl-pink); font-size:76px; font-weight:400; line-height:1; }
.cl-facts { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d8e3dc; padding:28px 0; gap:25px; }.cl-facts span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.13em; color:#66756c; margin-bottom:8px; }.cl-facts strong { font-size:15px; }
.cl-chapters { border-block:1px solid #dce5df; background:#fff; }.cl-chapters .shell { display:flex; gap:26px; align-items:center; overflow-x:auto; padding-block:20px; white-space:nowrap; }.cl-chapters span { color:var(--cl-green); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:700; margin-right:auto; }.cl-chapters a { font-size:12px; font-weight:600; }.cl-chapters a:hover { color:var(--cl-pink); }
.cl-section { padding:100px 0; scroll-margin-top:20px; }.cl-reading { display:grid; grid-template-columns:.95fr 1.05fr; gap:100px; }.cl-prose { color:#526158; font-size:17px; }.cl-prose>p:first-child { margin-top:0; }.cl-prose strong { color:#163225; }.cl-prose .cl-large { font-size:23px; line-height:1.55; letter-spacing:-.02em; color:#233d2f; }.cl-prose p:last-child { margin-bottom:0; }
.cl-loop { margin-top:60px; border:1px solid #ebcfdc; padding:30px; background:#fff8fb; }.cl-loop .cl-kicker { color:#b0125b; }.cl-loop ol { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; gap:30px; margin:0; }.cl-loop li { position:relative; }.cl-loop b { color:#b0125b; font-size:11px; display:block; margin-bottom:14px; }.cl-loop strong { display:block; font-size:16px; }.cl-loop li>span { display:block; font-size:13px; color:#79616d; line-height:1.6; margin-top:7px; }.cl-loop li:not(:last-child)::after { content:'→'; position:absolute; right:0; top:0; color:#b0125b; }
.cl-tinted { background:#f2f7f3; }.cl-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; align-items:end; margin-bottom:50px; }.cl-heading>p { color:#58665e; font-size:18px; margin:0 0 3px; }
.cl-comparison { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.cl-comparison article { border:1px solid #d6e1d9; padding:38px; background:white; }.cl-comparison .cl-process-card { background:#132a1e; color:#fff; border-color:#132a1e; }.cl-process-card .cl-kicker { color:#61e399; }.cl-comparison h3 { font-size:32px; margin-bottom:25px; }.cl-example { border-top:1px solid #dce4df; padding:20px 0; display:flex; flex-direction:column; gap:12px; }.cl-example>span { font-size:15px; }.cl-example strong { font-size:10px; letter-spacing:.1em; padding:7px 10px; align-self:flex-start; }.cl-negative { color:#a30c4c; background:#ffe5f0; }.cl-positive { color:#086d39; background:#d4fae4; }.cl-process-card .cl-example { border-color:#355140; }.cl-comparison article>p:last-child { font-size:14px; margin-bottom:0; }.cl-caption { font-size:11px; color:#64736a; }.cl-thesis { display:flex; gap:28px; max-width:930px; margin-top:40px; }.cl-thesis>span { font-size:55px; color:var(--cl-pink); }.cl-thesis p { font-size:22px; letter-spacing:-.02em; margin:0; }
.cl-design-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }.cl-icon { display:grid; width:50px; height:50px; background:#dcfae9; color:var(--cl-green); place-items:center; font-size:28px; margin-bottom:27px; border:1px solid #a4d9b9; }.cl-design-grid p { color:#5a685f; font-size:16px; }.cl-rhythm { margin-top:40px; padding-top:25px; border-top:1px solid #dce5df; display:flex; justify-content:space-between; gap:15px; font-size:10px; font-weight:700; letter-spacing:.06em; }.cl-rhythm b { color:var(--cl-pink); }
.cl-product { background:#f0f5f2; }.cl-main-screen { border:1px solid #c6d7cd; border-radius:8px; overflow:hidden; box-shadow:0 20px 45px #25433114; }.cl-main-screen .cl-browser-bar { padding:17px; }.cl-main-screen figcaption { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; padding:26px 30px; background:#fff; }.cl-main-screen figcaption strong { font-size:22px; letter-spacing:-.03em; }.cl-main-screen figcaption span { color:#627067; font-size:14px; line-height:1.7; }
a[data-cl-image] { display:block; cursor:zoom-in; }.cl-page a:focus-visible,.cl-lightbox button:focus-visible { outline:3px solid #df0865; outline-offset:5px; }
.cl-feature-row { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; margin-top:100px; }.cl-feature-row h3 { font-size:37px; }.cl-feature-row p:not(.cl-kicker) { color:#5b695f; font-size:16px; }.cl-feature-row .cl-feature-takeaway { color:#0b6537!important; font-weight:700; border-left:3px solid #12bf69; padding-left:18px; }.cl-feature-row figure img,.cl-detail-grid img { border:5px solid #15231c; border-radius:6px; }.cl-feature-row figcaption { color:#627368; font-size:11px; margin-top:12px; }.cl-reverse { grid-template-columns:1.2fr .8fr; }.cl-reverse>div { order:2; }.cl-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:70px; }.cl-detail-grid figcaption { color:#5a6b60; font-size:14px; line-height:1.6; padding-top:20px; }.cl-detail-grid figcaption strong { display:block; font-size:20px; margin-bottom:8px; color:#193325; }
.cl-outcomes { display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; border-block:1px solid #dae3dd; }.cl-outcomes article { padding:30px; border-right:1px solid #dae3dd; }.cl-outcomes article:first-child { padding-left:0; }.cl-outcomes article:last-child { border:0; }.cl-outcomes span { color:var(--cl-green); font-size:11px; }.cl-outcomes h3 { margin-top:18px; font-size:25px; }.cl-outcomes p { font-size:14px; color:#637066; margin-bottom:0; }
.cl-role-note { border-top:1px solid #cddcd2; margin-top:35px; padding-top:20px; color:var(--cl-green); font-size:13px; }.cl-skills { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }.cl-skills span { padding:9px 13px; background:#fff; border:1px solid #d4e1d8; font-size:11px; color:#366046; }
.cl-impact { text-align:center; }.cl-impact h2 { max-width:1000px; margin:auto; }.cl-hiring-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; text-align:left; margin-top:55px; }.cl-hiring-grid article { border-top:3px solid #21b96b; padding-top:23px; }.cl-hiring-grid article:nth-child(2) { border-color:var(--cl-pink); }.cl-hiring-grid span { font-size:20px; font-weight:700; }.cl-hiring-grid p { color:#5d6d62; font-size:16px; }
.cl-final { background:#11291d; color:#fff; padding:95px 0; }.cl-final h2 { font-size:clamp(46px,5vw,68px); }.cl-final em,.cl-final .cl-kicker { color:#60eaa0; }.cl-final .cl-prose { color:#bfcec4; }.cl-final .cl-large { color:#f5fff8; }.cl-final .cl-button { margin-top:15px; }.cl-employer-link { display:block; font-size:13px; margin-top:24px; color:#a0eebc; }
.page-consistency-lab .nav-dropdown.is-current .nav-dropdown-toggle { color:#60eaa0; }
.cl-lightbox { border:1px solid #445c4c; border-radius:8px; padding:56px 15px 10px; background:#101c15; color:white; width:min(1450px,96vw); max-height:94vh; }.cl-lightbox::backdrop { background:#06100be8; }.cl-lightbox img { display:block; width:100%; max-height:76vh; object-fit:contain; }.cl-lightbox button { position:absolute; top:10px; right:15px; background:white; color:#153523; padding:9px 16px; border:0; border-radius:3px; cursor:pointer; }.cl-lightbox p { text-align:center; font-size:11px; }
@media(min-width:1600px) { .cl-hero-layout { padding-block:80px; } }
@media(max-width:1000px) { .cl-reading,.cl-heading { gap:45px; }.cl-hero-layout { gap:10px; }.cl-hero h1 { font-size:53px; }.cl-chapters .shell { gap:22px; }.cl-design-grid { gap:25px; }.cl-feature-row { gap:35px; }.cl-comparison article { padding:28px; }.cl-edition { display:none; } }
@media(max-width:760px) { .cl-hero-layout,.cl-reading,.cl-heading,.cl-feature-row,.cl-reverse { grid-template-columns:1fr; }.cl-hero-layout { padding-block:38px 40px; }.cl-hero h1 { font-size:clamp(44px,9.5vw,65px); }.cl-hero-art { margin-top:35px; padding-left:14px; }.cl-hero-copy .cl-lede { max-width:600px; }.cl-hero-top { padding-bottom:23px; }.cl-facts { grid-template-columns:1fr 1fr; gap:25px 14px; }.cl-facts strong { font-size:13px; }.cl-section { padding:65px 0; }.cl-reading,.cl-heading { gap:30px; }.cl-loop { padding:25px; margin-top:35px; }.cl-loop ol { grid-template-columns:1fr 1fr; }.cl-loop li:nth-child(2)::after { display:none; }.cl-comparison,.cl-detail-grid { grid-template-columns:1fr; }.cl-design-grid { grid-template-columns:1fr; gap:25px; }.cl-design-grid article { display:grid; grid-template-columns:50px 1fr; column-gap:20px; }.cl-design-grid .cl-icon { grid-row:span 2; }.cl-design-grid p { margin-top:12px; }.cl-design-grid h3 { font-size:25px; }.cl-rhythm { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }.cl-rhythm b:nth-child(4) { display:none; }.cl-main-screen figcaption { grid-template-columns:1fr; gap:12px; padding:22px; }.cl-feature-row { margin-top:55px; }.cl-reverse>div { order:0; }.cl-outcomes,.cl-hiring-grid { grid-template-columns:1fr; }.cl-outcomes article,.cl-outcomes article:first-child { padding:25px 0; border:0; border-bottom:1px solid #dae3dd; }.cl-hiring-grid { gap:25px; margin-top:35px; }.cl-final { padding:65px 0; }.cl-impact { text-align:left; }.cl-thesis { gap:15px; }.cl-thesis p { font-size:19px; }.cl-prose .cl-large { font-size:21px; }.cl-kicker { font-size:10px; }.cl-kicker span { margin-left:6px; }.cl-grade-sticker { padding:13px 16px; }.cl-grade-sticker strong { font-size:36px; }.cl-grade-sticker span { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .cl-page * { scroll-behavior:auto; } }
@media(max-width:760px) { .cl-app-preview { margin-top:-40px!important; } }

/* Stronger chapter contrast and explicit capability showcase. */
.page-consistency-lab { --cl-bright:#17c75e; --cl-pink:#f60768; --cl-dark:#101513; }
.cl-facts { position:relative; isolation:isolate; border:0; padding-block:34px; color:#fff; }
.cl-facts::before { content:''; position:absolute; inset:0 calc((100vw - 100%)/-2); background:var(--cl-dark); z-index:-1; }
.cl-facts span { color:var(--cl-bright); }
.cl-chapters { background:var(--cl-dark); color:#fff; border-color:#344139; }
.cl-chapters .shell>span { color:var(--cl-bright); }
.cl-chapters a { color:#d8e1dc; }
.cl-chapters a:hover { color:#ff5b9e; }
.cl-loop { background:#ffe1ee; border:1px solid #ff93be; border-top:4px solid var(--cl-pink); box-shadow:0 14px 35px #f607680b; }
.cl-loop .cl-kicker,.cl-loop b,.cl-loop li:not(:last-child)::after { color:#df0059; }
.cl-loop li>span { color:#714356; }
#product { background:var(--cl-dark); color:#fff; }
#product .cl-heading .cl-kicker,#product h2 em { color:var(--cl-bright); }
#product .cl-heading>p,#product .cl-caption { color:#b7c5bd; }
#product .cl-outcome-card { color:#14251d; background:#f8faf9; }
#product .cl-process-card { background:#193025; border:1px solid #17c75e; }
#product .cl-process-card .cl-kicker { color:var(--cl-bright); }
#product .cl-thesis { border-top:1px solid #35453c; padding-top:30px; color:#d4dfd8; }
#product .cl-thesis strong { color:#fff; }
.cl-icon { background:var(--cl-bright); border-color:var(--cl-bright); color:#10281a; }
.cl-rhythm { background:var(--cl-dark); border:0; padding:32px; color:#fff; font-size:12px; line-height:1.6; gap:22px; }
.cl-rhythm b { font-size:24px; color:#ff4b97; }
.cl-role { background:#fff0f6; border-block:1px solid #f6d4e2; }
.cl-role-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:start; }
.cl-role-intro { grid-column:2; grid-row:1; position:sticky; top:150px; }
.cl-role-intro h2 em { color:#c90050; }
.cl-role-intro .cl-kicker { color:#c90050; }
.cl-role-intro>p { color:#694957; font-size:17px; }
.cl-role-intro .cl-large { color:#38232c; font-size:22px; line-height:1.55; margin-top:28px; }
.cl-role-intro .cl-role-note { border-color:#e8b8cd; color:#a81551; font-size:13px; }
.cl-capabilities { grid-column:1; grid-row:1; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.cl-capabilities article { background:#fff; border:1px solid #efd0de; padding:26px; border-top:3px solid var(--cl-pink); }
.cl-capabilities article>span { color:#b9084e; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cl-capabilities h3 { font-size:26px; margin-top:14px; }
.cl-capabilities p { font-size:14px; color:#67545d; margin-bottom:0; }
.cl-capabilities .cl-capability-launch { grid-column:1/-1; background:var(--cl-dark); border-color:var(--cl-dark); border-top-color:var(--cl-bright); color:#fff; }
.cl-capability-launch>span { color:var(--cl-bright)!important; }
.cl-capability-launch p { color:#bdccc3; }
@media(max-width:1000px) { .cl-role-layout { gap:35px; }.cl-capabilities article { padding:21px; }.cl-capabilities h3 { font-size:23px; }.cl-rhythm { gap:13px; font-size:10px; } }
@media(max-width:760px) { .cl-role-layout { grid-template-columns:1fr; gap:30px; }.cl-role-intro { position:static; grid-column:1; grid-row:1; }.cl-capabilities { grid-column:1; grid-row:2; }.cl-rhythm { padding:24px; grid-template-columns:1fr; text-align:center; font-size:12px; gap:10px; }.cl-rhythm b { transform:rotate(90deg); }.cl-rhythm b:nth-child(4) { display:block; } }
@media(max-width:480px) { .cl-capabilities { grid-template-columns:1fr; }.cl-capabilities h3 { font-size:27px; } }

.cl-page .cl-traditional-calendar { margin-top:55px; }
.cl-traditional-calendar figcaption { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:40px; margin-bottom:24px; }
.cl-traditional-calendar .cl-kicker { color:#d00056; margin-bottom:12px; }
.cl-traditional-calendar figcaption>p { color:#58655e; font-size:15px; margin:0; }
.cl-traditional-calendar img { border:7px solid #171b19; border-radius:5px; }
.cl-calendar-note { display:flex; gap:14px; align-items:center; color:#615059; font-size:14px; margin-top:15px; }
.cl-calendar-note span { color:var(--cl-pink); font-size:28px; }
@media(max-width:760px) { .cl-traditional-calendar figcaption { grid-template-columns:1fr; gap:15px; }.cl-calendar-note { align-items:flex-start; }.cl-traditional-calendar img { border-width:3px; } }

/* Product links and final visual refinements. */
.cl-thesis { max-width:none; width:100%; }
.cl-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cl-website-button { background:#101513; color:#fff; border-radius:3px; min-height:54px; padding:14px 24px; font-size:14px; }
.cl-website-button span { font-size:23px; margin-left:16px; }
.cl-product-action { display:flex; justify-content:center; margin-top:48px; }
.cl-rhythm { align-items:center; }
.cl-rhythm b { display:flex; align-items:center; justify-content:center; line-height:1; }
.cl-page .cl-trader-illustration { max-width:790px; margin:30px auto 0; }
.cl-trader-illustration img { opacity:.78; }
.cl-impact .cl-hiring-grid { margin-top:25px; }
@media(max-width:760px) { .cl-page .cl-trader-illustration { margin-top:20px; }.cl-impact .cl-hiring-grid { margin-top:30px; } }

.cl-page .cl-trader-illustration { max-width:1000px; margin-top:40px; }
.cl-trader-illustration img { opacity:1; border-radius:5px; }
.cl-impact .cl-hiring-grid { margin-top:45px; }

/* Quiet photographic accent, fading into the surrounding page. */
.cl-impact-intro { position:relative; min-height:250px; padding:24px 275px 24px 0; text-align:left; display:flex; flex-direction:column; justify-content:center; }
.cl-impact-intro h2 { margin:0; font-size:clamp(34px,3.8vw,52px); }
.cl-page .cl-impact-intro .cl-trader-illustration { position:absolute; right:0; top:50%; transform:translateY(-50%); width:290px; height:245px; margin:0; max-width:none; pointer-events:none; opacity:.42; mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 25%,transparent 100%); -webkit-mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 25%,transparent 100%); }
.cl-impact-intro .cl-trader-illustration img { height:100%; width:100%; object-fit:cover; object-position:34% 52%; border-radius:0; }
@media(max-width:760px) { .cl-impact-intro { padding:0; min-height:0; }.cl-page .cl-impact-intro .cl-trader-illustration { position:relative; top:auto; right:auto; transform:none; width:210px; height:170px; margin:10px 0 -20px auto; } }

/* Reference-based office image: quiet accent with directional white fades. */
.cl-impact-intro { padding-right:420px; min-height:310px; }
.cl-page .cl-impact-intro .cl-trader-illustration { width:450px; height:280px; opacity:.75; mask-image:linear-gradient(to bottom,#000 80%,transparent 100%); -webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%); }
.cl-impact-intro .cl-trader-illustration img { object-fit:contain; object-position:center; }
@media(max-width:1000px) and (min-width:761px) { .cl-impact-intro { padding-right:330px; }.cl-page .cl-impact-intro .cl-trader-illustration { width:350px; height:240px; } }
@media(max-width:760px) { .cl-impact-intro { padding:0; min-height:0; }.cl-page .cl-impact-intro .cl-trader-illustration { width:min(380px,100%); height:auto; aspect-ratio:1672/941; margin:12px 0 -15px auto; } }

.cl-page .cl-impact-intro .cl-trader-illustration { opacity:1; }

/* Vector arrows retain their appearance on iOS and other platforms. */
.cl-arrow-svg { display:inline-block; width:1em; height:1em; vertical-align:middle; flex-shrink:0; }
.cl-button>span,.cl-website-button>span { display:inline-flex; align-items:center; }
