:root{--ink:#152020;--muted:#526263;--paper:#fcfcfa;--line:#d5dcd9;--blue:#2345ed;--dark:#152521;--pale:#f0f3ef;--max:1184px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}p,h1,h2,h3,h4{margin:0}p+p{margin-top:18px}h1,h2,h3,h4{line-height:1.08;font-weight:500}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;top:-70px;left:24px;z-index:10;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.wordmark{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:700;letter-spacing:.07em;text-decoration:none}.monogram{display:grid;place-items:center;background:var(--blue);color:#fff;width:38px;height:38px;font-size:22px;letter-spacing:-2px;padding-right:3px}.site-header nav{display:flex;gap:33px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--blue)}.eyebrow,.project-label,.hero-foot,.evidence-year,.evidence-type,.map-top,.map-bottom{font-family:'Courier New',monospace;font-size:12px;line-height:1.5;letter-spacing:.08em}.hero{padding-top:37px}.hero-eyebrow{display:flex;justify-content:space-between;font-size:12px}.hero h1{margin:35px 0 37px;font-size:clamp(82px,11.8vw,160px);font-weight:600;letter-spacing:-.072em;line-height:.92}.name-line{display:block;padding-left:29.1%}.period{color:var(--blue)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.hero-intro{font-size:35px;line-height:1.2;letter-spacing:-.04em}.hero-detail{padding:0 0 12px;max-width:450px}.hero-detail>p{font-size:18px;color:var(--muted);line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;font-size:14px;line-height:1.4;transition:background .15s}.primary{color:white;background:var(--blue);margin-top:27px}.primary:hover{background:#152fb4}.hero-foot{display:flex;justify-content:space-between;gap:30px;padding:35px 0 22px;border-bottom:1px solid var(--ink);margin-top:32px;color:var(--muted);letter-spacing:.015em}.section{padding-block:100px}.section-heading{display:grid;grid-template-columns:1fr 1.7fr 1.1fr;gap:38px;align-items:start;margin-bottom:48px}.section-heading>.eyebrow{color:var(--blue);padding-top:8px}.section-heading h2{font-size:42px;letter-spacing:-.05em;line-height:1.12}.section-heading>p:last-child{color:var(--muted);padding-top:7px;font-size:16px}.work-section{background:var(--paper)}.feature-project{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:50px;background:var(--dark);color:#fff}.project-label{color:#aec4bc;font-size:12px;margin-bottom:22px}.project-copy h3{font-size:45px;letter-spacing:-.025em}.project-subtitle{font-size:21px;margin-top:12px;margin-bottom:28px;color:#ebf6ee;letter-spacing:-.015em}.project-copy>p:not(.project-subtitle){color:#c3d3cc;font-size:16px;line-height:1.65}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.tags span{font-family:'Courier New',monospace;font-size:12px;line-height:1.3;border:1px solid #4c665d;color:#d9e7df;padding:7px 9px}.project-links{margin-top:27px}.project-links .button{background:#ddfc7b;color:#182c22}.project-links .button:hover{background:#c8ed62}.system-map{display:flex;flex-direction:column;justify-content:center;min-width:0;border:1px solid #40594f;padding:23px 26px;background:linear-gradient(90deg,#213d3020 1px,transparent 1px),linear-gradient(#213d3020 1px,transparent 1px);background-size:20px 20px}.map-top{display:flex;gap:15px;justify-content:space-between;font-size:12px;letter-spacing:.04em;color:#9eb7ac;margin-bottom:47px}.map-step{border:1px solid #60786b;display:flex;align-items:center;gap:17px;padding:21px 17px;background:#1e342a}.step-number{font-family:'Courier New',monospace;font-size:13px;color:#a8bbaf}.map-step h4{font-size:18px;line-height:1.2;margin-bottom:7px;letter-spacing:-.02em}.map-step p{font-size:12px;color:#b7cdc1}.model-step{background:#ddfc7b;color:#102816;border-color:#ddfc7b}.model-step .step-number,.model-step p{color:#475b36}.connector{height:26px;width:1px;background:#8eaa98;margin-left:35px}.map-bottom{font-size:12px;color:#9eb7ac;margin-top:40px}.support-project{display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;margin-top:24px;border:1px solid var(--line);padding:30px 34px}.support-project h3{font-size:26px;letter-spacing:-.04em}.support-project p{font-size:16px;color:var(--muted)}.support-project .eyebrow{font-size:12px;margin-bottom:8px}.text-link{display:inline-block;font-size:14px;text-decoration-thickness:1px;margin-top:15px;font-weight:600}.text-link:hover{color:var(--blue)}.support-project .text-link{margin-top:0;white-space:nowrap}.safety-section{padding-top:0}.evidence-list{border-top:1px solid var(--ink)}.evidence{display:grid;grid-template-columns:1fr 2.3fr 1fr;gap:38px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}.evidence-year{color:var(--muted);padding-top:6px}.evidence h3{font-size:23px;letter-spacing:-.025em;margin-bottom:12px;line-height:1.25}.evidence p{color:var(--muted);max-width:550px}.evidence-type{text-align:right;font-size:12px;color:var(--muted);padding-top:6px}.experience-section{background:var(--pale)}.experience-list{margin-left:calc((100% - 76px)/3.8 + 38px);border-top:1px solid var(--ink)}.role{display:grid;grid-template-columns:1fr 2fr;gap:36px;padding:28px 0;border-bottom:1px solid #cdd6cd}.role-company h3{font-size:21px;letter-spacing:-.035em}.role-company p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px;font-family:'Courier New',monospace}.role-detail h4{font-size:17px;font-weight:600;line-height:1.3;margin-bottom:10px}.role-detail>p{font-size:16px;line-height:1.65;color:var(--muted)}.foundation{margin-top:55px;display:grid;grid-template-columns:1fr 1.6fr;gap:70px;padding-top:25px;border-top:1px solid var(--line)}.foundation .eyebrow{color:var(--muted);font-size:12px;margin-bottom:13px}.foundation p:not(.eyebrow){font-size:15px;line-height:1.65;max-width:580px}.contact-section{padding-block:90px}.contact-section>.eyebrow{color:var(--blue);margin-bottom:35px}.contact-content{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end}.contact-content h2{font-size:67px;letter-spacing:-.055em;line-height:1.03}.contact-content>div>p:first-child{color:var(--muted);font-size:18px;line-height:1.5}.contact-email{font-size:23px;display:inline-block;margin-top:20px;letter-spacing:-.02em;text-decoration-thickness:1px;overflow-wrap:anywhere}.contact-location{font-size:13px;color:var(--muted);line-height:1.5;margin-top:25px}footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--ink);padding-block:27px;font-size:12px;color:var(--muted)}footer>span:last-child{font-family:'Courier New',monospace;font-size:12px}footer a{font-size:12px}
@media(min-width:1600px){.hero h1{font-size:170px}.hero{padding-top:42px}}
@media(max-width:1000px){.shell{width:calc(100% - 60px)}.section{padding-block:75px}.section-heading{grid-template-columns:1fr 2fr;gap:24px}.section-heading>p:last-child{grid-column:2;max-width:450px}.section-heading h2{font-size:38px}.hero h1{font-size:120px}.hero-intro{font-size:31px}.hero-bottom{gap:40px}.feature-project{gap:30px;padding:32px}.system-map{padding:20px 17px}.map-top span:last-child{display:none}.map-step{padding:18px 12px;gap:12px}.map-step h4{font-size:16px}.map-step p{font-size:12px}.project-copy h3{font-size:36px}.project-subtitle{font-size:19px}.support-project{grid-template-columns:1fr 1.8fr;gap:15px 30px}.support-project .text-link{grid-column:2}.experience-list{margin-left:0}.evidence{grid-template-columns:1fr 2.4fr;gap:24px}.evidence-type{grid-column:2;text-align:left;padding:0;margin-top:-10px}.contact-content h2{font-size:54px}.contact-email{font-size:20px}}
@media(max-width:680px){.shell{width:calc(100% - 40px)}.site-header{height:80px}.wordmark>span:last-child{display:none}.site-header nav{gap:21px;font-size:13px}.monogram{width:34px;height:34px}.hero{padding-top:26px}.hero-eyebrow{font-size:12px;gap:20px}.hero-eyebrow>span:last-child{display:none}.hero h1{font-size:clamp(75px,21vw,138px);margin-top:34px;margin-bottom:35px;letter-spacing:-.068em}.name-line{padding-left:17%}.hero-bottom{display:block}.hero-intro{font-size:30px;line-height:1.2}.hero-detail{margin-top:23px;max-width:480px}.hero-detail>p{font-size:16px}.primary{margin-top:20px}.hero-foot{margin-top:20px;padding-top:24px;flex-direction:column;gap:8px;font-size:12px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:29px}.section-heading>.eyebrow{padding:0;margin-bottom:18px;font-size:12px}.section-heading h2{font-size:35px;line-height:1.13}.section-heading>p:last-child{margin-top:19px;padding:0;max-width:430px}.feature-project{grid-template-columns:1fr;padding:28px 23px;gap:36px}.project-label{font-size:12px;margin-bottom:18px}.project-copy h3{font-size:38px}.project-subtitle{font-size:20px;line-height:1.4;margin-bottom:23px}.project-copy>p:not(.project-subtitle){font-size:16px;line-height:1.65}.tags span{font-size:12px}.system-map{padding:22px}.map-top{margin-bottom:25px;font-size:12px}.map-step{padding:18px 15px}.map-step h4{font-size:17px}.map-step p{font-size:12px}.map-bottom{margin-top:25px;font-size:12px}.support-project{display:block;padding:25px 23px}.support-project h3{margin-bottom:13px}.support-project p{font-size:16px}.support-project .text-link{margin-top:17px}.safety-section{padding-top:0}.evidence{grid-template-columns:1fr;gap:12px;padding:25px 0}.evidence-year{padding:0;font-size:12px}.evidence h3{font-size:21px;line-height:1.25;margin-bottom:10px}.evidence p{font-size:16px}.evidence-type{grid-column:auto;margin-top:2px;font-size:12px}.role{grid-template-columns:1fr;gap:15px;padding:26px 0}.role-company{display:flex;justify-content:space-between;gap:17px;align-items:baseline}.role-company h3{font-size:22px;line-height:1.25}.role-company p{font-size:12px;margin:0;text-align:right;white-space:nowrap}.role-detail h4{font-size:16px}.role-detail p{font-size:16px}.foundation{display:block;margin-top:35px;padding-top:0;border:0}.foundation>div+div{margin-top:30px}.foundation p:not(.eyebrow){font-size:16px}.contact-section{padding-block:60px}.contact-section>.eyebrow{font-size:12px;margin-bottom:25px}.contact-content{display:block}.contact-content h2{font-size:49px}.contact-content>div{margin-top:30px}.contact-content>div>p:first-child{font-size:16px}.contact-email{font-size:22px}.contact-location{font-size:14px}footer{font-size:12px;flex-wrap:wrap;gap:18px}footer>span:last-child{width:100%;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Expanded portfolio */
.project-copy>p.project-trial{padding:14px 16px;border-left:2px solid #ddfc7b;background:#ffffff08;color:#eff7ed;font-size:15px;margin-bottom:22px}.project-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.access-note{font-size:12px;color:#c3d3cc}.projects-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-top:48px;margin-bottom:23px}.projects-heading h3{font-size:27px;letter-spacing:-.04em}.projects-heading p{font-size:14px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-card{display:flex;flex-direction:column;padding:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.project-card-body>.eyebrow{color:var(--blue);margin-bottom:16px;font-size:12px}.project-card h3{font-size:29px;letter-spacing:-.04em;line-height:1.15;margin-bottom:15px}.card-description{font-size:16px;color:var(--muted);line-height:1.65;margin-bottom:23px}.card-footer{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}.card-footer .text-link{margin-top:0}.card-access{font-size:12px;color:var(--muted)}
@media(max-width:680px){.projects-heading{display:block;margin-top:35px}.projects-heading p{margin-top:12px}.project-grid{grid-template-columns:1fr}.project-card-body{padding:25px 23px}.project-card h3{font-size:27px}.card-footer{gap:10px}.card-access{font-size:12px}.project-copy>p.project-trial{font-size:15px}}

/* Real public project previews */
.project-preview{margin:0;background:#eef1ed;min-width:0}
.preview-link{display:block;overflow:hidden;text-decoration:none;aspect-ratio:1728/996;position:relative}
.preview-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
.preview-link:hover img{transform:scale(1.025)}
.preview-link:focus-visible{outline-offset:-4px;z-index:1}
.project-preview figcaption{border-bottom:1px solid var(--line);padding:11px 32px;background:#f4f6f2;color:#41564c;font-family:'Courier New',monospace;font-size:12px;line-height:1.5}
.project-card-body{display:flex;flex-direction:column;flex:1;padding:32px;min-width:0}
.preview-restricted{aspect-ratio:1728/996;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#e9eee7,#f5f7f3);text-align:center;padding:24px;color:#41564c}
.preview-restricted strong{font-size:21px;font-weight:500;letter-spacing:-.025em}
.preview-restricted>span:last-child{font-size:13px;color:var(--muted)}
.preview-lock{width:25px;height:21px;border:1.5px solid #718477;border-radius:3px;position:relative;margin-top:14px;margin-bottom:5px}
.preview-lock:before{content:"";position:absolute;width:15px;height:15px;border:1.5px solid #718477;border-bottom:0;border-radius:8px 8px 0 0;left:3.5px;top:-14px}
.preview-gap{font-size:12px;line-height:1.5;color:#a8beb3;border-top:1px solid #40594f;padding-top:14px;margin-top:18px}
@media(max-width:680px){.project-card-body{padding:25px 23px}.project-preview figcaption{padding:10px 23px}.preview-restricted strong{font-size:20px}}

/* The Crowd: supplied product views */
.crowd-showcase{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.8fr);background:#fcfcfa}
.crowd-showcase .project-card-body{padding:38px 32px;justify-content:center}
.crowd-showcase h3{font-size:38px;letter-spacing:-.045em;margin-bottom:20px}
.crowd-showcase .card-description{margin-bottom:20px}
.project-capabilities{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:11px;font-size:14px;line-height:1.5;color:#41564c}
.project-capabilities li{padding-left:18px;position:relative}
.project-capabilities li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;background:#218465}
.crowd-showcase .card-footer{margin-top:0;gap:12px}
.crowd-showcase .card-access{flex-basis:100%}
.crowd-previews{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px;background:#0b1512;align-items:center}
.crowd-previews figure{margin:0;min-width:0;align-self:center}
.crowd-image-link{display:block;overflow:hidden;border:1px solid #294239;border-radius:7px;background:#070b0d;text-decoration:none}
.crowd-image-link img{display:block;width:100%;height:auto}
.crowd-image-link:focus-visible{outline-offset:4px;outline-color:#5bd7a7}
.crowd-previews figcaption{display:flex;gap:10px;align-items:flex-start;padding:15px 1px 0;color:#e6f3ec;line-height:1.4}
.crowd-previews figcaption strong{display:block;font-size:16px;font-weight:500;letter-spacing:-.025em}
.crowd-previews figcaption div>span{display:block;font-size:12px;color:#a5c1b3;margin-top:5px}
.preview-number{font-family:'Courier New',monospace;font-size:12px;color:#5bd7a7;padding-top:2px}
@media(max-width:1000px){.crowd-showcase{grid-template-columns:1fr}.crowd-showcase .project-card-body{padding:32px}.crowd-showcase .card-access{flex-basis:auto}.crowd-previews{padding:28px;gap:24px}.crowd-previews figure{max-width:390px;width:100%;justify-self:center}.crowd-showcase .project-capabilities{grid-template-columns:1fr 1fr;gap:12px 25px}}
@media(max-width:680px){.crowd-showcase .project-card-body{padding:28px 23px}.crowd-showcase h3{font-size:32px}.crowd-showcase .project-capabilities{grid-template-columns:1fr;margin-bottom:24px}.crowd-previews{grid-template-columns:1fr;padding:23px;gap:28px}.crowd-previews figcaption{padding-top:13px}.crowd-previews figcaption strong{font-size:18px}.crowd-previews figcaption div>span{font-size:13px}}
