/* Approved r2 reference; scoped by scripts/port-r2-styles.mjs. */
/* MRoot Living Canvas — self-contained editorial samples. No font/image CDN. */
.portfolio{--bg:#171717;--surface:#20201f;--surface-2:#272726;--ink:#f0ede3;--muted:#b3b2b0;--line:#3d3c3a;--orange:#fa8655;--paper:#eeeade;--paper-ink:#252423;--paper-muted:#646361;--paper-line:#c3c1bf;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--shell:1240px;--header-h:80px}
.portfolio *{box-sizing:border-box}.portfolio{scroll-padding-top:105px}.portfolio{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.portfolio button,.portfolio a,.portfolio input{touch-action:manipulation}.portfolio button{font:inherit;color:inherit;cursor:pointer}.portfolio button,.portfolio select{appearance:none}.portfolio a{color:inherit;text-decoration:none}.portfolio button:disabled{cursor:default}.portfolio img,.portfolio svg{max-width:100%}.portfolio img{height:auto;display:block}.portfolio button svg,.portfolio a svg{pointer-events:none}.portfolio button:focus-visible,.portfolio a:focus-visible,.portfolio summary:focus-visible,.portfolio input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.portfolio button{border:0}.portfolio :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])),.portfolio :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])),.portfolio :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])),.portfolio :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])),.portfolio p,.portfolio figure,.portfolio blockquote{margin:0}.portfolio :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])),.portfolio :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])),.portfolio :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])),.portfolio :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){line-height:1.12;letter-spacing:-.045em}.portfolio p{max-width:70ch}.portfolio ul,.portfolio ol{margin:0;padding:0}.portfolio li{list-style:none}.portfolio em{font-family:var(--serif);font-weight:400}.portfolio strong{font-weight:700}.portfolio .shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}.portfolio .icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.portfolio .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.portfolio .skip{position:fixed;left:20px;top:-80px;z-index:300;background:var(--paper);color:var(--paper-ink);padding:12px 18px}.portfolio .skip:focus{top:12px}.portfolio .orange{color:var(--orange)}.portfolio .muted{color:var(--muted)}.portfolio .eyebrow{font-family:var(--mono);font-size:10px;line-height:1.65;letter-spacing:1.5px;text-transform:uppercase;font-weight:400}.portfolio .dot{width:7px;height:7px;background:var(--orange);border-radius:50%;display:inline-block;margin-right:8px}.portfolio .label-dot{display:inline-flex;align-items:center}.portfolio .section-no{display:inline-flex;align-items:center;gap:15px}.portfolio .section-no:before{content:'';display:inline-block;width:28px;height:1px;background:currentColor;opacity:.55}.portfolio .button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:11px 21px;border:1px solid var(--line);font-size:13px;font-weight:600;line-height:1.4;transition:background .18s,color .18s,transform .18s}.portfolio .button.primary{background:var(--orange);color:#201f19;border-color:var(--orange)}.portfolio .button:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.portfolio .button.primary:hover{background:#ffa676;border-color:#ffa676;color:#201f19}.portfolio .text-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:600;min-height:44px}.portfolio .text-link .icon{width:17px;transition:transform .2s}.portfolio .text-link:hover .icon{transform:translateX(4px)}.portfolio .small-button{min-height:40px;display:inline-flex;justify-content:center;align-items:center;gap:7px;font-size:11px;background:transparent;border:1px solid var(--line);padding:8px 12px;line-height:1.3}.portfolio .small-button:hover{border-color:var(--orange)}.portfolio .small-button[aria-pressed=true]{color:var(--orange);border-color:var(--orange)}.portfolio .small-button .icon{width:14px;height:14px}.portfolio .js-only{display:none}.portfolio.js .js-only{display:inline-flex}.portfolio [hidden]{display:none!important}.portfolio.no-js .view{display:block}.portfolio.no-js .interactive-only{display:none}.portfolio.no-js .view{border-bottom:8px solid var(--orange)}
/* Navigation */.portfolio .nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.portfolio .wordmark{font-weight:800;font-size:32px;letter-spacing:-2px;line-height:1}.portfolio .wordmark span{color:var(--orange)}.portfolio .site-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.portfolio .site-nav a{font-size:12px;color:var(--muted);position:relative;padding:12px 0}.portfolio .site-nav a:hover,.portfolio .site-nav a[aria-current]{color:var(--ink)}.portfolio .site-nav a[aria-current]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--orange)}.portfolio .header-actions{display:flex;align-items:center;gap:18px}.portfolio .motion-toggle{background:transparent;color:var(--muted);border:1px solid var(--line);width:36px;height:36px;display:flex;justify-content:center;align-items:center}.portfolio .motion-toggle .icon{width:15px}.portfolio .nav-cta{font-size:12px;display:flex;align-items:center;gap:10px}.portfolio .nav-cta .icon{color:var(--orange);width:15px}.portfolio .reading-progress{position:absolute;bottom:-1px;height:2px;left:0;width:100%;transform:scaleX(0);transform-origin:left;background:var(--orange)}.portfolio .breadcrumb{display:flex;gap:11px;align-items:center;padding-top:29px;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.5px}.portfolio .breadcrumb a:hover{color:var(--orange)}.portfolio .breadcrumb .slash{opacity:.35}.portfolio .view :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])):focus{outline:none}
/* Project hero */
.portfolio .project-hero{padding:57px 0 47px;display:grid;grid-template-columns:1.06fr 1fr;gap:25px;align-items:center}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:clamp(64px,7.6vw,104px);letter-spacing:-.068em;margin-top:20px;font-weight:500;line-height:1.01}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) span{color:var(--orange)}.portfolio .hero-tagline{font-size:clamp(25px,2.7vw,36px);letter-spacing:-.045em;line-height:1.15;margin:22px 0 18px;max-width:510px}.portfolio .hero-summary{font-size:14px;line-height:1.85;max-width:448px;color:var(--muted)}.portfolio .hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:27px}.portfolio .hero-actions .text-link{font-size:11px}.portfolio .hero-canvas{position:relative;min-height:470px;perspective:1100px;isolation:isolate}.portfolio .canvas-grid{position:absolute;inset:5px 0 14px;background-image:linear-gradient(#8e898410 1px,transparent 1px),linear-gradient(90deg,#8e898410 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(ellipse,#000,transparent 70%);z-index:-1}.portfolio .canvas-orbit{position:absolute;inset:15px 30px 20px 15px;border:1px solid #514e4a5c;border-radius:50%;transform:rotate(-26deg);z-index:-1}.portfolio .canvas-orbit:after{content:'';position:absolute;width:7px;height:7px;background:var(--orange);border-radius:50%;top:60px;right:60px;box-shadow:0 0 0 7px #fa865511}.portfolio .capture-window{position:absolute;left:7px;top:29px;width:319px;background:#2f2e2d;padding:10px;box-shadow:0 28px 48px #0008;transform:rotate(-7deg);border:1px solid #605d5a;z-index:3;transition:transform .5s}.portfolio .capture-window:hover{transform:rotate(-2deg) translateY(-5px)}.portfolio .browser-bar{display:flex;align-items:center;gap:5px;margin-bottom:9px;min-height:18px;font-size:8px;color:#d6d4c5;letter-spacing:.25px}.portfolio .browser-bar i{width:4px;height:4px;background:#898683;border-radius:50%}.portfolio .browser-bar span{margin:auto}.portfolio .capture-window img{width:297px}.portfolio .capture-button{width:100%;padding:0;background:none;display:block}.portfolio .capture-window .capture-bottom{display:flex;justify-content:space-between;font:8px var(--mono);color:#bfbdbb;margin-top:10px;line-height:1.5}.portfolio .capture-bottom .icon{width:11px;height:11px}.portfolio .canvas-label{position:absolute;right:2px;top:37px;width:124px;font:10px/1.7 var(--mono);color:var(--muted);transform:rotate(5deg)}.portfolio .canvas-label strong{display:block;font-family:var(--serif);font-size:23px;line-height:1.05;font-weight:400;color:var(--ink);margin-top:8px}.portfolio .canvas-label .icon{width:29px;height:29px;color:var(--orange);margin-bottom:12px;transform:rotate(60deg)}.portfolio .system-slip{position:absolute;right:0;top:290px;width:370px;padding:24px;background:var(--paper);color:var(--paper-ink);transform:rotate(5deg);box-shadow:0 18px 48px #0006}.portfolio .system-slip:before{content:'';position:absolute;top:-8px;left:38%;width:70px;height:20px;background:#98938d65;transform:rotate(-10deg)}.portfolio .slip-top{font:8px var(--mono);letter-spacing:1px;color:var(--paper-muted);display:flex;justify-content:space-between}.portfolio .slip-title{font-size:23px;line-height:1.15;font-weight:500;letter-spacing:-.04em;margin:12px 0 14px}.portfolio .slip-stack{display:flex;align-items:center;gap:7px;font:9px var(--mono);padding-top:11px;border-top:1px solid var(--paper-line)}.portfolio .slip-stack b{font-size:12px;font-weight:400;color:#bf5729}.portfolio .slip-stack span:last-child{margin-left:auto}.portfolio .canvas-caption{font-family:var(--mono);font-size:9px;color:var(--muted);margin-top:7px;text-align:right;max-width:none}.portfolio .quick-facts{display:grid;grid-template-columns:1fr .8fr 1.3fr;border-block:1px solid var(--line);padding:23px 0;gap:30px;margin-bottom:14px}.portfolio .quick-facts>div+div{border-left:1px solid var(--line);padding-left:28px}.portfolio .quick-facts dt{font-family:var(--mono);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:7px}.portfolio .quick-facts dd{margin:0;font-size:12px;line-height:1.65}.portfolio .quick-facts dl{margin:0}.portfolio .section{padding:83px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.portfolio .section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.portfolio .section-head :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:clamp(32px,3.8vw,49px);font-weight:400;margin-top:14px;max-width:730px}.portfolio .section-head>p{color:var(--muted);font-size:13px;max-width:305px;line-height:1.8}.portfolio .intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.portfolio .intro-grid :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:clamp(31px,3.2vw,42px);font-weight:400;margin:17px 0 22px}.portfolio .intro-grid .intro-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85}.portfolio .intro-grid .intro-copy>p+p{margin-top:16px}.portfolio .perspective{background:var(--paper);color:var(--paper-ink);padding:30px;border:1px solid #fff2;box-shadow:9px 9px 0 #2d2b29;--line:var(--paper-line)}.portfolio .perspective .eyebrow{color:var(--paper-muted)}.portfolio .segmented{display:inline-flex;gap:2px;background:#dbd9d6;padding:4px;margin-top:19px;border-radius:5px}.portfolio .segmented button{background:transparent;color:#565451;font-size:11px;padding:9px 14px;min-height:37px;line-height:1.3;border-radius:3px}.portfolio .segmented button[aria-pressed=true]{background:#2b2a28;color:#f3f0e5;box-shadow:0 1px 4px #0002}.portfolio .perspective :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:24px;font-weight:500;line-height:1.2;margin:21px 0 11px;min-height:29px}.portfolio .perspective-panel>p{font-size:13px;line-height:1.8;color:#5c5a58;min-height:71px}.portfolio .perspective-list{margin-top:20px;border-top:1px solid #bbb8b4}.portfolio .perspective-list li{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c5c2be;padding:12px 0;font-size:12px}.portfolio .perspective-list .icon{width:15px;height:15px;color:#625c55}.portfolio .perspective-foot{font:9px/1.7 var(--mono);margin-top:17px;color:#686460}
/* Shared diagram language */
.portfolio .figure-shell{border:1px solid var(--line);background:#1d1d1c;padding:26px;position:relative;color:var(--ink);--line:#454341;--muted:#b5b3b0}.portfolio .figure-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.portfolio .figure-head .eyebrow{color:var(--muted)}.portfolio .figure-caption{font-family:var(--mono);font-size:9px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:23px;max-width:none}.portfolio .figure-caption strong{color:var(--ink);font-weight:400}.portfolio .diagram-label{font:9px/1.6 var(--mono);color:#b0aca8;letter-spacing:.7px;text-transform:uppercase;margin-bottom:13px}.portfolio .workflow-grid{position:relative;display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:34px;align-items:center}.portfolio .workflow-card{border:1px solid #444240;padding:19px;background:#242322;position:relative;min-height:127px;transition:border-color .2s,background .2s}.portfolio .workflow-card .step-n{color:#aaa6a1;font:9px var(--mono)}.portfolio .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:17px;font-weight:400;margin:10px 0 7px;line-height:1.15}.portfolio .workflow-card p{font-size:11px;line-height:1.7;color:#afaca9}.portfolio .workflow-card .icon{width:20px;height:20px;float:right;color:#aaa6a1}.portfolio .workflow-grid>.workflow-card:after{content:'→';position:absolute;right:-27px;top:38%;color:#79746e;font-size:23px}.portfolio .workflow-card.active{border-color:var(--orange);background:#2c2c20}.portfolio .workflow-card.active .step-n,.portfolio .workflow-card.active .icon{color:var(--orange)}.portfolio .workflow-split{display:grid;gap:10px}.portfolio .workflow-split .workflow-card{min-height:104px;padding:14px 17px}.portfolio .workflow-split .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:15px;margin-top:5px}.portfolio .workflow-stepper{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.portfolio .workflow-stepper button{padding:9px 13px;background:transparent;color:#b2afab;border:1px solid #444240;font:10px var(--mono);min-height:40px}.portfolio .workflow-stepper button[aria-pressed=true]{border-color:var(--orange);background:#332a20;color:var(--orange)}.portfolio .workflow-description{margin-top:18px;font-size:13px;line-height:1.75;max-width:70ch;min-height:47px;color:#bdbab7}.portfolio .arch-board{position:relative;display:grid;grid-template-columns:1fr 1.06fr 1fr;gap:56px;align-items:center;padding:4px 0 14px;isolation:isolate}.portfolio .arch-wires{position:absolute;inset:0;z-index:-1;overflow:visible;width:100%;height:100%;pointer-events:none}.portfolio .wire{fill:none;stroke:#56524e;stroke-width:1.2}.portfolio .wire.active{stroke:var(--orange);stroke-width:2;stroke-dasharray:6 5}.portfolio .is-tracing .wire.active{animation:portfolio-wire-flow .7s linear 4}.portfolio .arch-col{display:flex;flex-direction:column;gap:9px;min-width:0}.portfolio .node{background:#242322;border:1px solid #46433f;min-height:70px;text-align:left;padding:13px 15px;width:100%;display:flex;gap:12px;align-items:center;position:relative;color:#eeeee2}.portfolio .node .icon{width:21px;height:21px;color:#b6b1ac}.portfolio .node .node-copy{display:block;flex:1;min-width:0}.portfolio .node strong{font-size:13px;display:block;letter-spacing:-.01em;line-height:1.35;font-weight:500}.portfolio .node small{display:block;font:9px/1.7 var(--mono);color:#aba6a2;margin-top:4px}.portfolio .node .node-plus{font-size:15px;color:#9d9790;line-height:1}.portfolio .node:hover,.portfolio .node[aria-pressed=true]{background:#2d2c2a;border-color:var(--orange)}.portfolio .node[aria-pressed=true] .icon,.portfolio .node[aria-pressed=true] .node-plus{color:var(--orange)}.portfolio .node.path-active{box-shadow:inset 0 0 0 1px var(--orange);border-color:var(--orange)}.portfolio .node.worker-node{padding:23px 17px;min-height:147px;flex-direction:column;align-items:start;gap:13px;background:#d3cec9;color:#272522;border-color:#aca59c}.portfolio .node.worker-node .icon{color:#655c52;width:27px;height:27px}.portfolio .node.worker-node strong{font-size:18px}.portfolio .node.worker-node small{color:#554f47}.portfolio .node.worker-node .node-plus{position:absolute;top:20px;right:18px;color:#554f47}.portfolio .node.worker-node[aria-pressed=true]{background:#dfdbd6;border-color:var(--orange)}.portfolio .arch-details{display:grid;grid-template-columns:160px 1fr;gap:27px;border-top:1px solid #494643;padding-top:20px;margin-top:18px;min-height:110px;align-items:start}.portfolio .arch-details :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:20px;font-weight:400;letter-spacing:-.03em;line-height:1.2;margin-top:5px}.portfolio .arch-details p{font-size:12px;line-height:1.8;color:#bfbcb9;max-width:70ch}.portfolio .arch-details .eyebrow{color:var(--orange);font-size:8px}.portfolio .trace-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.portfolio .trace-controls>span{font:9px var(--mono);color:#b0aca7;margin-right:5px}.portfolio .trace-controls .small-button{font-size:10px;min-height:34px;padding:7px 10px}.portfolio .mobile-flow-label{display:none;font:9px/1.5 var(--mono);color:#aba6a0;text-align:center}.portfolio .arch-fulltext{border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.portfolio .arch-fulltext summary{font:10px/1.5 var(--mono);color:#b2aea9;cursor:pointer;padding:5px 0}.portfolio .arch-fulltext dl{margin:13px 0 0;font-size:12px}.portfolio .arch-fulltext dt{font-weight:600;margin-top:10px}.portfolio .arch-fulltext dd{margin:4px 0;color:#b8b5b1}
/* Decision panels */
.portfolio .boundary-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.portfolio .boundary-section :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:46px;font-weight:400;margin:14px 0 23px;line-height:1.09}.portfolio .boundary-section>div>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85}.portfolio .boundary-section>div>p+p{margin-top:15px}.portfolio .boundary-card{background:var(--paper);color:var(--paper-ink);padding:27px;position:relative;box-shadow:8px 8px 0 #34322f;transform:rotate(1deg)}.portfolio .boundary-card .eyebrow{color:#64605c}.portfolio .boundary-sides{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.portfolio .boundary-side+.boundary-side{border-left:1px solid #c7c4c1;padding-left:23px}.portfolio .big-glyph{font:46px/1 var(--serif);color:#655d53;margin-bottom:18px}.portfolio .boundary-side.ai .big-glyph{color:#b95125}.portfolio .boundary-side :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:23px;font-weight:400;margin-bottom:13px}.portfolio .boundary-side p{font:11px/1.9 var(--mono);color:#5e5b58}.portfolio .boundary-card>p{font-size:12px;line-height:1.8;border-top:1px solid #c6c3bf;margin-top:24px;padding-top:16px}.portfolio .security-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.portfolio .security-intro :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:40px;font-weight:400;margin:14px 0 20px}.portfolio .security-intro>p{font-size:14px;line-height:1.9;color:var(--muted)}.portfolio .disclosure{border-top:1px solid var(--line)}.portfolio .disclosure:last-child{border-bottom:1px solid var(--line)}.portfolio .disclosure summary{cursor:pointer;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:21px 0;font-size:15px;list-style:none;line-height:1.4}.portfolio .disclosure summary::-webkit-details-marker{display:none}.portfolio .disclosure summary .icon{width:17px;color:var(--orange)}.portfolio .disclosure summary:after{content:'+';font-size:20px;color:var(--muted);margin-left:auto}.portfolio .disclosure[open] summary:after{content:'−'}.portfolio .disclosure p{font-size:13px;color:var(--muted);line-height:1.85;padding:0 0 23px 32px}.portfolio .skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.portfolio .skill-card{padding:26px 0;border-top:1px solid #666360}.portfolio .skill-card>span{font:11px var(--mono);color:var(--orange)}.portfolio .skill-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:24px;font-weight:400;margin:25px 0 15px;line-height:1.1}.portfolio .skill-card p{font-size:13px;color:var(--muted);line-height:1.8}.portfolio .next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:25px}.portfolio .next-grid>div{border-left:2px solid #6a6661;padding:0 0 0 17px}.portfolio .next-grid :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:16px;font-weight:500;margin-bottom:9px}.portfolio .next-grid p{color:var(--muted);font-size:12px;line-height:1.75}.portfolio .next-label{font:9px var(--mono);color:var(--muted);display:block;margin-bottom:15px;text-transform:uppercase;letter-spacing:.7px}.portfolio .next-section :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:34px;font-weight:400;margin-top:16px}.portfolio .related-feature{margin:70px 0;display:grid;grid-template-columns:1.4fr .6fr;gap:45px;background:#d8d4d0;color:#292724;padding:40px;position:relative;overflow:hidden}.portfolio .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:38px;font-weight:400;margin:17px 0 20px;line-height:1.09;max-width:630px}.portfolio .related-feature p{font-size:13px;color:#5c5854;line-height:1.8}.portfolio .related-feature .eyebrow{color:#615c56}.portfolio .related-feature .text-link{margin-top:18px}.portfolio .related-decoration{position:relative;align-self:center;min-height:175px;display:grid;place-items:center}.portfolio .stacked-note{position:absolute;width:140px;height:170px;background:#f1eedf;border:1px solid #ada9a4;transform:rotate(-11deg);padding:23px 18px;box-shadow:5px 10px 12px #4c474223}.portfolio .stacked-note:before{content:'';position:absolute;inset:0;background:inherit;border:inherit;transform:rotate(15deg);z-index:-1}.portfolio .stacked-note .icon{width:30px;height:30px;color:#b05a2d;margin-bottom:17px}.portfolio .stacked-note b{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.1;display:block}.portfolio .stacked-note span{font:8px var(--mono);display:block;margin-top:14px;color:#6c6965}.portfolio .source-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;color:var(--muted);font-size:11px}.portfolio .source-note summary{cursor:pointer;list-style:none;display:flex;gap:13px;align-items:center;font-family:var(--mono);font-size:10px}.portfolio .source-note summary:before{content:'+';color:var(--orange)}.portfolio .source-note[open] summary:before{content:'−'}.portfolio .source-note p{margin-top:14px;line-height:1.8;font-size:12px;max-width:90ch}.portfolio .source-note a{text-decoration:underline;text-underline-offset:3px}
/* Work collection preview */
.portfolio .work-hero{padding:72px 0 60px}.portfolio .work-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:clamp(52px,6.7vw,86px);font-weight:400;line-height:1.03;max-width:870px;margin:23px 0}.portfolio .work-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) em{color:var(--orange)}.portfolio .work-hero>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:590px}.portfolio .work-jumps{display:flex;gap:25px;margin-top:25px}.portfolio .work-section{border-top:1px solid var(--line);padding:48px 0 60px}.portfolio .collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.portfolio .collection-heading :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:34px;font-weight:400}.portfolio .collection-heading :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])) span{font:10px var(--mono);color:var(--muted);letter-spacing:0;vertical-align:top;margin-left:10px}.portfolio .collection-heading p{font-size:12px;color:var(--muted);max-width:400px}.portfolio .work-project-card{border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;transition:border-color .2s}.portfolio .work-project-card:hover{border-color:var(--orange)}.portfolio .work-project-copy{padding:40px}.portfolio .work-project-copy :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:41px;font-weight:400;margin:21px 0 16px}.portfolio .work-project-copy p{font-size:14px;color:var(--muted);max-width:370px;line-height:1.85}.portfolio .tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:23px}.portfolio .tag{font:9px var(--mono);border:1px solid var(--line);padding:6px 9px;color:var(--muted)}.portfolio .work-project-copy .text-link{margin-top:20px}.portfolio .work-project-visual{display:flex;align-items:center;justify-content:center;background:#2a2826;position:relative;padding:30px;min-height:330px;overflow:hidden}.portfolio .work-project-visual:before{content:'';width:280px;height:260px;position:absolute;background:#d8d4d0;transform:rotate(11deg);box-shadow:0 20px 40px #0003}.portfolio .work-project-visual figure{position:relative;padding:11px;background:#353331;transform:rotate(-6deg);box-shadow:0 25px 40px #0007;border:1px solid #8a8581;width:319px}.portfolio .work-project-visual figcaption{font:8px var(--mono);color:#c0bcb7;margin-top:10px}.portfolio .writing-card{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center;background:var(--paper);color:var(--paper-ink);padding:37px}.portfolio .writing-card .eyebrow{color:#67635e}.portfolio .writing-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:34px;font-weight:400;line-height:1.12;margin:15px 0}.portfolio .writing-card p{font-size:13px;line-height:1.85;color:#696663}.portfolio .writing-card .text-link{margin-top:15px}.portfolio .writing-art{height:220px;background:#dddad7;display:grid;place-items:center;position:relative}.portfolio .writing-art .icon{width:50px;height:50px;color:#b35b2a}.portfolio .writing-art .ring{position:absolute;inset:35px 20px;border:1px solid #a59f99;border-radius:50%;transform:rotate(-30deg)}.portfolio .writing-art .ring:nth-child(2){inset:15px 45px;transform:rotate(15deg)}.portfolio .writing-art span{position:absolute;bottom:15px;font:8px var(--mono);color:#6a645e;letter-spacing:1px}.portfolio .collection-note{font:10px/1.9 var(--mono);color:var(--muted);margin-top:25px;max-width:90ch}
/* Editorial article */
.portfolio .article-page{background:var(--paper);color:var(--paper-ink);--line:#c2c0bd;--muted:#676460;--ink:#282725;--bg:#eeeade;--orange:#b74d20}.portfolio .article-page.paper-dark{background:#21201e;color:#dfdcd9;--paper:#21201e;--paper-ink:#dfdcd9;--paper-muted:#b0aca8;--paper-line:#504d49;--line:#504d49;--muted:#b0aca8;--ink:#dfdcd9;--bg:#21201e;--orange:#fa9869}.portfolio .article-page .breadcrumb{color:var(--muted)}.portfolio .article-hero{padding:55px 0 45px}.portfolio .article-hero-grid{display:grid;grid-template-columns:1.48fr .52fr;gap:45px;align-items:center}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:clamp(42px,4.25vw,59px);font-weight:400;max-width:840px;line-height:1.03;letter-spacing:-.05em;margin:20px 0 24px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) .title-main{display:block;font-size:clamp(60px,7vw,91px);line-height:1.02;margin-bottom:15px;letter-spacing:-.06em}.portfolio .article-dek{font-size:15px;color:var(--muted);max-width:640px;line-height:1.85;margin-bottom:25px}.portfolio .byline{font-size:10px;font-family:var(--mono);color:var(--muted);display:flex;flex-wrap:wrap;gap:18px;align-items:center}.portfolio .author-mark{width:30px;height:30px;display:inline-grid;place-items:center;background:#cfcbc7;color:#4a4641;font-family:var(--serif);font-style:italic;font-size:17px;margin-right:-9px}.portfolio .article-hero-art{position:relative;height:320px;perspective:900px}.portfolio .editorial-plate{position:absolute;width:210px;height:145px;padding:21px;border:1px solid #a09b95;box-shadow:0 13px 20px #44403b20;background:#dbd8d4;color:#3e3a36;transform:rotate(-10deg);left:10px;top:20px;z-index:1}.portfolio .editorial-plate:nth-child(2){background:#f4f1e5;top:102px;left:35px;transform:rotate(8deg);z-index:2}.portfolio .editorial-plate:nth-child(3){top:190px;left:5px;transform:rotate(-5deg);background:#33312e;color:#e1dedb;z-index:3}.portfolio .editorial-plate .eyebrow{font-size:8px}.portfolio .editorial-plate .plate-title{font-family:var(--serif);font-size:30px;line-height:1.2;margin-top:9px;letter-spacing:-.7px}.portfolio .editorial-plate .icon{position:absolute;right:17px;top:19px;width:18px;height:18px}.portfolio .editorial-plate small{font:8px var(--mono);display:block;margin-top:8px}.portfolio .article-lead-strip{display:grid;grid-template-columns:180px 1fr;gap:30px;border-block:1px solid var(--line);padding:25px 0;margin-top:42px}.portfolio .article-lead-strip p{font-size:21px;line-height:1.4;letter-spacing:-.5px;font-family:var(--serif);color:var(--ink);max-width:760px}.portfolio .article-lead-strip .eyebrow{color:var(--muted);padding-top:4px;font-family:var(--mono);font-size:9px;letter-spacing:1px}.portfolio .reading-layout{display:grid;grid-template-columns:180px minmax(0,800px);gap:65px;justify-content:start;padding:9px 0 65px}.portfolio .reading-sidebar{position:sticky;top:105px;align-self:start;padding-top:30px;color:var(--muted)}.portfolio .toc-list{margin-top:20px}.portfolio .toc-list a{display:flex;gap:9px;padding:10px 0;font-size:11px;line-height:1.4;border-left:2px solid transparent;padding-left:11px;color:var(--muted)}.portfolio .toc-list a span{font:9px/1.7 var(--mono);opacity:.6}.portfolio .toc-list a[aria-current]{border-color:var(--orange);color:var(--ink);font-weight:600}.portfolio .toc-list a:hover{color:var(--orange)}.portfolio .sidebar-related{border-top:1px solid var(--line);margin-top:25px;padding-top:19px}.portfolio .sidebar-related a{display:block;font-size:16px;letter-spacing:-.4px;color:var(--ink);margin-top:9px}.portfolio .sidebar-related .icon{width:14px}.portfolio .reader-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.portfolio .reader-controls button{background:transparent;color:var(--ink);border:1px solid var(--line);min-height:35px;padding:7px 10px;font-size:10px}.portfolio .reader-controls button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.portfolio .toc-mobile{display:none}.portfolio .article-body{font-size:16px;line-height:1.95;padding-top:28px;min-width:0}.portfolio .article-body.large-text{font-size:18px}.portfolio .prose{max-width:680px}.portfolio .article-body p{margin:0 0 21px;line-height:1.95}.portfolio .article-body>p,.portfolio .prose p{color:var(--paper-ink)}.portfolio .prose :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])),.portfolio .article-body>section>:is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:33px;line-height:1.17;font-weight:400;margin:54px 0 23px;max-width:680px;letter-spacing:-.045em;scroll-margin-top:110px}.portfolio .prose :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:24px;line-height:1.25;font-weight:400;margin:35px 0 16px;letter-spacing:-.025em}.portfolio .article-body section{scroll-margin-top:110px}.portfolio .article-body .section-kicker{display:block;font:9px var(--mono);color:var(--orange);letter-spacing:1px;text-transform:uppercase;margin-bottom:13px}.portfolio .article-body .first-paragraph:first-letter{font-family:var(--serif);font-size:67px;line-height:.88;float:left;padding:9px 10px 0 0;color:var(--orange)}.portfolio .article-body code:not(pre code){font: .84em/1.7 var(--mono);background:#968f8620;padding:3px 5px;border:1px solid #968f862b;border-radius:2px;overflow-wrap:anywhere}.portfolio .article-body .source-inline{font-size:11px;line-height:1.8;color:var(--muted);font-family:var(--mono);border-left:2px solid var(--line);padding-left:13px;margin-top:4px}.portfolio .article-body .source-inline a{text-decoration:underline;text-underline-offset:3px}.portfolio .article-body .figure-shell{margin:30px 0 38px;--orange:#fa9869;--ink:#e8e6e4;--line:#4b4845;--muted:#b9b6b2;padding:25px;line-height:1.6}.portfolio .article-body .figure-shell p{margin-bottom:0}.portfolio .article-body .figure-caption{font-size:9px;line-height:1.85}.portfolio .article-body .arch-board{gap:28px}.portfolio .article-body .node{padding:12px 10px;gap:8px}.portfolio .article-body .node strong{font-size:11px}.portfolio .article-body .node small{font-size:8px;letter-spacing:-.1px}.portfolio .article-body .node .icon{width:17px;height:17px}.portfolio .article-body .node.worker-node{padding:19px 14px}.portfolio .article-body .node.worker-node strong{font-size:16px}.portfolio .article-body .arch-details{grid-template-columns:125px 1fr;gap:18px}.portfolio .article-body .arch-details p{font-size:11px}.portfolio .article-body .arch-details :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:18px}.portfolio .article-body .figure-head{margin-bottom:23px}.portfolio .article-body .figure-head .eyebrow{font-size:9px}.portfolio .article-body .figure-head .small-button{font-size:10px}.portfolio .article-body .trace-controls .small-button{font-size:9px}.portfolio .code-frame{background:#22201e;color:#dedbd8;margin:25px 0 16px;--line:#4d4944}.portfolio .code-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #4b4844;padding:11px 18px;color:#beb9b4;font:10px var(--mono)}.portfolio .code-head .small-button{color:#d4d0cb;min-height:31px;font:9px var(--mono);border-color:#615c57;padding:5px 8px}.portfolio .code-frame pre{margin:0;padding:21px 22px;overflow-x:auto;max-width:100%;font:11px/1.9 var(--mono);tab-size:2}.portfolio .code-frame code{font:inherit;white-space:pre}.portfolio .code-frame .k{color:#e9b283}.portfolio .code-frame .s{color:#bcb3a8}.portfolio .code-frame .c{color:#9e9a95}.portfolio .code-frame .n{color:#e0dedb}.portfolio .code-frame .num{color:#e7c179}.portfolio .code-bottom{border-top:1px solid #4b4844;font:8px/1.8 var(--mono);color:#a39e99;padding:9px 18px}.portfolio .pullquote{border-block:1px solid var(--line);padding:26px 0;margin:32px 0}.portfolio .pullquote p{font-family:var(--serif);font-size:33px;line-height:1.25!important;letter-spacing:-.6px;max-width:620px;margin-bottom:0!important;color:var(--orange)}.portfolio .pullquote cite{font:9px var(--mono);display:block;margin-top:16px;color:var(--muted);font-style:normal}.portfolio .article-body .info-callout{border-left:3px solid #888178;background:#bab5af1f;padding:19px 23px;margin:24px 0;max-width:680px}.portfolio .info-callout .eyebrow{color:var(--muted);font-size:9px;margin-bottom:7px!important}.portfolio .info-callout p{font-size:13px!important;line-height:1.85!important;margin:0!important}.portfolio .briefing-lanes{display:grid;gap:22px}.portfolio .briefing-lane{position:relative;border:1px solid #484541;padding:17px;background:#232220}.portfolio .lane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.portfolio .lane-head :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:14px;letter-spacing:-.02em;font-weight:400;color:#d4d1cd;line-height:1.3}.portfolio .lane-head .small-button{font-size:9px;min-height:31px}.portfolio .briefing-lane.active{border-color:#d09b62}.portfolio .lane-nodes{display:flex;align-items:center;gap:12px}.portfolio .lane-node{flex:1;background:#2f2d2b;padding:13px 9px;text-align:center;border:1px solid #54504b;min-height:86px;font-size:11px;line-height:1.4;color:#e1dedb}.portfolio .lane-node .icon{display:block;width:18px;height:18px;margin:0 auto 9px;color:#b0a9a0}.portfolio .lane-node.active{border-color:#edaf76;background:#373430;color:#ffe0a5}.portfolio .lane-arrow{color:#a19c96;font:21px var(--serif)}.portfolio .lane-head .eyebrow{font-size:8px}.portfolio .briefing-status{font:10px/1.8 var(--mono);color:#c0bbb6;min-height:45px;margin-top:19px}.portfolio .responsibility-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:20px}.portfolio .responsibility-tabs button{font-size:10px;line-height:1.3;background:#2a2825;border:1px solid #524d48;padding:11px 7px;min-height:42px;color:#c0bdb9}.portfolio .responsibility-tabs button[aria-pressed=true]{background:#dad6d1;color:#302c27;border-color:#dad6d1}.portfolio .responsibility-output{display:grid;grid-template-columns:75px 1fr;gap:21px;align-items:center;padding:8px 0}.portfolio .responsibility-symbol{font:60px var(--serif);color:#d0cac2;text-align:center}.portfolio .responsibility-output .eyebrow{font-size:8px;color:#d1b486}.portfolio .responsibility-output :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:22px;font-weight:400;line-height:1.2;margin:7px 0 9px}.portfolio .responsibility-output p{font-size:12px;line-height:1.85;color:#c2beb9}.portfolio .coverage{border:1px solid var(--line);padding:22px;margin:29px 0;max-width:680px}.portfolio .coverage .eyebrow{color:var(--muted);margin-bottom:13px!important;font-size:9px}.portfolio .coverage-row{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;padding:14px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.65}.portfolio .coverage-row strong{font-weight:500}.portfolio .coverage-row span{font-family:var(--mono);font-size:10px;color:var(--muted)}.portfolio .coverage-note{font:9px/1.9 var(--mono);color:var(--muted);margin-top:12px!important;margin-bottom:0!important}.portfolio .article-body .related-feature{grid-template-columns:1fr;gap:0;margin:35px 0 25px;background:#d5d1cc;padding:30px;--orange:#b74d20}.portfolio .article-body .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:30px;max-width:500px;margin:12px 0 14px}.portfolio .article-body .related-feature p{color:#5c5854;font-size:13px;margin:0}.portfolio .article-page .source-note{font-size:11px}.portfolio .article-page .source-note p{font-size:12px;color:var(--muted);margin:12px 0}.portfolio .article-page .source-note ul{margin-top:15px}.portfolio .article-page .source-note li{font-size:11px;line-height:1.85;margin-top:8px;list-style:decimal;margin-left:17px}.portfolio .article-page .figure-shell button:focus-visible{outline-color:#ffb087}.portfolio .article-page .figure-shell .small-button[aria-pressed=true]{color:#ffc28a}.portfolio .article-page .toc-mobile a{font-size:12px}
/* Dialog, toast, motion */
.portfolio .image-dialog{border:1px solid #65615c;padding:27px;background:#22211f;color:#e8e6e4;max-width:min(640px,calc(100vw - 32px));box-shadow:0 30px 100px #0008}.portfolio .image-dialog::backdrop{background:#141311e6;backdrop-filter:blur(5px)}.portfolio .dialog-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:25px}.portfolio .dialog-top :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:23px;font-weight:400}.portfolio .image-dialog img{margin:0 auto;width:297px}.portfolio .image-dialog p{font-size:12px;line-height:1.8;color:#bfbbb7;margin-top:24px;max-width:430px}.portfolio .dialog-top button{background:none;border:1px solid #645f59;min-height:40px;min-width:40px;display:grid;place-items:center}.portfolio .toast{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);z-index:200;background:#eeeadd;color:#2b2825;border:1px solid #b0aca7;padding:10px 17px;font-size:12px;max-width:calc(100vw - 32px);text-align:center;box-shadow:0 10px 30px #0004}.portfolio .no-js-note{padding:20px;background:#dddad7;color:#32302d;font-size:13px}.portfolio .motion-off *, .portfolio .motion-off *:before, .portfolio .motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portfolio .motion-off .capture-window:hover{transform:rotate(-7deg)}@keyframes portfolio-wire-flow{to{stroke-dashoffset:-22}}@keyframes portfolio-gentle-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.portfolio.js .view:not([hidden])>.shell>.project-hero,.portfolio.js .view:not([hidden])>.shell>.article-hero{animation:portfolio-gentle-in .45s ease-out both}
/* Reflow: diagrams become readable vertical groups, not scaled thumbnails. */
@media(min-width:1550px){.portfolio .project-hero{gap:55px}.portfolio .hero-canvas{max-width:540px;margin-left:auto;width:100%}}
@media(max-width:1140px){.portfolio .shell{width:calc(100% - 64px)}.portfolio .project-hero{gap:15px}.portfolio .hero-canvas{min-height:455px}.portfolio .capture-window{width:285px;top:29px;left:0}.portfolio .capture-window img{width:263px}.portfolio .canvas-label{width:93px;right:0;top:55px}.portfolio .canvas-label strong{font-size:18px}.portfolio .system-slip{width:320px;top:282px}.portfolio .slip-title{font-size:21px}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:83px}.portfolio .hero-tagline{font-size:30px}.portfolio .hero-actions{gap:15px}.portfolio .hero-actions .text-link{font-size:10px}.portfolio .quick-facts{gap:20px}.portfolio .quick-facts>div+div{padding-left:20px}.portfolio .intro-grid,.portfolio .boundary-section,.portfolio .security-layout{gap:40px}.portfolio .reading-layout{gap:40px;grid-template-columns:150px minmax(0,1fr)}.portfolio .article-hero-grid{grid-template-columns:1.4fr .6fr;gap:23px}.portfolio .article-hero-art{transform:scale(.9);transform-origin:right center}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:46px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) .title-main{font-size:80px}.portfolio .arch-board{gap:38px}.portfolio .article-body .arch-board{gap:19px}.portfolio .article-body .node .icon{display:none}.portfolio .article-body .node.worker-node .icon{display:block}.portfolio .arch-details{grid-template-columns:145px 1fr}.portfolio .article-body .arch-details{grid-template-columns:100px 1fr}.portfolio .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:34px}}
@media(max-width:900px){.portfolio .shell{width:calc(100% - 48px)}.portfolio .site-nav{gap:24px}.portfolio .header-actions{gap:16px}.portfolio .nav-cta{font-size:11px}.portfolio .project-hero{padding-top:38px;grid-template-columns:1fr 1fr}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:65px}.portfolio .hero-tagline{font-size:26px}.portfolio .hero-summary{font-size:12px}.portfolio .hero-actions{display:grid;gap:6px;justify-items:start}.portfolio .hero-actions .button{font-size:11px;padding:10px 14px}.portfolio .hero-actions .text-link{font-size:11px}.portfolio .hero-canvas{min-height:430px}.portfolio .capture-window{width:270px;top:45px}.portfolio .capture-window img{width:248px}.portfolio .canvas-label{top:15px;width:auto;right:5px;font-size:8px}.portfolio .canvas-label strong{display:none}.portfolio .canvas-label .icon{display:none}.portfolio .system-slip{width:290px;top:295px;padding:18px}.portfolio .slip-title{font-size:20px}.portfolio .slip-stack{font-size:8px;gap:4px}.portfolio .canvas-caption{text-align:left;font-size:8px}.portfolio .quick-facts{grid-template-columns:1fr 1fr}.portfolio .quick-facts>div:last-child{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}.portfolio .section{padding:60px 0}.portfolio .section-head{align-items:start;gap:25px}.portfolio .section-head>p{max-width:250px;font-size:12px}.portfolio .section-head :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:36px}.portfolio .intro-grid{gap:28px}.portfolio .intro-grid :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:31px}.portfolio .intro-grid .intro-copy>p:not(.eyebrow){font-size:13px}.portfolio .perspective{padding:23px}.portfolio .perspective :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:23px}.portfolio .perspective-panel>p{min-height:92px;font-size:12px}.portfolio .workflow-grid{gap:25px}.portfolio .workflow-grid>.workflow-card:after{right:-22px}.portfolio .workflow-card{padding:15px}.portfolio .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:15px}.portfolio .workflow-card p{font-size:10px}.portfolio .workflow-split .workflow-card{padding:12px}.portfolio .arch-board{gap:28px}.portfolio .node{padding:12px 10px;gap:8px}.portfolio .node strong{font-size:12px}.portfolio .node small{font-size:8px}.portfolio .node .icon{width:17px}.portfolio .boundary-section{gap:28px}.portfolio .boundary-section :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:35px}.portfolio .boundary-section>div>p:not(.eyebrow){font-size:13px}.portfolio .boundary-card{padding:21px}.portfolio .boundary-sides{gap:17px}.portfolio .boundary-side+.boundary-side{padding-left:17px}.portfolio .boundary-side :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:21px}.portfolio .boundary-side p{font-size:10px}.portfolio .security-layout{gap:30px}.portfolio .security-intro :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:34px}.portfolio .skill-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:22px}.portfolio .related-feature{grid-template-columns:1fr 160px;padding:32px;gap:25px}.portfolio .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:31px}.portfolio .article-hero-art{transform:scale(.76);transform-origin:right center}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) .title-main{font-size:68px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:40px}.portfolio .article-lead-strip{grid-template-columns:150px 1fr}.portfolio .reading-layout{grid-template-columns:125px minmax(0,1fr);gap:27px}.portfolio .reading-sidebar .eyebrow{font-size:8px}.portfolio .toc-list a{font-size:10px;padding-left:8px}.portfolio .reader-controls{gap:5px}.portfolio .reader-controls button{font-size:9px;padding:6px 8px}.portfolio .article-body{font-size:15px}.portfolio .article-body .figure-shell{padding:19px}.portfolio .article-body .arch-board{grid-template-columns:1fr;gap:15px}.portfolio .article-body .arch-wires{display:none}.portfolio .article-body .arch-col{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.portfolio .article-body .arch-col .diagram-label{grid-column:1/-1;margin-bottom:1px}.portfolio .article-body .arch-col.middle{grid-template-columns:1fr}.portfolio .article-body .node{min-height:61px;padding:13px}.portfolio .article-body .node.worker-node{flex-direction:row;align-items:center;min-height:80px}.portfolio .article-body .node .icon{display:block}.portfolio .article-body .mobile-flow-label{display:block}.portfolio .article-body .arch-details{grid-template-columns:1fr;gap:10px;min-height:115px}.portfolio .article-body .arch-details :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:20px;margin-top:4px}.portfolio .article-body .arch-details p{font-size:12px}.portfolio .article-body .figure-head{gap:12px;align-items:start}.portfolio .article-body .figure-head .eyebrow{font-size:8px}.portfolio .article-body .figure-head .small-button{font-size:9px}.portfolio .responsibility-tabs{grid-template-columns:repeat(2,1fr)}.portfolio .lane-nodes{gap:8px}.portfolio .lane-node{font-size:10px;padding:11px 6px}.portfolio .work-project-copy{padding:30px}.portfolio .work-project-visual{padding:20px}.portfolio .writing-card{grid-template-columns:180px 1fr;gap:28px;padding:28px}.portfolio .writing-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:27px}.portfolio .writing-art{height:210px}.portfolio .footer-right{max-width:250px}}
@media(max-width:680px){.portfolio{--header-h:68px}.portfolio .shell{width:calc(100% - 36px)}.portfolio .nav-inner{gap:14px}.portfolio .wordmark{font-size:28px}.portfolio .site-nav{gap:18px}.portfolio .site-nav a{font-size:10px}.portfolio .header-actions{gap:9px}.portfolio .nav-cta{display:none}.portfolio .motion-toggle{width:32px;height:32px}.portfolio .breadcrumb{padding-top:23px;font-size:9px}.portfolio .project-hero{display:block;padding:36px 0 26px}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:78px;margin-top:18px}.portfolio .hero-tagline{font-size:31px;max-width:430px;line-height:1.12}.portfolio .hero-summary{font-size:14px;max-width:500px}.portfolio .hero-actions{display:flex;gap:18px;margin-top:23px}.portfolio .hero-actions .button{font-size:12px;min-height:46px}.portfolio .hero-actions .text-link{font-size:11px}.portfolio .hero-canvas{height:457px;min-height:0;max-width:490px;margin:25px auto 0}.portfolio .capture-window{width:319px;left:11px;top:35px}.portfolio .capture-window img{width:297px}.portfolio .canvas-label{top:25px;right:3px;font-size:9px;max-width:77px}.portfolio .canvas-label .icon{display:block;width:21px;height:21px}.portfolio .canvas-label strong{display:none}.portfolio .system-slip{width:345px;top:303px;right:8px;padding:21px}.portfolio .slip-title{font-size:22px}.portfolio .slip-stack{font-size:8px}.portfolio .canvas-caption{text-align:center;font-size:8px;margin-top:5px}.portfolio .quick-facts{padding:19px 0;gap:15px}.portfolio .quick-facts dt{font-size:8px}.portfolio .quick-facts dd{font-size:11px}.portfolio .quick-facts>div+div{padding-left:18px}.portfolio .section{padding:47px 0}.portfolio .section-head{display:block;margin-bottom:26px}.portfolio .section-head :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:35px;margin-top:12px}.portfolio .section-head>p{font-size:13px;margin-top:17px;max-width:500px}.portfolio .intro-grid{display:block}.portfolio .intro-grid :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:35px;max-width:500px}.portfolio .intro-grid .intro-copy>p:not(.eyebrow){font-size:14px}.portfolio .perspective{margin:28px 5px 8px 0;padding:25px}.portfolio .perspective :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:25px}.portfolio .perspective-panel>p{font-size:13px;min-height:69px}.portfolio .perspective-list li{font-size:12px}.portfolio .perspective-foot{font-size:9px}.portfolio .figure-shell{padding:20px}.portfolio .figure-head{gap:15px;align-items:start}.portfolio .figure-head .eyebrow{font-size:8px;max-width:180px}.portfolio .figure-head .small-button{font-size:10px;min-height:37px;white-space:nowrap}.portfolio .workflow-grid{display:grid;grid-template-columns:1fr;gap:29px}.portfolio .workflow-card{min-height:auto;padding:20px}.portfolio .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:20px}.portfolio .workflow-card p{font-size:12px}.portfolio .workflow-card .icon{width:24px;height:24px}.portfolio .workflow-grid>.workflow-card:after{content:'↓';right:50%;top:auto;bottom:-28px;font-size:24px}.portfolio .workflow-split{grid-template-columns:1fr 1fr;gap:9px}.portfolio .workflow-split .workflow-card{padding:14px;min-height:139px}.portfolio .workflow-split .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:16px;margin:9px 0 8px}.portfolio .workflow-split .workflow-card p{font-size:10px}.portfolio .workflow-split .workflow-card .icon{width:16px;height:16px}.portfolio .workflow-stepper{gap:5px}.portfolio .workflow-stepper button{font-size:9px;padding:9px 11px}.portfolio .workflow-description{font-size:12px;min-height:65px}.portfolio .figure-caption{font-size:8px}.portfolio .arch-board{display:grid;grid-template-columns:1fr;gap:16px;padding:0}.portfolio .arch-wires{display:none}.portfolio .arch-col{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.portfolio .arch-col .diagram-label{grid-column:1/-1;margin-bottom:3px;font-size:8px}.portfolio .arch-col.middle{display:block}.portfolio .arch-col.middle .diagram-label{margin-bottom:10px}.portfolio .node{padding:13px 11px;gap:9px;min-height:69px}.portfolio .node strong{font-size:12px}.portfolio .node small{font-size:8px}.portfolio .node .icon{width:18px;height:18px}.portfolio .node.worker-node{min-height:91px;flex-direction:row;align-items:center;padding:20px;gap:19px}.portfolio .node.worker-node .icon{width:26px}.portfolio .node.worker-node strong{font-size:19px}.portfolio .node.worker-node small{font-size:9px}.portfolio .mobile-flow-label{display:block}.portfolio .arch-details{display:block;padding-top:18px;min-height:145px}.portfolio .arch-details :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:24px;margin:7px 0 13px}.portfolio .arch-details p{font-size:12px}.portfolio .trace-controls{gap:6px;margin-top:14px}.portfolio .trace-controls>span{width:100%;font-size:9px;margin-bottom:4px}.portfolio .trace-controls .small-button{font-size:9px;min-height:34px;padding:7px 10px}.portfolio .boundary-section{display:block}.portfolio .boundary-section :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:39px;margin-top:12px}.portfolio .boundary-section>div>p:not(.eyebrow){font-size:14px}.portfolio .boundary-card{margin:30px 5px 8px 0;padding:25px;transform:rotate(0)}.portfolio .boundary-side :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:23px}.portfolio .boundary-side p{font-size:11px}.portfolio .security-layout{display:block}.portfolio .security-intro :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:35px}.portfolio .security-intro>p{font-size:14px}.portfolio .security-list{margin-top:27px}.portfolio .disclosure summary{font-size:14px;padding:18px 0}.portfolio .disclosure p{font-size:12px}.portfolio .skills-grid{grid-template-columns:1fr;gap:0}.portfolio .skill-card{padding:21px 0}.portfolio .skill-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:24px;margin:13px 0 12px}.portfolio .skill-card p{font-size:13px}.portfolio .next-grid{grid-template-columns:1fr;gap:26px}.portfolio .next-grid p{font-size:13px}.portfolio .next-section :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:33px}.portfolio .related-feature{grid-template-columns:1fr;gap:0;padding:29px;margin:45px 0}.portfolio .related-decoration{display:none}.portfolio .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:31px}.portfolio .related-feature p{font-size:12px}.portfolio .source-note summary{font-size:9px}.portfolio .work-hero{padding:47px 0 37px}.portfolio .work-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:56px}.portfolio .work-hero>p:not(.eyebrow){font-size:14px}.portfolio .work-section{padding:33px 0 40px}.portfolio .collection-heading{align-items:start}.portfolio .collection-heading :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:29px}.portfolio .collection-heading p{font-size:11px;max-width:190px}.portfolio .work-project-card{display:flex;flex-direction:column-reverse}.portfolio .work-project-copy{padding:28px}.portfolio .work-project-copy :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:37px;margin-top:17px}.portfolio .work-project-copy p{font-size:13px}.portfolio .work-project-visual{min-height:286px;padding:32px}.portfolio .work-project-visual figure{width:290px}.portfolio .work-project-visual:before{width:245px;height:240px}.portfolio .writing-card{display:block;padding:26px}.portfolio .writing-art{height:150px;margin-bottom:24px}.portfolio .writing-art .ring{inset:10px 65px}.portfolio .writing-art .ring:nth-child(2){inset:0 90px}.portfolio .writing-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:28px}.portfolio .collection-note{font-size:9px}.portfolio .article-hero{padding:38px 0 26px}.portfolio .article-hero-grid{display:block}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) .title-main{font-size:64px;margin-bottom:16px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:38px;line-height:1.07;margin-top:17px}.portfolio .article-dek{font-size:14px;line-height:1.85}.portfolio .article-hero-art{display:none}.portfolio .byline{gap:12px;font-size:9px}.portfolio .byline .read-time{width:100%;margin-left:40px}.portfolio .article-lead-strip{display:block;margin-top:28px;padding:20px 0}.portfolio .article-lead-strip p{font-size:22px;line-height:1.45}.portfolio .article-lead-strip .eyebrow{margin-bottom:12px;font-size:8px}.portfolio .reading-layout{display:block;padding-top:0;padding-bottom:40px}.portfolio .reading-sidebar{display:none}.portfolio .toc-mobile{display:block;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:5px}.portfolio .toc-mobile summary{font:10px var(--mono);padding:10px 0;cursor:pointer}.portfolio .toc-mobile .toc-list{margin-top:6px}.portfolio .toc-mobile .reader-controls{margin:12px 0 0}.portfolio .toc-mobile .reader-controls button{font-size:10px;min-height:36px}.portfolio .toc-mobile .toc-list a{font-size:12px}.portfolio .article-body{font-size:16px;padding-top:26px;line-height:1.9}.portfolio .article-body.large-text{font-size:18px}.portfolio .prose :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])),.portfolio .article-body>section>:is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:30px;margin-top:39px}.portfolio .prose :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:23px;margin-top:29px}.portfolio .article-body p{margin-bottom:20px}.portfolio .article-body .first-paragraph:first-letter{font-size:59px;padding-top:9px}.portfolio .article-body .figure-shell{margin:27px -1px 29px;padding:19px}.portfolio .article-body .figure-head{display:flex}.portfolio .article-body .arch-col{grid-template-columns:repeat(2,1fr)}.portfolio .article-body .node{min-height:65px}.portfolio .article-body .node strong{font-size:11px}.portfolio .article-body .arch-details p{font-size:12px}.portfolio .article-body .arch-details{min-height:150px}.portfolio .article-body .arch-details :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:22px}.portfolio .article-body .node.worker-node .icon{display:block}.portfolio .code-head{font-size:9px;padding:10px 13px}.portfolio .code-frame pre{font-size:10px;padding:18px 14px}.portfolio .code-bottom{font-size:8px;padding:9px 13px}.portfolio .article-body .source-inline{font-size:10px}.portfolio .pullquote p{font-size:28px}.portfolio .briefing-lane{padding:14px}.portfolio .lane-head :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:12px}.portfolio .lane-head .small-button{font-size:8px;padding:6px 8px;min-height:33px}.portfolio .lane-nodes{gap:8px}.portfolio .lane-node{font-size:10px;line-height:1.45;min-height:93px;padding:12px 6px}.portfolio .lane-arrow{font-size:17px}.portfolio .lane-node .icon{width:17px;margin-bottom:9px}.portfolio .briefing-status{font-size:9px}.portfolio .responsibility-tabs{gap:5px}.portfolio .responsibility-output{grid-template-columns:45px 1fr;gap:13px}.portfolio .responsibility-symbol{font-size:43px}.portfolio .responsibility-output :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:22px}.portfolio .responsibility-output p{font-size:11px}.portfolio .coverage{padding:18px}.portfolio .coverage-row{font-size:11px;gap:15px;grid-template-columns:.8fr 1.2fr}.portfolio .coverage-row span{font-size:9px}.portfolio .coverage-note{font-size:8px}.portfolio .article-body .related-feature{padding:26px}.portfolio .article-body .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:28px}.portfolio .article-page .source-note li{font-size:10px}.portfolio .toast{bottom:79px;font-size:11px;width:max-content;max-width:calc(100vw - 32px)}}
@media(max-width:380px){.portfolio .shell{width:calc(100% - 28px)}.portfolio .site-nav{gap:12px}.portfolio .site-nav a{font-size:9px}.portfolio .nav-inner{gap:10px}.portfolio .wordmark{font-size:25px}.portfolio .motion-toggle{width:29px;height:29px}.portfolio .header-actions{gap:0}.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:66px}.portfolio .hero-tagline{font-size:27px}.portfolio .hero-summary{font-size:13px}.portfolio .hero-actions{gap:7px}.portfolio .hero-actions .text-link{font-size:10px}.portfolio .hero-canvas{height:419px;margin-top:21px}.portfolio .capture-window{width:278px;left:9px;top:45px}.portfolio .capture-window img{width:256px}.portfolio .canvas-label{display:none}.portfolio .system-slip{width:267px;top:293px;padding:19px;right:9px}.portfolio .slip-title{font-size:19px}.portfolio .slip-stack{font-size:7px}.portfolio .slip-top{font-size:7px}.portfolio .canvas-caption{font-size:7px}.portfolio .hero-actions .button{font-size:11px}.portfolio .eyebrow{font-size:9px}.portfolio .quick-facts{gap:13px}.portfolio .quick-facts>div+div{padding-left:14px}.portfolio .quick-facts dd{font-size:10px}.portfolio .section-head :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:31px}.portfolio .perspective{padding:20px}.portfolio .perspective :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:23px}.portfolio .workflow-split .workflow-card{padding:11px}.portfolio .workflow-split .workflow-card :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:14px}.portfolio .workflow-split .workflow-card p{font-size:9px}.portfolio .figure-shell{padding:16px}.portfolio .workflow-stepper button{font-size:8px;padding:8px 9px}.portfolio .node{padding:12px 9px;gap:7px}.portfolio .node .icon{width:15px}.portfolio .node strong{font-size:11px}.portfolio .node small{font-size:7px}.portfolio .node .node-plus{font-size:13px}.portfolio .boundary-card{padding:20px}.portfolio .boundary-side :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:21px}.portfolio .boundary-side p{font-size:10px}.portfolio .boundary-sides{gap:16px}.portfolio .boundary-side+.boundary-side{padding-left:15px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])) .title-main{font-size:55px}.portfolio .article-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:33px}.portfolio .article-hero .eyebrow{font-size:8px}.portfolio .article-body .figure-shell{padding:15px}.portfolio .article-body .node{padding:11px 9px}.portfolio .article-body .node .icon{width:14px}.portfolio .article-body .node strong{font-size:10px}.portfolio .article-body .node small{font-size:7px}.portfolio .lane-nodes{gap:6px}.portfolio .briefing-lane{padding:11px}.portfolio .lane-node{font-size:9px;padding:11px 5px}.portfolio .lane-arrow{font-size:14px}.portfolio .lane-head :is(h4:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h4"])){font-size:11px}.portfolio .lane-head .small-button{font-size:8px}.portfolio .work-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:48px}.portfolio .collection-heading{display:block}.portfolio .collection-heading p{max-width:none;margin-top:13px}.portfolio .work-project-visual{padding:27px}.portfolio .work-project-visual figure{width:253px}.portfolio .work-project-copy{padding:23px}.portfolio .writing-card{padding:22px}.portfolio .writing-art .ring{inset:15px 36px}.portfolio .writing-art .ring:nth-child(2){inset:2px 58px}.portfolio .writing-card :is(h3:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h3"])){font-size:25px}.portfolio .related-feature{padding:24px}.portfolio .related-feature :is(h2:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h2"])){font-size:28px}}
@media(prefers-reduced-motion:reduce){.portfolio *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portfolio .capture-window:hover{transform:rotate(-7deg)}}
@media print{.portfolio{background:#fff;color:#222}.portfolio .reader-controls,.portfolio .toc-mobile,.portfolio .reading-sidebar,.portfolio .js-only,.portfolio .toast{display:none!important}.portfolio .shell{width:100%}.portfolio .section{padding:20px 0}.portfolio .view[hidden]{display:none!important}.portfolio .reading-layout{display:block}.portfolio .article-page{background:#fff;color:#222}.portfolio .figure-shell{break-inside:avoid}.portfolio .source-note{display:block}.portfolio .source-note>*{display:block}.portfolio .hero-canvas{display:none}.portfolio .project-hero{display:block}.portfolio .quick-facts{break-inside:avoid}.portfolio a[href^=http]:after{content:' (' attr(href) ')';font-size:9px}.portfolio .code-frame pre{white-space:pre-wrap}}
/* Figures can break out of the text column while paragraphs retain their measure. */
.portfolio .article-body>.prose{max-width:none}.portfolio .article-body>.prose>p{max-width:680px}.portfolio .article-body .prose>.figure-shell{max-width:none}
/* Visual QA pass: prevent ornamental orbit overflow; preserve visible plate labels. */
.portfolio .canvas-orbit{inset:25px 4px 30px;transform:none}
.portfolio .article-hero-art{height:366px}.portfolio .editorial-plate{top:0;height:125px;transform:rotate(-7deg)}.portfolio .editorial-plate:nth-child(2){top:115px;transform:rotate(7deg)}.portfolio .editorial-plate:nth-child(3){top:232px;transform:rotate(-5deg)}.portfolio .editorial-plate .plate-title{font-size:29px;margin-top:8px}.portfolio .editorial-plate small{font-size:7px;margin-top:7px}
.portfolio .workflow-card{transition:border-color .2s,background .2s,transform .2s}.portfolio .workflow-card.active{transform:translateY(-2px)}
.portfolio .lane-node{position:relative;transition:background .2s,border-color .2s}.portfolio .briefing-lane.active .lane-node.active:not(:last-child):after{content:'';position:absolute;right:-3px;top:45%;width:5px;height:5px;background:#fa9869;border-radius:50%;opacity:0;animation:portfolio-packet-hop .85s ease-out both;box-shadow:0 0 8px #fa986966}
@keyframes portfolio-packet-hop{0%{opacity:0;transform:translateX(0)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(25px)}}
@media(max-width:680px){.portfolio .project-hero :is(h1:not(:where([data-portfolio-heading-source])),:where([data-portfolio-heading-source="h1"])){font-size:clamp(54px,17vw,68px)}.portfolio .hero-actions{gap:13px}.portfolio .hero-actions .text-link{font-size:10px}.portfolio .hero-actions .button{padding-inline:16px}.portfolio .article-hero-art{display:none}}
@media(min-width:681px) and (max-width:900px){.portfolio .editorial-plate:nth-child(2){left:10px}}
/* Keep article prose ink from overriding text on dark figure surfaces. */
.portfolio .article-body .figure-shell p{color:var(--muted)}
.portfolio .article-body .figure-shell [data-node-category],.portfolio .article-body .figure-shell [data-resp-label]{color:var(--orange)}
.portfolio .article-body .figure-shell [data-node-description],.portfolio .article-body .figure-shell [data-briefing-status],.portfolio .article-body .figure-shell [data-resp-description]{color:#c8c1b4}
.portfolio .wire{stroke:#787168}
.portfolio .anchor-alias{display:block;height:0;scroll-margin-top:110px}
