:root{--structure:#000;--clarity:#f7f7f7;--emphasis:#0f3a2c;--insight:#8a1a1a;--balance:#606060;--white:#fff;--line:#dededa;--display:"Space Grotesk", sans-serif;--body:"Inter", sans-serif;--mono:"IBM Plex Mono", monospace;--maxw:1280px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--clarity);color:var(--structure);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}@media (width<=700px){.wrap{padding:0 22px}}svg{display:block}.wordmark{align-items:center;gap:14px;display:flex}.wordmark .icon{flex-shrink:0;width:30px;height:30px}.wordmark .icon .cls-mark{fill:var(--white)}.wordmark .text{font-family:var(--display);letter-spacing:.24em;font-size:14px;font-weight:600}.wordmark.light .text{color:var(--white)}.wordmark.dark .text{color:var(--structure)}header{z-index:100;background:var(--structure);border-bottom:1px solid #ffffff14;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.navlinks{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;gap:36px;font-size:11.5px;display:flex}.navlinks a:hover{color:var(--white)}@media (width<=860px){.navlinks{display:none}}.nav-cta{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--white);border:1px solid #ffffff59;padding:10px 18px;font-size:11px;transition:all .25s}.nav-cta:hover{background:var(--insight);border-color:var(--insight)}.hero{background:var(--structure);color:var(--white);padding:100px 0 80px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:48px}}.hero-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--balance);align-items:center;gap:10px;margin-bottom:24px;font-size:11px;display:flex}.hero-eyebrow .dot{background:var(--insight);width:5px;height:5px}.hero h1{font-family:var(--display);letter-spacing:-.01em;margin-bottom:24px;font-size:clamp(32px,4.4vw,50px);font-weight:600;line-height:1.12}.hero p.lede{color:#ffffffa6;max-width:420px;margin-bottom:36px;font-size:16px}.hero-ctas{flex-wrap:wrap;gap:14px;display:flex}.btn{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:15px 24px;font-size:12px;transition:all .2s;display:inline-block}.btn-primary{background:var(--white);color:var(--structure)}.btn-primary:hover{background:var(--insight);color:var(--white)}.btn-outline{color:var(--white);border:1px solid #ffffff59}.btn-outline:hover{border-color:var(--white)}.reveal-stage{width:100%;height:auto}.reveal-dot{fill:var(--balance);opacity:.9}.reveal-line{stroke:#ffffffd9;stroke-width:1.4px;fill:none}.reveal-node{fill:var(--insight)}.reveal-logo-mark{fill:var(--white)}.reveal-logo-accent{fill:var(--insight)}section{border-bottom:1px solid var(--line);padding:96px 0;scroll-margin-top:76px}.section-head{align-items:baseline;gap:16px;margin-bottom:52px;display:flex}.section-head .idx{font-family:var(--mono);color:var(--insight);letter-spacing:.06em;font-size:11px}.section-head .rule{background:var(--line);flex:1;height:1px}.section-head .label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--balance);font-size:11px}h2.section-title{font-family:var(--display);letter-spacing:-.01em;max-width:640px;margin-bottom:20px;font-size:clamp(24px,3vw,34px);font-weight:600}.philo-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}@media (width<=900px){.philo-grid{grid-template-columns:1fr}}.philo-text p{color:#3a3a34;max-width:460px;margin-bottom:28px;font-size:15.5px}.philo-steps{flex-wrap:wrap;align-items:center;gap:0;display:flex}.philo-step{text-align:center;flex:1;min-width:70px}.philo-step svg{width:100%;max-width:76px;height:76px;margin:0 auto 10px}.philo-step .lbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--balance);font-size:9.5px}.philo-arrow{font-family:var(--mono);color:var(--line);padding:0 4px;font-size:14px}.vcm-wrap{justify-content:center;display:flex}.approach-list{border-top:1px solid var(--line)}.approach-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:50px 1fr auto;align-items:center;gap:24px;padding:26px 0;transition:background .2s;display:grid}.approach-row:hover{background:#00000005}.approach-scaffold{width:50px;height:40px}.approach-name{font-family:var(--display);font-size:21px;font-weight:600}.approach-arrow{font-family:var(--mono);color:var(--balance);font-size:14px;transition:transform .25s}.approach-row.open .approach-arrow{color:var(--insight);transform:rotate(45deg)}.approach-detail{grid-column:1/-1;max-height:0;transition:max-height .35s;overflow:hidden}.approach-row.open .approach-detail{max-height:140px;padding-top:16px}.approach-detail p{font-family:var(--mono);color:#3a3a34;max-width:560px;font-size:12px}.services-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=860px){.services-grid{grid-template-columns:repeat(2,1fr)}}.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;padding:32px 24px;transition:background .2s}.service:hover{background:var(--white)}.service svg{width:26px;height:26px;margin-bottom:18px}.service .name{margin-bottom:6px;font-size:14.5px;font-weight:600}.service .desc{font-family:var(--mono);color:var(--balance);font-size:10.5px;line-height:1.6}.service .more{font-family:var(--mono);color:#3a3a34;max-height:0;font-size:10.5px;line-height:1.7;transition:max-height .3s;overflow:hidden}.service.open .more{border-top:1px solid var(--line);max-height:200px;margin-top:14px;padding-top:14px}.dash-section{background:var(--structure);color:var(--white)}.dash-section .section-head .label,.dash-section .section-head .idx{color:#ffffff8c}.dash-section .section-head .rule{background:#ffffff24}.dash-section h2.section-title{color:var(--white)}.dash-section .philo-text-p{color:#fff9}.dash-panel{background:#0c0c0a;border:1px solid #ffffff1a;grid-template-columns:1.1fr 1fr;gap:48px;padding:36px;display:grid}@media (width<=860px){.dash-panel{grid-template-columns:1fr}}.dash-caption{font-family:var(--mono);color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px;font-size:10.5px}.metrics{flex-wrap:wrap;gap:32px;margin-bottom:32px;display:flex}.metric .n{font-family:var(--display);font-size:34px;font-weight:600}.metric .l{font-family:var(--mono);color:#ffffff73;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:9.5px}.metric-bar{background:#ffffff1f;width:100%;height:3px;margin-top:12px;position:relative}.metric-bar-fill{background:var(--insight);width:0;height:100%;transition:width 1.4s cubic-bezier(.3,.8,.3,1);position:absolute;top:0;left:0}.metric-bar-fill.green{background:var(--emphasis)}.drivers-title{font-family:var(--mono);color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:10.5px}.insights-list{border-top:1px solid var(--line)}.insight-row{border-bottom:1px solid var(--line);cursor:pointer;padding:22px 0}.insight-row-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.insight-row .num{font-family:var(--mono);color:var(--insight);flex-shrink:0;width:28px;font-size:11px}.insight-row .title{flex:1;font-size:15.5px;font-weight:500}.insight-row .meta{font-family:var(--mono);color:var(--balance);white-space:nowrap;font-size:10.5px}.insight-row .abstract{font-family:var(--mono);color:#3a3a34;max-height:0;font-size:11.5px;line-height:1.7;transition:max-height .3s;overflow:hidden}.insight-row.open .abstract{max-height:120px;padding-top:14px;padding-left:44px}.contact-section{background:var(--structure);color:var(--white);border-bottom:none}.contact-section .section-head .label,.contact-section .section-head .idx{color:#ffffff8c}.contact-section .section-head .rule{background:#ffffff24}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:56px;display:grid}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.report-cover{background:#0c0c0a;border:1px solid #ffffff1f;height:fit-content;padding:40px;position:relative}.report-cover .mark{background:var(--insight);width:10px;height:10px;margin-bottom:24px}.report-cover h3{font-family:var(--display);margin-bottom:16px;font-size:26px;font-weight:600;line-height:1.2}.report-cover p{font-family:var(--mono);color:#ffffff73;font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (width<=520px){.form-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:8px;display:flex}.field.full{grid-column:1/-1}.field label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;font-size:10px}.field input,.field select,.field textarea{color:var(--white);font-family:var(--body);background:0 0;border:none;border-bottom:1px solid #ffffff4d;padding:9px 2px;font-size:14px}.field select option{color:#000}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--insight);outline:none}.field textarea{resize:vertical;min-height:70px}.submit-btn{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--white);color:var(--structure);cursor:pointer;border:none;width:fit-content;margin-top:6px;padding:15px 24px;font-size:12px;transition:all .2s}.submit-btn:hover{background:var(--insight);color:var(--white)}.form-note{font-family:var(--mono);color:#ffffff59;margin-top:10px;font-size:10px}footer{background:var(--structure);color:var(--white);padding:56px 0 40px}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:40px;display:flex}.foot-tagline{font-family:var(--display);color:#ffffffbf;max-width:320px;font-size:15px}.foot-links{font-family:var(--mono);color:#ffffff80;gap:28px;font-size:11px;display:flex}.foot-links a:hover{color:var(--white)}.foot-bottom{font-family:var(--mono);color:#ffffff59;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:20px;font-size:10.5px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}::selection{background:var(--insight);color:var(--white)}
