/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;overflow-x:hidden;-webkit-text-size-adjust:100%}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
em{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--green-dark)}
::selection{background:var(--green-light);color:var(--green-dark)}

/* Touch-friendly tap targets */
@media(hover:none) and (pointer:coarse){
    .btn,.nav-link,.svc-card,.project-card{-webkit-tap-highlight-color:rgba(0,0,0,.05)}
}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:14px;border:none;cursor:pointer;border-radius:var(--radius);transition:var(--transition);font-family:inherit;white-space:nowrap}
.btn-primary{background:var(--green);color:#fff;padding:10px 20px}
.btn-primary:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:10px 20px}
.btn-secondary:hover{background:var(--bg-secondary);border-color:#D0D0CC}
.btn-lg{padding:12px 24px;font-size:15px;border-radius:var(--radius-lg)}
.btn-full{width:100%;justify-content:center}
.arrow{transition:transform .2s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ===== SECTION COMMON ===== */
.section-label{font-size:12px;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.section-intro{max-width:560px;margin-bottom:56px}
.section-intro h2{font-size:clamp(28px,3.5vw,40px);font-weight:700;letter-spacing:-0.025em;line-height:1.18;margin-bottom:14px}
.section-intro p{font-size:16px;color:var(--text-secondary);line-height:1.7}
