/* Frontier Company reference: centered editorial layout, ember glow, signal lines. */
:root{--bg:#0e0e0e;--surface:#191919;--text:#f5f5f5;--muted:#bcbcbc;--line:#383838;--lime:#ff947e;--violet:#ff947e;--heading:'Segoe UI Variable Display','Segoe UI','Manrope',sans-serif;--body:'Segoe UI','DM Sans',sans-serif}
html{scroll-padding-top:95px}body{background:#0e0e0e}em{color:inherit}.wrap{width:min(1320px,calc(100% - 96px))}h1,h2,h3{font-weight:500}h1{font-size:clamp(48px,5.1vw,74px);line-height:1.08;letter-spacing:-2.8px}h2{font-size:clamp(38px,3.6vw,52px);letter-spacing:-1.7px;line-height:1.14}.eyebrow{letter-spacing:1.5px;font-weight:600;font-size:12px}.header{width:100%;height:72px;padding-inline:max(48px,calc((100vw - 1320px)/2));background:#fff;color:#202020;border:0}.wordmark{font-size:25px;font-weight:650;letter-spacing:-1px}.wordmark span{color:#d44830}.header-role{margin-right:auto;padding-left:24px;border-left:1px solid #ccc;font-size:13px;color:#525252}.header .contact-link{display:flex;border-color:#b5b5b5;color:#242424;font-weight:600}.contact-link span{color:#c94329}.header a:focus-visible{outline-color:#bb3b23}
.hero.wrap{width:100%;isolation:isolate;display:flex;justify-content:center;align-items:center;min-height:600px;padding:78px 48px 88px;overflow:hidden;background:radial-gradient(ellipse at 17% 125%,#845a4c 0, #48241f 23%,#1c0c0b 43%,transparent 73%),#030303}.hero:after{content:'';position:absolute;z-index:-1;right:0;bottom:0;width:34%;height:82%;background:url('assets/frontier-lines.svg') right bottom/contain no-repeat;opacity:.85;pointer-events:none}.hero-copy{text-align:center;max-width:850px}.hero .eyebrow{justify-content:center;margin-bottom:27px}.hero h1{margin-bottom:25px}.hero-intro{max-width:705px;margin:0 auto 28px;color:#e0dbda;font-size:18px;line-height:1.65}.hero-person{justify-content:center;margin-top:24px;text-align:left}.hero-person strong{color:#eee}.hero-person span{color:#beb8b7}.button{border-radius:7px;padding:13px 22px;gap:28px;min-height:49px;font-size:15px}.primary{background:#ff765b;color:#17100e}.primary:hover{background:#ff997f}.hero-art{position:absolute;left:max(5px,calc((100vw - 1500px)/2));bottom:10px;width:220px;height:220px;opacity:.8;display:flex;align-self:auto;z-index:-1;pointer-events:auto}.hero-art img{width:100%;max-width:100%;height:100%;margin:0;filter:grayscale(1);object-fit:contain}.art-coordinates,.art-caption{display:none}.hero-bottom{left:48px;right:48px;bottom:20px;font-size:10px;color:#bfb4b0;letter-spacing:1px}.hero-bottom a{color:#e8d9d4}
.section-nav{position:sticky;top:0;z-index:20;background:#fafafa;color:#242424;box-shadow:0 2px 12px #0002}.section-nav nav{display:flex;gap:36px;align-items:stretch;min-height:66px}.section-nav a{display:flex;align-items:center;white-space:nowrap;border-bottom:3px solid transparent;padding-top:3px;font-size:14px;font-weight:600}.section-nav a:hover,.section-nav a.active{color:#a82e1b;border-color:#db5036}.section-nav a:focus-visible{outline-color:#b43822;outline-offset:-5px}.expertise-strip{background:#101010;border-color:#303030}.expertise-strip .wrap{min-height:78px;letter-spacing:1.1px;font-size:12px;color:#bcbcbc}.expertise-strip i{font-size:17px;color:#ff775c}
.section{padding-block:96px}.section-heading{display:block;text-align:center;max-width:840px;margin:0 auto 48px}.section-heading .eyebrow{justify-content:center;color:#d2c4c1;margin-bottom:20px}.section-heading>p,.frontier-heading>p{max-width:760px;margin:24px auto 0;color:#c5c5c5;font-size:17px;line-height:1.7}.section-heading h2 br{display:none}.work{position:relative}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project,.featured,.compact{background:#1b1b1b;border:1px solid #414141;border-radius:16px}.project:hover{border-color:#b27768;transform:translateY(-3px)}.project-top{padding:26px 28px 0}.tag,.featured .tag{border-color:#555;color:#dedede;border-radius:5px;font-size:11px;letter-spacing:1px}.project-arrow{color:#ff947e}.project-content{padding:28px}.project h3{font-size:25px}.project p{color:#c4c4c4}.project-number{color:#b9b9b9}.project-action{border-color:#414141;color:#eee}.viz-label,.system-row,.region-label{color:#b8b8b8}.region-viz>div{color:#ccc}.bar{background:#f88770}.landscape-viz svg g:nth-child(2){fill:#272321;stroke:#c8afa8}.landscape-viz svg g:last-child{fill:#f3ded6}.landscape-viz svg g:first-child{stroke:#9c8680}.text-link{border-color:#886b62;color:#f0efed}.text-link:hover{color:#ffac99}
.frontier{background:radial-gradient(ellipse at 100% 0%,#44211b 0,transparent 37%),#111;border-block:1px solid #38302d}.finance-story{border-color:#4b3d39;gap:64px}.finance-kicker{color:#d9b8ae}.frontier h3{font-weight:500}.finance-story p,.finance-card p,.finance-foundation>div>p{color:#c8c3c1}.experience-note{border-color:#f47a60}.experience-note p:first-of-type{color:#f2e9e6}.finance-scenarios{gap:22px}.finance-card{background:#1c1b1b;border:1px solid #4b4140;border-radius:16px;padding:30px}.finance-card ul{color:#d9d4d1}.finance-source{border-color:#54423c;color:#f3c5b8}.feature-note{color:#b8ada9}.hve-block{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0%,#673024,transparent 65%),#211715;color:#fff;border:1px solid #715045;border-radius:16px;padding:38px}.hve-block .finance-kicker{color:#ffaf99}.hve-heading>p,.hve-stages p{color:#ddd0ca}.hve-stages li{border-color:#87675b}.hve-stages li>span{color:#ffab93}.hve-stages h4{color:#fff;font-weight:600}.hve-block .finance-source{color:#ffd0bf;border-color:#775348}.hve-block a:focus-visible{outline-color:#ffc4af}.finance-stack>div{border-color:#4e4140}.finance-stack dt{color:#f0d7d0}.finance-stack dd{color:#c4bcba}.finance-principle{border-color:#60483f}.finance-principle>span{color:#e8ab96}.finance-principle p{color:#f2dfd8}.finance-evidence p,.finance-measure{color:#b9b2af}.finance-evidence strong{color:#e3d4cf}.finance-evidence a{color:#edb8a8;text-decoration-color:#806255}
.developer-bio,.repo-card{background:#1a1a1a;border-color:#414141;border-radius:16px;padding:28px}.developer-handle{color:#ffaf99}.developer-bio p,.repo-card p{color:#c7c7c7}.developer-tags span{color:#e0d5d1;border-color:#625149;border-radius:5px}.developer-original{color:#e0b8ac}.repo-grid{gap:22px}.repo-card:hover{background:#24201f;border-color:#a07568}.repo-tag{color:#eab09c}.repo-path{color:#bfb2ae;border-color:#4a403b}.repo-note{color:#aca6a3}.about{background:radial-gradient(ellipse at 0 100%,#37241e,transparent 55%),#171717;border-color:#383838}.portrait img{border-radius:16px}.portrait>span{color:#bdb4b0}.about-copy>p:not(.eyebrow){color:#c7c2bf}.focus-list p{color:#b9afaa}.focus-list>span{color:#ff9a80}.insight-type{color:#e0bcad}.insight-list p{color:#bcb8b5}.insight-list>a:hover{background:#231c19}.connect{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 100%,#7a4030 0,#321a15 38%,#151111 75%);color:#fff;border:1px solid #725345;border-radius:16px;padding:52px}.connect:before{content:'';position:absolute;inset:0;background:url('assets/frontier-lines.svg') right center/auto 100% no-repeat;opacity:.4;pointer-events:none}.connect>*{position:relative}.connect .eyebrow{color:#f0c5b7}.connect>a{font-size:clamp(44px,5.4vw,72px);letter-spacing:-2.2px}.connect>a em{color:#ffad91}.connect>a>span{color:#ff9c7e;font-size:90px}.connect-bottom{color:#e0cdc5;border-color:#856352}footer{color:#b4ada9}
@media(min-width:1550px){.hero.wrap{min-height:650px}.hero-art{width:280px;height:280px}.hero-art img{width:100%;max-width:100%;margin:0}}
@media(max-width:1100px){.hero-art{width:160px;height:160px;opacity:.55}.hero-copy{max-width:740px}.hero-intro{max-width:620px}.header{padding-inline:32px}.wrap{width:calc(100% - 64px)}.section-nav nav{gap:25px}.finance-story{gap:35px}.finance-card{padding:23px}.developer-bio,.repo-card{padding:23px}}
@media(max-width:760px){html{scroll-padding-top:65px}.wrap{width:calc(100% - 40px)}.header{display:flex;height:65px;padding:0 20px;gap:14px}.header-role{font-size:11px;padding-left:14px}.header .contact-link{display:none}.hero.wrap{padding:58px 24px 65px;min-height:580px;display:block}.hero-copy{max-width:540px;margin:auto}.hero h1{font-size:clamp(43px,8vw,59px);letter-spacing:-1.9px}.hero-intro{font-size:16px;line-height:1.7}.hero .eyebrow{font-size:10px;letter-spacing:1.2px;gap:9px}.hero:after{width:65%;height:60%;opacity:.4}.hero-art{position:relative;left:auto;bottom:auto;width:150px;height:150px;margin:15px auto -26px;opacity:.85;z-index:0}.hero-art img{width:100%;max-width:100%;height:100%;margin:0}.hero-bottom{display:none}.section-nav nav{width:100%;padding-inline:20px;overflow-x:auto;flex-wrap:nowrap;gap:26px;min-height:59px}.section-nav a{font-size:13px;flex-shrink:0}.expertise-strip .wrap{font-size:10px;gap:8px 14px}.section{padding-block:64px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:38px;letter-spacing:-1.3px}.section-heading>p{font-size:16px;margin-top:20px}.projects{grid-template-columns:1fr;gap:18px}.project h3{font-size:24px}.finance-story{gap:28px}.finance-card{padding:26px}.hve-block{padding:26px}.developer-bio,.repo-card{padding:25px}.connect{padding:32px 26px}.connect>a{font-size:clamp(39px,8vw,56px);letter-spacing:-1.4px}.connect>a>span{font-size:55px}.connect-bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-art img{transform:none!important}}

/* A persistent return path for long portfolio sections. */
.back-to-top{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 17px;border:1px solid #ffac96;border-radius:999px;background:#ff947e;color:#21120e;font-size:14px;font-weight:650;box-shadow:0 5px 24px #0006;transition:background .2s,transform .2s}
.back-to-top:hover{background:#ffb39e;transform:translateY(-2px)}
.back-to-top span{font-size:21px;line-height:1}
.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:4px}
footer{padding-bottom:100px}
@media(max-width:760px){.back-to-top{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:10px 15px}footer{padding-bottom:95px}}
/* Real-time 3D architecture preview; retain the SVG when WebGL is unavailable. */
.landscape-canvas,.landscape-labels,.landscape-hint{display:none}
.landscape-viz.has-3d{height:300px;position:relative;margin:18px 12px 0;padding:0;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#4f30252e,transparent 68%);border-radius:10px}
.has-3d .viz-label,.has-3d .system-row,.has-3d>svg{display:none}
.has-3d .landscape-canvas{display:block;width:100%;height:100%}
.has-3d .landscape-labels{display:block;position:absolute;inset:0;pointer-events:none}
.landscape-labels span{position:absolute;transform:translate(-50%,-100%);font-size:12px;font-weight:650;letter-spacing:1px;line-height:1.5;color:#f4e6df;text-shadow:0 2px 6px #000;white-space:nowrap}
.has-3d .landscape-hint{display:block;position:absolute;left:16px;bottom:10px;color:#baaaa3;font-size:10px;letter-spacing:1.1px;pointer-events:none}
@media(max-width:760px){.landscape-viz.has-3d{height:260px;margin-inline:4px}.landscape-labels span{font-size:11px}.has-3d .landscape-hint{font-size:10px}}
@media(pointer:coarse){.has-3d .landscape-hint{font-size:0}.has-3d .landscape-hint:after{content:'3D SYSTEM MAP';font-size:10px;letter-spacing:1px}}
