:root{--ink:#0a0a0a;--paper:#fff;--fog:#f0f1ed;--line:#d5d7d1;--muted:#60655e;--signal:#ef4d20;--deep:#0a0a0a;--lime:#fff}
.skip-link{position:fixed;z-index:1000;left:16px;top:12px;transform:translateY(-160%);background:#0b0c0b;color:#fff;padding:11px 15px;border:2px solid var(--signal);font:700 13px/1.2 "DM Sans",Helvetica,sans-serif;text-decoration:none;transition:transform .16s ease}.skip-link:focus{transform:translateY(0);outline:3px solid #fff;outline-offset:2px}main[tabindex="-1"]:focus{outline:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fafaf8;color:var(--ink);font-family:"DM Sans",Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.site-header{height:74px;padding:0 3.6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:10px ui-monospace,monospace;letter-spacing:.1em}
.wordmark{font:500 22px "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.28em}
.wordmark span,.number,.lanes span,.row>b,.thesis>b,.agents>b{color:var(--signal)}
.wordmark small{display:block;margin-top:.12rem;font:600 .5rem/1 var(--mono);letter-spacing:.22em;color:var(--muted)}
nav{display:flex;gap:28px}
nav a{padding:30px 0;border-bottom:2px solid transparent}
nav a:hover,nav .active{border-color:var(--signal)}
.site-badge{border:1px solid var(--line);padding:10px;color:var(--signal)}
.hero{min-height:calc(100svh - 74px);background:var(--deep);color:#fff;padding:8vw 7vw;display:flex;align-items:center;overflow:hidden;position:relative}
.hero-copy{z-index:1;max-width:800px}
.eyebrow,.kicker{font:10px ui-monospace,monospace;letter-spacing:.12em;margin:0 0 20px}
.kicker{color:var(--lime)}
.hero h1,.intro h1{font:500 clamp(60px,9.5vw,148px)/.84 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.025em;text-transform:uppercase;margin:0 0 25px}
.lede{font-size:clamp(17px,1.6vw,22px);line-height:1.55;max-width:560px;color:#d4d7d0}
.actions{display:flex;gap:15px;margin-top:34px}
.button{padding:16px 19px;font:10px ui-monospace,monospace;letter-spacing:.08em}
.primary{background:#fff;color:var(--deep)}
.quiet{border:1px solid #777}
.sun{position:absolute;right:-11vw;top:50%;width:min(65vw,850px);aspect-ratio:1;border-radius:50%;background:var(--signal);transform:translateY(-50%);animation:f 9s ease-in-out infinite}
.ring{position:absolute;right:-20vw;top:50%;border:1px solid #ffffff40;border-radius:50%;transform:translateY(-50%)}
.r1{width:78vw;height:78vw}
.r2{width:101vw;height:101vw}
.index{position:absolute;bottom:28px;font:9px ui-monospace,monospace;color:#ccd0c8}
.manifesto,.process,.standards{display:grid;grid-template-columns:.25fr 1.3fr .9fr;gap:5vw;padding:clamp(76px,11vw,165px) 7vw;border-bottom:1px solid var(--line)}
h2{font:500 clamp(34px,4.4vw,70px)/1.01 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.025em;text-transform:uppercase;margin:0}
.manifesto>p:last-child,.closing>p:last-child{font-size:16px;line-height:1.7;color:var(--muted)}
.lanes{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.lanes article{min-height:360px;padding:42px 5vw;border-right:1px solid var(--line);display:flex;flex-direction:column}
.lanes h3{font:600 30px/1 Arial;letter-spacing:-.055em;margin:62px 0 15px}
.lanes p{line-height:1.65;color:var(--muted)}
.lanes a{margin-top:auto;font:10px ui-monospace,monospace}
.process{background:var(--fog);grid-template-columns:.84fr 1.16fr}
.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.process li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.process b{color:var(--signal)}
.process h3{margin:0 0 7px}
.process p{margin:0;color:var(--muted);line-height:1.55}
.standards{background:var(--signal);color:#fff;grid-template-columns:.84fr 1.16fr}
.standards ul{margin:0;padding:0;list-style:none;border-top:1px solid #ffffff80}
.standards li{padding:20px 0;border-bottom:1px solid #ffffff80;font-size:16px;line-height:1.55}
.closing{padding:clamp(90px,14vw,195px) 7vw;max-width:1080px}
footer{border-top:1px solid var(--line);padding:21px 3.6vw;display:flex;justify-content:space-between;font:9px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}
.opportunity-ledger{display:grid;grid-template-columns:.75fr 1.25fr;margin:0!important;border-bottom:1px solid var(--line);background:#fafaf8}
.ledger-intro{padding:clamp(55px,8vw,120px) 7vw;border-right:1px solid var(--line)}
.ledger-intro>p:not(.eyebrow){color:var(--muted);line-height:1.65;max-width:420px}
.ledger-link{display:inline-block;margin-top:24px;border-bottom:1px solid currentColor;font:500 10px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
.ledger-list a{display:grid;grid-template-columns:115px 1fr 170px;gap:18px;align-items:center;padding:28px 34px;border-bottom:1px solid var(--line);transition:background .2s ease-out,color .2s ease-out}
.ledger-list a:last-child{border-bottom:0}.ledger-list a:hover{background:#0a0a0a;color:#fafaf8}.ledger-list span,.ledger-list b{font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.ledger-list h3{font-size:22px;margin:0}.ledger-list p{color:var(--muted);font-size:12px;margin:4px 0 0}.ledger-list b{text-align:right;color:var(--signal)}
.atlas-tease{margin:0!important;min-height:620px;background:#0a0a0a;color:#fafaf8;padding:clamp(70px,10vw,145px) 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;overflow:hidden}.atlas-tease>div:first-child p:not(.eyebrow){color:#b0b0b0;line-height:1.65;max-width:510px}.atlas-wordfield{display:grid;grid-template-columns:repeat(2,1fr);transform:rotate(-7deg);border:1px solid #333}.atlas-wordfield span{padding:28px 22px;border-right:1px solid #333;border-bottom:1px solid #333;font:500 clamp(18px,2.4vw,34px) "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.08em;color:#b0b0b0;transition:background .2s ease-out,color .2s ease-out}.atlas-wordfield span:hover{background:#fafaf8;color:#0a0a0a}.inverse{background:#0a0a0a;color:#fafaf8}.quiet.dark{border-color:#0a0a0a;color:#0a0a0a}
.workspace{background:#fbfcf9}
.work{max-width:1250px;padding:clamp(48px,7vw,100px);margin:auto}
.intro{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end;margin-bottom:100px}
.intro h1{font-size:clamp(48px,6.5vw,100px);color:var(--ink)}
.intro>p{font-size:15px;line-height:1.65;color:var(--muted)}
.head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;font:9px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 320px;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}
.row h2,.thesis h2,.darkbox h2,.claims h2{font:600 clamp(26px,2.8vw,44px)/1.04 Arial;letter-spacing:-.055em;margin:14px 0 0}
.row p,.thesis p,.gate p,.approval p,.agents p{color:var(--muted);line-height:1.55}
.row dl,.approval dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0}
.row dt,.approval dt{font:9px ui-monospace,monospace;color:var(--muted)}
.row dd,.approval dd{margin:6px 0;font-size:12px}
section+section{margin-top:100px}
.table>div{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.darkbox{background:var(--deep);color:#fff;padding:clamp(38px,5vw,75px)}
.darkbox p:last-child{max-width:700px;line-height:1.65;color:#c8ccc4}
.thesis{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;border-bottom:1px solid var(--line);padding-bottom:70px}
.facts{border-top:1px solid var(--line)}
.facts p{padding:18px 0;border-bottom:1px solid var(--line)}
.facts b{display:block;color:var(--signal);font:9px ui-monospace,monospace}
.gate{display:grid;grid-template-columns:55px 1fr 150px;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.gate>b{color:var(--signal)}
.gate h2{font-size:22px}
.gate p{font-size:14px}
.gate strong{font:10px ui-monospace,monospace}
.agents{display:grid;grid-template-columns:repeat(3,1fr)}
.agents article{padding:24px;min-height:170px;border:1px solid var(--line);margin:-1px 0 0 -1px}
.agents h3{font-size:20px;letter-spacing:-.04em;margin:30px 0 10px}
.agents p{font-size:13px}
.claims{background:var(--signal);color:#fff;padding:clamp(38px,6vw,78px);display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.claims ul{padding:0;margin:0;list-style:none;border-top:1px solid #ffffff80}
.claims li{padding:15px 0;border-bottom:1px solid #ffffff80;line-height:1.45}
.approval{display:grid;grid-template-columns:1fr 360px;gap:40px;border-bottom:1px solid var(--line);padding:30px 0}
.approval h2{font-size:31px;margin:14px 0}
.architecture{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff40;margin:45px 0}
.architecture article{padding:20px;background:var(--deep);min-height:195px}
.architecture span{color:var(--lime)}
.architecture h3{margin:37px 0 10px}
.architecture p{color:#c8ccc4;line-height:1.5;font-size:13px}
.doc-link{border-bottom:1px solid currentColor;font:10px ui-monospace,monospace}
@keyframes f{50%{transform:translateY(-54%) scale(1.04)}
}
.catalogue{background:#fafaf8}.catalogue-hero{min-height:72svh;padding:clamp(70px,10vw,150px) 7vw 70px;display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;border-bottom:1px solid var(--line)}.catalogue-hero h1,.profile-hero h1{font:500 clamp(64px,9vw,140px)/.84 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.025em;text-transform:uppercase;margin:0}.catalogue-hero>div p{line-height:1.65;color:var(--muted)}.catalogue-note{font:500 10px "IBM Plex Mono",ui-monospace,monospace!important;letter-spacing:.08em;text-transform:uppercase}.catalogue-filter{margin:0!important;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.catalogue-filter span{padding:18px 3vw;border-right:1px solid var(--line);font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em}.project-ledger{margin:0!important}.project-record{display:grid;grid-template-columns:70px minmax(300px,1.4fr) minmax(360px,.8fr) 120px;gap:28px;align-items:center;padding:38px 4vw;border-bottom:1px solid var(--line);transition:background .2s,color .2s}.project-record:hover{background:#0a0a0a;color:#fafaf8}.project-record.flagship{background:#101f3c;color:#fafaf8}.project-record h2{font-size:clamp(27px,3vw,46px)}.project-record p:not(.eyebrow){color:var(--muted);line-height:1.5}.project-record.flagship p:not(.eyebrow){color:#c9cfdb}.record-number{font:500 13px "IBM Plex Mono",ui-monospace,monospace}.project-record dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0}.project-record dt{font:500 8px "IBM Plex Mono",ui-monospace,monospace;color:var(--muted);text-transform:uppercase}.project-record dd{font-size:11px;margin:7px 0}.project-record>b{font:500 9px "IBM Plex Mono",ui-monospace,monospace;text-align:right}.catalogue-cta{margin:0!important;background:#0a0a0a;color:#fafaf8;padding:clamp(70px,10vw,145px) 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.catalogue-cta>div:last-child p{color:#b0b0b0;line-height:1.7;max-width:540px}.profile-shell{background:#fafaf8}.profile-hero{min-height:68svh;padding:clamp(70px,9vw,135px) 7vw 65px;background:#0a0a0a;color:#fafaf8;display:grid;grid-template-columns:1fr 260px;gap:7vw;align-items:end}.profile-hero>div>p:last-child{max-width:700px;color:#b0b0b0;font-size:18px;line-height:1.6}.profile-hero aside{display:grid;gap:14px}.profile-hero aside span,.profile-hero aside a{padding:15px;border:1px solid #444;font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.profile-hero aside a{background:#fafaf8;color:#0a0a0a}.profile-facts{margin:0!important;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}.profile-facts div{padding:25px 2vw;border-right:1px solid var(--line)}.profile-facts span,.profile-facts strong{display:block}.profile-facts span{font:500 8px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.profile-facts strong{font-size:13px}.profile-grid{margin:0!important;padding:clamp(70px,9vw,130px) 7vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.profile-grid article p:last-child{color:var(--muted);line-height:1.75;max-width:650px}.profile-grid ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.profile-grid li{padding:19px 0;border-bottom:1px solid var(--line);font:500 11px "IBM Plex Mono",ui-monospace,monospace}.profile-boundary{margin:0!important;background:#101f3c;color:#fafaf8;padding:clamp(60px,8vw,110px) 7vw}.profile-boundary p:last-child{max-width:760px;color:#c9cfdb;line-height:1.7}
.developer-standard{margin:0!important;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.developer-standard div{padding:40px 3vw;border-right:1px solid var(--line)}.developer-standard span{font:500 10px "IBM Plex Mono",ui-monospace,monospace;color:var(--signal)}.developer-standard h2{font-size:32px;margin:50px 0 12px}.developer-standard p{font-size:13px;line-height:1.6;color:var(--muted)}.developer-directory{margin:0!important;padding:clamp(70px,9vw,130px) 7vw}.developer-directory header{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;margin-bottom:55px}.developer-directory>a{display:grid;grid-template-columns:150px 1fr 180px;gap:25px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}.developer-directory>a:last-child{border-bottom:1px solid var(--line)}.developer-directory>a>span,.developer-directory>a>b{font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em}.developer-directory h3{font-size:23px;margin:0 0 6px}.developer-directory p{margin:0;color:var(--muted);font-size:12px}.research-index{background:#fafaf8}.research-hero{min-height:76svh;background:#0a0a0a;color:#fafaf8;padding:clamp(70px,10vw,150px) 7vw;display:flex;flex-direction:column;justify-content:flex-end}.research-hero h1{font:500 clamp(78px,12vw,180px)/.76 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.03em;text-transform:uppercase;margin:0}.research-hero>p:last-child{max-width:600px;color:#b0b0b0;font-size:17px;line-height:1.6;margin-top:30px}.research-feature{margin:0!important;padding:clamp(70px,9vw,125px) 7vw;display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;border-bottom:1px solid var(--line)}.research-feature>div>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:680px}.research-feature a{display:inline-block;margin-top:20px;border-bottom:1px solid currentColor;font:500 10px "IBM Plex Mono",ui-monospace,monospace}.research-feature dl{margin:0;border-top:1px solid var(--line)}.research-feature dl div{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.research-feature dt{font:500 9px "IBM Plex Mono",ui-monospace,monospace;color:var(--muted)}.research-feature dd{margin:0;font-size:12px}.research-ledger{margin:0!important}.research-ledger a{display:grid;grid-template-columns:190px 1fr 190px 70px;gap:25px;align-items:center;padding:28px 5vw;border-bottom:1px solid var(--line)}.research-ledger span,.research-ledger p,.research-ledger b{font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.07em}.research-ledger h3{font-size:23px;margin:0}.research-method{margin:0!important;background:#101f3c;color:#fafaf8;padding:clamp(70px,9vw,125px) 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.research-method ol{list-style:none;margin:0;padding:0;border-top:1px solid #4a5873}.research-method li{display:grid;grid-template-columns:55px 1fr;padding:21px 0;border-bottom:1px solid #4a5873;line-height:1.55}.article-shell>header{padding:clamp(75px,10vw,145px) 7vw 65px}.article-shell>header h1{font:500 clamp(58px,8vw,120px)/.88 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.025em;text-transform:uppercase;max-width:1100px;margin:0}.article-shell>header>p:last-child{max-width:780px;font-size:18px;color:var(--muted);line-height:1.65}.article-meta{margin:0!important;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-meta div{padding:20px 3vw;border-right:1px solid var(--line)}.article-meta span,.article-meta strong{display:block}.article-meta span{font:500 8px "IBM Plex Mono",ui-monospace,monospace;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.article-body{margin:0!important;padding:clamp(70px,9vw,125px) 7vw;display:grid;grid-template-columns:1.2fr .55fr;gap:11vw}.article-body article h2{font-size:38px;margin:55px 0 14px}.article-body article h2:first-child{margin-top:0}.article-body article p{font-size:16px;line-height:1.8;color:var(--muted)}.article-body aside{border-top:1px solid var(--line);align-self:start}.article-body aside #article-control div{padding:16px 0;border-bottom:1px solid var(--line)}.article-body aside span,.article-body aside strong{display:block}.article-body aside span{font:500 8px "IBM Plex Mono",ui-monospace,monospace;color:var(--muted);margin-bottom:6px}.membership-shell>header{min-height:72svh;padding:clamp(70px,10vw,145px) 7vw 65px;display:flex;flex-direction:column;justify-content:flex-end}.membership-shell>header h1{font:500 clamp(70px,10vw,150px)/.82 "Bebas Neue","Arial Narrow",sans-serif;letter-spacing:.025em;text-transform:uppercase;margin:0}.membership-shell>header>p:last-child{max-width:700px;color:var(--muted);line-height:1.7}.membership-paths{margin:0!important;display:grid;grid-template-columns:repeat(3,1fr)}.membership-paths article{padding:50px 4vw;min-height:570px;border-top:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column}.membership-paths span,.membership-paths a,.membership-paths li{font:500 10px "IBM Plex Mono",ui-monospace,monospace}.membership-paths h2{font-size:50px;margin:70px 0 18px}.membership-paths p{color:var(--muted);line-height:1.65}.membership-paths ul{list-style:none;padding:0;margin:30px 0;border-top:1px solid var(--line)}.membership-paths li{padding:14px 0;border-bottom:1px solid var(--line)}.membership-paths a{margin-top:auto;border-bottom:1px solid currentColor;align-self:flex-start}.dark-path{background:#0a0a0a;color:#fafaf8}.dark-path p{color:#b0b0b0}.dark-path ul{border-color:#444}.dark-path li{border-color:#444}.membership-compare{margin:0!important;padding:clamp(70px,9vw,125px) 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.compare-grid{display:grid;grid-template-columns:1fr 1fr}.compare-grid div{padding:25px;border:1px solid var(--line);margin:-1px 0 0 -1px}.compare-grid b{font:500 9px "IBM Plex Mono",ui-monospace,monospace}.compare-grid p{font-size:13px;color:var(--muted);line-height:1.6}
@media(max-width:800px){nav{display:none}
.hero{padding:70px 7vw 100px}
.sun{width:95vw;right:-43vw}
.manifesto,.process,.standards,.intro,.thesis,.claims{grid-template-columns:1fr;gap:25px}
.lanes,.agents{grid-template-columns:1fr}
.lanes article{min-height:270px;border-right:0;border-bottom:1px solid var(--line)}
.work{padding:48px 7vw}
.row,.approval{grid-template-columns:1fr}
.table{overflow:auto}
.table>div{min-width:650px}
.gate{grid-template-columns:42px 1fr}
.gate strong{grid-column:2}
.architecture{grid-template-columns:1fr 1fr}
.opportunity-ledger,.atlas-tease{grid-template-columns:1fr}.ledger-intro{border-right:0;border-bottom:1px solid var(--line)}.ledger-list a{grid-template-columns:1fr}.ledger-list b{text-align:left}.atlas-wordfield{transform:none}
.catalogue-hero,.catalogue-cta,.profile-hero,.profile-grid{grid-template-columns:1fr}.catalogue-filter,.profile-facts{grid-template-columns:1fr 1fr}.project-record{grid-template-columns:45px 1fr}.project-record dl,.project-record>b{grid-column:2}.project-record>b{text-align:left}
.developer-standard,.membership-paths{grid-template-columns:1fr}.developer-directory header,.research-feature,.research-method,.article-body,.membership-compare{grid-template-columns:1fr}.developer-directory>a,.research-ledger a{grid-template-columns:1fr}.article-meta,.compare-grid{grid-template-columns:1fr 1fr}
footer{flex-direction:column;gap:9px;padding:20px 7vw}
}

/* Keep long opportunity names within an institutional reading measure. */
.profile-hero{grid-template-columns:minmax(0,1fr) 260px}
.profile-hero>div{min-width:0}
.profile-hero h1{max-width:940px;font-size:clamp(58px,6.5vw,104px);line-height:.86;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
@media(max-width:800px){.profile-hero{grid-template-columns:minmax(0,1fr)}.profile-hero h1{font-size:clamp(48px,12vw,78px)}}
.project-visuals{margin:0!important;padding:54px 0 58px;border-bottom:1px solid var(--line);overflow:hidden}.project-visuals>header{padding:0 7vw 24px;display:flex;align-items:end;justify-content:space-between;gap:30px}.project-visuals h2{margin:0;font-size:clamp(30px,4vw,58px)}.project-visual-rail{display:flex;gap:18px;overflow-x:auto;padding:0 7vw 22px;scroll-snap-type:x mandatory;scrollbar-color:var(--orange) #ddd;overscroll-behavior-inline:contain}.project-visual-card{flex:0 0 clamp(280px,34vw,520px);scroll-snap-align:start;background:#0a0a0a;color:#fafaf8}.project-visual-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#151515}.project-visual-card div{padding:18px 20px 22px}.project-visual-card span{font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}.project-visual-card h3{margin:8px 0 5px;font-size:clamp(22px,2.5vw,36px)}.project-visual-card p{margin:0;color:#aaa;font-size:12px}.profile-visual{margin:48px auto;max-width:1180px;background:#111;position:relative;overflow:hidden}.profile-visual img{display:block;width:100%;height:min(64vw,720px);object-fit:contain}.profile-visual figcaption{padding:12px 16px;color:#fafaf8;font:500 9px "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #333}@media(max-width:680px){.project-visuals>header{align-items:start;flex-direction:column}.project-visual-card{flex-basis:82vw}.profile-visual{margin:20px 0}.profile-visual img{height:auto;max-height:72vh}}
