/* STREAMING_CHUNK: Defining root variables and global resets... */
:root {
--color-emerald: #0c6b4a;
--color-emerald-hover: #0a593d;
--color-emerald-dark: #084831;
--color-neutral-dark: #1a2421;
}

/* Base resets & slightly scaled-down font sizing for elegant layout spacing */
html {
font-size: 15px;
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1024px) {
html {
font-size: 15.5px; /* Compact & balanced typography sizes across wider desktop displays */
}
}

@media (min-width: 1440px) {
html {
font-size: 18px;
}
}

body {
font-family: 'Inter', system-ui, sans-serif;
color: #2d3748;
background-color: #f9fafb;
overflow-x: hidden;
font-size:16px;
}

/* STREAMING_CHUNK: Creating header & custom layout alignment rules... /
/ Tightened header height transition and alignment safety structures */
header {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link {
position: relative;
font-weight: 500;
transition: color 0.2s ease;
}

.nav-link::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background-color: var(--color-emerald);
transition: width 0.25s ease-in-out;
}

.nav-link:hover::after {
width: 100%;
}

/* STREAMING_CHUNK: Configuring Hero opacity and calculator graphic background... /
/ Hero Calculator Backdrop Overlay with exact 0.5 opacity /
.hero-bg-overlay {
background-image: url('image_b034a0.png'); / Primary UI screenshot fallback wrapper /
background-size: cover;
background-position: center;
opacity: 0.5; / Strict request matching 0.5 background opacity */
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
}

/* Fallback image if native platform images are unavailable */
.hero-bg-overlay, .heros {
background: url('https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?auto=format&fit=crop&q=80&w=1920');
}

/* STREAMING_CHUNK: Designing service card translation and shadow tokens... /
/ Services Pill Card Hover Animations */
.service-card-wrapper {
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card-wrapper:hover {
transform: translateY(-4px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Accent Underline Indicators matches design exact details */
.accent-line {
height: 4px;
width: 48px;
background-color: var(--color-emerald);
border-radius: 9999px;
display: block;
}

/* STREAMING_CHUNK: Enhancing custom components scrollbar and responsive elements... /
/ Beautiful Custom Scrollbar */
::-webkit-scrollbar {
width: 10px;
}

::-webkit-scrollbar-track {
background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
background: #94a3b8;
}

/* Smooth Interactive Dialog Overlay */
.modal-backdrop-blur {
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
}
