:root{--container: 1120px;--header-height: 76px;--bg: #2f3136;--bg-elevated: #383b40;--surface: #3f4348;--surface-soft: #35383d;--text: #f5f7fa;--text-soft: #d5dbe1;--muted: #adb5bd;--brand: #1296e8;--brand-hover: #2aa6f0;--border: #565b63;--border-soft: #4a4f56}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem);font-family:Arial,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;line-height:1.5;background:var(--bg);color:var(--text);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block;max-width:100%}main{min-height:70vh}section[id]{scroll-margin-top:calc(var(--header-height) + 1rem)}.container{width:min(var(--container),calc(100% - 3rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:1000;background:#383b40f0;border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:border-color .2s ease,box-shadow .2s ease}.site-header.is-scrolled{border-color:var(--border-soft);box-shadow:0 10px 30px #0000002e}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:var(--header-height);gap:1.5rem}.logo{display:inline-flex;align-items:center;flex:0 0 auto}.logo-image{height:56px;width:auto}.desktop-nav{display:block}.nav-list,.mobile-nav-list{list-style:none;margin:0;padding:0}.nav-list{display:flex;gap:.2rem}.nav-list a{display:block;padding:.65rem .9rem;border-radius:999px;color:var(--text-soft);font-size:.95rem;font-weight:600;transition:color .2s ease,background .2s ease}.nav-list a:hover,.nav-list a.active{color:#fff;background:#1296e824}.menu-toggle,.mobile-nav{display:none}.hero{min-height:calc(100svh - var(--header-height));display:flex;align-items:center;padding:5rem 0;background:linear-gradient(115deg,rgba(18,150,232,.09),transparent 42%),var(--bg)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:center;gap:clamp(3rem,7vw,7rem)}.hero-content{max-width:760px}.eyebrow,.section-eyebrow,.project-category{color:var(--brand);font-weight:700;margin:0 0 .55rem;letter-spacing:.055em;text-transform:uppercase;font-size:.82rem}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 1.25rem}h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.03em;margin:0}h3{margin:0 0 .5rem;font-size:1.2rem;line-height:1.25}.lead{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--text-soft);margin:0 0 2rem;max-width:54ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;background:var(--brand);color:#fff;padding:.82rem 1.25rem;border-radius:.65rem;font-weight:700;transition:background .2s ease,transform .2s ease}.button:hover{background:var(--brand-hover);transform:translateY(-1px)}.button-secondary{background:transparent;border:1px solid var(--border)}.button-secondary:hover{background:var(--surface)}.button:focus-visible,.nav-list a:focus-visible,.mobile-nav-list a:focus-visible,.menu-toggle:focus-visible,.contact-value:focus-visible,.footer-text a:focus-visible{outline:3px solid rgba(42,166,240,.55);outline-offset:3px}.hero-mark{min-height:230px;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding-left:2rem;border-left:1px solid var(--border)}.hero-mark-line{width:min(100%,280px);height:5px;border-radius:999px;background:linear-gradient(90deg,var(--brand),transparent)}.hero-mark-copy{max-width:18ch;color:var(--muted);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.25}.page-section{padding:clamp(4.5rem,8vw,7rem) 0}.section-alt{background:var(--surface-soft);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.section-title{max-width:760px;margin-bottom:clamp(2rem,4vw,3rem)}.compact-title{margin-bottom:clamp(1.75rem,4vw,2.75rem)}.service-grid,.experience-grid,.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-card{min-height:190px;padding:1.4rem;border:1px solid var(--border-soft);border-radius:.9rem;background:#2f313657}.service-card p:last-child,.experience-item p,.project-meta-line{margin:0;color:var(--text-soft)}.service-number{margin:0 0 2.25rem;color:var(--brand);font-size:.9rem;font-weight:800;letter-spacing:.06em}.experience-grid{padding:1rem 0 3rem;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.experience-item{padding-top:.5rem}.selected-work{margin-top:3rem}.selected-work-label{margin:0 0 1rem;color:var(--muted);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.project-entry{padding:1.25rem 0;border-top:1px solid var(--border-soft)}.project-category{margin-bottom:.35rem}.project-entry h3{margin-bottom:.4rem}.contact-section{padding-bottom:clamp(4.5rem,8vw,7rem)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:clamp(2rem,7vw,7rem)}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;padding-top:.4rem}.contact-value{max-width:100%;overflow-wrap:anywhere;font-size:1.12rem;font-weight:700}.contact-value:hover,.footer-text a:hover{color:var(--brand-hover)}.contact-button{margin-top:.55rem}.site-footer{background:var(--bg-elevated);border-top:1px solid var(--border-soft);padding:2rem 0}.footer-minimal{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.footer-title,.footer-text{margin:0}.footer-title{font-weight:700}.footer-text{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--text-soft)}@media(max-width:900px){:root{--header-height: 68px}.container{width:min(var(--container),calc(100% - 2rem))}.logo-image{height:48px}.desktop-nav{display:none}.menu-toggle{display:inline-flex;width:46px;height:46px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid var(--border);border-radius:.65rem;background:transparent;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:block;position:absolute;top:100%;left:0;right:0;max-height:0;overflow:hidden;visibility:hidden;background:#383b40fc;border-bottom:1px solid transparent;opacity:0;transition:max-height .25s ease,opacity .2s ease,visibility .2s ease}.mobile-nav.is-open{max-height:calc(100svh - var(--header-height));visibility:visible;border-color:var(--border-soft);opacity:1}.mobile-nav-list{padding:.8rem 0 1rem}.mobile-nav-list a{display:flex;align-items:center;min-height:50px;padding:.65rem .2rem;border-bottom:1px solid var(--border-soft);color:var(--text-soft);font-size:1.05rem;font-weight:700}.mobile-nav-list li:last-child a{border-bottom:0}.mobile-nav-list a.active{color:var(--brand-hover)}.hero{min-height:auto;padding:4.5rem 0}.hero-grid,.contact-layout{grid-template-columns:1fr}.hero-mark{min-height:auto;padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--border-soft)}.service-grid,.experience-grid,.project-list{grid-template-columns:1fr}.service-card{min-height:0}.service-number{margin-bottom:1.5rem}.experience-grid{gap:0;padding:0}.experience-item{padding:1.25rem 0;border-bottom:1px solid var(--border-soft)}.experience-item:last-child{border-bottom:0}}@media(max-width:560px){.container{width:min(var(--container),calc(100% - 1.5rem))}h1{font-size:clamp(2.35rem,13vw,3.55rem)}h2{font-size:clamp(1.9rem,9vw,2.6rem)}.hero{padding:3.75rem 0 3.25rem}.hero-actions{display:grid;grid-template-columns:1fr}.button{width:100%}.page-section{padding:4rem 0}.contact-card{width:100%}.footer-minimal{align-items:flex-start;flex-direction:column;gap:.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
