:root{--primary: #f6f5f3;--accent: #515c94;--accent-warm: #6876bb;--text: #404456;--text-dim: #4a4a4a;--surface: #ffffff;--surface-elevated: #fafafa;--font-heading: "Syne", sans-serif;--font-mono: "IBM Plex Mono", monospace;--border-radius: 8px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px rgba(0, 0, 0, .1);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Mono,monospace;background:url(/img/bkgd.png) top center no-repeat,url(/img/footer-bkgd.png) bottom center no-repeat;background-size:contain,contain;background-attachment:scroll,scroll;background-color:var(--primary);color:var(--text);line-height:1.6;overflow-x:hidden;padding-top:0}h1,h2,h3{font-family:Syne,sans-serif;font-weight:800;letter-spacing:-.03em;padding-top:15px}.container{max-width:1200px;margin:150px auto 0;padding:0 2rem;position:relative;z-index:1;background:transparent}.site-nav{position:fixed;top:0;left:0;right:0;z-index:900;border-bottom:1px solid rgba(0,0,0,.08)}.site-nav .nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:flex-end;height:56px}.site-nav .nav-links{display:flex;gap:1.5rem;align-items:center;list-style:none}.site-nav .nav-links a{font-size:.8rem;color:#515c94;text-decoration:none;transition:color .2s ease;letter-spacing:.02em;text-transform:uppercase}.site-nav .nav-links a:hover,.site-nav .nav-links a:visited{color:#6876bb}a:visited{color:var(--accent-warm)}.site-nav .nav-links a:active,.site-nav .nav-links a.active{color:#fff}.nav-dropdown{position:relative}.nav-dropdown>a{cursor:default}.nav-dropdown>a:after{content:" ▾";font-size:.6em}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:6px;padding:.75rem 0 .5rem;min-width:140px;box-shadow:none;z-index:1000;list-style:none;margin-top:0}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:.5rem}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu li{padding:0}.nav-dropdown-menu a{display:block;padding:.4rem 1rem;font-size:.75rem!important;white-space:nowrap}.nav-dropdown-menu a:hover{background:#0000000a}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text);font-size:1.25rem}.email-icon{font-size:30px!important;color:var(--accent);transition:color .2s ease;position:relative;top:-3px}header{padding:4rem 0 8rem;position:relative}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:4rem}.header-text{flex:1}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-bottom:1.5rem;opacity:0;animation:fadeInUp .8s ease-out forwards}h1{font-size:4rem;line-height:1.1;margin-bottom:1.5rem;color:var(--text);opacity:0;animation:fadeInUp .8s ease-out .1s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slowFadeIn{0%{opacity:0}to{opacity:1}}.tagline{font-size:1.25rem;color:var(--text-dim);margin-bottom:2rem;max-width:600px;animation:fadeInUp .8s ease-out .2s both}.intro{font-size:1rem;line-height:1.8;color:var(--text-dim);max-width:700px;margin-bottom:3rem;animation:fadeInUp .8s ease-out .3s both}.quick-links{display:flex;gap:1rem;animation:fadeInUp .8s ease-out .4s both}.btn{padding:1rem 2rem;border-radius:6px;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.9rem;transition:all .3s ease;display:inline-block}.btn-primary{background:var(--text);color:var(--primary)}.btn-primary:hover{background:var(--accent);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--text);border:2px solid var(--text)}.btn-secondary:hover{background:var(--text);color:var(--primary)}.btn-small{padding:.6rem 1.2rem;font-size:.8rem}.credibility-strip{display:flex;flex-wrap:wrap;gap:2rem;padding:2rem 0;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:4rem}.credibility-item{flex:1;min-width:200px}.credibility-item .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.25rem}.credibility-item .value{font-family:Syne,sans-serif;font-weight:700;font-size:.95rem;color:var(--text)}.featured-work{margin:2rem 0 4rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;margin-top:1.5rem}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;margin-top:2rem;margin-bottom:4rem}.portfolio-card{background:var(--surface);border-radius:8px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px #0000000d;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.portfolio-card-img-wrap{width:100%;height:220px;overflow:hidden;background:var(--surface-elevated)}.portfolio-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.portfolio-card:hover .portfolio-card-img{transform:scale(1.03)}.portfolio-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.portfolio-card-tags{display:flex;flex-wrap:wrap;gap:.3rem}.portfolio-card-body h3{font-family:var(--font-heading, "Syne", sans-serif);font-size:1.15rem;font-weight:700;color:var(--text);margin:0}.portfolio-card-body p{font-size:.85rem;color:var(--text-dim);line-height:1.6;margin:0;flex:1}.portfolio-card-cta{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:.78rem;color:var(--accent);letter-spacing:.02em;margin-top:.4rem}.portfolio-card:hover .portfolio-card-cta{color:var(--accent-warm)}.project-card{background:var(--surface);border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:block}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.project-card-image{width:100%;height:200px;object-fit:cover;display:block}.project-card-body{padding:1.5rem}.project-card-body .meta-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text);background:#0000000d;padding:.2rem .5rem;border-radius:3px;display:inline-block;margin-right:.4rem;margin-bottom:.4rem}.project-card-body h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--text);padding-top:.5rem}.project-card-body p{font-size:.85rem;color:var(--text-dim);line-height:1.5;margin-bottom:1rem}.project-card-body .card-cta{font-size:.8rem;color:var(--accent);font-weight:500;text-decoration:none}.section-teaser{margin:4rem 0;padding:2.5rem;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.section-teaser h2{font-size:2rem;margin-bottom:1rem;color:var(--text)}.section-teaser--with-image{display:flex;align-items:flex-start;gap:30px}.teaser-image{flex-shrink:0;max-width:200px;height:auto;border-radius:6px;margin-top:60px}.teaser-content{flex:1}.section-teaser p{font-size:.95rem;color:var(--text-dim);line-height:1.7;max-width:700px;margin-bottom:1.5rem}.remote-work{margin:6rem 0;padding:3rem;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.remote-work h2{font-size:2.5rem;margin-bottom:1.5rem;color:var(--text)}.remote-work>p{font-size:1.1rem;line-height:1.8;color:var(--text-dim);margin-bottom:2rem;max-width:800px}.remote-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.remote-highlight{padding:1.5rem;background:#00000005;border-radius:6px;border-left:3px solid var(--text)}.remote-highlight h3{font-size:1rem;margin-bottom:.5rem;color:var(--text)}.case-studies{margin:1rem 0}.case-study-image{width:100%;max-width:800px;height:auto;margin:0 auto 1.5rem;border-radius:8px;cursor:pointer;transition:transform .3s ease;display:block;position:relative;box-shadow:0 4px 12px #00000026}.case-study-image:hover{transform:scale(1.02)}.case-study-full{margin-bottom:4rem;scroll-margin-top:80px}.case-study-full .case-study-image{max-width:100%}.carousel-container{position:relative;overflow:hidden}.carousel-track{display:flex;transition:transform .5s ease}.carousel-slide{min-width:100%;padding:1rem;max-height:80vh;overflow-y:auto}.carousel-nav{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.carousel-btn{background:var(--text);color:var(--primary);border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.9rem;transition:all .3s ease}.carousel-btn:hover{background:var(--accent)}.carousel-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.carousel-dot{width:10px;height:10px;border-radius:50%;background:#0003;cursor:pointer;transition:all .3s ease;border:none}.carousel-dot.active{background:var(--text);width:30px;border-radius:5px}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background:#000000e6;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{max-width:90%;max-height:90%;border-radius:8px;box-shadow:0 8px 32px #00000080}.modal-content img{width:100%;height:auto;display:block;border-radius:8px}.modal-close{position:absolute;top:2rem;right:2rem;color:#fff;font-size:3rem;cursor:pointer;background:none;border:none;line-height:1}.modal-close:hover{color:var(--accent)}.section-header{display:flex;align-items:baseline;gap:2rem;margin-bottom:1rem}.section-header h2{font-size:2rem;color:var(--text)}.count{font-size:.875rem;color:var(--text-dim);font-family:IBM Plex Mono,monospace}.case-study-grid{display:grid;gap:3rem}.case-study{background:var(--surface);border-radius:8px;overflow:hidden;transition:all .3s ease;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d}.case-study-header{padding:1.5rem 2rem;background:var(--surface-elevated);position:relative;overflow:hidden}.case-study-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--text)}.case-study-meta{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.meta-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text);background:#0000000d;padding:.25rem .6rem;border-radius:4px}.case-study h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text);line-height:1.2}.case-study-intro{color:var(--text-dim);margin-bottom:0;font-size:.85rem;line-height:1.4}.case-study-body{padding:1.5rem 2rem}.case-study-link-row{padding:1rem 2rem 1.5rem;border-top:1px solid rgba(0,0,0,.06)}.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.outcome{padding:1rem;background:#00000005;border-left:3px solid var(--text);border-radius:4px}.outcome-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.25rem}.outcome-value{font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.outcome-description{font-size:.75rem;color:var(--text-dim);line-height:1.3}.challenge-section{margin-top:1.5rem}.challenge-section h4{font-family:Syne,sans-serif;font-size:1rem;margin-bottom:.5rem;color:var(--text)}.challenge-section p,.challenge-section ul{color:var(--text-dim);margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.challenge-section ul{list-style:none;padding-left:0}.challenge-section li{padding-left:1.2rem;position:relative;margin-bottom:.4rem}.challenge-section li:before{content:"→";position:absolute;left:0;color:var(--text);font-size:.8rem}.case-study-artifact{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1)}.case-study-artifact img{max-width:100%;height:auto;display:inline-block}#services ul{padding-left:30px;padding-top:5px;list-style-type:square}#services li,.services-intro p{color:#6876bb!important}.services-intro{font-size:1rem;line-height:1.8;color:var(--text-dim);max-width:700px;margin-bottom:2rem}.service-card{background:var(--surface);border-radius:8px;border:1px solid rgba(0,0,0,.1);padding:2rem;margin-bottom:2rem}.service-card h3{font-size:1.3rem;color:var(--text);margin-bottom:.5rem}.service-card .service-for{font-size:.8rem;color:var(--accent);margin-bottom:1rem}.service-card p{font-size:.9rem;color:var(--text-dim);line-height:1.6;margin-bottom:.75rem}.service-card ul{list-style:none;padding-left:0;margin-bottom:1rem}.service-card li{padding-left:1.2rem;position:relative;margin-bottom:.4rem;font-size:.85rem;color:var(--text-dim)}.service-card li:before{content:"→";position:absolute;left:0;color:var(--text);font-size:.8rem}.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.article-card{background:var(--surface);border-radius:8px;border:1px solid rgba(0,0,0,.1);padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:block}.article-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.article-card .article-topic{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.5rem}.article-card h3{font-size:1.1rem;color:var(--text);margin-bottom:.5rem;padding-top:0}.article-card p{font-size:.85rem;color:var(--text-dim);line-height:1.5}.article-card .article-status{font-size:.75rem;color:var(--text-dim);margin-top:1rem;font-style:italic}.project-detail{margin-bottom:4rem}.project-detail h3{font-size:1.8rem;color:var(--text);margin-bottom:1rem}.project-detail p{font-size:.95rem;color:var(--text-dim);line-height:1.7;max-width:800px;margin-bottom:1rem}.project-detail ul{list-style:none;padding-left:0;margin-bottom:1.5rem}.project-detail li{padding-left:1.2rem;position:relative;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dim)}.project-detail li:before{content:"→";position:absolute;left:0;color:var(--text);font-size:.8rem}.future-projects{margin-top:4rem;padding:2rem;border:1px dashed rgba(0,0,0,.15);border-radius:8px}.future-projects h3{font-size:1.2rem;color:var(--text);margin-bottom:.5rem}.future-projects p{font-size:.9rem;color:var(--text-dim)}.page-header{padding:2rem 0 4rem}.page-header--with-image{display:flex;align-items:flex-start;gap:30px}.page-header-text{flex:1}.page-header-image{flex-shrink:0;max-width:400px;height:auto;border-radius:8px;margin-top:2rem;opacity:0;animation:slowFadeIn 6s ease-out 2s both!important}.page-header h1{font-size:3rem;margin-bottom:1rem;color:var(--accent-warm)}.page-header p{font-size:1rem;color:#a37e55;line-height:1.7;max-width:700px;opacity:0;animation:fadeInUp .8s ease-out .4s both}footer{position:relative;min-height:400px;margin-top:6rem}footer a{color:#6876bb!important}.footer-content{position:absolute;bottom:10px;right:-50px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;color:#515c94;z-index:100}@media (max-width: 1240px){.footer-content{right:10px}}.footer-content h2{margin-bottom:1rem;color:#515c94}.footer-content p{color:#515c94;max-width:400px;margin:0 0 1rem;font-size:.9rem}.footer-links{display:flex;gap:1.5rem;margin-top:.5rem;flex-wrap:wrap;justify-content:flex-end}.footer-links a{font-size:.85rem;text-decoration:none}.contact-info{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-top:1rem}.contact-link{color:var(--text);text-decoration:none;position:relative;padding-bottom:4px;transition:color .3s ease}.contact-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.contact-link:hover{color:var(--accent)}.contact-link:hover:after{width:100%}.logo{position:absolute;top:48px;right:100px;max-width:200px;z-index:500;opacity:0;transform:rotate(-6deg) translateY(150px);animation:logoFadeInUp 3s ease-out .8s forwards}.logo.logo-static{opacity:1;transform:rotate(-6deg);animation:none}.service-image{float:right;margin-right:-30px;margin-top:-30px;margin-bottom:60px;max-width:350px;height:auto}@keyframes logoFadeInUp{0%{opacity:0;transform:rotate(-6deg) translateY(80px)}to{opacity:1;transform:rotate(-6deg) translateY(0)}}.scroll-indicator{position:fixed;top:0;left:0;height:4px;background:var(--text);width:0%;z-index:1000;transition:width .1s ease}.reveal{opacity:0;transform:translateY(30px)}.reveal.is-visible{animation:fadeInUp .8s ease-out both;animation-delay:var(--delay, 0s)}.project-page-header{padding:3rem 0 2rem}.project-back{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--accent);text-decoration:none;margin-bottom:2rem;letter-spacing:.05em;text-transform:uppercase}.project-back:hover{color:var(--accent-warm)}.project-back:before{content:"← "}.project-page-header h1{color:var(--accent-warm);font-size:3rem;margin-bottom:.5rem}.project-page-header .project-tagline{font-size:1.1rem;color:var(--text-dim);max-width:680px;line-height:1.6}.project-body{max-width:760px;margin-top:3rem}.project-body h2{font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text);margin-top:2.5rem;margin-bottom:.5rem;padding-top:0}.project-body h3{font-family:Syne,sans-serif;font-size:.95rem;font-weight:700;color:var(--text);margin-top:1.75rem;margin-bottom:.4rem;padding-top:0}.project-body p{font-size:.95rem;color:var(--text-dim);line-height:1.75;margin-bottom:1rem}.project-body ul{list-style:none;padding-left:0;margin-bottom:1.5rem}.project-body li{padding-left:1.4rem;position:relative;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dim);line-height:1.6}.project-body li:before{content:"→";position:absolute;left:0;color:var(--text);font-size:.8rem}.project-status-bar{display:flex;gap:2rem;flex-wrap:wrap;margin:2.5rem 0;padding:1.5rem;background:var(--surface);border-radius:8px;border:1px solid rgba(0,0,0,.08)}.psb-label{font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.25rem}.psb-value{font-family:Syne,sans-serif;font-size:.95rem;font-weight:700;color:var(--text)}.project-artifact-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:2.5rem;padding:.9rem 1.5rem;border:1px solid rgba(0,0,0,.15);border-radius:6px;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--accent);transition:background .2s,color .2s}.project-artifact-link:hover{background:var(--text);color:var(--primary);border-color:var(--text)}.section-divider{border:none;border-top:1px solid rgba(0,0,0,.08);margin:3rem 0}.projects-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.project-hub-card{background:var(--surface);border-radius:10px;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}.project-hub-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0000001a}.project-hub-card:visited{color:inherit}.phc-bar{height:4px;background:var(--accent)}.phc-body{padding:1.75rem 1.75rem 1.5rem;flex:1;display:flex;flex-direction:column}.phc-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.phc-body h3{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:.75rem;color:var(--text);padding-top:0}.phc-body p{font-size:.9rem;color:var(--text-dim);line-height:1.6;flex:1;margin-bottom:1.5rem}.phc-cta{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.phc-cta:after{content:" →"}.screen-gallery{margin:2.5rem -2rem 3rem;padding:2rem;overflow-x:auto;display:flex;gap:1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen-gallery::-webkit-scrollbar{display:none}.screen-gallery figure{flex:0 0 auto;scroll-snap-align:start;margin:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.screen-gallery img{height:480px;width:auto;border-radius:24px;border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 24px #0000001a;display:block}.screen-gallery figcaption{font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);text-align:center}.screen-gallery-label{font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.75rem}.screen-gallery-hint{font-family:IBM Plex Mono,monospace;font-size:.65rem;color:var(--text-dim);opacity:.55;margin-top:.5rem;margin-bottom:0}@media (min-width: 1024px){.dataviz-wrapper{height:calc(100vh - 150px);display:flex;flex-direction:column;overflow:hidden}}.dataviz-heading{padding:2.5rem 0 1.75rem;flex-shrink:0}.dataviz-heading h1{font-size:3rem;color:var(--accent-warm);margin-bottom:.4rem;padding-top:0;animation:fadeInUp .8s ease-out .1s both}.dataviz-heading p{font-size:.9rem;color:var(--text-dim);opacity:0;animation:fadeInUp .8s ease-out .25s both}.dataviz-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem;flex:1;min-height:0}.dataviz-card{background:var(--surface);border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column}.dataviz-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.dataviz-card-thumb{flex:0 0 auto;height:52%;background:linear-gradient(135deg,#1a1f3a,#2a3060,#1e2545);position:relative;overflow:hidden}.dataviz-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.dataviz-card-thumb .thumb-label{position:absolute;bottom:.75rem;left:.75rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#ffffff73}.dataviz-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:0}.dataviz-card-body h3{font-size:1.05rem;color:var(--text);margin-bottom:.35rem;padding-top:0;line-height:1.2}.dataviz-card-body p{font-size:.8rem;color:var(--text-dim);line-height:1.5;margin-bottom:.75rem;flex:1}.dataviz-card-tags{display:flex;flex-wrap:wrap;gap:.35rem}.dataviz-card-cta{font-size:.75rem;color:var(--accent);font-weight:500;margin-top:.5rem;display:block}.dataviz-placeholder{border-radius:8px;border:1px dashed rgba(0,0,0,.12);background:#00000004;display:flex;align-items:center;justify-content:center}.dataviz-placeholder-inner{text-align:center}.dataviz-placeholder-inner span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#0003}.pcsrf-screenshot{width:100%;max-width:760px;aspect-ratio:16/9;background:linear-gradient(135deg,#111827,#1e2d50 40%,#0f2340);border-radius:8px;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;margin:2rem 0 2.5rem;box-shadow:0 4px 24px #0000002e;position:relative;overflow:hidden}.pcsrf-screenshot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 60%,rgba(81,92,148,.15) 0%,transparent 70%)}.pcsrf-screenshot-label{font-family:IBM Plex Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#ffffff4d;text-align:center;position:relative;z-index:1}.pcsrf-screenshot-label a{color:#6876bbb3;text-decoration:none}.pcsrf-screenshot-label a:hover{color:#6876bb}.launch-cta{margin:2rem 0}.launch-cta a{display:inline-flex;align-items:center;gap:.5rem}.writing-article{max-width:760px;margin:0 auto;padding-bottom:4rem}.writing-article h1{font-size:2.5rem;color:var(--accent-warm);margin-bottom:.5rem}.writing-article .article-date{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--text-dim);margin-bottom:2rem}.writing-article-body{font-size:1rem;line-height:1.8;color:var(--text-dim)}.writing-article-body h1,.writing-article-body h2,.writing-article-body h3{color:var(--text);margin-top:2rem;margin-bottom:.75rem}.writing-article-body p{margin-bottom:1.25rem}.writing-article-body ul,.writing-article-body ol{padding-left:1.5rem;margin-bottom:1.25rem}@media (max-width: 768px){h1{font-size:2.5rem}.header-content{flex-direction:column;gap:2rem}.quick-links{flex-direction:column}.btn{text-align:center}.container{padding:0 1rem}.section-header{flex-direction:column;gap:.5rem}.section-header h2{font-size:2rem}.site-nav .nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:#f6f5f3fa;flex-direction:column;padding:1rem 2rem;gap:.75rem;border-bottom:1px solid rgba(0,0,0,.1)}.site-nav .nav-links.open{display:flex}.nav-toggle{display:block}.nav-dropdown-menu{position:static;transform:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;box-shadow:none;padding:0 0 0 1rem;margin-top:0;min-width:0}.nav-dropdown .nav-dropdown-menu{display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding:.3rem 0}.project-grid{grid-template-columns:1fr}.credibility-strip{gap:1rem}.page-header h1{font-size:2.5rem}.dataviz-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:1.25rem}.dataviz-card-thumb{height:180px}.dataviz-heading h1{font-size:2.5rem}.dataviz-placeholder{min-height:120px}.screen-gallery{margin:2rem -1rem 2.5rem;padding:1.5rem 1rem}.screen-gallery img{height:380px}}.work-nav{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-top:1px solid rgba(0,0,0,.08);margin-top:4rem;flex-wrap:wrap;gap:1rem}.work-nav a{font-family:IBM Plex Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);text-decoration:none}.work-nav a:hover{color:var(--accent-warm)}.work-nav-prev:before{content:"← "}.work-nav-next:after{content:" →"}.work-nav-spacer{flex:1}.project-body h4{font-family:Syne,sans-serif;font-size:1rem;font-weight:700;color:var(--text);margin-top:1.75rem;margin-bottom:.4rem;padding-top:0}.case-study-image{width:100%;border-radius:8px;display:block;cursor:pointer}@media (prefers-reduced-motion: reduce){.reveal,.reveal.is-visible{opacity:1;transform:none;animation:none}}
