:root{--ink:#101828;--muted:#667085;--line:#e4e7ec;--bg:#f7f8fa;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
.container{width:min(1120px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:10;background:rgba(247,248,250,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:25px;font-weight:850;letter-spacing:-1px;color:var(--ink);text-decoration:none}.logo span{color:#98a2b3}
nav{display:flex;gap:27px}nav a{font-size:14px;color:var(--muted);text-decoration:none}nav a:hover{color:var(--ink)}
.hero{padding:120px 0 105px;background:#fff;border-bottom:1px solid var(--line)}.hero .container{max-width:1120px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:850;color:#667085;margin:0 0 18px}
h1{font-size:clamp(44px,6vw,72px);line-height:1.01;letter-spacing:-3.5px;max-width:880px;margin:0 0 25px}h2{font-size:clamp(31px,4vw,46px);line-height:1.1;letter-spacing:-1.8px;margin:0 0 16px}h3{font-size:21px;margin:10px 0}
.hero-copy{font-size:19px;color:var(--muted);max-width:750px;margin-bottom:32px}.btn{display:inline-block;padding:12px 20px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:750}
.section{padding:105px 0}.section-head{max-width:760px}.section-head>p:last-child{color:var(--muted);font-size:17px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.project{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(16,24,40,.04)}.project.featured{grid-column:span 2;display:grid;grid-template-columns:.72fr 1.28fr}
.visual{min-height:190px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.visual span{font-size:11px;font-weight:850;letter-spacing:1.7px;opacity:.72}.visual strong{font-size:64px;line-height:1;letter-spacing:-4px}.visual-blue{background:#eaf0ff}.visual-green{background:#eaf7f1}.visual-purple{background:#f0ecff}.visual-orange{background:#fff0e3}
.project-body{padding:30px}.tag{display:inline-block;background:#f0f2f5;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:800}.project-body p{color:var(--muted);margin:12px 0 20px}.tech{font-size:13px;font-weight:750;color:#344054}.highlights{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.highlights div{padding:12px 13px;background:#f8fafc;border:1px solid #edf0f3;border-radius:9px}.highlights b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.highlights span{font-size:12px;color:var(--muted)}
.dark{background:#111827;color:#fff}.dark .eyebrow{color:#98a2b3}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:#344054;border:1px solid #344054}.cap-grid>div{padding:27px;background:#111827}.cap-grid h3{font-size:18px}.cap-grid p{color:#b7c0cd;font-size:14px}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.process>div{border-top:2px solid var(--ink);padding:22px 5px}.process span{font-size:12px;font-weight:850;color:#667085}.process p{color:var(--muted)}
.contact{padding:70px 0}.contact-box{background:#111827;color:#fff;border-radius:20px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-box .eyebrow{color:#98a2b3}.contact-box p{color:#c6ced8}.contact-box h2{max-width:720px}.light{background:#fff;color:#111827;white-space:nowrap}
footer{border-top:1px solid var(--line);padding:25px 0;color:#7a8491;font-size:13px}footer .container{display:flex;justify-content:space-between}
@media(max-width:820px){nav{display:none}.hero{padding:80px 0}.section{padding:75px 0}.project-grid,.cap-grid,.process{grid-template-columns:1fr}.project.featured{grid-column:auto;display:block}.highlights{grid-template-columns:1fr}.contact-box{padding:34px;flex-direction:column;align-items:flex-start}footer .container{flex-direction:column;gap:8px}}
