:root{--bg:#f6f5f1;--surface:#fff;--surfaceAlt:#f0eeea;--border:#e0ddd6;--borderLight:#eceae4;--text:#1b1b18;--textMed:#4a4a44;--textLight:#6e6e64;--textFaint:#9a9a90;--accent:#2d7a7a;--accentHover:#236262;--accentBg:#e6f2f1;--accentSoft:#d0e8e6;--warm:#c4743a;--warmBg:#fdf3eb;--warmSoft:#f5dcc8;--green:#3a8044;--greenBg:#e8f4ea;--purple:#6b5b95;--purpleBg:#f0edf5;--purpleSoft:#d8d0e8}.serif{font-family:DM Serif Display,serif;font-weight:400}.container{max-width:940px;margin:0 auto;padding:0 28px}.hero{background:linear-gradient(180deg,#fff 0%,var(--bg)100%);border-bottom:1px solid var(--borderLight);padding:32px 0 0}.breadcrumb{color:var(--textFaint);align-items:center;gap:6px;margin-bottom:20px;font-size:12px;display:flex}.breadcrumb a{color:var(--textFaint);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--purple);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.hero-eyebrow:before{content:"";background:var(--purple);border-radius:50%;width:8px;height:8px}.hero h1{letter-spacing:-.02em;margin-bottom:16px;font-size:48px;line-height:1.08}.hero-desc{color:var(--textMed);max-width:640px;margin-bottom:28px;font-size:16px;line-height:1.75}.hero-stats{flex-wrap:wrap;gap:20px;margin-bottom:32px;display:flex}.hero-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:130px;padding:14px 18px}.hero-stat-val{color:var(--text);font-family:DM Serif Display,serif;font-size:26px;line-height:1.1}.hero-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--textLight);margin-top:2px;font-size:11px;font-weight:600}.hero-stat-sub{color:var(--textFaint);margin-top:1px;font-size:11px}.hero-map{background:var(--surface);border-top:1px solid var(--borderLight);padding:24px 0 28px}.map-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px}.map-label{color:var(--accent);margin-bottom:10px;font-size:12px;font-weight:600}.map-container{background:var(--surfaceAlt);border-radius:12px;position:relative;overflow:hidden}.map-tooltip{border:1px solid var(--border);pointer-events:none;z-index:1000;opacity:0;background:#fff;border-radius:10px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px;transition:opacity .12s;position:fixed;box-shadow:0 4px 16px #0000001f}.map-tooltip.visible{opacity:1}.map-tooltip-name{margin-bottom:3px;font-weight:600}.map-tooltip-val{color:var(--purple);font-size:16px;font-weight:700}.map-tooltip-sub{color:var(--textLight);margin-top:1px;font-size:11px}.map-toggle{flex-direction:column;align-items:center;margin-bottom:12px;display:flex}.map-toggle-group{background:var(--surfaceAlt);border:1px solid var(--border);border-radius:10px;padding:3px;display:inline-flex}.map-toggle-btn{color:var(--textLight);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.map-toggle-btn:hover{color:var(--text)}.map-toggle-btn--active{background:var(--purple);color:#fff;box-shadow:0 1px 4px #6b5b9540}.map-toggle-hint{color:var(--textFaint);margin-top:6px;font-size:11px}.map-legend{color:var(--textLight);align-items:center;gap:16px;margin-top:10px;font-size:11px;display:flex}.map-legend-bubbles{align-items:flex-end;gap:6px;display:flex}.chart-toggle{background:var(--surfaceAlt);border:1px solid var(--border);border-radius:10px;padding:3px;display:inline-flex}.chart-btn{color:var(--textLight);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.chart-btn--active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 4px #00000014}.change-badge{color:var(--green);background:var(--greenBg);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.see-all-link{color:var(--accent);margin-top:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.see-all-link:hover{text-decoration:underline}.section{padding:48px 0}.section+.section{padding-top:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px 28px}.zone-header{text-transform:uppercase;letter-spacing:.1em;border-radius:6px;margin-bottom:20px;padding:5px 14px;font-size:11px;font-weight:800;display:inline-block}.zone-header--track{background:var(--purple);color:#fff}.zone-header--roles{background:var(--accent);color:#fff}.zone-header--industry{background:var(--warm);color:#fff}.zone-header--geo{background:var(--accent);color:#fff}.zone-header--connect{background:var(--text);color:#fff}.zone-header--data{color:#fff;background:#2d6b4f}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--textFaint);margin-bottom:10px;font-size:10px;font-weight:700}.narrative{color:var(--textMed);border-left:4px solid var(--purple);font-size:15px;line-height:1.8}.narrative em{color:var(--purple);font-style:italic}.track-split{gap:16px;display:flex}.track-split .narrative{flex:2}.track-sidebar{flex-direction:column;flex:0 0 280px;gap:12px;display:flex}@media (max-width:768px){.track-split{flex-direction:column}.track-sidebar{flex:auto}}.ladder-level{margin-bottom:2px}.ladder-level-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.ladder-level-header:hover{background:var(--surfaceAlt)}.ladder-level-header:after{content:"▾";color:var(--textFaint);margin-left:auto;font-size:10px;transition:transform .2s}.ladder-level.collapsed .ladder-level-header:after{transform:rotate(-90deg)}.ladder-roles{opacity:1;flex-wrap:wrap;gap:6px;max-height:400px;padding:8px 16px 16px 98px;transition:max-height .3s,padding .3s,opacity .2s;display:flex;overflow:hidden}.ladder-level.collapsed .ladder-roles{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.ladder-level-badge{text-transform:uppercase;letter-spacing:.06em;text-align:center;border-radius:12px;min-width:70px;padding:3px 10px;font-size:10px;font-weight:700}.badge-junior,.badge-mid{background:var(--accentBg);color:var(--accent)}.badge-senior{background:var(--purpleBg);color:var(--purple)}.badge-director,.badge-vp{background:var(--warmBg);color:var(--warm)}.badge-exec{color:#fff;background:#1b1b18}.ladder-role-count{color:var(--textFaint);margin-left:auto;margin-right:8px;font-size:12px}.role-chip{background:var(--surfaceAlt);border:1px solid var(--borderLight);color:var(--textMed);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:6px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.role-chip:hover{border-color:var(--accentSoft);color:var(--accent);background:var(--accentBg)}.role-chip--linked:after{content:"→";color:var(--accent);margin-left:2px;font-size:10px}.role-chip--unlinked{color:var(--textFaint);cursor:default;border-style:dashed}.role-chip--unlinked:hover{border-color:var(--borderLight);color:var(--textFaint);background:var(--surfaceAlt)}.smart-link-pending{cursor:default;opacity:.7}.smart-link-pending.role-chip{border-style:dashed}.smart-link-pending.role-chip:after{content:none}.smart-link-pending.pill-link--metro{border-style:dashed}.smart-link-pending.pill-link--metro:hover{background:var(--accentBg);color:var(--accent)}.smart-link-pending.industry-card{border-style:dashed}.smart-link-pending.industry-card:hover{border-color:var(--border);box-shadow:none}.smart-link-pending.industry-pill{border-style:dashed}.smart-link-pending.industry-pill:hover{background:var(--warmBg);color:var(--warm)}.smart-link-pending.adj-card{border-style:dashed}.smart-link-pending.adj-card:hover{background:var(--purpleBg)}.smart-link-pending.adj-card:hover .adj-name{color:var(--purple)}.smart-link-pending.adj-card:hover .adj-why{color:var(--textLight)}.smart-link-pending.adj-card:hover .adj-count{color:var(--textFaint)}.smart-link-pending.featured-role{border-style:dashed}.smart-link-pending.featured-role:hover{border-color:var(--borderLight);background:var(--surfaceAlt)}.featured-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.featured-role{background:var(--surfaceAlt);border:1px solid var(--borderLight);border-radius:12px;padding:16px 20px;text-decoration:none;transition:all .15s;display:block}.featured-role:hover{border-color:var(--accentSoft);background:var(--accentBg)}.featured-role-title{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.featured-role-oneliner{color:var(--textLight);font-size:12px;line-height:1.5}.featured-role-meta{gap:12px;margin-top:8px;font-size:11px;display:flex}.featured-role-salary{color:var(--accent);font-weight:600}.featured-role-level{color:var(--textFaint)}.industry-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.industry-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 24px;text-decoration:none;transition:all .15s;display:block;position:relative}.industry-card:hover{border-color:var(--warmSoft);box-shadow:0 2px 12px #c4743a14}.industry-card-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.industry-card-name{color:var(--text);font-size:16px;font-weight:600}.industry-card-pct{color:var(--warm);font-family:DM Serif Display,serif;font-size:20px}.industry-card-desc{color:var(--textLight);margin-bottom:10px;font-size:13px;line-height:1.6}.industry-card-roles{color:var(--textFaint);margin-bottom:10px;font-size:11px}.industry-card-salary{border-top:1px solid var(--borderLight);margin-top:10px;padding-top:10px}.industry-card-salary-val{color:var(--text);font-family:DM Serif Display,serif;font-size:17px;line-height:1}.industry-card-salary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--textFaint);margin-top:2px;font-size:10px;font-weight:600}.industry-card-roles span{color:var(--textMed);font-weight:500}.industry-card-samples{color:var(--textLight);margin-top:6px;font-size:11px;line-height:1.4}.industry-card-common-roles{color:var(--textLight);margin-bottom:12px;font-size:12px;line-height:1.5}.industry-card-common-label{color:var(--textMed);font-weight:600}.industry-remaining{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.industry-pill{background:var(--warmBg);color:var(--warm);border:1px solid var(--warmSoft);border-radius:24px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.industry-pill:hover{background:var(--warm);color:#fff}.industry-pill-pct{opacity:.7;font-size:11px}.pill-grid{flex-wrap:wrap;gap:8px;display:flex}.pill-link{border-radius:24px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.pill-link--metro{background:var(--accentBg);color:var(--accent);border:1px solid var(--accentSoft)}.pill-link--metro:hover{background:var(--accent);color:#fff}.pill-jobs{opacity:.7;font-size:11px}.adj-card{background:var(--purpleBg);border:1px solid var(--purpleSoft);border-radius:12px;padding:16px 20px;text-decoration:none;transition:all .15s;display:block}.adj-card:hover{background:var(--purple)}.adj-card:hover .adj-name{color:#fff}.adj-card:hover .adj-why{color:#ffffffb3}.adj-card:hover .adj-count{color:#ffffff80}.adj-name{color:var(--purple);margin-bottom:4px;font-size:15px;font-weight:600;transition:color .15s}.adj-why{color:var(--textLight);font-size:12px;line-height:1.5;transition:color .15s}.adj-count{color:var(--textFaint);margin-top:6px;font-size:11px;transition:color .15s}.skills-row{flex-wrap:wrap;gap:10px;display:flex}.skill-pill{background:var(--surface);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:8px 14px;display:flex}.skill-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skill-name{color:var(--text);font-size:13px;font-weight:500}.xfunc-item{background:var(--surfaceAlt);border:1px solid var(--borderLight);border-radius:10px;padding:14px 18px}.xfunc-track{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:600}.xfunc-track a{color:var(--purple);text-decoration:none}.xfunc-track a:hover{text-decoration:underline}.xfunc-how{color:var(--textLight);font-size:12px;line-height:1.5}.salary-wedge-layout{gap:20px;display:flex}.salary-wedge-main{flex:2}.salary-wedge-sidebar{flex-direction:column;flex:1;gap:12px;display:flex}.salary-wedge-legend{color:var(--textLight);gap:16px;margin-top:10px;font-size:11px;display:flex}.salary-wedge-legend-item{align-items:center;gap:6px;display:flex}.salary-wedge-legend-dot{border-radius:50%;width:10px;height:10px}.metro-sidebar-list--warm{background:var(--warmBg);border-color:var(--warmSoft)}.metro-sidebar-header--warm{color:var(--warm)}.metro-sidebar-item{border-bottom:1px solid var(--borderLight);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.metro-sidebar-item:last-child{border-bottom:none}.metro-sidebar-name{color:var(--text);font-size:13px}.metro-sidebar-list{background:var(--accentBg);border:1px solid var(--accentSoft);border-radius:10px;padding:14px 16px}.metro-sidebar-header{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:10px;font-size:10px;font-weight:600}.metro-sidebar-item{justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.metro-sidebar-item:not(:last-child){border-bottom:1px solid #2d7a7a1a}.metro-sidebar-name{color:var(--textMed);font-size:13px;font-weight:500}.metro-sidebar-item:first-child .metro-sidebar-name{color:var(--text);font-weight:600}.metro-sidebar-value{color:var(--accent);font-size:12px;font-weight:600}.mid-cta{background:linear-gradient(135deg,var(--accentBg)0%,#f0f7f6 100%);border:1px solid var(--accentSoft);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:32px 0;padding:20px 28px;display:flex}.mid-cta-text{color:var(--textMed);font-size:14px;line-height:1.5}.mid-cta-text strong{color:var(--accent);font-weight:600}.mid-cta-link{color:var(--accent);background:var(--surface);border:1px solid var(--accentSoft);border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.mid-cta-link:hover{background:var(--accent);color:#fff}.split{gap:16px;display:flex}.split>*{flex:1}@media (max-width:768px){.split{flex-direction:column}.featured-grid,.industry-grid{grid-template-columns:1fr}.mid-cta{text-align:center;flex-direction:column}.salary-wedge-layout{flex-direction:column}}.source-note{color:var(--textFaint);align-items:center;gap:4px;margin-top:12px;font-size:11px;display:flex}.source-dot{background:var(--textFaint);border-radius:50%;flex-shrink:0;width:4px;height:4px}.footnote-marker{color:var(--textFaint);margin-left:1px;font-size:9px;text-decoration:none}.footnotes{border-top:1px solid var(--borderLight);margin-top:20px;padding-top:16px}.footnote{color:var(--textFaint);margin-bottom:6px;font-size:11px;line-height:1.6}.footnote sup{color:var(--textLight);margin-right:4px;font-size:9px}.cta{background:var(--accent);text-align:center;border-radius:16px;margin-top:48px;padding:48px 28px}.cta h3{color:#fff;margin-bottom:10px;font-size:32px}.cta p{color:#ffffffb3;margin-bottom:24px;font-size:15px}.cta-btn{color:var(--accent);background:#fff;border-radius:10px;padding:14px 32px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.attribution{border-top:1px solid var(--border);color:var(--textFaint);margin-top:40px;padding:24px 0;font-size:12px;line-height:1.7}.attribution strong{color:var(--textLight);font-weight:600}.historical-grid{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.historical-item{background:var(--surfaceAlt);border:1px solid var(--borderLight);border-radius:12px;flex:none;min-width:140px;padding:16px 20px}.historical-year{color:var(--text);border-bottom:1px solid var(--borderLight);margin-bottom:12px;padding-bottom:8px;font-family:DM Serif Display,serif;font-size:20px}.historical-stats{flex-direction:column;gap:10px;display:flex}.historical-stat{flex-direction:column;gap:2px;display:flex}.historical-label{text-transform:uppercase;letter-spacing:.05em;color:var(--textFaint);font-size:10px;font-weight:600}.historical-value{color:var(--text);font-size:15px;font-weight:600}.historical-change{font-size:11px;font-weight:500}.historical-change.positive{color:var(--green)}.historical-change.negative{color:#b85450}
