/* 
 * Tekirdağ Karotçu - Main CSS Stylesheet
 * Brand Theme: Slate/Dark Blue base with Amber Orange accent
 */

/* CSS Reset & Variables */
:root {
    --color-primary: #0B0F19;    /* Midnight Navy */
    --color-secondary: #141B2D;  /* Steel Navy */
    --color-dark-blue: #1E3A8A;  /* Cobalt Blue */
    --color-accent: #00D2FF;     /* Neon Cyan / Ice Blue */
    --color-accent-hover: #00A3C4;/* Darker Cyan */
    --color-bg-light: #F8FAFC;   /* Slate 50 */
    --color-text-main: #334155;  /* Slate 700 */
    --color-text-muted: #64748B; /* Slate 500 */
    --color-white: #FFFFFF;
    --color-success: #22C55E;    /* WhatsApp Green */
    --color-success-hover: #16A34A;
    --font-family: 'Manrope', sans-serif;
    --font-mono: 'Courier New', Courier, monospace;
    --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    --border-radius-sm: 4px;
    --border-radius-md: 12px;
    --border-radius-lg: 20px;
    --shadow-sm: 0 2px 8px rgba(11, 15, 25, 0.04);
    --shadow-md: 0 10px 20px -5px rgba(11, 15, 25, 0.08), 0 4px 8px -2px rgba(11, 15, 25, 0.04);
    --shadow-lg: 0 20px 40px -15px rgba(11, 15, 25, 0.16), 0 8px 16px -4px rgba(11, 15, 25, 0.08);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-family);
    color: var(--color-text-main);
    background-color: var(--color-bg-light);
    line-height: 1.6;
    overflow-x: hidden;
}

body.menu-open {
    overflow: hidden; /* Lock scroll on mobile menu open */
}

/* Typography elements */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.25;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-smooth);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Helpers & Utilities */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.grid {
    display: grid;
    gap: 1.5rem;
}

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.align-center { align-items: center; }
.text-center { text-align: center; }
.text-white { color: var(--color-white) !important; }
.text-accent { color: var(--color-accent) !important; }
.bg-light { background-color: var(--color-bg-light) !important; }
.bg-dark { background-color: var(--color-primary) !important; }
.bg-white { background-color: var(--color-white) !important; }
.bg-success { background-color: var(--color-success) !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 2.5rem !important; }
.rounded { border-radius: var(--border-radius-md) !important; }
.shadow-sm { box-shadow: var(--shadow-sm) !important; }
.shadow-md { box-shadow: var(--shadow-md) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }

.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

.w-full { width: 100%; }
.max-w-md { max-width: 28rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 0.75rem !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }

.font-bold { font-weight: 700 !important; }
.font-medium { font-weight: 500 !important; }
.font-extrabold { font-weight: 800 !important; }
.text-sm { font-size: 0.875rem !important; }
.text-xs { font-size: 0.75rem !important; }
.text-lg { font-size: 1.125rem !important; }
.text-xl { font-size: 1.25rem !important; }
.text-2xl { font-size: 1.5rem !important; }
.text-3xl { font-size: 1.875rem !important; }
.block { display: block !important; }
.uppercase { text-transform: uppercase !important; }

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-align: center;
    border: 1px solid transparent;
    cursor: pointer;
    border-radius: var(--border-radius-md);
    transition: var(--transition-smooth);
}

.btn-sm {
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
}

.btn-md {
    padding: 0.6rem 1.2rem;
    font-size: 0.95rem;
}

.btn-lg {
    padding: 0.8rem 1.8rem;
    font-size: 1.05rem;
}

.btn-block {
    display: flex;
    width: 100%;
}

.btn-accent {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.btn-accent:hover {
    background-color: var(--color-accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 210, 255, 0.4);
}

.btn-outline {
    background-color: transparent;
    border: 2px solid var(--color-accent);
    color: var(--color-accent);
}

.btn-outline:hover {
    background-color: var(--color-accent);
    color: var(--color-primary);
    transform: translateY(-2px);
}

.btn-success {
    background-color: var(--color-success);
    color: var(--color-white);
}

.btn-success:hover {
    background-color: var(--color-success-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4);
}

/* Header & Navigation Styles */
.top-bar {
    background-color: var(--color-primary);
    border-bottom: 1px solid #2d3748;
    color: #e2e8f0;
    font-size: 0.85rem;
    padding: 0.5rem 0;
}

.top-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.top-bar-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.top-bar-link:hover {
    color: var(--color-accent);
}

.whatsapp-color {
    color: var(--color-success) !important;
}

.main-header {
    background-color: var(--color-white);
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--shadow-sm);
    transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.main-header.header-scrolled {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 2px solid var(--color-accent);
    box-shadow: 0 10px 30px -10px rgba(0, 210, 255, 0.15);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 75px;
    transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.main-header.header-scrolled .header-container {
    height: 62px;
}

/* Brand Logo */
.logo-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.logo-link img {
    transition: var(--transition-smooth);
}

.logo-link:hover img {
    transform: rotate(3deg) scale(1.06);
    filter: drop-shadow(0 0 8px rgba(0, 210, 255, 0.45));
}

.logo-icon {
    background-color: var(--color-primary);
    color: var(--color-accent);
    width: 46px;
    height: 46px;
    border-radius: var(--border-radius-md);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    box-shadow: var(--shadow-sm);
}

.logo-icon i {
    font-size: 1.1rem;
}

.logo-drill {
    font-size: 0.7rem;
    font-weight: 800;
    color: var(--color-white);
    margin-top: -2px;
}

.logo-text {
    display: flex;
    flex-direction: column;
}

.logo-title {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--color-primary);
    line-height: 1;
}

.logo-subtitle {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-accent);
    letter-spacing: 2px;
    margin-top: 2px;
}

/* Desktop Menu Layout */
.desktop-nav > ul {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.desktop-nav a {
    color: var(--color-secondary);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.5rem 0;
    position: relative;
}

.desktop-nav a:hover,
.desktop-nav a.active {
    color: var(--color-accent);
}

.desktop-nav a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-accent);
    transition: var(--transition-smooth);
}

.desktop-nav a:hover::after,
.desktop-nav a.active::after {
    width: 100%;
}

.nav-arrow {
    font-size: 0.75rem;
    margin-left: 2px;
    transition: var(--transition-smooth);
}

/* Navigation Dropdowns */
.has-dropdown {
    position: relative;
}

.has-dropdown:hover .nav-arrow {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--color-white);
    border: 1px solid #e5e7eb;
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-lg);
    width: 240px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition-smooth);
    padding: 0.75rem 0;
    z-index: 101;
}

.has-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu li a {
    display: block;
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
}

.dropdown-menu li a::after {
    display: none;
}

.dropdown-menu li a:hover {
    background-color: var(--color-bg-light);
    color: var(--color-accent);
    padding-left: 1.5rem;
}

.mobile-menu-trigger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 200;
}

.mobile-menu-trigger .bar {
    width: 100%;
    height: 3px;
    background-color: var(--color-primary);
    border-radius: 2px;
    transition: var(--transition-smooth);
}

.mobile-menu-trigger.active {
    position: fixed;
    top: 27px;
    right: 24px;
    z-index: 500;
}

.mobile-menu-trigger.active .bar {
    background-color: var(--color-white) !important;
    box-shadow: 0 0 10px var(--color-accent);
}

.mobile-menu-trigger.active .bar-1 {
    transform: translateY(8.5px) rotate(45deg);
}

.mobile-menu-trigger.active .bar-2 {
    opacity: 0;
    transform: scale(0);
}

.mobile-menu-trigger.active .bar-3 {
    transform: translateY(-8.5px) rotate(-45deg);
}

/* HERO SECTION DESIGN */
.hero-section {
    background: linear-gradient(135deg, rgba(11, 15, 25, 0.94) 0%, rgba(20, 27, 45, 0.94) 100%), 
                linear-gradient(rgba(0, 210, 255, 0.04) 1px, transparent 1px), 
                linear-gradient(90deg, rgba(0, 210, 255, 0.04) 1px, transparent 1px), 
                url('../images/hero-bg.webp') no-repeat center/cover;
    background-size: auto, 30px 30px, 30px 30px, cover;
    padding: 7rem 0 10rem;
    position: relative;
    overflow: hidden;
    color: var(--color-white);
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 80% 20%, rgba(0, 210, 255, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: rgba(0, 210, 255, 0.1);
    border: 1px solid rgba(0, 210, 255, 0.2);
    padding: 0.4rem 0.8rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-accent);
    margin-bottom: 1.5rem;
}

.hero-title {
    font-size: 3rem;
    font-weight: 800;
    color: var(--color-white);
    margin-bottom: 1.5rem;
    line-height: 1.15;
}

.hero-desc {
    font-size: 1.15rem;
    color: #9ca3af;
    margin-bottom: 2rem;
    max-w: 36rem;
}

.hero-ctas {
    display: flex;
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.hero-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.hero-features li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #d1d5db;
}

.hero-features li i {
    color: var(--color-accent);
}

.hero-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-card {
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
}

.hero-card-main {
    background-color: var(--color-white);
    color: var(--color-primary);
    padding: 2rem;
    width: 320px;
    transform: rotate(-3deg);
    transition: var(--transition-smooth);
    z-index: 2;
    animation: float 6s ease-in-out infinite;
}

.hero-card-main:hover {
    transform: rotate(0deg) scale(1.04);
    animation-play-state: paused;
    box-shadow: 0 20px 30px -10px rgba(17, 24, 37, 0.25);
}

.hero-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--color-accent);
    margin-bottom: 1rem;
}

.hero-card-main h3,
.hero-card-main .hero-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}

.hero-card-main p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
}

.phone-callout a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 0.8rem;
    border-radius: var(--border-radius-md);
    font-weight: 700;
}

.phone-callout a:hover {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.hero-card-sub {
    position: absolute;
    bottom: -30px;
    right: 20px;
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    width: 280px;
    z-index: 3;
    animation: floatSub 6s ease-in-out infinite alternate;
    animation-delay: 1.5s;
    transition: var(--transition-smooth);
}

.hero-card-sub:hover {
    transform: scale(1.06);
    animation-play-state: paused;
    box-shadow: 0 15px 25px -5px rgba(17, 24, 37, 0.3);
}

.bg-glass {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
}

.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-number {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--color-accent);
    line-height: 1;
}

.stat-label {
    font-size: 0.75rem;
    color: #d1d5db;
    margin-top: 4px;
}

.border-l {
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    padding-left: 1.5rem;
}

.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.hero-wave svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 60px;
}

.hero-wave .shape-fill {
    fill: var(--color-bg-light);
}

/* SECTION BLOCKS GENERAL */
.section {
    padding: 5rem 0;
}

.section-subtitle {
    display: inline-block;
    color: var(--color-accent);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.75rem;
}

.section-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--color-primary);
    margin-bottom: 1rem;
    letter-spacing: -0.03em;
}

.title-bar {
    width: 80px;
    height: 5px;
    background: linear-gradient(90deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);
    margin: 0 auto 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 210, 255, 0.35);
}

.section-desc {
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1.5;
}

/* CARDS DEFINITION */
.card {
    background-color: var(--color-white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    transition: var(--transition-smooth);
    border: 1px solid rgba(17, 24, 37, 0.05);
}

.card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(0, 210, 255, 0.18), 0 8px 20px -5px rgba(0, 210, 255, 0.05);
    border-color: var(--color-accent) !important;
}

/* Service Card on Home */
.service-card {
    padding: 2.5rem 2rem;
    border-bottom: 3px solid transparent;
}

.service-card:hover {
    border-bottom-color: var(--color-accent);
}

.service-card-icon {
    background-color: rgba(0, 210, 255, 0.1);
    color: var(--color-accent);
    width: 60px;
    height: 60px;
    border-radius: var(--border-radius-md);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    transition: var(--transition-smooth);
}

.service-card:hover .service-card-icon {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.service-card-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.service-card-text {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 42px;
}

.service-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-primary);
}

.service-card-link:hover {
    color: var(--color-accent);
}

/* Detailed card for services list page */
.service-card-detailed {
    background-color: var(--color-white);
    padding: 2.5rem 2rem;
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    transition: var(--transition-smooth);
    border: 1px solid #f3f4f6;
}

.service-card-detailed:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(0, 210, 255, 0.18), 0 8px 20px -5px rgba(0, 210, 255, 0.05);
    border-color: var(--color-accent) !important;
}

.service-icon-box {
    background-color: var(--color-primary);
    color: var(--color-accent);
    width: 50px;
    height: 50px;
    border-radius: var(--border-radius-md);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}

.card-detailed-title {
    font-size: 1.35rem;
    margin-bottom: 0.5rem;
}

.card-detailed-desc {
    font-size: 0.85rem;
    color: var(--color-accent);
    font-weight: 700;
    margin-bottom: 1rem;
}

.card-detailed-body-preview {
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

/* WHY US BLOCK */
.why-us-image-container {
    background: url('../images/og-default.webp') no-repeat center/cover;
    border-radius: var(--border-radius-lg);
    height: 480px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.why-us-image-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.8) 0%, rgba(17, 24, 37, 0.8) 100%);
    z-index: 1;
}

.why-us-image-container::after {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(245,158,11,0.08) 0%, transparent 60%);
}

.why-us-visual-card {
    background-color: var(--color-white);
    padding: 2.5rem;
    border-radius: var(--border-radius-md);
    width: 360px;
    box-shadow: var(--shadow-lg);
    z-index: 2;
}

.why-us-visual-card h3,
.why-us-visual-card .visual-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}

.why-us-visual-card p {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
}

.check-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.check-item {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-primary);
}

.why-us-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.why-us-list li {
    display: flex;
    gap: 1rem;
}

.list-icon {
    background-color: rgba(245,158,11,0.1);
    min-width: 44px;
    height: 44px;
    border-radius: var(--border-radius-md);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;
}

.list-text h3,
.list-text h4 {
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.list-text p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

/* PROCESS WORKFLOW */
.process-steps-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.process-step {
    background-color: var(--color-white);
    padding: 2.5rem 1.5rem;
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    position: relative;
    transition: var(--transition-smooth);
    border: 1px solid rgba(17, 24, 37, 0.03);
}

.process-step:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(0, 210, 255, 0.18), 0 8px 20px -5px rgba(0, 210, 255, 0.05);
    border-color: var(--color-accent) !important;
}

.step-num {
    font-size: 2.5rem;
    font-weight: 800;
    color: rgba(0, 210, 255, 0.12);
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    line-height: 1;
    transition: var(--transition-smooth);
}

.process-step:hover .step-num {
    color: rgba(0, 210, 255, 0.3);
    transform: translateY(-2px) scale(1.1);
}

.process-step h3,
.process-step h4 {
    font-size: 1.05rem;
    margin-bottom: 0.75rem;
    margin-top: 1rem;
    color: var(--color-primary);
}

.process-step p {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* REGIONS GRID BADGES */
.regions-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.region-badge {
    background-color: var(--color-white);
    border: 1px solid #e5e7eb;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: var(--shadow-sm);
}

.region-badge i {
    color: var(--color-accent);
}

.region-badge:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
    transform: translateY(-2px);
}

/* FAQ ACCORDION PANEL */
.faq-intro {
    padding-right: 2rem;
}

.faq-cta-box {
    background-color: rgba(0, 210, 255, 0.05);
    border: 1px dashed rgba(0, 210, 255, 0.3);
    padding: 1.5rem;
    border-radius: var(--border-radius-md);
}

.faq-cta-box h3,
.faq-cta-box h4 {
    font-size: 1rem;
    margin-bottom: 4px;
}

.faq-cta-box p {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 0.75rem;
}

.faq-cta-box .phone-link {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-primary);
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.faq-item {
    background-color: var(--color-white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    border: 1px solid rgba(17, 24, 37, 0.04);
    transition: var(--transition-smooth);
}

.faq-item:hover {
    box-shadow: var(--shadow-md);
    border-color: rgba(0, 210, 255, 0.15);
}

.faq-item.active {
    border-color: rgba(0, 210, 255, 0.35);
    box-shadow: var(--shadow-md);
}

.faq-question {
    width: 100%;
    background: transparent;
    border: none;
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-family: var(--font-family);
    transition: var(--transition-smooth);
}

.faq-item.active .faq-question {
    color: var(--color-accent);
}

.faq-arrow {
    font-size: 0.8rem;
    transition: var(--transition-smooth);
    color: var(--color-text-muted);
}

.faq-item.active .faq-arrow {
    transform: rotate(180deg);
    color: var(--color-accent);
}

.faq-answer {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #fafbfd;
}

.faq-answer p {
    padding: 1.2rem 1.5rem;
    font-size: 0.9rem;
    color: var(--color-text-main);
    border-top: 1px solid #f3f4f6;
}

/* HOME SECURE CONTACT FORM PANEL */
.contact-info-panel {
    padding-right: 3rem;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2rem;
}

.method-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.method-item i {
    font-size: 1.8rem;
    min-width: 50px;
    height: 50px;
    background-color: rgba(255,255,255,0.05);
    border-radius: var(--border-radius-md);
    display: flex;
    justify-content: center;
    align-items: center;
}

.hover-accent:hover {
    color: var(--color-accent) !important;
}

.contact-form-card {
    background-color: var(--color-white);
    padding: 3rem 2.5rem;
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
}

.contact-form-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--color-accent);
    padding-left: 0.5rem;
}

/* FORM ELEMENTS */
.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--color-primary);
}

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
    width: 100%;
    padding: 0.85rem 1.15rem;
    border: 1px solid #e2e8f0;
    border-radius: var(--border-radius-md);
    font-family: var(--font-family);
    font-size: 0.95rem;
    color: var(--color-primary);
    background-color: #f8fafc;
    transition: var(--transition-smooth);
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--color-accent);
    background-color: var(--color-white);
    box-shadow: 0 0 0 4px rgba(0, 210, 255, 0.18);
}

.form-row {
    margin-bottom: 0;
}

.form-control-sm {
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
}

/* Form feedback notifications */
.form-feedback {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: var(--border-radius-md);
    font-size: 0.9rem;
    font-weight: 600;
    display: none;
}

.form-feedback.success {
    background-color: rgba(34, 197, 94, 0.1);
    color: var(--color-success-hover);
    border: 1px solid rgba(34, 197, 94, 0.2);
    display: block;
}

.form-feedback.error {
    background-color: rgba(239, 68, 68, 0.1);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, 0.2);
    display: block;
}

/* PAGE HEADER ELEMENT */
.page-header-section {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    padding: 3rem 0;
    color: var(--color-white);
    border-bottom: 3px solid var(--color-accent);
}

.header-content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-title {
    font-size: 1.75rem;
    color: var(--color-white);
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #9ca3af;
}

.breadcrumbs a {
    color: #d1d5db;
}

.breadcrumbs a:hover {
    color: var(--color-accent);
}

.breadcrumbs .separator {
    font-size: 0.7rem;
}

/* LAYOUT WITH SIDEBAR */
.detail-layout-grid {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: 2rem;
    align-items: start;
}

.detail-main-content {
    background-color: var(--color-white);
}

.h1-title {
    font-size: 2rem;
    color: var(--color-primary);
    border-left: 5px solid var(--color-accent);
    padding-left: 0.75rem;
    line-height: 1.2;
}

.subsection-title {
    font-size: 1.35rem;
    color: var(--color-primary);
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #f3f4f6;
    padding-bottom: 0.5rem;
}

/* AEO Answer highlighting boxes */
.quick-answer-box {
    background: linear-gradient(145deg, rgba(0, 210, 255, 0.02) 0%, rgba(30, 58, 138, 0.04) 100%);
    border: 1px solid rgba(0, 210, 255, 0.15);
    border-left: 4px solid var(--color-accent);
    padding: 1.75rem;
    border-radius: var(--border-radius-md);
    box-shadow: 0 8px 30px -5px rgba(0, 210, 255, 0.05);
    position: relative;
    overflow: hidden;
}

.quick-answer-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle at 100% 0%, rgba(0, 210, 255, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.quick-answer-badge {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--color-dark-blue);
    background-color: rgba(0, 210, 255, 0.1);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.8rem;
    border-radius: 50px;
    margin-bottom: 1rem;
    border: 1px solid rgba(0, 210, 255, 0.2);
    font-family: var(--font-mono);
}

.quick-answer-box p {
    font-weight: 600;
    color: var(--color-primary);
    font-size: 1.05rem;
    line-height: 1.6;
}

.details-checklist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.details-checklist li {
    background-color: var(--color-bg-light);
    padding: 0.75rem 1rem;
    border-radius: var(--border-radius-md);
    font-size: 0.85rem;
}

.usage-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.usage-list li {
    font-size: 0.95rem;
    display: flex;
    align-items: flex-start;
}

.list-bullet {
    list-style-type: square;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.list-bullet li {
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

/* Technical Specification Data Table */
.table-responsive {
    overflow-x: auto;
    width: 100%;
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    border: 1px solid #e2e8f0;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 0.9rem;
    background-color: var(--color-white);
}

.data-table th {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    text-align: left;
    padding: 0.9rem 1.2rem;
    border-bottom: 2.5px solid var(--color-accent);
    font-family: var(--font-family);
    letter-spacing: 0.5px;
}

.data-table td {
    padding: 0.9rem 1.2rem;
    border-bottom: 1px solid #f1f5f9;
    color: var(--color-text-main);
    transition: var(--transition-smooth);
}

.data-table tr:last-child td {
    border-bottom: none;
}

.data-table tr:nth-child(even) {
    background-color: #fafbfd;
}

.data-table tr:hover td {
    background-color: rgba(0, 210, 255, 0.03);
    color: var(--color-primary);
}

/* SIDEBAR WIDGETS */
.sidebar-widget {
    background-color: var(--color-white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(17, 24, 37, 0.05);
    transition: var(--transition-smooth);
}

.sidebar-widget:hover {
    border-color: rgba(0, 210, 255, 0.2);
    box-shadow: var(--shadow-md);
}

.widget-title {
    font-size: 1.15rem;
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
    color: var(--color-primary);
    position: relative;
    font-weight: 800;
    letter-spacing: -0.2px;
}

.sidebar-menu-links li {
    margin-bottom: 0.5rem;
}

.sidebar-menu-links a {
    display: flex;
    padding: 0.7rem 1.2rem;
    background-color: var(--color-bg-light);
    border-radius: var(--border-radius-md);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-text-main);
    border-left: 3px solid transparent;
    transition: var(--transition-smooth);
}

.sidebar-menu-links a:hover {
    background-color: rgba(0, 210, 255, 0.05);
    color: var(--color-accent-hover);
    border-left-color: var(--color-accent-hover);
    padding-left: 1.5rem;
}

.sidebar-menu-links a.active {
    background-color: var(--color-primary);
    color: var(--color-accent);
    border-left-color: var(--color-accent);
    box-shadow: 0 4px 12px rgba(11, 15, 25, 0.15);
}

/* Premium Sidebar Components Overrides */
.widget-cta {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%) !important;
    border: 1px solid rgba(0, 210, 255, 0.15) !important;
}

.widget-cta i {
    text-shadow: 0 0 15px var(--color-accent);
    animation: floatSub 4s ease-in-out infinite alternate;
    display: inline-block;
}

.widget-form {
    border: 1px solid rgba(0, 210, 255, 0.08) !important;
}

.widget-form form {
    margin-top: 0.5rem;
}

.widget-form .form-group {
    margin-bottom: 0.85rem;
}

.widget-form .form-group label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-text-muted);
    margin-bottom: 0.35rem;
}

.widget-form input, 
.widget-form select, 
.widget-form textarea {
    background-color: #fafbfd;
    border: 1px solid #e2e8f0;
    font-size: 0.85rem;
    padding: 0.7rem 0.9rem;
    transition: var(--transition-smooth);
}

.widget-form input:focus, 
.widget-form select:focus, 
.widget-form textarea:focus {
    border-color: var(--color-accent);
    background-color: var(--color-white);
    box-shadow: 0 0 0 4px rgba(0, 210, 255, 0.12);
}

.widget-form button[type="submit"] {
    margin-top: 1rem;
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%) !important;
    color: var(--color-primary) !important;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(0, 210, 255, 0.2);
    border: none !important;
    transition: var(--transition-smooth);
}

.widget-form button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 210, 255, 0.35);
}

/* REGIONAL PAGE STYLINGS */
.location-services-links-grid {
    gap: 0.75rem;
}

.location-service-link-card {
    background-color: var(--color-bg-light);
    padding: 0.75rem 1rem;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.location-service-link-card:hover {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.ordered-list {
    padding-left: 1.25rem;
}

.ordered-list li {
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
}

/* BLOG CARDS */
.blog-card {
    padding: 2rem;
    border: 1px solid #f3f4f6;
}

.blog-meta-box {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-bottom: 0.75rem;
}

.blog-card-title {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.blog-card-excerpt {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 1.25rem;
}

.blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--color-accent);
}

.blog-read-more:hover {
    color: var(--color-primary);
}

/* GALLERY visual assets */
.gallery-item-card {
    background-color: var(--color-white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: var(--transition-smooth);
    border: 1px solid rgba(17, 24, 37, 0.03);
}

.gallery-item-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(0, 210, 255, 0.18), 0 8px 20px -5px rgba(0, 210, 255, 0.05);
    border-color: var(--color-accent) !important;
}

.gallery-visual-frame {
    height: 200px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.gallery-visual-frame::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}

.gallery-visual-frame > * {
    position: relative;
    z-index: 2;
}

.gallery-item-card:hover .gallery-visual-frame::before {
    transform: scale(1.08);
}

.visual-badge {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    background-color: var(--color-accent);
    color: var(--color-primary);
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
}

.visual-watermark {
    font-size: 4rem;
    opacity: 0.15;
    color: var(--color-white);
    transition: var(--transition-smooth);
}

.gallery-item-card:hover .visual-watermark {
    transform: scale(1.2) rotate(45deg);
    opacity: 0.3;
}

/* Background visual types representing categories */
.visual-drill { background: url('../images/karot-beton-delme.webp') no-repeat center/cover; }
.visual-cut { background: url('../images/beton-kesme.webp') no-repeat center/cover; }
.visual-road { background: url('../images/asfalt-kesme.webp') no-repeat center/cover; }
.visual-derz { background: url('../images/derz-kesme.webp') no-repeat center/cover; }
.visual-filiz { background: url('../images/filiz-ekimi.webp') no-repeat center/cover; }
.visual-hammer { background: url('../images/beton-kirma.webp') no-repeat center/cover; }

.gallery-card-content {
    padding: 1.5rem;
}

.gallery-card-content h3,
.gallery-card-content h4 {
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.gallery-card-content p {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* CONTACT CARDS */
.contact-info-cards-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-info-card {
    display: flex;
    gap: 1rem;
    align-items: center;
    border: 1px solid #f3f4f6;
}

.contact-info-card .card-icon {
    font-size: 1.75rem;
    min-width: 50px;
    height: 50px;
    background-color: var(--color-bg-light);
    border-radius: var(--border-radius-md);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* GLOBAL FOOTER BLOCKS */
.site-footer {
    background-color: var(--color-primary);
    color: #9ca3af;
    padding: 5rem 0 0;
    border-top: 5px solid var(--color-accent);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    margin-bottom: 4rem;
}

.footer-col h2,
.footer-col h4 {
    color: var(--color-white);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

.col-brand .footer-logo {
    display: flex;
    align-items: center;
    color: var(--color-white);
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
}

.footer-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.footer-links li {
    margin-bottom: 0.75rem;
}

.footer-links a {
    font-size: 0.9rem;
}

.footer-links a:hover {
    color: var(--color-accent);
    padding-left: 4px;
}

.footer-bottom {
    background-color: #0b0f19;
    padding: 1.5rem 0;
    font-size: 0.8rem;
    border-top: 1px solid #1f2937;
}

.footer-bottom-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* SCROLL TO TOP */
.scroll-to-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
    background-color: var(--color-accent);
    color: var(--color-primary);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
    z-index: 99;
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
}

.scroll-to-top:hover {
    background-color: var(--color-primary);
    color: var(--color-accent);
}

/* MOBILE BOTTOM BAR (STICKY AT MOBILE) */
.mobile-sticky-bar {
    display: none;
    position: fixed;
    bottom: 16px;
    left: 16px;
    right: 16px;
    width: calc(100% - 32px);
    height: 64px;
    background: rgba(17, 24, 37, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 50px;
    z-index: 150;
    box-shadow: 0 8px 32px rgba(11, 17, 26, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    padding: 0 6px;
    align-items: center;
}

.sticky-bar-item {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    color: var(--color-white);
    font-size: 0.8rem;
    font-weight: 700;
    height: 48px;
    margin: 0 4px;
    border-radius: 30px;
    transition: var(--transition-smooth);
}

.bg-dark-blue { 
    background-color: rgba(255, 255, 255, 0.05); 
}
.bg-dark-blue:hover {
    background-color: rgba(255, 255, 255, 0.12);
}

.bg-whatsapp { 
    background-color: var(--color-success); 
}
.bg-whatsapp:hover {
    background-color: var(--color-success-hover);
}

.bg-accent-orange { 
    background-color: var(--color-accent); 
    color: var(--color-primary) !important; 
}
.bg-accent-orange:hover {
    background-color: var(--color-accent-hover);
}

.sticky-bar-item i {
    font-size: 1rem;
}

/* CREATIVE MOBILE MENU OVERLAY */
.mobile-overlay-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 15, 25, 0.95);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    z-index: 400; /* Overrides everything except hamburger active */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
    display: block;
    padding: 6.5rem 1.5rem 3rem;
}

.mobile-overlay-menu.open {
    opacity: 1;
    visibility: visible;
}

.mobile-menu-content {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
}

.mobile-overlay-menu.open .mobile-menu-content {
    transform: translateY(0);
    opacity: 1;
}

.mobile-nav > ul {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mobile-nav > ul > li {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-overlay-menu.open .mobile-nav > ul > li {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger transition delay list items */
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(1) { transition-delay: 0.05s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(2) { transition-delay: 0.10s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(3) { transition-delay: 0.15s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(4) { transition-delay: 0.20s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(5) { transition-delay: 0.25s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(6) { transition-delay: 0.30s; }
.mobile-overlay-menu.open .mobile-nav > ul > li:nth-child(7) { transition-delay: 0.35s; }

.mobile-nav-link {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-white);
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
    color: var(--color-accent);
}

/* Mobile Dropdown details */
.mobile-dropdown-parent {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mobile-dropdown-btn {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-white);
    font-family: var(--font-family);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: var(--transition-smooth);
}

.mobile-dropdown-btn:hover {
    color: var(--color-accent);
}

.arrow-icon {
    font-size: 0.9rem;
    transition: var(--transition-smooth);
}

.mobile-dropdown-parent.open .arrow-icon {
    transform: rotate(180deg);
    color: var(--color-accent);
}

.mobile-submenu {
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0;
    background-color: rgba(255,255,255,0.03);
    padding: 0 2rem;
    border-radius: var(--border-radius-md);
    width: 100%;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s cubic-bezier(0.16, 1, 0.3, 1), margin-top 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-dropdown-parent.open .mobile-submenu {
    margin-top: 0.75rem;
    padding: 1rem 2rem;
}

.mobile-submenu a {
    color: #9ca3af;
    font-size: 1.1rem;
    font-weight: 600;
}

.mobile-submenu a:hover {
    color: var(--color-white);
}

.mobile-menu-footer {
    display: flex;
    gap: 1rem;
    margin-top: 3rem;
}

.mobile-menu-cta-btn {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem;
    border-radius: var(--border-radius-md);
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-white);
}

/* RESPONSIVE BREAKDOWNS */
@media (max-width: 1024px) {
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .hero-title { font-size: 2.5rem; }
    .hero-card-sub { right: -10px; }
}

@media (max-width: 768px) {
    .top-bar { display: none; }
    .desktop-nav,
    .header-action-btn { display: none; }
    
    .mobile-menu-trigger { display: flex; }
    
    .grid-2,
    .grid-3 { grid-template-columns: 1fr; }
    
    .hero-container {
        grid-template-columns: 1fr;
        padding-top: 2rem;
    }
    
    .hero-visual {
        margin-top: 3rem;
    }
    
    .why-us-image-container {
        height: 320px;
    }
    
    .why-us-visual-card {
        width: 100%;
    }
    
    .process-steps-grid {
        grid-template-columns: 1fr;
    }
    
    .detail-layout-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .mobile-sticky-bar {
        display: flex;
    }
    
    .site-footer {
        padding-bottom: 80px; /* Offset for mobile bar */
    }
    
    .scroll-to-top {
        bottom: 80px;
    }
    
    /* Responsive details checklist */
    .details-checklist {
        grid-template-columns: 1fr;
    }
    
    .page-header-section {
        padding: 2rem 0;
    }
    
    .header-content-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ==========================================
   DESIGN OVERHAUL - ANIMATIONS & KEYFRAMES
   ========================================== */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes float {
    0% {
        transform: translateY(0px) rotate(-3deg);
    }
    50% {
        transform: translateY(-10px) rotate(-2deg);
    }
    100% {
        transform: translateY(0px) rotate(-3deg);
    }
}

@keyframes floatSub {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-12px) scale(1.02);
    }
    100% {
        transform: translateY(0px);
    }
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 210, 255, 0.4);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(0, 210, 255, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 210, 255, 0);
    }
}

@keyframes laserSweep {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}

/* Animation Utilities */
/* Transform-only entrance: content is visible (opacity 1) from the first paint, so LCP is not delayed */
.animate-fade-in-up {
    animation: slideInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes slideInUp {
    from { transform: translateY(16px); }
    to { transform: translateY(0); }
}

/* Shimmer gradient fill */
.btn-accent {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%) !important;
    border: none !important;
}

.btn-accent::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-accent:hover::after {
    left: 150%;
}

/* Laser Sweep Overlays on Main Cards */
.card, .process-step, .gallery-item-card, .service-card-detailed {
    position: relative;
    overflow: hidden;
}

.card::before, .process-step::after, .gallery-item-card::after, .service-card-detailed::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 210, 255, 0) 0%, rgba(0, 210, 255, 0.1) 50%, rgba(0, 210, 255, 0) 100%);
    transform: skewX(-25deg);
    pointer-events: none;
    z-index: 5;
}

.card:hover::before, .process-step:hover::after, .gallery-item-card:hover::after, .service-card-detailed:hover::before {
    animation: laserSweep 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Technical Corner Ticks for Cards */
.card-ticks {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 6;
}

.card-ticks::before,
.card-ticks::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-color: var(--color-accent);
    border-style: solid;
    opacity: 0.25;
    pointer-events: none;
    transition: var(--transition-smooth);
}

.card-ticks::before {
    top: 12px;
    left: 12px;
    border-width: 1.5px 0 0 1.5px;
}

.card-ticks::after {
    bottom: 12px;
    right: 12px;
    border-width: 0 1.5px 1.5px 0;
}

/* Hover illuminations for Ticks */
.card:hover .card-ticks::before,
.card:hover .card-ticks::after,
.process-step:hover .card-ticks::before,
.process-step:hover .card-ticks::after,
.gallery-item-card:hover .card-ticks::before,
.gallery-item-card:hover .card-ticks::after,
.hero-card:hover .card-ticks::before,
.hero-card:hover .card-ticks::after,
.service-card-detailed:hover .card-ticks::before,
.service-card-detailed:hover .card-ticks::after,
.region-card-detailed:hover .card-ticks::before,
.region-card-detailed:hover .card-ticks::after {
    opacity: 1;
    border-color: var(--color-accent);
    transform: scale(1.12);
    filter: drop-shadow(0 0 4px var(--color-accent));
}

/* ==========================================
   ICONS — Font Awesome Free 6.7.2 by @fontawesome (https://fontawesome.com, Icons: CC BY 4.0).
   Inline SVG masks replace the webfont CDN (no extra CSS/font requests, no invisible-icon delay).
   ========================================== */
.fa-solid,.fa-brands{display:inline-block;width:1em;height:1em;vertical-align:-.125em;font-style:normal;line-height:1;flex-shrink:0}
.fa-solid::before,.fa-brands::before{content:"";display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask:var(--fa) no-repeat center/contain;mask:var(--fa) no-repeat center/contain}
.fa-xs{font-size:.75em;vertical-align:.0625em}
.fa-spin{animation:fa-spin 1s linear infinite}
@keyframes fa-spin{to{transform:rotate(360deg)}}
.fa-chevron-right{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");width:0.625em}
.fa-phone{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E")}
.fa-chevron-down{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E")}
.fa-whatsapp{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");width:0.875em}
.fa-location-dot{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");width:0.75em}
.fa-map-marker-alt{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");width:0.75em}
.fa-circle-check{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E")}
.fa-dharmachakra{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.5-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E")}
.fa-map-location-dot{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z'/%3E%3C/svg%3E");width:1.125em}
.fa-road{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M256 32l-74.8 0c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480L256 480l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64 201.4 0c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32L320 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm64 192l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z'/%3E%3C/svg%3E");width:1.125em}
.fa-maximize{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M200 32L56 32C42.7 32 32 42.7 32 56l0 144c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312l0 144c0 13.3 10.7 24 24 24l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l144 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-144c0-13.3-10.7-24-24-24L312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z'/%3E%3C/svg%3E")}
.fa-hammer{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6l0-12.1L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0l18.1 0c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z'/%3E%3C/svg%3E");width:1.125em}
.fa-check{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");width:0.875em}
.fa-border-all{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224L64 224 64 96l128 0 0 128zM64 288l128 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z'/%3E%3C/svg%3E");width:0.875em}
.fa-anchor{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c88.4 0 160-71.6 160-160l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 53-43 96-96 96l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0z'/%3E%3C/svg%3E");width:1.125em}
.fa-phone-volume{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z'/%3E%3C/svg%3E")}
.fa-paper-plane{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480l0-83.6c0-4 1.5-7.8 4.2-10.8L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z'/%3E%3C/svg%3E")}
.fa-envelope{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E")}
.fa-calendar-days{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z'/%3E%3C/svg%3E");width:0.875em}
.fa-bolt{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z'/%3E%3C/svg%3E");width:0.875em}
.fa-user{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z'/%3E%3C/svg%3E");width:0.875em}
.fa-truck-fast{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M112 0C85.5 0 64 21.5 64 48l0 48L16 96c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 208 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 160l-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l16 0 176 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 224l-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 144 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 288l0 128c0 53 43 96 96 96s96-43 96-96l128 0c0 53 43 96 96 96s96-43 96-96l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64 0-32 0-18.7c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7L416 96l0-48c0-26.5-21.5-48-48-48L112 0zM544 237.3l0 18.7-128 0 0-96 50.7 0L544 237.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z'/%3E%3C/svg%3E");width:1.25em}
.fa-triangle-exclamation{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E")}
.fa-shield-halved{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E")}
.fa-shield{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z'/%3E%3C/svg%3E")}
.fa-house{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E");width:1.125em}
.fa-hard-hat{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M256 32c-17.7 0-32 14.3-32 32l0 2.3 0 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288l0 64 512 0 0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1l0-99.6 0-2.3c0-17.7-14.3-32-32-32l-64 0zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6L16.6 384z'/%3E%3C/svg%3E");width:1.125em}
.fa-gears{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E");width:1.25em}
.fa-file-signature{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-19.3c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2l-64 0c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2L80 448c-8.8 0-16-7.2-16-16s7.2-16 16-16l8.2 0c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8 8.9 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6l0-43.6-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z'/%3E%3C/svg%3E");width:1.125em}
.fa-comments{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2s0 0 0 0s0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9c0 0 0 0 0 0s0 0 0 0l-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z'/%3E%3C/svg%3E");width:1.25em}
.fa-circle-question{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E")}
.fa-circle-arrow-right{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM297 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l214.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L409 239c9.4 9.4 9.4 24.6 0 33.9L297 385z'/%3E%3C/svg%3E")}
.fa-chevron-up{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E")}
.fa-arrow-right-long{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z'/%3E%3C/svg%3E")}
.fa-arrow-right{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");width:0.875em}
.fa-spinner{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z'/%3E%3C/svg%3E")}
.fa-book-open{--fa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z'/%3E%3C/svg%3E");width:1.125em}

/* ==========================================
   PHASE 1 — accessibility (contrast) & mobile performance overrides
   ========================================== */
:root {
    --color-accent-text: #00708F;   /* cyan accent for text on white/light backgrounds (>= 4.5:1) */
    --color-whatsapp-strong: #15803D;
    --color-whatsapp-strong-hover: #166534;
}
.logo-subtitle,
.section-subtitle { color: var(--color-accent-text); }
.faq-cta-box p { color: var(--color-text-main); }
.bg-whatsapp,
.btn-success,
.mobile-menu-cta-btn.bg-success { background-color: var(--color-whatsapp-strong) !important; }
.bg-whatsapp:hover,
.btn-success:hover { background-color: var(--color-whatsapp-strong-hover) !important; }
.stat-number.stat-text { font-size: 1.05rem; line-height: 1.2; }
.faq-answer a { color: var(--color-accent-text); font-weight: 700; text-decoration: underline; }

@media (max-width: 768px) {
    /* Blur filters and infinite float animations cost seconds of style/layout work on mobile CPUs */
    .main-header.header-scrolled,
    .bg-glass,
    .mobile-sticky-bar,
    .mobile-overlay-menu {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .main-header.header-scrolled { background-color: rgba(255, 255, 255, 0.98); }
    .bg-glass { background: rgba(20, 27, 45, 0.92); }
    .mobile-sticky-bar { background: rgba(17, 24, 37, 0.97); }
    .mobile-overlay-menu { background: rgba(11, 15, 25, 0.98); }
    .hero-card-main,
    .hero-card-sub,
    .widget-cta i { animation: none; }
    /* Without the blur the stacked sub card would hide the phone button: place it below the main card */
    .hero-visual { flex-direction: column; }
    .hero-card-sub { position: relative; bottom: auto; right: auto; margin-top: 1.25rem; }
    /* Smaller background variants on phones */
    .hero-section { background-size: auto, 30px 30px, 30px 30px, cover; }
    .why-us-image-container { background-image: url('../images/og-default-480.webp'); }
    .visual-drill { background-image: url('../images/karot-beton-delme-480.webp'); }
    .visual-cut { background-image: url('../images/beton-kesme-480.webp'); }
    .visual-road { background-image: url('../images/asfalt-kesme-480.webp'); }
    .visual-derz { background-image: url('../images/derz-kesme-480.webp'); }
    .visual-filiz { background-image: url('../images/filiz-ekimi-480.webp'); }
    .visual-hammer { background-image: url('../images/beton-kirma-480.webp'); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
