.portfolio-page{position:relative;min-height:100vh;overflow-x:hidden;background:var(--color-background);color:var(--color-text-primary)}.portfolio-page>main,.site-footer{position:relative;z-index:1}.section-shell{width:min(1160px,100% - 40px);margin:0 auto}.content-section{position:relative;padding:116px 0;background:rgba(5,5,5,.82)}.content-section:nth-of-type(even){background:rgba(13,13,13,.86)}.site-navbar{position:fixed;inset:16px 0 auto;z-index:20;pointer-events:none}.site-navbar.scrolled .navbar-inner{min-height:56px;background:rgba(5,5,5,.78);border-color:#ffffff24}.navbar-inner{width:min(1160px,100% - 40px);min-height:64px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(5,5,5,.78);color:var(--color-text-primary);pointer-events:auto;transition:min-height .25s ease,background .25s ease,border-color .25s ease}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text-primary);font-weight:500}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);background:rgba(255,255,255,.035);color:var(--color-text-primary);font-family:var(--font-display);font-weight:600;font-size:.9rem}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}.desktop-nav a{position:relative;padding:10px 13px;border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:.92rem;transition:color .2s ease,background .2s ease}.desktop-nav a:after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:rgba(255,255,255,.72);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.desktop-nav a:hover,.desktop-nav a.active{color:var(--color-text-primary);background:rgba(255,255,255,.045)}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.mobile-menu-button{display:none;width:40px;height:40px;border-radius:var(--radius-card);place-items:center;background:rgba(255,255,255,.05);color:var(--color-text-primary)}.mobile-nav{width:min(1160px,100% - 40px);margin:8px auto 0;display:none;flex-direction:column;gap:6px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-card);background:rgba(5,5,5,.92);color:var(--color-text-primary);pointer-events:auto}.mobile-nav a{padding:12px;border-radius:var(--radius-card);color:var(--color-text-secondary)}.mobile-nav a:hover,.mobile-nav a.active{color:var(--color-text-primary);background:rgba(255,255,255,.05)}.hero-section{position:relative;min-height:100vh;padding:142px 0 92px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.46) 56%,rgba(5,5,5,.76) 100%),linear-gradient(180deg,rgba(5,5,5,.02) 0%,rgba(5,5,5,.6) 100%)}.spectra-noise{position:absolute;inset:0 0 auto;height:1000px;z-index:0;overflow:hidden;pointer-events:none;contain:layout paint style}.noise-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:1}.noise-canvas.noise-canvas-fallback{background:radial-gradient(ellipse at 26% 14%,rgba(210,210,210,.58),transparent 44%),radial-gradient(ellipse at 78% 20%,rgba(185,185,185,.28),transparent 38%),linear-gradient(135deg,#050505 0%,#141414 52%,#050505 100%)}.noise-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 28% 20%,transparent 0%,rgba(5,5,5,.02) 42%,rgba(5,5,5,.54) 100%),linear-gradient(90deg,rgba(5,5,5,.02) 0%,rgba(5,5,5,.2) 58%,rgba(5,5,5,.6) 100%),linear-gradient(180deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.68) 100%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,760px);align-items:center;justify-content:start}.hero-copy h1{max-width:660px;margin-top:26px;color:var(--color-text-primary);font-family:var(--font-display);font-size:clamp(4rem,7.2vw,7rem);font-weight:500;line-height:.9;letter-spacing:-.045em;text-wrap:balance}.hero-copy p{max-width:660px;margin-top:30px;color:var(--color-text-secondary);font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.58}.hero-kicker{display:inline-flex;align-items:center;padding:8px 0;color:var(--color-text-tertiary);font-size:.82rem;font-family:var(--font-display);font-weight:500;letter-spacing:.16em;text-transform:uppercase}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.icon-slide-button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;appearance:none;text-decoration:none;-webkit-tap-highlight-color:transparent}.icon-slide-button:focus-visible{outline:2px solid rgba(255,255,255,.72);outline-offset:4px;border-radius:var(--radius-pill)}.icon-slide-button__content{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;overflow:hidden;padding:0 24px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-card);background:var(--color-text-primary);color:#050505;isolation:isolate;transition:background .32s ease,border-color .32s ease}.icon-slide-button:hover .icon-slide-button__content{background:rgba(255,255,255,.035);border-color:#ffffff24}.icon-slide-button__bg{position:absolute;z-index:1;left:50%;bottom:-9px;width:9px;height:9px;border-radius:var(--radius-pill);background:var(--button-fill, #050505);transform:translate(-50%);transition:width .52s cubic-bezier(.22,1,.36,1),height .52s cubic-bezier(.22,1,.36,1),bottom .52s cubic-bezier(.22,1,.36,1),border-radius .52s cubic-bezier(.22,1,.36,1)}.icon-slide-button:hover .icon-slide-button__bg{bottom:-54px;width:112%;height:156px}.icon-slide-button__text-wrap{position:relative;z-index:2;display:inline-flex;align-items:center;overflow:hidden;transition:transform .42s cubic-bezier(.22,1,.36,1),padding-right .42s cubic-bezier(.22,1,.36,1)}.icon-slide-button:hover .icon-slide-button__text-wrap{padding-right:22px;transform:translate(-9px)}.icon-slide-button__text{position:relative;z-index:2;color:#050505;font-weight:500;white-space:nowrap;transition:color .28s ease}.icon-slide-button:hover .icon-slide-button__text{color:var(--color-text-primary)}.icon-slide-button__icon{position:absolute;z-index:2;top:50%;right:-24px;display:grid;place-items:center;width:20px;height:20px;color:var(--color-text-primary);opacity:0;transform:translateY(-50%);transition:right .42s cubic-bezier(.22,1,.36,1),opacity .24s ease}.icon-slide-button__icon svg{display:block;width:100%;height:100%;fill:currentColor}.icon-slide-button:hover .icon-slide-button__icon{right:16px;opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:var(--radius-card);font-weight:500;transition:background .2s ease,border-color .2s ease}.btn.primary{border:1px solid rgba(255,255,255,.9);background:var(--color-text-primary);color:#050505}.btn.primary:hover{background:#FFFFFF}.btn.secondary{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:var(--color-text-primary)}.btn.secondary:hover{border-color:#ffffff47;background:rgba(255,255,255,.06)}.section-header{max-width:800px;margin-bottom:42px}.section-header span{display:inline-flex;margin-bottom:12px;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.16em}.section-header h2{color:var(--color-text-primary);font-family:var(--font-display);font-size:clamp(2.4rem,4.8vw,4.5rem);font-weight:500;line-height:1;letter-spacing:-.04em;text-wrap:balance}.section-header p{margin-top:18px;color:var(--color-text-secondary);font-size:1.04rem;line-height:1.6}.split-section{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:start}.pillar-grid,.tech-grid{display:grid;gap:18px}.pillar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pillar-card,.tech-group,.contact-card,.timeline-item,.case-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-card);transition:border-color .24s ease,background .24s ease}.pillar-card:hover,.tech-group:hover,.contact-card:hover,.timeline-item:hover,.case-card:hover{border-color:#fff3;background:rgba(255,255,255,.052)}.pillar-card{padding:22px}.pillar-card h3{margin:18px 0 10px;color:var(--color-text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:500;letter-spacing:-.025em}.pillar-card p{color:var(--color-text-secondary);line-height:1.6}.icon-badge{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-card);background:rgba(255,255,255,.035);color:var(--color-text-secondary)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-pill);background:rgba(255,255,255,.025);color:var(--color-text-secondary);font-size:.84rem;font-weight:500}.case-list{display:grid;gap:18px}.case-card{display:grid;grid-template-columns:minmax(0,1fr);padding:26px}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.case-heading span{color:var(--color-text-tertiary);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.case-heading strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.45rem);line-height:.95;font-weight:500;letter-spacing:-.035em}.case-copy h3{color:var(--color-text-primary);font-family:var(--font-display);font-size:1.8rem;font-weight:500;letter-spacing:-.03em;margin-bottom:14px}.case-copy p{color:var(--color-text-secondary);line-height:1.58;margin-top:10px}.case-copy p b{color:var(--color-text-primary)}.case-copy .tag-list{margin-top:18px}.tech-group{padding:22px}.tech-group h3{margin-bottom:16px;color:var(--color-text-primary);font-family:var(--font-display);font-size:1.28rem;font-weight:500;letter-spacing:-.025em}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:22px;box-shadow:none}.timeline-item span{color:var(--color-text-tertiary);font-weight:600}.timeline-item h3{color:var(--color-text-primary);font-family:var(--font-display);font-weight:500;letter-spacing:-.025em;margin-bottom:8px}.timeline-item p{color:var(--color-text-secondary);line-height:1.6}.contact-section{background:rgba(5,5,5,.88)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.contact-list{display:grid;gap:14px}.contact-card{display:flex;align-items:center;gap:16px;padding:18px;color:var(--color-text-primary);box-shadow:none}.contact-card p{margin-top:4px;color:var(--color-text-secondary);word-break:break-word}.contact-card .icon-badge{flex:0 0 44px}.site-footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.1);background:rgba(5,5,5,.9);color:var(--color-text-tertiary)}.site-footer .section-shell{display:flex;align-items:center;justify-content:space-between;gap:18px}.site-footer span{color:var(--color-text-primary);font-weight:500}@media (max-width: 1040px){.split-section,.contact-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pillar-grid{grid-template-columns:1fr}}@media (max-width: 760px){.section-shell,.navbar-inner,.mobile-nav{width:min(100% - 28px,1160px)}.content-section{padding:78px 0}.navbar-inner{grid-template-columns:auto 1fr auto;gap:10px}.desktop-nav{display:none}.mobile-menu-button{display:grid;justify-self:end}.mobile-nav{display:flex}.hero-section{min-height:auto;padding:118px 0 70px}.noise-canvas{opacity:.86}.hero-grid{gap:34px}.hero-copy h1{font-size:clamp(3.2rem,15vw,5.4rem)}.hero-actions{align-items:stretch}.hero-actions .icon-slide-button,.hero-actions .btn{flex:1 1 210px}.hero-actions .icon-slide-button__content{width:100%}.tech-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.site-footer .section-shell{flex-direction:column;align-items:flex-start}}@media (max-width: 520px){.brand span:last-child{display:none}.case-card,.pillar-card,.tech-group{padding:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.noise-canvas{opacity:.5}.icon-slide-button:hover .icon-slide-button__content,.icon-slide-button:hover .icon-slide-button__text-wrap{transform:none}}@font-face{font-family:Clash Display;src:url(https://cdn.fontshare.com/wf/2GQIT54GKQY3JRFTSHS4ARTRNRQISSAA/3CIP5EBHRRHE5FVQU3VFROPUERNDSTDF/JTSL5QESUXATU47LCPUNHZQBDDIWDOSW.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(https://cdn.fontshare.com/wf/FPDAZ2S6SW4QMSRIIKNNGTPM6VIXYMKO/5HNPQ453FRLIQWV2FNOBUU3FKTDZQVSG/Z3MGHFHX6DCTLQ55LJYRJ5MDCZPMFZU6.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--font-display: "Clash Display", "Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif;--color-background: #050505;--color-section: #0D0D0D;--color-card: rgba(255, 255, 255, .035);--color-border: rgba(255, 255, 255, .1);--color-text-primary: #F4F4F0;--color-text-strong: #FFFFFF;--color-text-secondary: #999999;--color-text-tertiary: rgba(255, 255, 255, .48);--shadow-soft: 0 24px 80px rgba(0, 0, 0, .48);--shadow-card: 0 18px 50px rgba(0, 0, 0, .24);--radius-card: 8px;--radius-pill: 999px}*{padding:0;margin:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px;font-family:var(--font-body)}body{min-width:320px;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);font-weight:400;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}button,input,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:inherit;text-decoration:none}strong,b{font-weight:500}a:focus-visible,button:focus-visible{outline:2px solid rgba(255,255,255,.72);outline-offset:3px}button{border:0;cursor:pointer}img{display:block;max-width:100%}::selection{background:rgba(255,255,255,.22);color:#fff}
