/* A quieter palette, a consistent type scale, and optional movement. */
:root {
  color-scheme: dark;
  --paper:#121715; --ink:#edf0e9; --muted:#aebbb2; --accent:#e6a487;
  --line:#39483f; --soft:#1d2821; --alt:#17201b; --deep:#101611;
  --header:rgba(18,23,21,.96); --map:#95a79a;
  --sans:'Segoe UI Variable','Segoe UI',Arial,sans-serif;
  --serif:var(--sans); --mono:Consolas,'Courier New',monospace;
}
:root[data-theme='light'] {
  color-scheme:light;
  --paper:#f4f1e9; --ink:#222923; --muted:#566058; --accent:#a43c2a;
  --line:#c7c9bd; --soft:#e7e9df; --alt:#edeee5; --deep:#e4e7dc;
  --header:rgba(244,241,233,.96); --map:#687d6b;
}
body {font-size:16px; transition:background-color .25s,color .25s;}
body::after {display:none;}
em {font-style:normal;}
h2 {font-size:clamp(42px,4.6vw,66px);font-weight:550;letter-spacing:-.055em;line-height:1.07;text-wrap:balance;}
h2 em {font-weight:400;color:var(--muted);}
.eyebrow {font-weight:500;letter-spacing:.07em;}
.site-header {height:86px;background:var(--header);gap:32px;}
.wordmark {font-size:10px;letter-spacing:.09em;}
.monogram {font-family:var(--sans);font-weight:500;font-style:normal;font-size:29px;border:0;border-radius:0;width:32px;padding:0;}
.site-header nav {margin-left:auto;gap:28px;font-size:13px;}
.nav-contact {border:0;padding:0;gap:9px;}
.nav-contact:hover {color:var(--accent);background:transparent;}
.header-controls {display:flex;align-items:center;gap:20px;padding-left:24px;border-left:1px solid var(--line);}
.theme-toggle {display:flex;gap:8px;align-items:center;min-height:40px;padding:8px 0;background:transparent;font-size:12px;}
.theme-toggle:hover {color:var(--accent);}
.theme-moon {display:none;}
[data-theme='light'] .theme-sun {display:none;}
[data-theme='light'] .theme-moon {display:block;}
.skip-link {color:var(--paper);}
.reading-progress {height:2px;}
.edition,.about-mark,.hero-foot>span:nth-child(2),.site-footer>p {display:none;}
.hero {padding-top:28px;}
.hero-grid {padding:48px 0 54px;gap:clamp(32px,6vw,95px);grid-template-columns:minmax(0,1.24fr) minmax(0,.9fr);}
.hero-copy h1 {font-size:clamp(78px,9.6vw,150px);font-weight:550;line-height:.96;letter-spacing:-.075em;}
.hero-copy .surname {font-family:var(--sans);font-size:1em;font-weight:350;font-style:normal;letter-spacing:-.075em;color:var(--muted);margin-top:0;}
.hero-statement {font-size:clamp(24px,2.1vw,31px);font-weight:500;line-height:1.3;letter-spacing:-.035em;margin-top:30px;}
.hero-statement em {font-style:normal;font-weight:400;color:var(--muted);}
.hero-description {font-size:16px;line-height:1.8;max-width:435px;margin-top:19px;}
.hero-actions {gap:24px;margin-top:29px;}
.button {font-size:13px;border-radius:3px;padding:14px 20px;font-weight:550;}
.button-dark:hover {color:var(--paper);}
.text-link {font-size:12px;}
.hero-actions .text-link {max-width:155px;line-height:1.6;}
.hero-visual {padding-top:0;}
.signal-art {border:0;aspect-ratio:1.1;}
.art-meta,.art-bottom {font-size:9px;color:var(--muted);}
.art-meta>span:last-child,.art-bottom>span:last-child {display:none;}
.signal-map {color:var(--map);}
.map-hairlines {opacity:.55;}
.signal-core {width:40%;background:var(--paper);border-color:var(--line);box-shadow:5px 5px 0 var(--soft),6px 6px 0 var(--line);transform:translate(-50%,-50%) rotate(-6deg);gap:6px;}
.core-star {font-size:43px;}
.core-caption {font-family:var(--sans);font-style:normal;font-size:15px;color:var(--muted);}
.signal-art[data-mode='readiness'] .signal-core,.signal-art[data-mode='response'] .signal-core {background:var(--soft);}
.signal-controls {gap:0;border-bottom:1px solid var(--line);margin-top:10px;}
.signal-controls button {font-family:var(--sans);font-size:12px;padding:10px 6px;border:0;border-bottom:2px solid transparent;}
.signal-controls button[aria-pressed='true'] {border-color:var(--accent);color:var(--accent);background:transparent;}
.signal-controls button:hover {background:var(--soft);}
.signal-note {font-family:var(--sans);font-style:normal;font-size:13px;line-height:1.65;min-height:42px;margin-top:12px;}
.visual-options {display:flex;align-items:center;justify-content:space-between;gap:15px;font-family:var(--mono);font-size:9px;color:var(--muted);margin-top:5px;}
#motion-toggle {font-family:var(--sans);font-size:11px;padding:8px 0;min-height:32px;color:var(--ink);}
#motion-toggle .motion-dot {width:5px;height:5px;background:var(--muted);}
#motion-toggle[aria-pressed='true'] .motion-dot {background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);}
.hero-foot {padding:17px 0 20px;color:var(--muted);}
.impact-strip {background:var(--paper);padding-block:36px;}
.impact-intro .eyebrow {font-size:11px;color:var(--muted);}
.impact-intro>p {font-family:var(--sans);font-size:14px;font-style:normal;line-height:1.7;}
.impact-stat {border-color:var(--line);}
.stat-number {font-weight:400;font-size:clamp(42px,4.5vw,64px);}
.impact-stat p {color:var(--muted);font-size:13px;line-height:1.7;}
.work-section {padding-top:88px;padding-bottom:80px;}
.section-heading {gap:60px;margin-bottom:40px;}
.section-number {font-size:11px;margin-bottom:20px;}
.section-intro {font-size:16px;line-height:1.8;max-width:400px;}
.work-toolbar {border-color:var(--line);}
.work-filters button {font-size:12px;padding:8px 14px;border-radius:3px;}
.result-count {font-size:10px;}
.project-row {grid-template-columns:36px minmax(0,1.1fr) minmax(0,.85fr);gap:24px;padding-block:40px;}
.project-kind {font-size:10px;}
.project-copy h3 {font-weight:500;font-size:clamp(28px,2.8vw,39px);line-height:1.14;letter-spacing:-.045em;}
.project-copy>p:not(.eyebrow) {font-size:15px;line-height:1.8;max-width:390px;}
.case-link {font-size:12px;gap:22px;}
.project-art {background:var(--soft);border:1px solid var(--line);border-radius:3px;height:235px;}
.recovery-art,.compliance-art,.controls-art,.identity-art {background:var(--soft);}
.visual-tag {color:var(--muted);font-size:9px;letter-spacing:.04em;}
.visual-footer>span {font-size:10px;line-height:1.7;}
.system-grid span {border-color:var(--map);}
.system-grid span:nth-child(13) {box-shadow:0 0 0 5px var(--paper);}
.week-bar {font-size:9px;}
.week-bar>div {background:var(--map);opacity:.6;}
.week-bar.after>div {background:var(--accent);opacity:1;}
.control-stack>span {background:var(--alt);border-color:var(--map);}
.control-stack>span:nth-child(3) {background:repeating-linear-gradient(0deg,var(--alt),var(--alt) 14px,var(--line) 15px,var(--alt) 16px);}
.identity-flow>span {border-color:var(--map);background:var(--paper);font-size:9px;}
.identity-art .visual-footer>span {font-size:9px;}
.art-footnote {color:var(--muted);font-size:9px;}
.about-section {background:var(--alt);padding-block:80px;border-bottom:1px solid var(--line);}
.about-heading h2 {font-size:clamp(46px,5.2vw,72px);line-height:1.1;}
.about-copy .large-copy {font-family:var(--sans);font-weight:500;font-size:29px;line-height:1.35;}
.about-copy>p:not(.large-copy) {font-size:16px;line-height:1.85;color:var(--muted);}
.skills-block h3 {font-size:11px;}
.skill-tags>span {border-color:var(--line);font-size:12px;padding:6px 10px;border-radius:3px;}
.career-heading>h3 {font-weight:500;}
.career-list {border-color:var(--line);}
.career-date {font-size:11px;}
.career-list h4 {font-size:21px;}
.career-list article>div>p {font-size:14px;}
.career-detail {font-size:14px;color:var(--muted);line-height:1.8;}
.next-section {background:var(--paper);color:var(--ink);padding-block:80px;}
.next-section .section-number {color:var(--accent);}
.next-section h2 {font-size:clamp(46px,5vw,70px);}
.next-intro {font-size:16px;color:var(--muted);line-height:1.85;}
.next-direction {font-family:var(--sans);font-size:15px;font-style:normal;color:var(--accent);}
.direction-flow {font-size:10px;}
.direction-flow i {color:var(--muted);}
.direction-flow strong {color:var(--accent);border-color:var(--accent);}
.transfer-list,.transfer-list article {border-color:var(--line);}
.transfer-list article>span {color:var(--muted);font-size:11px;}
.transfer-list h3 {font-weight:500;font-size:25px;}
.transfer-list p {color:var(--muted);font-size:15px;line-height:1.8;}
.education-section {border-top:1px solid var(--line);padding-block:65px;}
.education-grid h2 {font-size:clamp(58px,7vw,100px);font-weight:500;}
.education-detail>.eyebrow {font-size:11px;max-width:390px;}
.education-detail h3 {font-size:27px;font-weight:500;}
.education-focus {font-family:var(--sans);font-style:normal;font-size:20px;}
.education-honors {font-size:11px;}
.continuing {font-size:13px;}
.continuing>span {font-size:10px;background:var(--soft);}
.contact-section {background:var(--alt);border-bottom:1px solid var(--line);padding-block:65px;}
.contact-top>.section-number {color:var(--accent);font-size:11px;}
.contact-spark {font-size:48px;}
.contact-section h2 {font-size:clamp(43px,6vw,84px);font-weight:500;line-height:1.12;}
.contact-bottom>p {font-size:15px;color:var(--muted);}
.copy-email {font-size:12px;}
.site-footer {padding-block:26px;justify-content:space-between;}
.footer-name {font-weight:500;font-size:15px;}
.footer-year {font-size:11px;color:var(--muted);}
.case-dialog {border-color:var(--line);border-radius:4px;}
.dialog-top>.eyebrow,.dialog-category {font-size:10px;}
.dialog-close {font-size:13px;}
.case-dialog h2 {font-size:clamp(32px,4.2vw,52px);font-weight:500;}
.dialog-summary {font-family:var(--sans);font-size:19px;line-height:1.65;color:var(--muted);}
.dialog-metric p {font-size:14px;}
.case-narrative h3 {font-size:11px;}
.case-narrative p {font-size:16px;color:var(--muted);line-height:1.8;}
.dialog-tags>span {font-size:11px;border-radius:3px;}
.dialog-foot {font-size:10px;}
.toast {border-color:var(--line);font-size:14px;}
/* Movement is decorative; all content remains available with motion off. */
.signal-orbit {animation:none;}
[data-motion='on'] {scroll-behavior:smooth;}
[data-motion='on'] .signal-orbit {animation:orbit 32s linear infinite;}
[data-motion='on'] .signal-orbit-secondary {transform-origin:240px 225px;animation:orbit-reverse 48s linear infinite;}
[data-motion='on'] .core-star {animation:orbit 40s linear infinite;}
[data-motion='on'] .system-grid span {animation:node-breathe 6s ease-in-out infinite;animation-delay:calc(var(--node,0) * .13s);}
[data-motion='on'] .control-stack {animation:stack-drift 7s ease-in-out infinite;}
[data-motion='on'] .identity-flow>i {position:relative;overflow:hidden;height:2px;background:var(--line);}
[data-motion='on'] .identity-flow>i::after {content:'';position:absolute;inset:0;background:var(--accent);animation:connection 3s ease-in-out infinite;}
[data-motion='on'] .identity-flow>i:nth-of-type(2)::after {animation-delay:.8s;}
[data-motion='on'].js .reveal {transition-delay:var(--reveal-delay,0ms);}
[data-motion='on'] .button:hover span,[data-motion='on'] .text-link:hover span {transform:translate(3px,-2px);}
[data-motion='on'] .button span,[data-motion='on'] .text-link span {transition:transform .25s;}
[data-motion='off'],[data-motion='off'] * {scroll-behavior:auto;}
[data-motion='off'] *,[data-motion='off'] *::before,[data-motion='off'] *::after {animation:none!important;transition:none!important;}
[data-motion='off'] .reveal {opacity:1!important;transform:none!important;}
[data-motion='off'] .project-row:hover .project-art,[data-motion='off'] .button:hover {transform:none;}
@keyframes orbit-reverse {to {transform:rotate(-360deg);}}
@keyframes node-breathe {0%,75%,100%{opacity:.55}35%{opacity:1;background:var(--accent);border-color:var(--accent);}}
@keyframes stack-drift {0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-7px)}}
@keyframes connection {0%{transform:translateX(-105%)}65%,100%{transform:translateX(105%)}}
@media(min-width:1600px) {.hero-copy h1{font-size:150px}.hero-description{font-size:17px}.hero-visual{max-width:490px}}
@media(max-width:1100px) {
  .site-header{gap:20px}.site-header nav{gap:19px}.header-controls{padding-left:18px}
  .hero-grid{gap:32px}.hero-copy h1{font-size:9.5vw}.hero-description{font-size:15px}.hero-actions{gap:16px}
  .hero-actions .text-link{font-size:11px;max-width:145px}.signal-controls button{font-size:11px}
  .section-heading,.about-grid,.next-grid,.education-grid{gap:42px}
  .project-row{grid-template-columns:24px minmax(0,1.1fr) minmax(0,.9fr);gap:20px}
  .project-art{height:245px}.visual-footer>span{font-size:9px}.identity-flow>span{font-size:7px}
  .identity-art .visual-footer>span{font-size:8px}.identity-art .visual-footer>strong{font-size:40px}
  .career-list article{gap:24px}.career-date{font-size:10px}
}
@media(max-width:760px) {
  :root{--gutter:24px}.site-header{height:76px;gap:15px}.wordmark{gap:8px;font-size:9px}.monogram{width:28px;font-size:28px}
  .header-controls{margin-left:auto;padding:0;border:0;gap:22px}.theme-toggle{font-size:12px;gap:7px}
  .menu-toggle{font-size:12px;gap:9px;padding-left:0;min-height:40px}.menu-lines{width:18px;height:8px}
  .site-header nav{top:76px;background:var(--paper);margin:0}.site-header nav .nav-contact{padding-block:15px}
  .hero{padding-top:25px}.hero-topline .eyebrow{font-size:10px;max-width:100%}
  .hero-grid{grid-template-columns:minmax(0,1fr);padding:34px 0 30px;gap:34px}
  .hero-copy h1{font-size:clamp(58px,17vw,124px);line-height:.96;letter-spacing:-.075em}
  .hero-copy .surname{font-size:1em;letter-spacing:-.075em}.hero-statement{font-size:27px;margin-top:25px}
  .hero-description{font-size:16px;max-width:480px;line-height:1.8}.hero-actions{gap:20px;margin-top:24px}
  .hero-actions .text-link{font-size:12px;max-width:155px}.hero-actions .button{font-size:13px;padding:13px 18px}
  .hero-visual{padding:5px 0 0;max-width:440px}.signal-art{aspect-ratio:1.12}.core-star{font-size:41px}
  .core-label{font-size:11px}.core-caption{font-size:14px}.signal-controls button{font-size:12px}
  .signal-note{font-size:13px;min-height:42px}.visual-options{font-size:9px}#motion-toggle{font-size:11px}
  .hero-foot{font-size:9px}.impact-strip{grid-template-columns:1fr 1fr;padding-block:30px;gap:28px 20px}
  .impact-intro>p{font-size:14px}.impact-stat p{font-size:12px}.stat-number{font-size:48px}
  .impact-stat:nth-child(3){border-left:0;padding-left:0}.impact-stat{padding-left:18px}
  .work-section{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}
  .section-heading h2{font-size:clamp(36px,8.8vw,58px)}.section-intro{font-size:16px}
  .section-number{font-size:11px;margin-bottom:16px}.work-filters{gap:3px}.work-filters button{font-size:12px;padding:8px 10px}
  .result-count{font-size:10px}.project-row{grid-template-columns:20px minmax(0,1fr);gap:0 14px;padding-block:31px}
  .project-index{font-size:11px}.project-kind{font-size:10px}.project-copy h3{font-size:clamp(28px,7vw,36px)}
  .project-copy>p:not(.eyebrow){font-size:15px;max-width:480px}.case-link{font-size:12px}
  .project-art{grid-column:2;width:100%;max-width:480px;height:235px;margin-top:25px;padding:22px}
  .visual-footer{left:22px;right:22px}.visual-footer>span{font-size:10px}.identity-flow>span{font-size:8px}
  .identity-art .visual-footer>span{font-size:8px}.art-footnote{left:22px;font-size:9px;max-width:calc(100% - 44px);line-height:1.4}
  .about-section,.next-section{padding-block:60px}.about-grid,.next-grid,.education-grid{grid-template-columns:1fr;gap:32px}
  .about-heading h2{font-size:clamp(42px,11.5vw,65px);line-height:1.08}.about-copy .large-copy{font-size:27px}
  .about-copy>p:not(.large-copy){font-size:16px}.career-heading>h3{font-size:24px}.career-heading>.eyebrow{font-size:9px}
  .career-list article{grid-template-columns:1fr;gap:9px}.career-date{font-size:11px}.career-detail{font-size:14px;max-width:480px}
  .next-section h2{font-size:clamp(43px,11vw,65px)}.next-intro{font-size:16px}.next-direction{font-size:15px}
  .direction-flow{font-size:9px;gap:12px}.transfer-list h3{font-size:24px}.transfer-list p{font-size:15px}
  .education-section{padding-block:50px}.education-year{font-size:10px}.education-grid h2{font-size:clamp(55px,15vw,85px)}
  .education-detail h3{font-size:25px}.education-detail>.eyebrow{font-size:11px}.education-focus{font-size:20px}
  .education-honors{font-size:11px}.continuing{font-size:13px}.continuing>span{font-size:10px;display:inline-block}
  .contact-section{padding-block:48px}.contact-section h2{font-size:clamp(35px,8.7vw,64px)}
  .contact-top>.section-number{font-size:11px;max-width:220px}.contact-spark{font-size:40px}
  .contact-bottom{gap:25px}.contact-bottom>p{font-size:15px}.contact-actions{gap:12px}
  .contact-actions>.button{font-size:13px;padding:13px 17px}.copy-email{font-size:12px;padding:10px 0}
  .site-footer{flex-wrap:nowrap;gap:15px}.footer-name{width:auto;font-size:14px;gap:12px}.footer-year{order:0}
  .case-dialog{padding:20px 22px 26px}.case-dialog h2{font-size:34px}.dialog-summary{font-size:18px}
  .dialog-metric p{font-size:13px}.case-narrative p{font-size:15px}.dialog-foot{font-size:10px}
}
@media(max-width:380px) {
  :root{--gutter:20px}.header-controls{gap:15px}.wordmark{font-size:8px;letter-spacing:.07em}
  .hero-actions{gap:14px}.hero-actions .text-link{font-size:11px;max-width:130px}.hero-actions .button{gap:15px;padding:13px 14px;font-size:12px}
  .hero-foot{font-size:8px;gap:10px}.signal-controls button{font-size:11px}.visual-options>span{font-size:8px}
  .work-filters button{font-size:11px;padding:8px}.project-row{grid-template-columns:16px minmax(0,1fr);gap:0 10px}
  .project-art{padding:18px}.visual-footer{left:18px;right:18px}.visual-tag{font-size:8px}.visual-footer>span{font-size:9px}
  .identity-flow{gap:5px}.identity-flow>span{font-size:7px;padding-inline:4px}.identity-art .visual-footer>span{font-size:7px}
  .identity-art .visual-footer>strong{font-size:37px}.art-footnote{left:18px;font-size:8px;max-width:calc(100% - 36px)}
  .education-honors{gap:10px}.education-honors>span+span{padding-left:10px}.contact-spark{font-size:30px}
}
@media print {
  :root{--paper:white;--ink:#222923;--muted:#485249;--line:#bbb;--soft:#eee;--alt:white}
  .header-controls,.visual-options{display:none}.next-section,.contact-section,.about-section{background:white;color:#222923}
}