.section-eyebrow { color: var(--cyan); font: 620 0.72rem/1.2 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; } .hero-journey h1 { font-size: var(--step-4); letter-spacing: -0.055em; } .hero-journey__role { color: var(--text); font-size: var(--step-1); font-weight: 520; line-height: 1.28; } .hero-journey__value { max-inline-size: 40ch; color: var(--text-muted); font-size: var(--step-0); } .hero-journey__action, .project-link, .contact-link, .contact-social-link { display: inline-flex; min-block-size: 44px; align-items: center; inline-size: fit-content; } .hero-journey__action { gap: 0.75rem; margin-block-start: 0.35rem; padding-inline: 0.1rem; color: var(--cyan); font: 600 0.82rem/1 var(--mono); letter-spacing: 0.06em; text-decoration: none; } .hero-journey__action::after { content: '→'; transition: transform var(--transition); } .hero-journey__action:hover::after, .hero-journey__action:focus-visible::after { transform: translateX(0.25rem); } .portfolio-section > h2 { margin-block: 0 var(--space-3); font-size: var(--step-2); } .portfolio-section > .section-eyebrow + h2 { margin-block-start: var(--space-1); } .portfolio-section > p, .portfolio-section article p, .portfolio-section dd, .portfolio-section li { color: var(--text-muted); } .portfolio-section > * + *, .portfolio-section article > * + *, .portfolio-section li + li { margin-block-start: var(--space-2); } .portfolio-section h3 { font-size: var(--step-1); } .portfolio-section ul, .portfolio-section ol { padding-inline-start: 1.2rem; } .profile-facts { display: grid; grid-template-columns: minmax(7rem, 0.34fr) minmax(0, 1fr); gap: 0; margin-block-start: var(--space-3); border-block-start: 1px solid var(--line); } .profile-facts dt, .profile-facts dd { min-width: 0; margin: 0; padding-block: 0.8rem; border-block-end: 1px solid var(--line); } .profile-facts dt, .project-evidence dt { color: var(--cyan); font: 610 0.7rem/1.4 var(--mono); letter-spacing: 0.07em; text-transform: uppercase; } .experience-timeline { position: relative; margin: 0; padding: 0 0 0 1.6rem !important; list-style: none; } .experience-timeline::before { position: absolute; inset: 0 auto 0 0.23rem; inline-size: 1px; background: var(--line-strong); content: ''; } .experience-timeline > li { position: relative; margin-block-start: 0 !important; padding-block: 0 2.5rem; } .experience-timeline > li::before { position: absolute; inset: 0.43rem auto auto -1.62rem; inline-size: 0.5rem; block-size: 0.5rem; border: 1px solid var(--cyan); background: var(--canvas); content: ''; transform: rotate(45deg); } .experience-record { padding-block-end: var(--space-2); } .experience-record__meta { color: var(--cyan) !important; font: 520 0.74rem/1.5 var(--mono); } .experience-record ul, .systems-operations ul { margin-block-start: var(--space-2); } .systems-operations { margin-block-start: var(--space-2); padding: var(--space-3); border-inline-start: 2px solid var(--amber); background: var(--surface-soft); } .portfolio-section figure { min-width: 0; margin-inline: 0; margin-block-start: var(--space-3); padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); } .portfolio-section figcaption { margin-block-start: var(--space-1); color: var(--text-muted); font-size: var(--step--1); } .infrastructure-case > p { max-inline-size: 78ch; } .infrastructure-flow { min-width: 0; padding: clamp(3.7rem, 6vw, 5.2rem) clamp(1rem, 2.5vw, 2rem) 2rem; } .infrastructure-flow__route { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 2.35rem clamp(1.9rem, 3vw, 3rem); } .infrastructure-node { position: relative; display: grid; min-width: 0; min-block-size: 8rem; align-content: center; gap: 0.32rem; padding: 1rem; border: 1px solid var(--line-strong); border-inline-start: 3px solid var(--cyan); border-radius: var(--radius-control); background: rgb(8 19 31 / 98%); box-shadow: 0 1rem 2.8rem rgb(0 5 14 / 24%); } .infrastructure-node strong { color: var(--text); font-size: clamp(0.94rem, 1.3vw, 1.12rem); line-height: 1.15; } .infrastructure-node__sequence, .infrastructure-boundary, .infrastructure-node__guard { font: 610 0.62rem/1.2 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; } .infrastructure-node__sequence { color: var(--cyan); } .infrastructure-node__detail { color: var(--text-muted); font-size: 0.78rem; } .infrastructure-node__guard { inline-size: fit-content; margin-block-start: 0.3rem; padding: 0.25rem 0.4rem; border: 1px solid rgb(244 173 103 / 42%); color: var(--amber); } .infrastructure-boundary { position: absolute; inset: -2.05rem auto auto -0.15rem; color: var(--text-muted); white-space: nowrap; } .infrastructure-boundary::before { display: inline-block; inline-size: 0.65rem; margin-inline-end: 0.4rem; border-block-start: 1px dashed var(--line-strong); content: ''; vertical-align: middle; } .infrastructure-node__connector { position: absolute; inset: 50% 100% auto auto; inline-size: clamp(1.9rem, 3vw, 3rem); block-size: 1px; background: linear-gradient(90deg, var(--line-strong), var(--cyan)); } .infrastructure-node__connector::after { position: absolute; inset: -0.19rem 0 auto auto; inline-size: 0.36rem; block-size: 0.36rem; border-block-start: 1px solid var(--cyan); border-inline-end: 1px solid var(--cyan); content: ''; transform: rotate(45deg); } .infrastructure-node--operations { grid-column: 4; grid-row: 2; border-inline-start-color: var(--amber); } .infrastructure-node__connector--vertical { inset: auto auto 100% 50%; inline-size: 1px; block-size: 2.35rem; background: linear-gradient(180deg, var(--line-strong), var(--amber)); } .infrastructure-node__connector--vertical::after { inset: auto auto 0 -0.16rem; border-color: var(--amber); transform: rotate(135deg); } [data-testid='infrastructure-text-equivalent'] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); padding: 0 !important; list-style: none; } [data-testid='infrastructure-text-equivalent'] li { margin: 0; padding: var(--space-2); border-block-start: 1px solid var(--line); } [data-testid='infrastructure-text-equivalent'] strong { color: var(--text); } .project-stage__projects { display: grid; gap: clamp(4rem, 12vh, 8rem); margin-block-start: var(--space-4); } .project-case-study { inline-size: 46%; min-width: 0; padding: clamp(1.4rem, 2.4vw, 2.4rem); border: var(--panel-border); border-radius: var(--radius-surface); background: var(--surface); box-shadow: var(--panel-shadow); } .project-case-study[data-project-id='footy-tracker'], .project-case-study[data-project-id='public-build-two'] { margin-inline-start: 54%; } .project-case-study[data-project-priority='supporting'] { inline-size: min(38rem, 62%); margin-inline: auto; background: var(--surface-soft); } .project-case-study__header { display: grid; gap: var(--space-1); padding-block-end: var(--space-3); border-block-end: 1px solid var(--line); } .project-case-study__header h3 { font-size: var(--step-2); } .project-case-study[data-project-priority='supporting'] .project-case-study__header h3 { font-size: var(--step-1); } .project-evidence { display: grid; gap: 0; margin-block-start: var(--space-2); } .project-evidence > div { display: grid; grid-template-columns: minmax(7.5rem, 0.3fr) minmax(0, 1fr); gap: var(--space-2); padding-block: var(--space-2); border-block-end: 1px solid var(--line); } .project-evidence dd { min-width: 0; margin: 0; } .project-evidence ul { margin: 0; } .project-link { margin-block-start: var(--space-2); padding-inline: 0.65rem; border: 1px solid var(--line-strong); font: 560 0.74rem/1 var(--mono); text-decoration: none; } .compact-projects { display: grid; gap: var(--space-2); } .project-card { min-width: 0; padding: var(--space-2); border-block-start: 1px solid var(--line); } .project-card[data-maturity='prototype'], .project-card[data-maturity='active'] { margin-inline-end: 8%; } .project-card[data-maturity='learning'] { margin-inline-start: 12%; } .project-card h3 { font-size: var(--step-0); } .toolkit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); } .toolkit-group { min-width: 0; padding-block-start: var(--space-2); border-block-start: 1px solid var(--line); } .toolkit-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-1); margin-block-start: var(--space-2); padding: 0; list-style: none; } .toolkit-item { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: 0.45rem; align-items: center; min-block-size: 2.7rem; margin: 0; padding-block: 0.35rem; border-block-end: 1px solid var(--line); font-size: var(--step--1); } .brand-icon { inline-size: 1.05rem; block-size: 1.05rem; color: var(--cyan); } .toolkit-item .brand-icon { opacity: 0.86; } .contact-destination { display: grid; gap: var(--space-2); } .contact-destination__copy { max-inline-size: 34ch; color: var(--text) !important; font-size: var(--step-2); font-weight: 560; letter-spacing: -0.025em; line-height: 1.14; } .contact-link { padding-inline: 0.9rem; border: 1px solid var(--cyan); background: var(--cyan); color: #041017; font: 640 0.78rem/1 var(--mono); text-decoration: none; } .contact-destination__email, .contact-destination__cv { font-size: var(--step--1); } .contact-social { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-start: var(--space-3); padding: 0 !important; list-style: none; } .contact-social li { margin: 0; } .contact-social-link { gap: 0.48rem; padding-inline: 0.2rem; font: 540 0.74rem/1 var(--mono); text-decoration: none; } .contact-social-link .brand-icon { inline-size: 1rem; block-size: 1rem; } .project-media { overflow: hidden; } .project-media img, .project-media video { inline-size: 100%; block-size: auto; border: 1px solid var(--line); background: var(--canvas); } .media-description, .chart-description, .video-controls, .chart-values { margin-block-start: var(--space-2); } .chart-description { display: grid; grid-template-columns: minmax(6rem, auto) minmax(0, 1fr); } .chart-values { inline-size: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; } .chart-values caption { padding-block-end: var(--space-1); color: var(--text); font-weight: 650; text-align: start; } .chart-values th, .chart-values td { padding: 0.45rem; border: 1px solid var(--line); text-align: start; } .video-controls { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; } .video-controls button { min-inline-size: 8rem; min-block-size: 44px; padding-inline: var(--space-2); border: 1px solid var(--cyan); background: var(--cyan-deep); color: var(--text); font-family: var(--mono); font-weight: 650; } .video-controls button:disabled { border-color: var(--line); color: var(--text-muted); } @media (min-width: 768px) and (max-width: 1279px) { .project-case-study { inline-size: 62%; } .project-case-study[data-project-id='footy-tracker'], .project-case-study[data-project-id='public-build-two'] { margin-inline-start: 38%; } .toolkit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 767px) { .infrastructure-flow { padding: 3.2rem 0.15rem 0.5rem; } .infrastructure-flow__route { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 3.25rem; } .infrastructure-node, .infrastructure-node--operations { grid-column: 1; grid-row: auto; min-block-size: 7.2rem; } .infrastructure-node__connector, .infrastructure-node__connector--vertical { inset: auto auto 100% 50%; inline-size: 1px; block-size: 3.25rem; background: linear-gradient(180deg, var(--line-strong), var(--cyan)); } .infrastructure-node__connector::after, .infrastructure-node__connector--vertical::after { inset: auto auto 0 -0.16rem; border-color: var(--cyan); transform: rotate(135deg); } .infrastructure-node--operations .infrastructure-node__connector { background: linear-gradient(180deg, var(--line-strong), var(--amber)); } .infrastructure-node--operations .infrastructure-node__connector::after { border-color: var(--amber); } .infrastructure-boundary { inset-block-start: -1.85rem; } .profile-facts, .project-evidence > div, [data-testid='infrastructure-text-equivalent'], .toolkit-grid { grid-template-columns: 1fr; } .toolkit-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } .profile-facts dt { padding-block-end: 0.15rem; border-block-end: 0; } .profile-facts dd { padding-block-start: 0.15rem; } .project-case-study, .project-case-study[data-project-id], .project-case-study[data-project-priority] { inline-size: 100%; margin-inline: 0; padding: 1.35rem; background: var(--surface-strong); } .project-stage__projects { gap: 3rem; } .project-evidence > div { gap: 0.4rem; } .project-card[data-maturity] { margin-inline: 0; } .contact-destination__copy { font-size: var(--step-1); } .chart-description { grid-template-columns: 1fr; } }