/* Exodus Industries / Founder Personal Engineering Portfolio, V21 */
.page-founder{--pf-muted:#a2a8b2;--pf-border:rgba(162,168,178,.19);--pf-accent:#d32840}
.portfolio-main{overflow:clip}
.pf-hero{position:relative;isolation:isolate;min-height:max(780px,100svh);display:flex;align-items:center;padding:136px 0 70px;background:linear-gradient(115deg,#090a0e 20%,#11141a 100%);overflow:hidden}
.pf-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(to right,rgba(162,168,178,.16) 1px,transparent 1px),linear-gradient(to bottom,rgba(162,168,178,.16) 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(90deg,transparent 10%,black 76%)}
.pf-hero-ambient{position:absolute;right:-18%;top:-30%;width:85%;height:140%;pointer-events:none;background:radial-gradient(ellipse,rgba(164,15,38,.24),transparent 62%);z-index:-1}
.pf-hero-shell{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.86fr);column-gap:clamp(35px,5.5vw,98px);align-items:center;position:relative}
.pf-hero-content{min-width:0;position:relative;z-index:2;padding:15px 0 80px}
.pf-hero-overline,.pf-hero-kicker,.pf-hero-role,.pf-hero-index,.pf-hero-figure figcaption,.pf-index-nav,.pf-filter-bar,.pf-project-meta,.pf-project-tags,.pf-project-visual-id,.pf-project-link,.pf-archive-link,.pf-cap-index,.pf-cap-foot,.pf-systems-plate figcaption,.pf-method>span,.pf-doc-num,.pf-doc-view,.pf-doc-bottom,.pf-close-visual>span,.pf-close-links>a{font-family:var(--font-mono)}
.pf-hero-overline{color:#c1c4cd;font-size:10px;font-weight:600;letter-spacing:.15em;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pf-live-mark{width:7px;height:7px;background:var(--pf-accent);border-radius:50%;box-shadow:0 0 13px rgba(211,40,64,.6)}
.pf-divider{width:30px;height:1px;background:#62656e}
.pf-hero-kicker{display:block;font-size:11px;letter-spacing:.24em;color:#a4a9b5;margin:0 0 19px}
.pf-hero-heading{margin:70px 0 24px}
.pf-hero-heading h1{font-size:clamp(78px,9.5vw,160px);line-height:.82;letter-spacing:-.092em;font-weight:800;margin:0;white-space:nowrap}
.pf-hero-heading h1>span{color:#e7e9ee}
.pf-period{color:var(--pf-accent)}
.pf-hero-role{font-size:clamp(11px,1.1vw,15px);letter-spacing:.18em;font-weight:600;color:#e5e7ec;margin-top:32px}
.pf-hero-role span{color:var(--pf-accent);margin:0 10px}
.pf-hero-lede{font-size:clamp(16px,1.25vw,19px);line-height:1.8;color:#c5c8d0;max-width:560px;margin:22px 0 32px}
.pf-hero-actions{display:flex;gap:30px;flex-wrap:wrap;align-items:center}
.pf-primary-action{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:57px;padding:0 22px;background:#a40f26;border:1px solid #c92540;font:600 11px var(--font-mono);letter-spacing:.08em;transition:transform .35s var(--ease-out),background .3s}
.pf-primary-action:hover{transform:translateY(-4px);background:#c31b36}
.pf-primary-action span{font-size:20px}
.pf-text-action{font:600 11px var(--font-mono);letter-spacing:.09em;border-bottom:1px solid #7b808e;padding:14px 0;transition:color .25s,border-color .25s}
.pf-text-action:hover{color:#fff;border-color:var(--pf-accent)}
.pf-hero-figure{position:relative;margin:0;aspect-ratio:4/5;max-height:720px;min-height:460px;border:1px solid rgba(162,168,178,.3);background:#14171d;overflow:hidden}
.pf-hero-figure:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(4,5,8,.88),transparent 32%),linear-gradient(90deg,rgba(8,9,12,.2),transparent 40%);pointer-events:none}
.pf-hero-figure:after{content:"";position:absolute;z-index:2;right:24px;top:26px;width:70px;height:70px;border-right:1px solid var(--pf-accent);border-top:1px solid var(--pf-accent);pointer-events:none}
.pf-hero-figure img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.72) contrast(1.05)}
.pf-hero-figure figcaption{position:absolute;bottom:25px;left:28px;right:28px;z-index:2;display:flex;justify-content:space-between;gap:12px;color:#e3e5e9;font-size:9px;letter-spacing:.12em}
.pf-hero-index{position:absolute;bottom:-21px;left:0;right:0;display:flex;justify-content:space-between;gap:18px;color:#999eaa;font-size:9px;letter-spacing:.12em}
.pf-hero-index a{color:#f3f3f3}
.pf-hero-index a:hover{color:#ff5268}
.pf-index-nav{position:sticky;top:86px;z-index:42;background:rgba(12,13,18,.95);backdrop-filter:blur(16px);border-block:1px solid var(--pf-border)}
.pf-index-inner{display:flex;justify-content:space-between;align-items:center;min-height:68px;gap:24px}
.pf-index-identity{font-weight:700;color:#f1f2f4;letter-spacing:.12em;font-size:10px;white-space:nowrap}
.pf-index-identity span{color:var(--pf-accent);margin:0 7px}
.pf-index-inner>div{display:flex;gap:clamp(14px,2vw,35px);flex-wrap:wrap}
.pf-index-inner a{font-size:10px;letter-spacing:.12em;color:#b7bac4;transition:color .25s}
.pf-index-inner a:hover,.pf-index-inner a:focus-visible{color:#fff}
.pf-intro-strip{background:#15171d;border-bottom:1px solid var(--pf-border)}
.pf-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-stats>div{padding:32px 25px;border-left:1px solid var(--pf-border);display:grid;gap:8px}
.pf-stats>div:last-child{border-right:1px solid var(--pf-border)}
.pf-stats span{color:#d32840;font:600 11px var(--font-mono)}
.pf-stats strong{font-size:clamp(13px,1.2vw,18px);letter-spacing:-.015em}
.pf-stats small{font:400 9px var(--font-mono);letter-spacing:.095em;color:#9fa3ae}
.pf-work{background:#08090c}
.pf-section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:46px}
.pf-section-head>div{min-width:0}
.pf-section-head>p{max-width:470px;line-height:1.8;color:#b9bec8;font-size:clamp(14px,1.2vw,17px);margin:0 0 8px}
.pf-display{font-size:clamp(55px,7.2vw,120px);font-weight:800;letter-spacing:-.083em;line-height:.92;margin:24px 0 0;overflow-wrap:normal}
.pf-outline{color:transparent;-webkit-text-stroke:1px rgba(244,245,246,.72)}
.pf-filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px 0 22px;border-top:1px solid var(--pf-border);font-size:10px;letter-spacing:.09em}
.pf-filter-label{color:#9398a4;margin-right:15px}
.pf-filter{border:1px solid #3f424a;color:#b2b5c0;background:#101217;padding:12px 18px;transition:background .2s,color .2s,border-color .2s;font:600 10px var(--font-mono);letter-spacing:.07em}
.pf-filter span{color:#a4a8b0;margin-left:7px}
.pf-filter:hover{border-color:#c0c4ce;color:white}
.pf-filter.is-active{background:#a40f26;border-color:#a40f26;color:white}
.pf-filter.is-active span{color:#f5cad2}
.pf-filter-count{margin-left:auto;color:#9095a1;font-size:9px}
.pf-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pf-project{min-width:0;background:linear-gradient(135deg,#14161c,#101216);border:1px solid var(--pf-border);display:flex;flex-direction:column;overflow:hidden;transition:border-color .3s,transform .4s var(--ease-out)}
.pf-project:hover{border-color:rgba(211,40,64,.65);transform:translateY(-5px)}
.pf-project[hidden]{display:none!important}
.pf-project-visual{position:relative;aspect-ratio:16/9;background:#151920;overflow:hidden;border-bottom:1px solid var(--pf-border)}
.pf-project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}
.pf-project:hover .pf-project-visual img{transform:scale(1.045)}
.pf-project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,12,.52),transparent 48%);pointer-events:none}
.pf-project-visual-id{position:absolute;left:25px;bottom:20px;z-index:1;background:rgba(8,9,12,.77);border:1px solid rgba(245,245,245,.25);padding:9px 11px;color:#e6e9ef;font-size:9px;letter-spacing:.12em}
.pf-project-body{flex:1;display:flex;flex-direction:column;padding:clamp(24px,3vw,48px)}
.pf-project-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 25px;color:#a9afba;font-size:9px;letter-spacing:.13em}
.pf-project-meta span:first-child{color:#fa516a}
.pf-project h3{font-size:clamp(27px,2.75vw,44px);letter-spacing:-.05em;line-height:1.12;margin:22px 0 20px;font-weight:750}
.pf-project h3 em{font-style:normal;color:#d32840}
.pf-project p{font-size:clamp(14px,1.15vw,16px);color:#c3c7d0;line-height:1.75;margin:0 0 22px}
.pf-project-tags{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 30px}
.pf-project-tags span{border:1px solid #454952;padding:7px 9px;color:#a8aeba;font-size:9px;letter-spacing:.05em}
.pf-project-link{border-top:1px solid #444650;padding:20px 0 0;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#f2f2f3;letter-spacing:.08em;font-size:10px;font-weight:600;transition:color .2s}
.pf-project-link:hover{color:#ff6177}
.pf-project-link>span{font-size:22px}
.pf-project-radio-visual svg{display:block;width:100%;height:100%}
.pf-archive-link{display:flex;justify-content:space-between;align-items:center;margin-top:25px;border-block:1px solid var(--pf-border);padding:28px 0;gap:28px;transition:color .25s}
.pf-archive-link:hover{color:#ff6177}
.pf-archive-link>span:first-child{display:grid;gap:6px}
.pf-archive-link small{font-size:10px;color:#959ba6;letter-spacing:.12em}
.pf-archive-link strong{font-size:clamp(16px,2vw,25px);letter-spacing:-.02em}
.pf-archive-arrow{font-size:35px}
.pf-capabilities{background:linear-gradient(180deg,#171a20,#0b0d11);border-block:1px solid var(--pf-border)}
.pf-cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--pf-border);border:1px solid var(--pf-border)}
.pf-cap{background:#12151a;padding:clamp(25px,3vw,47px);min-height:350px;display:flex;flex-direction:column;transition:background .3s}
.pf-cap:hover{background:#1a2028}
.pf-cap-index{font-size:9px;letter-spacing:.14em;color:#d3d4d8;display:flex;justify-content:space-between;gap:12px}
.pf-cap-index span{color:#d32840;font-size:15px}
.pf-cap h3{font-size:clamp(24px,2.6vw,40px);line-height:1.1;letter-spacing:-.04em;margin:50px 0 20px}
.pf-cap p{font-size:14px;color:#b5bbc4;line-height:1.8;margin:0 0 26px}
.pf-cap-foot{font-size:9px;letter-spacing:.12em;color:#9fa5b1;margin-top:auto;border-top:1px solid var(--pf-border);padding-top:17px}
.pf-systems-plate{margin:26px 0 0;border:1px solid var(--pf-border);background:#f4f4f4;overflow:hidden}
.pf-systems-plate img{width:100%;height:auto;display:block}
.pf-systems-plate figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 22px;background:#0d1015;color:#afb3bd;letter-spacing:.09em;font-size:9px}
.pf-approach{background:#0a0b0f}
.pf-approach-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(35px,7vw,130px)}
.pf-approach-copy .pf-display{font-size:clamp(49px,6vw,95px)}
.pf-approach-copy p{font-size:16px;line-height:1.8;color:#bfc2ca;max-width:560px}
.pf-approach-copy blockquote{margin:50px 0 0;border-left:2px solid #d32840;padding-left:23px;max-width:560px;font-size:clamp(18px,1.6vw,24px);line-height:1.55;letter-spacing:-.025em}
.pf-method-list{border-top:1px solid var(--pf-border)}
.pf-method{display:grid;grid-template-columns:66px minmax(0,1fr);gap:22px;padding:31px 0;border-bottom:1px solid var(--pf-border)}
.pf-method>span{color:#d32840;font-size:12px}
.pf-method h3{font-size:clamp(18px,1.7vw,24px);margin:0 0 10px;letter-spacing:-.03em}
.pf-method p{color:#adb3bd;line-height:1.7;margin:0;font-size:14px}
.pf-docs{background:linear-gradient(135deg,#12151b,#08090c);border-block:1px solid var(--pf-border)}
.pf-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pf-doc-card{display:flex;flex-direction:column;gap:20px;min-height:400px;padding:clamp(25px,3vw,46px);border:1px solid var(--pf-border);background:#1a1d24;transition:transform .4s var(--ease-out),border-color .3s,background .3s}
.pf-doc-card:hover{transform:translateY(-6px);background:#21242e;border-color:#cc3650}
.pf-doc-num{color:#b5b9c1;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.13em}
.pf-doc-icon{font-size:clamp(67px,7vw,112px);font-weight:800;letter-spacing:-.09em;line-height:.9;margin:5px 0 0}
.pf-doc-icon span{color:#d32840}
.pf-doc-card>strong{font-size:clamp(26px,2.7vw,45px);letter-spacing:-.045em;line-height:1.06}
.pf-doc-description{color:#aeb4bf;font-size:14px;line-height:1.7;max-width:400px}
.pf-doc-view{font-size:10px;letter-spacing:.1em;color:#fff;margin-top:auto;padding-top:18px;border-top:1px solid var(--pf-border)}
.pf-doc-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:30px;color:#8f96a1;font-size:9px;letter-spacing:.08em}
.pf-close{position:relative;padding:clamp(70px,8vw,130px) 0;background:#090b0e;overflow:hidden}
.pf-close .shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px);align-items:center}
.pf-close-visual{position:relative;border:1px solid var(--pf-border);background:#12131a;overflow:hidden}
.pf-close-visual img{width:100%;display:block}
.pf-close-visual>span{position:absolute;bottom:0;left:0;right:0;background:rgba(8,9,12,.8);padding:16px;color:#bfc3cd;letter-spacing:.14em;font-size:9px}
.pf-close h2{font-size:clamp(55px,7vw,105px);font-weight:800;letter-spacing:-.075em;line-height:.91;margin:25px 0}
.pf-close h2 em{font-style:normal;color:#d32840}
.pf-close-main>p{color:#bfc4cc;font-size:16px;line-height:1.75;max-width:450px}
.pf-close-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:33px}
.pf-close-links>a{font-size:10px;letter-spacing:.09em;border-bottom:1px solid #626875;padding:15px 0}
.pf-close-links>a:hover{border-color:#d32840;color:#ff7085}
#selected-work,#capabilities,#approach,#documents{scroll-margin-top:160px}
@media(max-width:1100px){.pf-hero-heading h1{font-size:clamp(70px,9vw,118px)}.pf-hero-shell{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.pf-hero-figure{min-height:400px}.pf-section-head{align-items:start}.pf-cap{min-height:370px}}
@media(max-width:800px){.pf-hero{padding-top:115px;min-height:auto}.pf-hero-shell{grid-template-columns:1fr;gap:30px}.pf-hero-content{padding-bottom:10px}.pf-hero-heading{margin-top:52px}.pf-hero-heading h1{font-size:clamp(65px,12vw,115px)}.pf-hero-figure{aspect-ratio:5/4;min-height:0;max-height:540px}.pf-hero-figure img{object-position:50% 20%}.pf-hero-index{position:static;grid-column:1;margin-top:10px}.pf-index-nav{top:72px}.pf-index-identity{display:none}.pf-index-inner{justify-content:center}.pf-index-inner>div{justify-content:space-between;width:100%}.pf-stats{grid-template-columns:1fr}.pf-stats>div{border-left:0;border-bottom:1px solid var(--pf-border);padding:19px 0}.pf-stats>div:last-child{border-right:0;border-bottom:0}.pf-section-head{display:block}.pf-section-head>p{margin-top:23px}.pf-work-grid,.pf-doc-grid,.pf-approach-grid,.pf-close .shell{grid-template-columns:1fr}.pf-cap-grid{grid-template-columns:1fr}.pf-cap{min-height:245px}.pf-cap h3{margin-top:26px}.pf-close-visual{max-width:540px}.pf-method-list{margin-top:30px}}
@media(max-width:520px){.pf-hero{padding-top:110px;padding-bottom:55px}.pf-hero-overline{font-size:8px;gap:9px}.pf-divider{width:16px}.pf-hero-heading h1{font-size:clamp(52px,13.2vw,76px);letter-spacing:-.08em}.pf-hero-heading{margin:39px 0 15px}.pf-hero-kicker{font-size:9px}.pf-hero-role{font-size:10px;letter-spacing:.09em}.pf-hero-lede{font-size:14px;line-height:1.75}.pf-hero-actions{gap:15px}.pf-primary-action{min-height:50px;padding:0 15px;gap:17px;font-size:9px}.pf-text-action{font-size:9px}.pf-hero-figure{aspect-ratio:4/4.2}.pf-hero-figure figcaption{font-size:7px;left:15px;right:15px;bottom:17px}.pf-hero-index{flex-direction:column;font-size:8px}.pf-index-inner{min-height:55px}.pf-index-inner>div{gap:8px}.pf-index-inner a{font-size:8px;letter-spacing:0}.pf-stats strong{font-size:14px}.pf-stats small{font-size:8px}.pf-display{font-size:clamp(43px,11.3vw,60px)}.pf-filter-bar{gap:5px}.pf-filter-label{display:none}.pf-filter{padding:10px 11px;font-size:8px}.pf-filter-count{flex-basis:100%;margin-left:0;margin-top:9px}.pf-project-visual-id{left:14px;bottom:14px;font-size:8px}.pf-project-body{padding:23px 20px}.pf-project h3{font-size:clamp(25px,7vw,37px)}.pf-project-meta{font-size:8px}.pf-project p{font-size:14px}.pf-archive-link strong{font-size:16px}.pf-archive-arrow{font-size:25px}.pf-cap{padding:25px 22px}.pf-approach-copy .pf-display{font-size:clamp(45px,10.5vw,70px)}.pf-method{grid-template-columns:40px 1fr;gap:13px}.pf-doc-card{min-height:345px;padding:28px 23px}.pf-close h2{font-size:clamp(49px,11.5vw,80px)}.pf-close-links{gap:12px}.pf-close-links>a{font-size:9px}}
@media(prefers-reduced-motion:reduce){.pf-project,.pf-project-visual img,.pf-doc-card,.pf-primary-action{transition:none!important;transform:none!important}}
