@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--background:#0f172a;--foreground:#f1f5f9;--card:#1e293b;--muted:#cbd5e1;--primary:#0ea5e9;--accent:#06b6d4;--border:#334155;--radius:.5rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--background);min-width:320px;color:var(--foreground);margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a,button{transition:all .2s ease-out}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.02em}h1{margin-bottom:2rem;font-size:clamp(3rem,7vw,5.25rem);line-height:1.03}h2{margin-bottom:2rem;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.1}h3{font-size:clamp(1.4rem,3vw,2rem)}.container{width:100%;max-width:1280px;margin:0 auto;padding-left:1rem;padding-right:1rem}@media (width>=640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media (width>=1024px){.container{padding-left:2rem;padding-right:2rem}}.site-shell{background:var(--background);min-height:100vh}.site-nav{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);background:#0f172ad1;transition:background-color .3s,border-color .3s,box-shadow .3s;position:sticky;top:0}.site-nav.scrolled{background:#0f172af2;border-bottom-color:#334155d9;box-shadow:0 10px 30px -10px #00000080}.sticky-nav{position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4rem;display:flex}.brand{color:var(--primary);font-size:1.2rem;font-weight:700;transition:opacity .2s}.brand:hover{opacity:.85}.nav-links{align-items:center;gap:clamp(1rem,3vw,2.25rem);font-size:.9rem;display:flex}.nav-links a{color:var(--muted);padding:.4rem 0;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover{color:var(--foreground)}.nav-links a.active{color:var(--foreground);font-weight:600}.nav-links a:after{content:"";background:var(--primary);border-radius:2px;width:0;height:2px;transition:width .25s cubic-bezier(.4,0,.2,1),box-shadow .2s;position:absolute;bottom:-2px;left:0}.nav-links a:hover:after{background:#0ea5e980;width:100%}.nav-links a.active:after{background:var(--primary);width:100%;box-shadow:0 0 10px #0ea5e9bf}.back-link{color:var(--primary);align-items:center;gap:.5rem;display:inline-flex}.back-link:hover{color:var(--accent)}.section{border-top:1px solid var(--border);padding:5rem 0}@media (width>=768px){.section{padding:8rem 0}}.hero{border-top:0;align-items:center;min-height:100vh;padding-top:5rem;display:flex;position:relative}.section-image{background-position:50%;background-size:cover;background-attachment:fixed;position:relative}.hero-image{background-image:url(/assets/hero-background.png)}.portfolio-image{background-image:url(/assets/portfolio-accent-pattern.png)}.skills-image{background-image:url(/assets/skills-background.png)}.overlay{pointer-events:none;position:absolute;inset:0}.overlay-hero{background:linear-gradient(90deg,#0f172afa,#0f172ad1 52%,#0f172a47)}.overlay-section{background:#0f172af0}.content-layer{z-index:1;position:relative}.hero-grid{grid-template-columns:1fr;align-items:center;gap:3rem;display:grid}@media (width>=1200px){.hero-grid{grid-template-columns:1fr 1fr;gap:3rem}}.hero-copy{text-align:center;max-width:44rem;margin:0 auto}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.78rem}.lead{color:var(--muted);font-size:1.08rem;line-height:1.75}.hero-copy .lead{max-width:38rem;margin-left:auto;margin-right:auto}.button-row{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.hero-copy .button-row{justify-content:center}@media (width>=1200px){.hero-copy{text-align:left;margin:0}.hero-copy .lead{margin-left:0;margin-right:0}.hero-copy .button-row{justify-content:flex-start}}.button{border:1px solid #0000;border-radius:.55rem;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.25rem;font-weight:600;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--primary);color:#f0f9ff}.button-primary:hover{background:#0284c7}.button-outline{border-color:var(--border);color:var(--foreground)}.button-outline:hover{border-color:var(--primary);background:#1e293bb3}.button.small{flex:1;padding:.65rem .9rem;font-size:.9rem}.hero-portrait-wrap{justify-content:center;align-items:center;width:100%;display:flex}.hero-portrait{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 20px 36px #00000059);width:min(30rem,80vw);max-width:100%;margin:0 auto;display:block}.stats-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#1e293b80;padding:4rem 0}.stats-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.stats-grid{grid-template-columns:repeat(3,1fr)}}.stat{text-align:center}.stat strong{color:var(--primary);margin-bottom:.4rem;font-size:clamp(2.5rem,5vw,3.5rem);display:block}.stat span{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.75rem;display:block}.narrow-content{text-align:left;max-width:900px}.section-about .lead+.lead{margin-top:1.5rem}.section-heading{margin-bottom:4rem}.section-heading h2{margin-bottom:0}.project-list{gap:5rem;display:grid}.feature-project{grid-template-columns:1fr;align-items:center;gap:3rem;display:grid}@media (width>=1024px){.feature-project{grid-template-columns:1fr 1fr}.feature-project.reverse .project-copy{grid-column:2}.feature-project.reverse .project-image-frame{grid-area:1/1}}.project-subtitle{color:var(--accent);font-weight:600}.body-copy{color:var(--muted);line-height:1.75}.skillset{margin:2rem 0}.skillset strong{margin-bottom:.75rem;display:block}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-list span{color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:.35rem;padding:.4rem .65rem;font-family:JetBrains Mono,monospace;font-size:.72rem}.project-image-frame{border:1px solid var(--border);background:var(--card);border-radius:.65rem;height:24rem;overflow:hidden}.project-image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .3s ease-out}.project-image-frame:hover img{transform:scale(1.05)}.center-action{justify-content:center;margin-top:4rem;display:flex}.testimonial-card,.skill-card,.project-card,.result-card{background:var(--card);border:1px solid var(--border);border-radius:.65rem}.testimonial-card{max-width:50rem;padding:2rem}@media (width>=768px){.testimonial-card{padding:3rem}}.testimonial-copy{color:var(--muted);margin-bottom:2rem;font-size:1.12rem;font-style:italic;line-height:1.75}.person{align-items:center;gap:1rem;display:flex}.person img{object-fit:cover;border-radius:50%;width:3rem;height:3rem}.person strong,.person span{display:block}.person span{color:var(--muted);margin-top:.2rem;font-size:.9rem}.skills-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skill-card{padding:1.5rem}.skill-card:hover{border-color:var(--primary)}.skill-card h3{margin-bottom:1rem;font-size:1.2rem}.skill-card ul{color:var(--muted);gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.skill-card li:before{content:"•";color:var(--primary);margin-right:.7rem}.contact-inner{text-align:center;max-width:780px;margin:0 auto}.contact-inner h2{margin-bottom:1.5rem}.centered{justify-content:center}.envelope-svg{vertical-align:middle;flex-shrink:0;display:inline-block}.btn-envelope{width:1.25rem;height:1.25rem;margin-right:.25rem}.social-links{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.social-links a{border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--muted);border-radius:.55rem;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.social-envelope{width:1.25rem;height:1.25rem}.social-links a:hover{color:var(--primary);border-color:var(--primary);background:var(--card)}.site-footer{border-top:1px solid var(--border);background:#1e293b80;padding:3rem 0}.footer-inner{flex-direction:column;justify-content:space-between;align-items:center;gap:2rem;display:flex}@media (width>=768px){.footer-inner{flex-direction:row}}.footer-inner strong,.footer-inner span{display:block}.footer-inner strong{color:var(--primary);font-size:1.1rem}.footer-inner span,.footer-inner p{color:var(--muted);font-size:.85rem}.footer-inner p{margin:0}.page-content{padding-top:5rem;padding-bottom:5rem}.page-intro{max-width:800px;margin-bottom:4rem}.page-intro h1{margin-bottom:1.5rem}.projects-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{transition:transform .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out;overflow:hidden}.project-card:hover{border-color:#0ea5e999;transform:translateY(-4px);box-shadow:0 18px 40px #0000002e}.card-image{background:#0b1220;height:16rem;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s ease-out}.project-card:hover .card-image img{transform:scale(1.08)}.card-content{padding:1.5rem}.card-content h2{margin-bottom:.4rem;font-size:1.45rem}.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.5rem;display:-webkit-box;overflow:hidden}.card-actions{gap:.75rem;display:flex}.closing-cta{text-align:center;border-top:1px solid var(--border);margin-top:5rem;padding:5rem 0 1rem}.closing-cta .lead{max-width:680px;margin:0 auto}.case-study{padding-top:5rem;padding-bottom:5rem}.case-hero{grid-template-columns:1fr;align-items:start;gap:3rem;margin-bottom:5rem;display:grid}@media (width>=900px){.case-hero{grid-template-columns:1fr 1fr;align-items:center}}.case-hero h1{margin-bottom:1.5rem}.case-image{border:1px solid var(--border);background:var(--card);border-radius:.65rem;overflow:hidden}.case-image img{object-fit:cover;width:100%;height:auto;display:block}.case-section{margin-bottom:5rem}.case-section h2{color:var(--primary)}.rule-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 0}.swatches{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:42rem;display:grid}@media (width>=700px){.swatches{grid-template-columns:repeat(5,1fr)}}.swatch-color{border:1px solid var(--border);border-radius:.55rem;height:6rem;margin-bottom:.7rem}.swatch strong,.swatch span{display:block}.swatch strong{font-size:.85rem}.swatch span{color:var(--muted);margin-top:.25rem;font-size:.75rem}.type-samples{gap:2rem;display:grid}.type-samples>div{gap:.35rem;display:grid}.type-samples span{color:var(--muted);font-size:.9rem}.type-display{font-size:clamp(2.5rem,5vw,4rem)}.type-sub{font-size:2rem}.type-body{font-size:1.2rem}.result-card{padding:2rem}.metrics{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem;display:grid}@media (width>=700px){.metrics{grid-template-columns:repeat(3,1fr)}}.metrics strong,.metrics span{display:block}.metrics strong{color:var(--primary);margin-bottom:.3rem;font-size:2.6rem}.metrics span{color:var(--muted)}.not-found{text-align:center;place-items:center;min-height:100vh;padding:2rem;display:grid}@media (width<=767px){.nav-links{gap:1rem;font-size:.78rem}.hero{min-height:auto;padding:8rem 0 5rem}.hero-portrait-wrap{justify-content:center}.hero-portrait{width:min(22rem,85vw)}.card-actions{flex-direction:column}.swatches{grid-template-columns:repeat(2,1fr)}.footer-inner div{text-align:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
