/* thauzer.tech — semantic tokens, components and responsive states. */
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-size: 16px;
}
a {
  color: inherit;
  text-decoration: none;
}
button,select {
  font: inherit;
}
button,a,select,summary {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a,button,select,summary {
  touch-action: manipulation;
}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 5px;
}
::selection {
  background: var(--green);
  color: var(--bg);
}
.wrap {
  margin: auto;
}
.skip-link {
  position: fixed;
  left: 15px;
  top: -100px;
  background: var(--green);
  color: var(--bg);
  padding: 10px 20px;
}
.skip-link:focus {
  top: 10px;
}
.site-header {
  border-bottom: 1px solid var(--border);
}
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.brand {
  display: flex;
  align-items: center;
}
.brand-mark {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.nav-links {
  display: flex;
  align-items: center;
}
.nav-links a:hover {
  color: var(--green);
}
.nav-links .nav-contact {
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
}
.menu-toggle {
  display: none;
  color: var(--text);
  background: none;
  border: 1px solid var(--border);
}
.eyebrow {
  margin: 0 0 24px;
}
.small-line {
  display: inline-block;
  width: 26px;
  height: 1px;
  background: var(--green);
  vertical-align: middle;
  margin-right: 10px;
}
.hero h1>span {
  color: var(--green);
}
.period {
  color: var(--text);
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.primary {
  border: 1px solid var(--green);
}
.secondary {
  border: 1px solid #465157;
  background: transparent;
}
.hero-location {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 30px 0 0;
}
.hero-location svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.hero-location>span {
  padding-left: 13px;
  margin-left: 7px;
  border-left: 1px solid var(--border);
}
.visual-top {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.mono {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.2px;
}
.visual-index {
  font-size: 12px;
  font-family: var(--mono);
  color: var(--muted);
}
.flow-row {
  display: flex;
  align-items: center;
  padding: 27px 24px;
  gap: 18px;
  border-bottom: 1px solid var(--border);
}
.flow-number {
  font-family: var(--mono);
  font-size: 13px;
  align-self: flex-start;
  color: #b1f76a90;
  padding-top: 2px;
}
.flow-caption {
  font-size: 11px;
  color: var(--green);
  font-family: var(--mono);
  letter-spacing: 1.7px;
}
.flow-row h2 {
  font-size: 18px;
  letter-spacing: -.3px;
  margin: 5px 0;
  font-weight: 550;
}
.flow-row p {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
}
.flow-symbol {
  font-family: var(--mono);
  color: var(--green);
  margin-left: auto;
  font-size: 25px;
}
.visual-bottom {
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}
.visual-bottom>span {
  font-size: 10px;
  font-family: var(--mono);
  color: var(--muted);
  max-width: 180px;
  letter-spacing: 1.4px;
}
.signal-bars {
  display: flex;
  gap: 4px;
  align-items: end;
  height: 35px;
}
.signal-bars i {
  display: block;
  width: 5px;
  background: var(--green);
  height: 14px;
  opacity: .7;
}
.signal-bars i:nth-child(3n) {
  height: 24px;
}
.signal-bars i:nth-child(2n) {
  height: 18px;
}
.signal-bars i:nth-child(5n) {
  height: 35px;
}
.signal-bars i:last-child {
  height: 30px;
}
.skills-strip>.wrap {
  align-items: center;
  flex-wrap: wrap;
  color: #c2cbcc;
  font-weight: 550;
  font-size: 15px;
}
.skills-strip .strip-label {
  font-family: var(--mono);
  font-weight: 400;
  letter-spacing: 1.5px;
  border-right: 1px solid var(--border);
}
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
h2 {
  margin: 0;
}
.demo-notice {
  background: #141b17;
  border: 1px solid #31412c;
  padding: 14px 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  border-radius: 5px;
  margin-bottom: 26px;
  color: #bdc8b7;
  font-size: 14px;
}
.demo-notice p {
  margin: 0;
  line-height: 1.6;
}
.demo-notice strong {
  color: #e0e9d9;
  font-weight: 550;
}
.notice-icon {
  flex-shrink: 0;
  border: 1px solid #78966a;
  color: var(--green);
  width: 19px;
  height: 19px;
  border-radius: 50%;
  text-align: center;
  line-height: 18px;
  font-size: 12px;
  font-family: var(--mono);
}
.case-tabs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-bottom: 22px;
}
.case-tabs button {
  display: flex;
  align-items: center;
  text-align: left;
  gap: 15px;
  background: var(--surface);
  color: var(--muted);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 17px 18px;
  transition: background .2s,border-color .2s;
}
.case-tabs button:hover {
  border-color: #5d7160;
}
.case-tabs button[aria-selected=true] {
  background: #1b2618;
  border-color: #779f54;
  color: var(--text);
}
.tab-number {
  font-size: 23px;
  color: #728076;
  font-family: var(--mono);
  font-weight: 400;
}
.case-tabs button[aria-selected=true] .tab-number {
  color: var(--green);
}
.case-tabs button>span:nth-child(2) {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.case-tabs small {
  font-size: 12px;
  display: block;
  font-weight: 400;
  color: var(--muted);
  margin-top: 3px;
}
.tab-arrow {
  margin-left: auto;
  color: var(--muted);
}
.case-tabs button[aria-selected=true] .tab-arrow {
  color: var(--green);
}
.case-panel {
  border: 1px solid var(--border);
  overflow: hidden;
  min-height: 580px;
}
.case-header {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: flex-start;
  border-bottom: 1px solid var(--border);
}
.case-caption {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  font-family: var(--mono);
  margin-bottom: 10px;
}
.demo-badge {
  border: 1px solid #465435;
  padding: 3px 7px;
  font-size: 11px;
  border-radius: 3px;
}
.case-header h3 {
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 10px;
}
.case-header p {
  font-size: 15px;
  color: var(--muted);
  margin: 0;
  max-width: 655px;
}
.filter-label {
  font-size: 12px;
  color: var(--muted);
  display: block;
  margin-bottom: 6px;
}
select {
  background: #0b1114;
  color: var(--text);
  border: 1px solid #465157;
  border-radius: 4px;
  padding: 10px 35px 10px 12px;
  min-width: 150px;
  font-size: 14px;
  max-width: 100%;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-bottom: 1px solid var(--border);
  gap: 22px;
}
.metric:not(:last-child) {
  border-right: 1px solid var(--border);
  padding-right: 15px;
}
.metric-label {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 5px;
}
.metric-value {
  font-size: 31px;
  letter-spacing: -1.3px;
  font-weight: 650;
  line-height: 1.35;
  color: var(--text);
  margin: 0;
}
.metric:first-child .metric-value {
  color: var(--green);
}
.metric-sub {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
  margin: 5px 0 0;
}
.charts {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 0;
}
.chart-card {
  min-width: 0;
  margin: 0;
}
.chart-card:first-child {
  border-right: 1px solid var(--border);
}
.chart-card h4 {
  font-size: 15px;
  font-weight: 550;
  margin: 0 0 4px;
}
.chart-card .chart-sub {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 20px;
}
.chart-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
.chart-svg text {
  font-family: var(--sans);
  fill: var(--muted);
  font-size: 12px;
}
.chart-legend {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--muted);
  margin-top: 12px;
}
.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.chart-legend i {
  height: 7px;
  width: 7px;
  background: var(--green);
  display: inline-block;
  border-radius: 2px;
}
.chart-legend .cyan {
  background: var(--cyan);
}
.chart-legend .amber {
  background: var(--amber);
}
.bar-list {
  display: grid;
  gap: 20px;
  padding-top: 10px;
}
.bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin-bottom: 6px;
  gap: 10px;
}
.bar-label span {
  color: var(--muted);
}
.bar-track {
  height: 8px;
  border-radius: 2px;
  background: #283238;
  overflow: hidden;
}
.bar-fill {
  height: 100%;
  background: var(--green);
  border-radius: 2px;
}
.bar-item:nth-child(2) .bar-fill {
  background: var(--cyan);
}
.bar-item:nth-child(3) .bar-fill {
  background: var(--violet);
}
.bar-item:nth-child(4) .bar-fill {
  background: var(--amber);
}
.case-insight {
  border-top: 1px solid var(--border);
  display: flex;
  gap: 15px;
  align-items: flex-start;
}
.insight-label {
  color: var(--green);
  font-family: var(--mono);
  font-size: 12px;
  white-space: nowrap;
  padding-top: 2px;
}
.case-insight p {
  font-size: 14px;
  margin: 0;
}
.methodology {
  padding: 0 30px;
  border-top: 1px solid var(--border);
}
.methodology summary {
  padding: 18px 0;
  font-size: 14px;
  color: var(--text);
  cursor: pointer;
}
.method-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  padding: 0 0 22px;
}
.method-grid h4 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--green);
}
.method-grid p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  line-height: 1.8;
}
.formula-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
  margin: 0 0 20px;
  padding: 14px;
  background: #0c1215;
  border-radius: 4px;
}
.data-table-wrap {
  overflow-x: auto;
  margin-bottom: 18px;
}
.data-table {
  width: 100%;
  font-size: 13px;
  border-collapse: collapse;
}
.data-table th,.data-table td {
  text-align: left;
  border-bottom: 1px solid var(--border);
  padding: 9px 10px;
  white-space: nowrap;
}
.data-table th {
  color: var(--muted);
  font-weight: 500;
}
.case-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  border-top: 1px solid var(--border);
}
.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.tag-row span {
  font-size: 11px;
  padding: 3px 8px;
  background: #1b2327;
  border: 1px solid #344047;
  border-radius: 3px;
  color: #bfcacd;
  font-family: var(--mono);
}
.download-button {
  background: transparent;
  border: 0;
  color: var(--green);
  font-size: 13px;
  min-height: 42px;
  padding: 6px 0;
  white-space: nowrap;
}
.text-link {
  color: var(--green);
  font-size: 14px;
  white-space: nowrap;
}
.text-link span {
  margin-left: 10px;
}
.text-link:hover,.social-links a:hover,.email-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.projects-section {
  border-block: 1px solid var(--border);
}
.repo-card {
  display: flex;
  flex-direction: column;
  min-height: 238px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #11181c;
  padding: 27px 28px;
  transition: border-color .2s,transform .2s;
}
.repo-card:hover {
  border-color: #84b15b;
  transform: translateY(-3px);
}
.repo-meta {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 1px;
  font-family: var(--mono);
}
.repo-meta>span:last-child {
  font-size: 20px;
  line-height: 1;
  color: var(--green);
}
.repo-card h3 {
  font-weight: 600;
  letter-spacing: -.5px;
  margin: 19px 0 9px;
}
.repo-card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  margin: 0 0 24px;
  max-width: 480px;
}
.repo-foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  font-family: var(--mono);
}
.repo-foot>span:first-child {
  color: var(--green);
}
.featured-repo {
  border-color: #405436;
  background: linear-gradient(120deg,#172219,#11181c 75%);
}
.section-note {
  font-size: 12px;
  color: var(--muted);
  margin: 22px 0 0;
}
.about {
  display: grid;
}
.about-copy>h2 {
  margin-bottom: 27px;
}
.recognition {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 25px;
}
.recognition-number {
  font-size: 56px;
  color: var(--green);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -2px;
}
.recognition strong {
  font-size: 14px;
  font-weight: 550;
}
.recognition p {
  font-size: 12px;
  color: var(--muted);
  margin: 5px 0 0;
  line-height: 1.7;
}
.experience-head {
  display: flex;
  justify-content: space-between;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
}
.experience-item {
  padding: 23px 0;
  border-bottom: 1px solid var(--border);
}
.experience-type {
  color: var(--green) !important;
  font-family: var(--mono);
  font-size: 11px !important;
  letter-spacing: 1px;
  margin: 0 0 9px !important;
}
.experience-item h3 {
  font-size: 21px;
  font-weight: 550;
  margin: 0 0 6px;
  letter-spacing: -.5px;
}
.experience-item p {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 13px;
  line-height: 1.75;
}
.experience-item .experience-role {
  color: #e0e5df;
  font-size: 13px;
  margin-bottom: 10px;
}
.experience-item.compact p:last-child {
  margin: 0;
}
.contact-section {
  border-top: 1px solid #31442b;
  border-bottom: 1px solid #31442b;
}
.contact-inner {
  display: grid;
  align-items: center;
}
.contact-inner .eyebrow {
  margin-bottom: 17px;
}
.contact-inner p:not(.eyebrow) {
  margin: 20px 0 0;
}
.email-link {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-weight: 500;
  letter-spacing: -.3px;
  border-bottom: 1px solid #41523c;
  overflow-wrap: anywhere;
}
.social-links {
  display: flex;
  margin-top: 22px;
  font-size: 14px;
}
.footer {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.footer p,.footer>a:last-child {
  color: var(--muted);
}
.case-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
@media (min-width:1500px) {
.hero {
  padding-block: 105px;
}
}
@media (max-width:1050px) {
.wrap {
  width: calc(100% - 48px);
}
.hero {
  gap: 30px;
  padding-top: 65px;
}
.hero h1 {
  font-size: clamp(4rem,8vw,6rem);
  letter-spacing: -4px;
}
.flow-row {
  padding: 23px 18px;
  gap: 12px;
}
.flow-row h2 {
  font-size: 16px;
}
.flow-symbol {
  display: none;
}
.hero-location>span {
  border: 0;
  padding: 0;
  margin: 0 0 0 20px;
}
.case-tabs button {
  padding: 16px 13px;
  gap: 10px;
}
.case-tabs button>span:nth-child(2) {
  font-size: 14px;
}
.tab-arrow {
  display: none;
}
.about {
  gap: 45px;
}
.contact-inner {
  gap: 35px;
}
.metrics {
  gap: 15px;
}
.metric-value {
  font-size: 27px;
}
.chart-card {
  padding: 24px;
}
.case-header {
  padding: 25px;
}
}
@media (max-width:760px) {
html {
  scroll-padding-top: 86px;
}
.wrap {
  width: calc(100% - 36px);
}
.nav {
  min-height: 72px;
}
.menu-toggle {
  display: block;
}
.nav-links {
  display: none;
  position: absolute;
  top: 72px;
  left: 0;
  right: 0;
  padding: 16px 18px 23px;
  background: #0e1417;
  border-bottom: 1px solid var(--border);
  gap: 10px;
  align-items: stretch;
}
.nav-links.open {
  display: flex;
  flex-direction: column;
}
.nav-links a {
  padding: 9px 6px;
}
.hero {
  grid-template-columns: 1fr;
  padding-top: 48px;
  padding-bottom: 42px;
  gap: 36px;
}
.hero h1 {
  font-size: clamp(3.8rem,15vw,6rem);
  letter-spacing: -3px;
}
.hero-statement {
  font-size: 23px;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 1.3px;
}
.hero-description {
  max-width: 100%;
}
.hero-location {
  margin-top: 24px;
  gap: 6px;
}
.hero-location>span {
  border-left: 1px solid var(--border);
  margin-left: 7px;
  padding-left: 10px;
}
.hero-visual {
  margin: 0;
}
.flow-symbol {
  display: block;
}
.flow-row {
  padding: 20px;
}
.flow-row h2 {
  font-size: 18px;
}
.flow-row p {
  font-size: 12px;
}
.visual-top,.visual-bottom {
  padding: 17px 20px;
}
.skills-strip>.wrap {
  justify-content: flex-start;
  gap: 15px 23px;
  padding-block: 20px;
  font-size: 14px;
}
.skills-strip .strip-label {
  width: 100%;
  border: 0;
  font-size: 11px;
}
.section {
  padding-block: 56px;
}
.section-heading {
  display: block;
  margin-bottom: 24px;
}
.section-heading>p {
  margin-top: 19px;
  max-width: none;
  font-size: 15px;
}
.section-heading>.text-link {
  display: inline-block;
  margin-top: 20px;
}
.section-heading h2 {
  font-size: 34px;
}
.demo-notice {
  font-size: 13px;
  align-items: flex-start;
  padding: 13px;
  margin-bottom: 20px;
}
.notice-icon {
  margin-top: 3px;
}
.case-tabs {
  gap: 7px;
  margin-bottom: 17px;
}
.case-tabs button {
  padding: 12px 9px;
  gap: 5px;
  flex-direction: column;
  align-items: flex-start;
}
.case-tabs button>span:nth-child(2) {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 550;
}
.case-tabs small {
  display: none;
}
.tab-number {
  font-size: 17px;
}
.case-header {
  display: block;
  padding: 22px 18px;
}
.case-header h3 {
  font-size: 23px;
}
.case-header p {
  font-size: 14px;
}
.case-filter {
  margin-top: 20px;
}
.case-filter select {
  width: 100%;
}
.metrics {
  grid-template-columns: 1fr 1fr;
  padding: 20px 18px;
  gap: 22px 12px;
}
.metric:not(:last-child) {
  padding-right: 5px;
}
.metric:nth-child(2) {
  border-right: 0;
}
.metric-value {
  font-size: 27px;
}
.metric-label {
  font-size: 12px;
}
.metric-sub {
  font-size: 11px;
}
.charts {
  grid-template-columns: 1fr;
}
.chart-card {
  padding: 23px 18px;
}
.chart-card:first-child {
  border-right: 0;
  border-bottom: 1px solid var(--border);
}
.chart-svg {
  max-height: 260px;
}
.case-insight {
  padding: 18px;
  display: block;
}
.case-insight p {
  margin-top: 7px;
  font-size: 13px;
}
.methodology {
  padding: 0 18px;
}
.method-grid {
  grid-template-columns: 1fr;
  gap: 18px;
}
.case-footer {
  padding: 14px 18px;
  flex-wrap: wrap;
  gap: 8px;
}
.repo-grid {
  grid-template-columns: 1fr;
  gap: 14px;
}
.repo-card {
  padding: 24px;
  min-height: 225px;
}
.about {
  grid-template-columns: 1fr;
  gap: 46px;
}
.about h2 {
  font-size: 34px;
}
.recognition {
  margin-top: 30px;
}
.contact-inner {
  grid-template-columns: 1fr;
  gap: 30px;
  padding-block: 46px;
}
.contact-inner h2 {
  font-size: 36px;
}
.email-link {
  font-size: 18px;
  padding-bottom: 17px;
}
.footer {
  padding-block: 26px;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 13px;
}
.footer p {
  width: 100%;
  margin: 0;
  order: 3;
}
.footer>a:last-child {
  margin-left: auto;
  padding-top: 3px;
}
.section-note {
  font-size: 11px;
}
}
@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior: auto;
}
* {
  transition: none !important;
  animation: none !important;
}
}
@media print {
.site-header,.hero-visual,.case-tabs,.case-footer,.contact-section,.footer {
  display: none;
}
body {
  background: white;
  color: black;
}
.wrap {
  width: 100%;
}
.section {
  padding-block: 20px;
}
.hero {
  padding-block: 20px;
  display: block;
}
.hero h1 {
  font-size: 50px;
}
.case-panel,.repo-card {
  break-inside: avoid;
}
.about {
  display: block;
}
a {
  color: inherit;
}
}
.diagnostics {
  border-top: 1px solid var(--border);
}
.diagnostics>summary {
  cursor: pointer;
  font-size: 14px;
}
.diagnostic-charts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--border);
}
.diagnostic-charts>.chart-card {
  border-bottom: 1px solid var(--border);
}
.diagnostic-charts>.chart-card:nth-child(odd) {
  border-right: 1px solid var(--border);
}
.diagnostic-charts>.chart-card:nth-child(even) {
  border-right: 0;
}
.heatmap {
  margin: 16px 0;
}
.heatmap td {
  color: #f2f7ef;
  font-weight: 500;
  text-align: center;
  border: 4px solid var(--surface);
  padding: 18px 12px;
}
.heatmap th {
  font-size: 12px;
}
@media (max-width:760px) {
.diagnostics>summary {
  padding: 18px;
}
.diagnostic-charts {
  grid-template-columns: 1fr;
}
.diagnostic-charts>.chart-card:nth-child(odd) {
  border-right: 0;
}
.diagnostic-charts .data-table {
  font-size: 12px;
}
}
.case-jump {
  display: grid;
  margin: 0 0 28px;
}
.case-jump a {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 550;
}
.case-jump a>span:first-child {
  font: 20px var(--mono);
  color: var(--green);
}
.case-jump a>span:last-child {
  margin-left: auto;
  color: var(--muted);
}
.case-stack {
  display: grid;
}
.case-header h3 {
  max-width: 780px;
}
.case-panel .case-header {
  display: block;
}
.case-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 23px;
}
.case-controls .case-filter {
  min-width: 180px;
  flex: 1;
  max-width: 250px;
}
.case-controls select {
  width: 100%;
}
.case-panel .case-header p {
  max-width: 860px;
}
.case-segment {
  margin-top: 10px !important;
  font-size: 12px !important;
}
.metrics.expanded {
  row-gap: 22px;
}
.metrics.expanded .metric:nth-child(4n) {
  border-right: 0;
}
.metrics.expanded .metric:nth-child(n/**/+5) {
  border-top: 1px solid var(--border);
  padding-top: 20px;
}
.view-heading {
  padding: 18px 30px 0;
  color: var(--green);
  font: 12px var(--mono);
  letter-spacing: 1px;
}
.chart-caption-note {
  font-size: 12px;
  color: var(--muted);
  margin: 12px 0 0;
}
.chart-card .data-table th {
  font-size: 12px;
}
.pareto-legend {
  display: flex;
  gap: 15px;
  color: var(--muted);
  font-size: 12px;
  margin-top: 10px;
}
.pareto-legend b {
  color: var(--cyan);
}
.funnel {
  display: grid;
  gap: 10px;
  padding: 10px 0;
}
.funnel-row {
  display: grid;
  grid-template-columns: 1.15fr 1.4fr;
  gap: 14px;
  align-items: center;
}
.funnel-row>span {
  font-size: 12px;
  color: var(--muted);
}
.funnel-shape {
  background: #416a34;
  color: var(--text);
  padding: 8px;
  text-align: center;
  min-width: 65px;
  clip-path: polygon(0 0,100% 0,92% 100%,8% 100%);
  font-size: 12px;
}
.funnel-row:nth-child(2) .funnel-shape {
  background: #315d66;
}
.funnel-row:nth-child(3) .funnel-shape {
  background: #574576;
}
.funnel-row:nth-child(4) .funnel-shape {
  background: #735a33;
}
.operational-table {
  border-top: 1px solid var(--border);
}
.operational-table h4 {
  margin: 0 0 5px;
  font-size: 16px;
}
.operational-table>p {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 16px;
}
.bot-status {
  font-size: 12px;
  color: var(--green);
}
.bot-status.attention {
  color: var(--amber);
}
.case-method-copy {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
}
.dax-block {
  white-space: pre-wrap;
  word-break: break-word;
  font: 12px/1.8 var(--mono);
  color: #d5e6c9;
  background: #0b1114;
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 18px;
  margin: 18px 0;
}
.dax-caption {
  font-size: 13px;
  color: var(--muted);
}
.stacked-factors {
  display: grid;
  gap: 20px;
  padding-top: 12px;
}
.factor-label {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 6px;
}
.factor-track {
  display: flex;
  height: 22px;
  background: #283238;
  border-radius: 3px;
  overflow: hidden;
}
.factor-track>span {
  height: 100%;
  background: var(--green);
}
.factor-track>i {
  height: 100%;
  background: #59443a;
}
.factor-row:nth-child(2) .factor-track>span {
  background: var(--cyan);
}
.factor-row:nth-child(3) .factor-track>span {
  background: var(--violet);
}
.repo-card h3 {
  font-size: 24px;
}
.repo-meta {
  align-items: start;
}
.repo-meta .project-status {
  font-size: 10px;
  line-height: 1.5;
  color: var(--amber);
  border: 1px solid #604e36;
  padding: 3px 6px;
  white-space: nowrap;
}
.pending-repo {
  background: #151a1c;
}
.pending-repo:hover {
  transform: none;
  border-color: var(--border);
}
.repo-foot {
  flex-wrap: wrap;
  row-gap: 7px;
}
.experience-head h3 {
  font-size: 17px;
  font-weight: 550;
  color: var(--text);
  margin: 0;
}
.skill-group {
  border-bottom: 1px solid var(--border);
}
.skill-group h4 {
  font-weight: 550;
  margin: 0 0 7px;
}
.skill-group p {
  line-height: 1.85;
  margin: 0;
}
.skills-profile .recognition {
  border-top: 0;
  padding-top: 0;
  gap: 20px;
}
.skills-profile .recognition-number {
  font-size: 43px;
  white-space: nowrap;
}
.recognition-number small {
  font-size: 18px;
  letter-spacing: -.5px;
}
.experience-section {
  border-block: 1px solid var(--border);
}
.impact-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border: 1px solid var(--border);
  overflow: hidden;
}
.impact-grid>div+div {
  border-left: 1px solid var(--border);
}
.impact-grid strong {
  font-weight: 600;
  color: var(--green);
}
.impact-grid strong span {
  font-size: 25px;
}
.impact-grid p {
  font-size: 14px;
  color: var(--muted);
  margin: 10px 0 0;
}
.impact-note {
  margin-top: 12px;
}
.career-item {
  display: grid;
  gap: 40px;
  border-bottom: 1px solid var(--border);
}
.career-date>p {
  font-family: var(--mono);
  color: var(--green);
  margin: 3px 0 8px;
}
.career-date>span {
  color: var(--muted);
}
.career-content .career-company {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 6px;
}
.career-content h3 {
  line-height: 1.4;
  font-weight: 550;
  margin: 0 0 12px;
}
.career-content>p:not(.career-company) {
  color: #d2d9d8;
  max-width: 800px;
  margin: 0 0 14px;
}
.career-content ul {
  padding-left: 18px;
  color: var(--muted);
  margin: 14px 0 18px;
  line-height: 1.85;
}
.career-content li {
  padding-left: 4px;
  margin: 7px 0;
}
.education-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 35px;
}
.education-card {
  border: 1px solid var(--border);
  padding: 30px;
}
.education-meta {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font: 12px var(--mono);
  color: var(--green);
  letter-spacing: .4px;
  margin-bottom: 22px;
}
.education-card h3 {
  font-weight: 550;
  line-height: 1.25;
  margin: 0 0 20px;
}
.education-school {
  color: var(--text);
  font-size: 16px;
  margin: 0 0 5px;
}
.education-period {
  color: var(--muted);
  font-size: 12px;
  margin: 0 0 20px;
}
.education-card>p:last-of-type {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
  margin-bottom: 25px;
}
.courses h3 {
  font-weight: 550;
  letter-spacing: -.4px;
  margin: 0 0 18px;
}
.course-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 60px;
  gap: 25px;
  padding: 17px 0;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
}
.course-row>span:not(:first-child) {
  color: var(--muted);
}
.course-row>span:last-child {
  text-align: right;
  font-family: var(--mono);
  font-size: 12px;
}
.metric-sub,.tag-row span,.repo-foot,.experience-type,.repo-meta {
  font-size: 12px !important;
}
.flow-caption,.visual-bottom>span {
  font-size: 12px;
}
.case-methods table {
  margin-top: 18px;
}
@media (max-width:1050px) {
.nav-links {
  gap: 15px;
  font-size: 13px;
}
.brand {
  font-size: 20px;
}
.nav-contact span {
  margin-left: 4px;
}
.case-jump a {
  padding: 14px 12px;
  font-size: 13px;
}
.about {
  gap: 35px;
}
.skills-profile {
  padding: 24px;
}
.career-item {
  grid-template-columns: 180px 1fr;
  gap: 24px;
}
.metrics.expanded .metric-value {
  font-size: 25px;
}
}
@media (max-width:900px) {
.nav {
  min-height: 72px;
}
.menu-toggle {
  display: block;
}
.nav-links {
  display: none;
  position: absolute;
  top: 72px;
  left: 0;
  right: 0;
  padding: 16px 24px 23px;
  background: #0e1417;
  border-bottom: 1px solid var(--border);
  gap: 8px;
  align-items: stretch;
  font-size: 15px;
}
.nav-links.open {
  display: flex;
  flex-direction: column;
}
.nav-links a {
  padding: 9px 6px;
}
.about {
  grid-template-columns: 1fr;
  gap: 35px;
}
}
@media (max-width:760px) {
.case-jump {
  grid-template-columns: 1fr;
  gap: 8px;
}
.case-jump a {
  font-size: 14px;
  padding: 12px 16px;
}
.case-jump a>span:first-child {
  font-size: 18px;
}
.case-stack {
  gap: 30px;
}
.case-controls {
  gap: 12px;
  margin-top: 18px;
}
.case-controls .case-filter {
  min-width: 130px;
  max-width: none;
  margin: 0;
}
.case-header h3 {
  font-size: 23px;
}
.metrics.expanded .metric:nth-child(2n) {
  border-right: 0;
}
.metrics.expanded .metric:nth-child(n/**/+3) {
  border-top: 1px solid var(--border);
  padding-top: 18px;
}
.metrics.expanded .metric-value {
  font-size: 25px;
}
.view-heading,.operational-table {
  padding: 18px;
}
.repo-grid {
  grid-template-columns: 1fr;
}
.repo-meta .project-status {
  font-size: 10px !important;
}
.impact-grid {
  grid-template-columns: 1fr;
}
.impact-grid>div {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 22px;
}
.impact-grid>div+div {
  border-left: 0;
  border-top: 1px solid var(--border);
}
.impact-grid strong {
  font-size: 39px;
  min-width: 113px;
}
.impact-grid p {
  margin: 0;
  font-size: 13px;
}
.career-item {
  grid-template-columns: 1fr;
  gap: 15px;
  padding: 27px 0;
}
.career-date {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}
.career-date p {
  margin: 0;
}
.career-content h3 {
  font-size: 23px;
}
.education-grid {
  grid-template-columns: 1fr;
  gap: 16px;
}
.education-card {
  padding: 24px;
}
.education-meta {
  font-size: 11px;
}
.course-row {
  grid-template-columns: 1fr 50px;
  gap: 5px 15px;
  padding: 16px 0;
}
.course-row>span:nth-child(2) {
  grid-row: 2;
  grid-column: 1;
  font-size: 13px;
}
.course-row>span:last-child {
  grid-column: 2;
  grid-row: 1;
}
.skills-profile .recognition {
  align-items: flex-start;
}
.chart-card {
  min-width: 0;
}
.chart-card .data-table {
  font-size: 12px;
}
.filter-label {
  font-size: 13px;
}
.case-method-copy {
  font-size: 14px;
}
}
:root {
  --bg: #090c0d;
  --surface: #111718;
  --surface2: #192021;
  --border: #283133;
  --text: #f3f6f1;
  --muted: #aeb8b5;
  --green: #baff79;
  --cyan: #7ad1cf;
  --violet: #a9a0ec;
  --amber: #eec48b;
  --mono: "Cascadia Code","JetBrains Mono","SFMono-Regular",Consolas,monospace;
  --sans: "Inter Tight","Segoe UI Variable","Inter",Arial,sans-serif;
  color-scheme: dark;
}
html {
  scroll-padding-top: 115px;
}
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 980px;
  pointer-events: none;
  background: radial-gradient(ellipse 52% 43% at 79% 25%,#baff790b,transparent 75%);
  z-index: -1;
}
body:has(.nav-links.open) {
  overflow: visible;
}
.wrap {
  width: min(1280px,calc(100% - 88px));
}
.site-header {
  position: sticky;
  top: 18px;
  z-index: 30;
  width: min(1388px,calc(100% - 42px));
  margin: 18px auto 0;
  border: 1px solid #4a555043;
  border-radius: 999px;
  background: rgba(13,19,19,.87);
  backdrop-filter: blur(20px);
  box-shadow: 0 20px 55px #0004;
  transition: background .25s,box-shadow .25s,border-color .25s;
}
.site-header.scrolled {
  background: rgba(13,18,18,.96);
  border-color: #4e5b5377;
  box-shadow: 0 15px 50px #0008;
}
.nav {
  width: calc(100% - 34px);
  min-height: 66px;
  gap: 20px;
}
.brand {
  font-size: 20px;
  letter-spacing: -.9px;
  font-weight: 780;
  white-space: nowrap;
}
.brand-mark {
  width: 29px;
  height: 29px;
  border-radius: 8px;
  font-size: 22px;
  margin-right: 10px;
  padding-bottom: 3px;
  background: var(--green);
  color: #101710;
}
.brand-ext {
  font-weight: 450;
  color: #7f8d87;
}
.nav-links {
  gap: 7px;
  font-size: 13px;
}
.nav-links>a {
  padding: 10px 12px;
  color: #b7c0bc;
  border-radius: 999px;
  position: relative;
  transition: background .2s,color .2s;
}
.nav-links>a:hover {
  color: var(--text);
  background: #ffffff0e;
}
.nav-links>a[aria-current="location"] {
  color: var(--green);
  background: #baff7911;
}
.nav-links>a[aria-current="location"]::before {
  content: "";
  position: absolute;
  left: calc(50% - 2px);
  bottom: 3px;
  width: 4px;
  height: 4px;
  background: var(--green);
  border-radius: 50%;
}
.nav-links .nav-contact {
  padding: 11px 17px;
  color: #111810 !important;
  background: var(--green) !important;
  border-color: var(--green);
  font-weight: 700;
  margin-left: 6px;
  box-shadow: none;
}
.nav-links .nav-contact:hover {
  background: #d6ffaa !important;
  color: #111810 !important;
  transform: translateY(-1px);
}
.nav-contact span {
  margin-left: 9px;
}
.menu-toggle {
  border-color: var(--border);
  border-radius: 999px;
  padding: 9px 15px;
}
.skip-link {
  z-index: 100;
}
.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
  gap: clamp(35px,5vw,92px);
  align-items: center;
  padding-top: clamp(92px,9.1vw,154px);
  padding-bottom: 108px;
  min-height: 730px;
}
.hero-copy {
  position: relative;
  z-index: 1;
}
.eyebrow {
  font-family: var(--mono);
  letter-spacing: 1.55px;
  font-size: 11px;
  line-height: 1.75;
  font-weight: 500;
  color: var(--green);
}
.hero .eyebrow {
  margin-bottom: 32px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.eyebrow .small-line {
  height: 1px;
  width: 33px;
  margin-right: 3px;
}
.hero h1 {
  font-weight: 650;
  font-size: clamp(4rem,6.85vw,7.7rem);
  letter-spacing: -.077em;
  line-height: 1.01;
  margin: 0 0 32px;
  max-width: 850px;
}
.hero h1 .title-line {
  display: block;
}
.hero h1 .outline-word {
  font-family: Georgia,serif;
  font-weight: 400;
  letter-spacing: -.075em;
  font-style: italic;
}
.hero-statement {
  font-size: clamp(1.23rem,1.85vw,1.63rem);
  line-height: 1.4;
  letter-spacing: -.026em;
  margin: 0 0 18px;
  font-weight: 480;
  max-width: 680px;
}
.hero-description {
  font-size: 16px;
  line-height: 1.85;
  max-width: 580px;
  color: var(--muted);
  margin: 0 0 31px;
}
.hero-actions {
  gap: 12px;
}
.button {
  border-radius: 999px;
  padding: 13px 23px;
  min-height: 51px;
  gap: 26px;
  font-size: 13px;
  font-weight: 740;
  transition: transform .2s,background .2s,border-color .2s;
}
.button:hover {
  transform: translateY(-3px);
}
.primary {
  background: var(--green);
  color: #152013;
  border-color: var(--green);
}
.primary:hover {
  background: #d5ffb0;
}
.secondary {
  border-color: #5b6660;
  color: #e9f0e9;
}
.secondary:hover {
  background: #1f2927;
  border-color: #a4b8a8;
}
.hero-location {
  margin-top: 36px;
  color: #abb8b0;
  font-size: 12px;
  gap: 9px;
}
.hero-location>span {
  border-left-color: #3f4944;
}
.hero-visual {
  margin-top: 8px;
  min-width: 0;
  position: relative;
  border: 1px solid #4a5b4a;
  background: #121a18;
  border-radius: 15px;
  overflow: visible;
  box-shadow: 0 32px 130px #0009;
  transform: rotate(1.2deg);
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 13px -15px -15px 12px;
  border: 1px solid #344236;
  border-radius: 15px;
  z-index: -1;
  background: #0d1513;
}
.studio-panel {
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(145deg,#19241e 0%,#0e1616 50%,#10191a 100%);
}
.studio-top {
  padding: 18px 22px;
  border-bottom: 1px solid #3b4941;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
}
.studio-top .mono {
  font-size: 10px;
  letter-spacing: 1px;
  color: #afc1ae;
}
.studio-status {
  font-size: 10px;
  color: #afc1ae;
  font-family: var(--mono);
  white-space: nowrap;
}
.studio-status i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  margin-right: 8px;
  box-shadow: 0 0 10px #baff7970;
}
.studio-statement {
  padding: 35px 29px 27px;
  border-bottom: 1px solid #3b4941;
}
.studio-statement>p {
  font: 11px var(--mono);
  color: var(--green);
  letter-spacing: 1.2px;
  margin: 0 0 14px;
}
.studio-statement>strong {
  display: block;
  font-size: clamp(2.35rem,3.7vw,4.4rem);
  font-weight: 550;
  letter-spacing: -.07em;
  line-height: 1.08;
}
.studio-statement>strong em {
  color: var(--green);
  font-family: Georgia,serif;
  font-weight: 400;
}
.studio-pipeline {
  padding: 23px 25px 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #3b4941;
}
.studio-node {
  border: 1px solid #50604f;
  border-radius: 7px;
  padding: 12px 9px 10px;
  min-height: 82px;
  background: #1b2922;
  text-align: left;
}
.studio-node small {
  font: 10px var(--mono);
  color: #91a697;
  display: block;
  margin-bottom: 7px;
}
.studio-node b {
  font-size: 12px;
  letter-spacing: -.2px;
  font-weight: 610;
  display: block;
}
.studio-node.final {
  background: #baff79;
  color: #0e170d;
  border-color: #baff79;
}
.studio-node.final small {
  color: #3d542e;
}
.studio-connector {
  font: 20px var(--mono);
  color: var(--green);
}
.studio-chart {
  padding: 22px 25px 17px;
  background: #0f1717;
}
.studio-chart-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  color: #a2b1a9;
  font: 10px var(--mono);
  letter-spacing: .3px;
}
.studio-chart-heading strong {
  color: var(--green);
  font-size: 11px;
}
.studio-chart svg {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 6px;
}
.studio-bottom {
  border-top: 1px solid #33413b;
  padding: 14px 25px;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #9eafa4;
  font: 10px var(--mono);
  letter-spacing: 1px;
}
.studio-bottom span:last-child {
  color: var(--green);
}
.skills-strip {
  background: #101716;
  border-block: 1px solid #304038;
}
.skills-strip>.wrap {
  padding-block: 17px;
  display: flex;
  gap: 20px 28px;
  justify-content: space-between;
}
.skills-strip .strip-label {
  font-size: 10px;
  color: var(--green);
  padding-right: 30px;
  border-color: #3b463d;
}
.skills-strip .wrap>span:not(.strip-label) {
  font-size: 13px;
  color: #bfc9c0;
  font-weight: 500;
  letter-spacing: .03em;
}
.section {
  padding-block: 110px;
}
.section-heading {
  margin-bottom: 48px;
  gap: 30px;
}
.section-heading .eyebrow,.about .eyebrow {
  margin-bottom: 18px;
}
h2 {
  font-size: clamp(2.75rem,4.5vw,5.4rem);
  letter-spacing: -.062em;
  line-height: 1.07;
  font-weight: 590;
}
.muted-heading {
  color: #6e8078;
}
.section-heading>p {
  max-width: 360px;
  font-size: 15px;
  color: var(--muted);
  margin: 0 0 9px;
  line-height: 1.75;
}
.section-heading>.text-link {
  color: var(--green);
  font-weight: 600;
}
.section-rule {
  height: 1px;
  background: var(--border);
  margin: 0 0 18px;
}
.projects-section {
  background: #0d1212;
  border-color: #26372f;
}
.projects-section .section {
  padding-top: 112px;
  padding-bottom: 125px;
}
.projects-section .section-heading {
  align-items: end;
}
.repo-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 21px;
}
.project-card {
  display: flex;
  flex-direction: column;
  background: #141b1b;
  border: 1px solid #2a3735;
  border-radius: 12px;
  overflow: hidden;
  transition: transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;
  position: relative;
}
.project-card:hover {
  transform: translateY(-5px);
  border-color: #698067;
  box-shadow: 0 28px 65px #0005;
}
.project-card.project-feature {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 475px;
}
.project-card:focus-within {
  border-color: var(--green);
}
.project-visual {
  position: relative;
  min-height: 255px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px;
  overflow: hidden;
  background: #1d2723;
  border-bottom: 1px solid #35433a;
}
.project-feature .project-visual {
  border-bottom: 0;
  border-right: 1px solid #35433a;
  min-height: 474px;
}
.project-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top,#0002,transparent 45%);
}
.project-visual .concept-label {
  position: absolute;
  left: 22px;
  bottom: 15px;
  z-index: 3;
  font: 10px var(--mono);
  letter-spacing: .8px;
  color: #c7d4c7ba;
}
.project-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 28px 31px 27px;
  min-width: 0;
}
.project-feature .project-content {
  padding: 50px clamp(35px,5vw,75px) 38px;
  justify-content: center;
}
.project-eyebrow {
  font: 11px var(--mono);
  letter-spacing: 1px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.project-kind {
  font: 10px var(--mono);
  color: #aebbb3;
  letter-spacing: .3px;
}
.project-content h3 {
  font-size: clamp(1.55rem,2.2vw,2.7rem);
  font-weight: 610;
  line-height: 1.15;
  letter-spacing: -.055em;
  margin: 24px 0 15px;
}
.project-feature .project-content h3 {
  font-size: clamp(2.5rem,4vw,4.6rem);
}
.project-content>p {
  font-size: 14px;
  color: #b9c5be;
  line-height: 1.8;
  max-width: 450px;
  margin: 0 0 28px;
}
.project-content .project-context {
  font-size: 12px;
  color: #94a599;
  margin-top: -14px;
  margin-bottom: 24px;
}
.project-bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid #34403a;
}
.project-stack {
  color: #adbdb1;
  font: 11px/1.6 var(--mono);
}
.project-cta {
  gap: 9px;
  color: var(--green);
  font-size: 12px;
  font-weight: 730;
  white-space: nowrap;
}
.project-cta svg {
  width: 16px;
  height: 16px;
  transition: transform .2s;
}
.project-cta:hover svg {
  transform: translate(2px,-2px);
}
.project-cta:focus-visible {
  outline-offset: 5px;
}
.project-card.is-preview .project-cta {
  color: #a8b9ac;
}
.project-art {
  position: relative;
  z-index: 1;
  width: min(100%,430px);
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
.project-card:hover .project-art {
  transform: translateY(-5px);
}
.project-art :is(b,strong,small,span,div) {
  box-sizing: border-box;
}
.mock-window {
  background: #0c1312;
  border: 1px solid #506352;
  border-radius: 10px;
  box-shadow: 0 23px 60px #0008;
  overflow: hidden;
}
.mock-head {
  padding: 11px 13px;
  border-bottom: 1px solid #34483c;
  display: flex;
  justify-content: space-between;
  color: #bdd7bb;
  font: 10px var(--mono);
}
.mock-head i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border: 1px solid #9cba94;
  border-radius: 50%;
  margin-right: 5px;
}
.mock-body {
  padding: 20px;
}
.mock-label {
  font: 9px var(--mono);
  letter-spacing: 1px;
  color: #9baa9c;
}
.mock-strong {
  display: block;
  font-size: clamp(23px,2.5vw,37px);
  letter-spacing: -1.5px;
  font-weight: 600;
  line-height: 1.15;
  color: #e6f1e4;
}
.mini-rule {
  height: 1px;
  background: #3d5040;
  margin: 17px 0;
}
.mock-track {
  height: 8px;
  background: #2f3c35;
  overflow: hidden;
  border-radius: 2px;
}
.mock-track:after {
  content: "";
  display: block;
  width: 66%;
  height: 100%;
  background: var(--green);
}
.mock-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 14px 0;
  color: #c1d0c4;
  font: 11px var(--mono);
}
.mock-row b {
  font-weight: 500;
  color: var(--green);
}
.mock-pill {
  display: inline-block;
  border: 1px solid #4e7142;
  border-radius: 99px;
  color: var(--green);
  padding: 3px 7px;
  font: 10px var(--mono);
}
.art-pricing {
  background: radial-gradient(circle at 72% 32%,#607b4933,transparent 46%),#1a281d;
}
.art-pricing .project-art {
  width: min(100%,470px);
  transform: rotate(-3deg);
}
.art-pricing .mock-body {
  padding: 27px;
}
.art-pricing .mock-strong {
  font-size: 43px;
}
.art-pricing:hover .project-art {
  transform: rotate(-1deg) translateY(-3px);
}
.art-pipeline {
  background: radial-gradient(circle at 20% 10%,#457f7730,transparent 50%),#172523;
}
.flow-art {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  width: min(100%,440px);
}
.flow-art .step {
  flex: 1;
  min-width: 0;
  padding: 14px 9px;
  background: #0c1716;
  border: 1px solid #4c6a5f;
  border-radius: 5px;
  text-align: center;
}
.flow-art .step b {
  display: block;
  font-size: 12px;
  color: #e0f0df;
  margin-bottom: 5px;
}
.flow-art .step span {
  display: block;
  font: 9px var(--mono);
  color: #a2c2b2;
}
.flow-art>span {
  color: var(--green);
  font-size: 19px;
}
.art-rpa {
  background: #1d211c;
}
.art-rpa .project-art {
  max-width: 425px;
}
.terminal-body {
  padding: 16px 19px;
  font: 11px/2 var(--mono);
  color: #b2c1ad;
}
.terminal-body span {
  color: var(--green);
}
.terminal-body em {
  color: #e3c89a;
  font-style: normal;
}
.art-lab {
  background: radial-gradient(circle at 72% 24%,#75659738,transparent 56%),#1d1b27;
}
.art-lab .mock-window {
  border-color: #6a6383;
}
.art-lab .project-art {
  transform: rotate(2deg);
}
.art-lab:hover .project-art {
  transform: rotate(0) translateY(-4px);
}
.mini-bars {
  height: 85px;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  border-bottom: 1px solid #48514a;
  margin-top: 20px;
}
.mini-bars span {
  display: block;
  flex: 1;
  border-radius: 3px 3px 0 0;
  background: #bdafd8;
}
.mini-bars span:nth-child(2n) {
  background: #8da6ca;
}
.art-web {
  background: #25241e;
}
.web-preview {
  background: #e9eee8;
  color: #151e19;
  padding: 18px;
  border: 7px solid #111b17;
  border-radius: 11px;
  box-shadow: 0 25px 50px #0007;
}
.web-header {
  font: 10px var(--mono);
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #c4d1c4;
  padding-bottom: 12px;
}
.web-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 12px;
  padding-top: 19px;
  align-items: center;
}
.web-inner b {
  font-size: 23px;
  line-height: 1.07;
  letter-spacing: -1.3px;
  display: block;
}
.web-inner div:last-child {
  height: 95px;
  background: linear-gradient(135deg,#526b5b 10%,#b4c5a8 100%);
  border-radius: 5px;
  position: relative;
}
.web-inner div:last-child::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid #dfe8d655;
  border-radius: 50%;
}
.web-inner small {
  font: 9px var(--mono);
  display: block;
  margin-top: 12px;
  color: #4d6656;
}
.art-kanban {
  background: #1a2227;
}
.kanban-art {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 9px;
  width: 100%;
  max-width: 430px;
}
.kanban-col {
  border: 1px solid #405253;
  border-radius: 7px;
  background: #10191c;
  padding: 12px 8px 15px;
}
.kanban-col b {
  font: 10px var(--mono);
  color: #cedfdb;
  display: block;
  margin-bottom: 13px;
}
.kanban-note {
  display: block;
  height: 31px;
  margin-bottom: 8px;
  border-radius: 3px;
  background: #2e4244;
  border-left: 3px solid var(--cyan);
}
.kanban-col:nth-child(2) .kanban-note {
  border-color: var(--amber);
}
.kanban-col:nth-child(3) .kanban-note {
  border-color: var(--green);
}
.art-excel {
  background: #18251e;
}
.sheet-art {
  background: #e2ece6;
  border: 6px solid #1a3830;
  border-radius: 8px;
  width: 100%;
  box-shadow: 0 20px 50px #0008;
}
.sheet-art .sheet-title {
  padding: 9px 13px;
  color: #205c3d;
  font: 11px var(--mono);
  border-bottom: 1px solid #9fbaa5;
}
.sheet-cells {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: #b4c9b9;
  padding: 1px;
}
.sheet-cells span {
  height: 20px;
  background: #f2f8f3;
}
.sheet-cells span:nth-child(-n/**/+4) {
  background: #c2d7c6;
}
.sheet-cells span:nth-child(4n/**/+3) {
  background: #def2c1;
}
.art-cnpj {
  background: radial-gradient(circle at 70% 22%,#8ea57b22,transparent),#192320;
}
.art-cnpj .mock-body {
  padding: 22px;
}
.art-cnpj .validation {
  display: flex;
  justify-content: space-between;
  color: #d3e4d5;
  font: 11px var(--mono);
  padding: 11px 0;
  border-bottom: 1px solid #36483a;
}
.validation b {
  color: var(--green);
}
.art-guardian {
  background: #222119;
}
.art-guardian .mock-window {
  border-color: #726b47;
}
.art-guardian .mock-head {
  border-color: #615a3c;
}
.guardian-trend {
  height: 76px;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  border-bottom: 1px dashed #867b54;
  margin-top: 16px;
}
.guardian-trend span {
  flex: 1;
  display: block;
  background: #b8a578;
  min-height: 18px;
  border-radius: 3px 3px 0 0;
}
.guardian-trend span:nth-last-child(-n/**/+3) {
  background: #e4bb79;
}
.art-small {
  min-height: 230px;
}
.case-lab {
  position: relative;
  padding-top: 112px;
}
.case-lab>.section-heading {
  margin-bottom: 35px;
}
.case-lab .demo-notice {
  border-color: #526247;
  background: #172019;
  padding: 18px 21px;
  border-radius: 9px;
  margin-bottom: 27px;
  color: #bccdbc;
}
.case-lab .demo-notice strong {
  color: var(--text);
}
.case-jump {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 48px;
}
.case-jump a {
  background: #151c1c;
  border: 1px solid #334039;
  border-radius: 8px;
  padding: 19px 20px;
  min-height: 80px;
  color: #e1e8df;
  font-size: 14px;
  transition: border-color .2s,transform .2s;
}
.case-jump a:hover {
  transform: translateY(-2px);
  border-color: var(--green);
}
.case-jump a>span:first-child {
  font-size: 24px;
}
.case-stack {
  gap: 65px;
}
.case-panel {
  border-color: #334038;
  border-radius: 12px;
  background: #111818;
  scroll-margin-top: 110px;
  box-shadow: 0 25px 60px #0002;
}
.case-header {
  padding: 33px 38px;
}
.case-header h3 {
  font-size: clamp(1.7rem,2.4vw,2.6rem);
  letter-spacing: -.04em;
}
.case-caption {
  color: #adc0b0;
  font-size: 11px;
  letter-spacing: 1px;
}
.demo-badge {
  border-color: #627852;
  background: #253321;
  color: #d3e8cc;
}
.case-panel .metric-value {
  font-weight: 600;
}
.metrics {
  padding: 26px 38px;
}
.chart-card {
  padding: 28px 36px;
}
.case-insight {
  padding: 22px 38px;
  background: #172219;
}
.case-insight p {
  color: #d5dfd0;
}
.operational-table {
  padding: 27px 38px;
}
.methodology {
  padding-inline: 38px;
}
.case-footer {
  padding: 17px 38px;
}
.diagnostics>summary {
  padding: 21px 38px;
}
.case-panel select {
  background: #101818;
  border-color: #53645a;
  border-radius: 6px;
}
.case-panel :is(.methodology summary,.diagnostics>summary):hover {
  color: var(--green);
}
.about {
  padding-top: 122px;
  padding-bottom: 122px;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: clamp(45px,7vw,110px);
}
.about-copy>h2 {
  font-size: clamp(2.7rem,4.4vw,5rem);
}
.about-copy>p:not(.eyebrow) {
  font-size: 15px;
  line-height: 1.95;
  color: #b5c0b9;
}
.about-copy>p:nth-of-type(2) {
  font-size: 17px;
  color: #e5ece3;
  line-height: 1.8;
}
.about-copy>.button {
  margin-top: 22px;
}
.skills-profile {
  background: #101817;
  border: 1px solid #32413a;
  border-radius: 11px;
  padding: 35px 40px;
}
.skills-profile>.experience-head {
  padding-bottom: 21px;
}
.skills-profile .experience-head h3 {
  font-size: 18px;
  letter-spacing: -.3px;
}
.skill-group {
  padding: 23px 0;
}
.skill-group h4 {
  color: #dbe8d5;
  letter-spacing: -.2px;
  font-size: 14px;
}
.skill-group p {
  font-size: 13px;
  color: #aebcb0;
}
.skills-profile .recognition {
  margin-top: 33px;
}
.skills-profile .recognition-number {
  color: var(--green);
}
.experience-section {
  background: #101514;
}
.experience-section .section {
  padding-block: 116px;
}
.impact-grid {
  margin-top: 41px;
  border-color: #314039;
  border-radius: 9px;
}
.impact-grid>div {
  background: #17201c;
  padding: 30px 33px;
}
.impact-grid>div+div {
  border-color: #314039;
}
.impact-grid strong {
  font-size: clamp(1.9rem,3vw,2.8rem);
  line-height: 1.1;
  letter-spacing: -.06em;
}
.impact-grid p {
  max-width: 300px;
  line-height: 1.7;
}
.career-list {
  margin-top: 60px;
}
.career-item {
  grid-template-columns: 200px 1fr;
  padding: 34px 0;
  border-color: #344239;
}
.career-date>p {
  font-size: 11px;
  letter-spacing: .7px;
}
.career-date>span {
  font-size: 13px;
}
.career-content h3 {
  font-size: clamp(1.4rem,2.1vw,2rem);
  letter-spacing: -.035em;
}
.career-content>p:not(.career-company) {
  font-size: 15px;
}
.career-content ul {
  font-size: 14px;
}
.education-card {
  background: #111919;
  border-color: #314039;
  border-radius: 10px;
  min-height: 325px;
}
.education-card h3 {
  font-size: clamp(1.65rem,2.5vw,2.4rem);
  letter-spacing: -.04em;
}
.education-meta {
  font-size: 11px;
}
.course-row {
  border-color: #364239;
}
.courses {
  margin-top: 57px;
}
.courses h3 {
  font-size: 24px;
}
.contact-section {
  position: relative;
  overflow: hidden;
  background: var(--green);
  border: 0;
  color: #101810;
}
.contact-section::before {
  content: "THZ";
  pointer-events: none;
  position: absolute;
  right: -3vw;
  bottom: -90px;
  font-size: clamp(220px,30vw,510px);
  font-weight: 800;
  letter-spacing: -.1em;
  line-height: 1;
  color: #1018100b;
}
.contact-inner {
  position: relative;
  z-index: 1;
  grid-template-columns: 1.15fr .85fr;
  gap: 50px;
  padding-block: 110px;
}
.contact-inner .eyebrow {
  color: #294322;
}
.contact-inner h2 {
  font-size: clamp(3rem,5.3vw,6.2rem);
  font-weight: 610;
  letter-spacing: -.072em;
  line-height: 1.05;
}
.contact-inner h2 span {
  color: #51753d;
  font-family: Georgia,serif;
  font-style: italic;
  font-weight: 400;
}
.contact-inner p:not(.eyebrow) {
  color: #34452d;
  font-size: 15px;
}
.contact-links {
  background: #111912;
  color: #f0f5eb;
  border-radius: 12px;
  padding: 29px 27px;
  box-shadow: 0 25px 45px #142a1540;
}
.email-link {
  border-color: #44513d;
  align-items: center;
  font-size: clamp(.95rem,1.5vw,1.25rem);
  padding-bottom: 23px;
}
.email-link>span {
  color: var(--green);
}
.social-links {
  gap: 21px;
  flex-wrap: wrap;
  color: #c4d2bf;
}
.footer {
  padding-block: 34px;
}
.footer .brand {
  font-size: 19px;
}
.footer p,.footer>a:last-child {
  font-size: 12px;
}
.reveal {
  opacity: 1;
  transform: none;
}
.motion-ready .reveal:not(.is-visible) {
  opacity: 0;
  transform: translateY(21px);
}
.motion-ready .reveal {
  transition: opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1);
}
.motion-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 4px;
}
select {
  min-height: 45px;
}
.project-cta:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}
@media (min-width:1600px) {
.hero {
  min-height: 810px;
}
.hero h1 {
  font-size: 7.7rem;
}
}
@media (max-width:1140px) {
.wrap {
  width: calc(100% - 60px);
}
.nav-links {
  gap: 0;
}
.nav-links>a {
  padding: 10px 8px;
  font-size: 12px;
}
.hero {
  gap: 28px;
  min-height: 650px;
  padding-top: 86px;
  padding-bottom: 86px;
}
.hero h1 {
  font-size: clamp(3.7rem,6.6vw,6rem);
}
.studio-statement {
  padding: 28px 23px 22px;
}
.studio-statement>strong {
  font-size: 3rem;
}
.studio-pipeline {
  padding: 16px;
  gap: 4px;
}
.studio-node {
  min-height: 75px;
  padding: 9px 7px;
}
.project-feature .project-content {
  padding: 34px;
}
.project-feature .project-visual {
  min-height: 425px;
}
.contact-inner {
  gap: 30px;
}
}
@media (max-width:900px) {
.site-header {
  top: 10px;
  margin-top: 10px;
  width: calc(100% - 24px);
  border-radius: 24px;
}
.site-header:has(.nav-links.open) {
  border-radius: 24px 24px 14px 14px;
}
.nav {
  min-height: 65px;
  width: calc(100% - 28px);
}
.nav-links {
  display: none;
  top: 65px;
  left: -1px;
  right: -1px;
  padding: 12px 16px 18px;
  background: #101818;
  border: 1px solid #415043;
  border-top: 0;
  border-radius: 0 0 17px 17px;
  box-shadow: 0 20px 35px #0008;
}
.nav-links.open {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.nav-links>a {
  font-size: 14px;
  padding: 11px 14px;
}
.nav-links>a[aria-current="location"]::before {
  left: 5px;
  bottom: auto;
  top: calc(50% - 2px);
}
.nav-links .nav-contact {
  margin: 9px 0 0;
  text-align: center;
}
.menu-toggle {
  display: block;
}
.hero {
  grid-template-columns: 1fr;
  gap: 51px;
  padding-top: 86px;
  min-height: 0;
}
.hero h1 {
  font-size: clamp(4.5rem,9.7vw,7.7rem);
  max-width: 750px;
}
.hero-visual {
  max-width: 650px;
  margin-inline: auto;
  width: 100%;
  transform: none;
}
.hero-visual::before {
  inset: 12px -10px -12px 12px;
}
.studio-statement>strong {
  font-size: clamp(3rem,8vw,5rem);
}
.about {
  grid-template-columns: 1fr;
  gap: 45px;
}
.skills-profile {
  max-width: 100%;
}
.project-feature {
  grid-template-columns: 1fr !important;
}
.project-feature .project-visual {
  border-right: 0;
  border-bottom: 1px solid #35433a;
  min-height: 355px;
}
.project-feature .project-content {
  padding: 34px;
}
.contact-inner {
  grid-template-columns: 1fr;
}
.contact-links {
  max-width: 570px;
}
}
@media (max-width:760px) {
html {
  scroll-padding-top: 100px;
}
.wrap {
  width: calc(100% - 36px);
}
.hero {
  padding-top: 70px;
  padding-bottom: 65px;
  gap: 52px;
}
.hero .eyebrow {
  font-size: 10px;
  margin-bottom: 23px;
}
.hero h1 {
  font-size: clamp(3.65rem,12.2vw,6.2rem);
  letter-spacing: -.07em;
  margin-bottom: 26px;
}
.hero-statement {
  font-size: 1.25rem;
}
.hero-description {
  font-size: 14px;
  line-height: 1.85;
}
.hero-actions {
  gap: 11px;
}
.hero-actions .button {
  min-height: 49px;
  padding-inline: 17px;
  font-size: 12px;
  gap: 12px;
}
.hero-location {
  font-size: 11px;
  gap: 8px;
  margin-top: 25px;
}
.studio-statement {
  padding: 28px 22px 23px;
}
.studio-statement>strong {
  font-size: clamp(2.5rem,9vw,4rem);
}
.studio-pipeline {
  gap: 4px;
  padding: 13px;
}
.studio-node {
  padding: 10px 7px;
  min-height: 77px;
}
.studio-node small {
  font-size: 8px;
}
.studio-node b {
  font-size: 10px;
}
.studio-connector {
  font-size: 13px;
}
.studio-chart {
  padding: 17px 18px 10px;
}
.studio-bottom {
  padding: 13px 16px;
  font-size: 9px;
}
.skills-strip>.wrap {
  display: flex;
  gap: 11px 19px;
  justify-content: flex-start;
  padding-block: 22px;
}
.skills-strip .strip-label {
  width: 100%;
  padding: 0;
  font-size: 10px;
}
.skills-strip .wrap>span:not(.strip-label) {
  font-size: 12px;
}
.section,.projects-section .section,.experience-section .section {
  padding-block: 75px;
}
.section-heading {
  margin-bottom: 32px;
}
.section-heading h2,h2 {
  font-size: clamp(2.45rem,9vw,3.55rem);
}
.section-heading>p {
  font-size: 14px;
  margin-top: 18px;
  max-width: 480px;
}
.repo-grid {
  grid-template-columns: 1fr;
  gap: 15px;
}
.project-card.project-feature {
  grid-column: auto;
}
.project-visual,.project-feature .project-visual {
  min-height: 240px;
  padding: 25px;
}
.project-feature .project-visual {
  min-height: 280px;
}
.project-content,.project-feature .project-content {
  padding: 24px;
}
.project-content h3,.project-feature .project-content h3 {
  font-size: clamp(1.65rem,6vw,2.55rem);
  margin: 20px 0 12px;
}
.project-content>p {
  font-size: 14px;
  margin-bottom: 24px;
}
.project-bottom {
  flex-wrap: wrap;
}
.project-cta {
  font-size: 12px;
}
.art-pricing .mock-strong {
  font-size: 34px;
}
.case-lab {
  padding-top: 76px;
}
.case-jump {
  grid-template-columns: 1fr;
  gap: 9px;
  margin-bottom: 33px;
}
.case-jump a {
  min-height: 58px;
  padding: 11px 17px;
}
.case-stack {
  gap: 34px;
}
.case-header {
  padding: 22px 18px;
}
.case-header h3 {
  font-size: 1.6rem;
}
.metrics {
  padding: 21px 18px;
}
.chart-card {
  padding: 24px 18px;
}
.methodology {
  padding-inline: 18px;
}
.diagnostics>summary {
  padding: 18px;
}
.case-insight {
  padding: 18px;
}
.operational-table {
  padding: 19px;
}
.case-footer {
  padding: 16px 18px;
}
.about {
  padding-top: 78px;
  padding-bottom: 78px;
}
.about-copy>h2 {
  font-size: clamp(2.5rem,8.8vw,3.55rem);
}
.about-copy>p:not(.eyebrow) {
  font-size: 14px;
}
.about-copy>p:nth-of-type(2) {
  font-size: 16px;
}
.skills-profile {
  padding: 23px;
}
.impact-grid {
  margin-top: 24px;
}
.impact-grid>div {
  padding: 20px 18px;
}
.impact-grid strong {
  min-width: 0;
  font-size: 2.2rem;
}
.impact-grid p {
  font-size: 13px;
}
.career-list {
  margin-top: 35px;
}
.career-item {
  grid-template-columns: 1fr;
  gap: 12px;
}
.contact-inner {
  padding-block: 80px;
}
.contact-inner h2 {
  font-size: clamp(3rem,10vw,4.6rem);
}
.contact-links {
  padding: 22px 20px;
}
.contact-section::before {
  bottom: -15px;
  right: -25px;
}
.footer {
  gap: 12px;
}
}
@media (max-width:390px) {
.brand {
  font-size: 18px;
}
.hero h1 {
  font-size: 3.45rem;
}
.hero-actions .button {
  flex: 1;
  justify-content: space-between;
  padding: 11px 15px;
}
.studio-node b {
  font-size: 9px;
}
.studio-status {
  display: none;
}
.flow-art .step {
  padding: 9px 4px;
}
.flow-art .step b {
  font-size: 10px;
}
.flow-art>span {
  font-size: 13px;
}
.email-link {
  font-size: 14px;
}
}
@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior: auto !important;
}
*,*::before,*::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.motion-ready .reveal:not(.is-visible) {
  opacity: 1;
  transform: none;
}
.hero-visual {
  transform: none;
}
}
@media print {
.site-header,.hero-visual,.project-visual,.case-jump {
  display: none !important;
}
.hero h1,.contact-inner h2 {
  font-size: 46px;
}
.project-card,.case-panel {
  break-inside: avoid;
}
.project-card {
  border-color: #ccc;
}
.project-content,.career-content {
  color: #111;
}
.projects-section,.experience-section {
  background: white !important;
}
.section {
  padding-block: 30px;
}
}
.hero h1>.title-line {
  color: var(--text);
}
.hero h1 .outline-word {
  color: var(--green);
}
.hero h1 .quiet-word {
  color: #798781;
}
@media (min-width:1141px) {
.hero {
  padding-top: 75px;
  padding-bottom: 74px;
  min-height: 690px;
}
.hero h1 {
  font-size: clamp(4rem,6.05vw,6.65rem);
  line-height: 1.015;
  margin-bottom: 27px;
}
.hero .eyebrow {
  margin-bottom: 23px;
}
.hero-statement {
  font-size: 1.38rem;
}
.hero-description {
  margin-bottom: 23px;
}
.hero-location {
  margin-top: 24px;
}
}
.recognition-follow {
  margin-top: 20px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
}
.career-content ul strong {
  color: var(--text);
  font-weight: 610;
}
.career-content>p {
  max-width: 760px;
}
.career-item .career-content li {
  line-height: 1.78;
}
@media (max-width:760px) {
.recognition-follow {
  margin-top: 18px;
  padding-top: 20px;
}
.recognition .recognition-number {
  min-width: 88px;
  font-size: 34px;
}
.course-row>span:last-child {
  font-size: 11px;
  line-height: 1.4;
}
}
.project-card {
  scroll-margin-top: 110px;
  min-width: 0;
}
.project-content h3 a:hover,.project-content h3 a:focus-visible {
  color: var(--green);
}
.project-cta {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-block: 10px;
}
.project-bottom {
  gap: 18px;
  flex-wrap: wrap;
}
.project-stack,.project-kind,.project-context {
  color: var(--muted);
}
.project-eyebrow {
  color: #b8c4bd;
}
.motion-ready .reveal:focus-within {
  opacity: 1;
  transform: none;
}
.nav-links {
  max-height: calc(100dvh - 100px);
  overflow-y: auto;
}
.motion-toggle {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  padding: 10px 12px;
  min-height: 44px;
}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html[data-motion="off"] .reveal {
  opacity: 1 !important;
  transform: none !important;
}
@media (max-width:480px) {
.project-bottom {
  align-items: flex-start;
  flex-direction: column;
}
.hero h1 {
  overflow-wrap: normal;
}
.email-link {
  overflow-wrap: anywhere;
}
.footer {
  flex-wrap: wrap;
}
.project-eyebrow {
  font-size: 10px;
}
}
