.elementor-436 .elementor-element.elementor-element-6242cb0b:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-6242cb0b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFF5F8 0%, #FDEEF4 100%);}.elementor-436 .elementor-element.elementor-element-6242cb0b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:120px 20px 120px 20px;}.elementor-436 .elementor-element.elementor-element-6242cb0b > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-436 .elementor-element.elementor-element-1a4d77b2{text-align:start;}.elementor-436 .elementor-element.elementor-element-1a4d77b2 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:60px;font-weight:700;color:#2C1C3C;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-436 .elementor-element.elementor-element-37ca05b6{text-align:start;color:#5C4C6C;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-436 .elementor-element.elementor-element-73cdc83b{text-align:center;}.elementor-436 .elementor-element.elementor-element-8663f94{--display:flex;}.elementor-436 .elementor-element.elementor-element-373d3237:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-373d3237 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FDEEF4 0%, #FDEEF4 100%);}.elementor-436 .elementor-element.elementor-element-373d3237{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-373d3237 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-18e14d21{text-align:center;}.elementor-436 .elementor-element.elementor-element-18e14d21 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:45px;font-weight:700;color:#2C1C3C;}.elementor-436 .elementor-element.elementor-element-4be07d1d{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-7d846082{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-76f2c706{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-2ab042e1{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-1a53a7f9{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-78145f60{color:#5C4C6C;}.elementor-436 .elementor-element.elementor-element-5a455eb9:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-5a455eb9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://aulavirtualdeconocimiento.online/wp-content/uploads/2026/05/portfolio_bg_3-1.png");}.elementor-436 .elementor-element.elementor-element-5a455eb9{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-5a455eb9 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-9ff19eb{text-align:start;}.elementor-436 .elementor-element.elementor-element-9ff19eb .elementor-heading-title{font-weight:900;text-transform:uppercase;color:#000000;}.elementor-436 .elementor-element.elementor-element-38bbcd0c{text-align:center;}.elementor-436 .elementor-element.elementor-element-d9973c9{--display:flex;}.elementor-436 .elementor-element.elementor-element-5cf375d4:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-5cf375d4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-436 .elementor-element.elementor-element-5cf375d4{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-5cf375d4 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-5e7570:hover{--e-transform-scale:1;}.elementor-436 .elementor-element.elementor-element-5e7570{text-align:center;}.elementor-436 .elementor-element.elementor-element-6160fc09{text-align:center;}.elementor-436 .elementor-element.elementor-element-6160fc09 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-76f90343{text-align:center;}.elementor-436 .elementor-element.elementor-element-7ab6e0cc{text-align:center;}.elementor-436 .elementor-element.elementor-element-7ab6e0cc .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-5c64d0ea{text-align:center;}.elementor-436 .elementor-element.elementor-element-3fa27e11{text-align:center;}.elementor-436 .elementor-element.elementor-element-3fa27e11 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-75b0129b:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-75b0129b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-436 .elementor-element.elementor-element-75b0129b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-75b0129b > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-6b266337{--e-transform-transition-duration:400ms;text-align:center;}.elementor-436 .elementor-element.elementor-element-199ce726{text-align:center;}.elementor-436 .elementor-element.elementor-element-199ce726 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-297df61f{text-align:center;}.elementor-436 .elementor-element.elementor-element-2c70fe43{text-align:center;}.elementor-436 .elementor-element.elementor-element-2c70fe43 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-1b51234{text-align:center;}.elementor-436 .elementor-element.elementor-element-369a0f80{text-align:center;}.elementor-436 .elementor-element.elementor-element-369a0f80 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-af43ea0{--display:flex;}.elementor-436 .elementor-element.elementor-element-b111c5a .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-436 .elementor-element.elementor-element-55ab5a26:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-55ab5a26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #C4597C 0%, #EC2177 100%);}.elementor-436 .elementor-element.elementor-element-55ab5a26{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 20px 100px 20px;}.elementor-436 .elementor-element.elementor-element-55ab5a26 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-5418ca0e{text-align:center;}.elementor-436 .elementor-element.elementor-element-5418ca0e .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:45px;font-weight:700;color:#FFFFFF;}.elementor-436 .elementor-element.elementor-element-107d186f{text-align:center;font-family:"Roboto", Sans-serif;font-size:27px;font-weight:400;color:#000000;}.elementor-436 .elementor-element.elementor-element-107d186f a:hover, .elementor-436 .elementor-element.elementor-element-107d186f a:focus{color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-436 .elementor-element.elementor-element-40e361f8 .elementor-button{background-color:#FFFFFF;font-weight:700;}.elementor-436 .elementor-element.elementor-element-1afd64f0{text-align:center;color:#FFFFFF;}.elementor-436 .elementor-element.elementor-element-4b5741ba:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-4b5741ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-436 .elementor-element.elementor-element-4b5741ba{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-4b5741ba > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-70ed53a2{text-align:center;}.elementor-436 .elementor-element.elementor-element-70ed53a2 .elementor-heading-title{color:#000000;}.elementor-436 .elementor-element.elementor-element-5e7873bf{text-align:start;color:#000000;}.elementor-436 .elementor-element.elementor-element-955f5f7{text-align:center;}.elementor-436 .elementor-element.elementor-element-955f5f7 .elementor-heading-title{font-weight:900;text-transform:uppercase;color:#000000;}.elementor-436 .elementor-element.elementor-element-e60b1d8{text-align:justify;color:#000000;}.elementor-436 .elementor-element.elementor-element-f8996f2:not(.elementor-motion-effects-element-type-background), .elementor-436 .elementor-element.elementor-element-f8996f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F172A;}.elementor-436 .elementor-element.elementor-element-f8996f2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-436 .elementor-element.elementor-element-f8996f2 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-436 .elementor-element.elementor-element-7e74a131{text-align:center;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-436 .elementor-element.elementor-element-6242cb0b{padding:60px 15px 60px 15px;}.elementor-436 .elementor-element.elementor-element-1a4d77b2{text-align:center;}.elementor-436 .elementor-element.elementor-element-373d3237{padding:40px 15px 40px 15px;}.elementor-436 .elementor-element.elementor-element-18e14d21{text-align:center;}.elementor-436 .elementor-element.elementor-element-5a455eb9{padding:40px 15px 40px 15px;}.elementor-436 .elementor-element.elementor-element-9ff19eb{text-align:center;}.elementor-436 .elementor-element.elementor-element-5cf375d4{padding:40px 15px 40px 15px;}.elementor-436 .elementor-element.elementor-element-6160fc09{text-align:center;}.elementor-436 .elementor-element.elementor-element-7ab6e0cc{text-align:center;}.elementor-436 .elementor-element.elementor-element-3fa27e11{text-align:center;}.elementor-436 .elementor-element.elementor-element-75b0129b{padding:40px 15px 40px 15px;}.elementor-436 .elementor-element.elementor-element-199ce726{text-align:center;}.elementor-436 .elementor-element.elementor-element-2c70fe43{text-align:center;}.elementor-436 .elementor-element.elementor-element-369a0f80{text-align:center;}.elementor-436 .elementor-element.elementor-element-55ab5a26{padding:50px 15px 50px 15px;}.elementor-436 .elementor-element.elementor-element-5418ca0e{text-align:center;}.elementor-436 .elementor-element.elementor-element-4b5741ba{padding:40px 15px 40px 15px;}.elementor-436 .elementor-element.elementor-element-70ed53a2{text-align:center;}.elementor-436 .elementor-element.elementor-element-955f5f7{text-align:center;}.elementor-436 .elementor-element.elementor-element-f8996f2{padding:40px 15px 40px 15px;}}/* Start custom CSS */:root {
            --text: #0F172A;
            --primary: #6366F1;
            --accent: #EC4899;
            --bg: #F8FAFC;
            --white: #FFFFFF;
            --gray: #64748B;
            --border: #E2E8F0;
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Poppins', sans-serif;
            background: var(--bg);
            color: var(--text);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }
        img { max-width: 100%; display: block; }
        a { text-decoration: none; color: inherit; }
        .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

        /* HEADER */
        header {
            position: sticky;
            top: 0;
            z-index: 100;
            background: rgba(248, 250, 252, 0.85);
            backdrop-filter: blur(12px) saturate(180%);
            border-bottom: 1px solid rgba(15,23,42,0.06);
        }
        .header-inner {
            height: 74px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
        }
        .logo-wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 600;
            font-size: 16px;
        }
        .logo {
            width: 44px;
            height: 44px;
            border-radius: 14px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            color: white;
            display: grid;
            place-items: center;
            font-weight: 700;
            box-shadow: 0 8px 20px rgba(99,102,241,0.3);
        }
        nav { display: flex; gap: 28px; font-weight: 500; font-size: 15px; }
        nav a { opacity: 0.75; transition: 0.2s; }
        nav a:hover { opacity: 1; color: var(--primary); }
        .btn-primary {
            background: var(--text);
            color: white;
            padding: 11px 20px;
            border-radius: 12px;
            font-weight: 600;
            font-size: 14px;
            transition: 0.2s;
            box-shadow: 0 4px 14px rgba(15,23,42,0.15);
        }
        .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15,23,42,0.2); }

        /* HERO */
        .hero { padding: 90px 0 60px; position: relative; overflow: hidden; }
        .hero::before {
            content: ''; position: absolute; width: 600px; height: 600px;
            background: radial-gradient(circle, rgba(99,102,241,0.18), transparent 60%);
            top: -200px; right: -150px; border-radius: 50%; filter: blur(40px);
        }
        .hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 60px; align-items: center; }
        .tag {
            display: inline-block;
            background: linear-gradient(90deg, rgba(99,102,241,0.1), rgba(236,72,153,0.1));
            color: var(--primary);
            padding: 6px 14px;
            border-radius: 100px;
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 18px;
            border: 1px solid rgba(99,102,241,0.2);
        }
        h1 { font-size: clamp(38px, 5.5vw, 58px); line-height: 1.05; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 10px; }
        .tagline { font-size: 20px; color: #475569; font-weight: 500; margin-bottom: 16px; }
        .desc { font-size: 17.5px; color: #334155; max-width: 520px; margin-bottom: 30px; }
        .hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
        .btn-secondary {
            background: white; color: var(--text); padding: 11px 20px;
            border-radius: 12px; font-weight: 600; font-size: 14px;
            border: 1px solid var(--border); transition: 0.2s;
        }
        .btn-secondary:hover { border-color: var(--primary); color: var(--primary); }

        .phone-mockup {
            width: 310px; height: 620px; background: #0F172A; border-radius: 48px;
            padding: 14px; margin: 0 auto; position: relative;
            box-shadow: 0 30px 60px rgba(15,23,42,0.28), inset 0 0 0 2px rgba(255,255,255,0.05);
        }
        .phone-mockup::before {
            content: ''; position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
            width: 92px; height: 22px; background: #0F172A; border-radius: 0 0 14px 14px; z-index: 3;
        }
        .phone-screen { background: white; height: 100%; border-radius: 36px; overflow: hidden; display: flex; flex-direction: column; }
        .phone-header { padding: 32px 18px 14px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f5f9; }
        .phone-header strong { font-size: 13px; }
        .insta-dots { display: flex; gap: 3px; }
        .insta-dot { width: 5px; height: 5px; border-radius: 50%; background: #e2e8f0; }
        .feed-grid { padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex: 1; }
        .feed-item { aspect-ratio: 1; border-radius: 16px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); position: relative; overflow: hidden; }
        .feed-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(0,0,0,0.12)); }

        /* SECTIONS */
        .section { padding: 90px 0; }
        .section-header { text-align: center; max-width: 660px; margin: 0 auto 54px; }
        .section-header h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 12px; }
        .section-header p { color: var(--gray); font-size: 17px; }

        .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
        .service-card {
            background: white; padding: 30px; border-radius: 20px;
            border: 1px solid #f1f5f9; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.04);
            transition: 0.3s;
        }
        .service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(99,102,241,0.25); border-color: rgba(99,102,241,0.25); }
        .icon-box {
            width: 52px; height: 52px; border-radius: 14px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            display: grid; place-items: center; color: white; margin-bottom: 18px;
            box-shadow: 0 8px 16px rgba(236,72,153,0.25);
        }
        .icon-box svg { width: 26px; height: 26px; stroke-width: 1.8; }
        .service-card h3 { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
        .service-card p { color: var(--gray); font-size: 14.5px; }

        /* PORTFOLIO */
        .portfolio { background: white; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
        .filter-buttons { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 42px; }
        .filter-btn { padding: 9px 18px; border-radius: 100px; border: 1px solid var(--border); background: white; font-size: 14px; font-weight: 500; cursor: pointer; transition: 0.2s; font-family: 'Poppins'; }
        .filter-btn.active, .filter-btn:hover { background: var(--text); color: white; border-color: var(--text); }
        .portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
        .project-card { background: var(--bg); border-radius: 20px; padding: 24px; border: 1px solid var(--border); transition: 0.3s; }
        .project-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.08); }
        .project-card h3 { font-size: 17px; font-weight: 600; margin: 16px 0 6px; }
        .project-card p { font-size: 14px; color: var(--gray); }
        .device-mockup { display: grid; place-items: center; min-height: 260px; }
        .phone-mini { width: 190px; height: 350px; background: #0F172A; border-radius: 30px; padding: 9px; box-shadow: 0 18px 35px rgba(15,23,42,0.22); }
        .phone-mini-screen { background: white; border-radius: 23px; height: 100%; overflow: hidden; }
        .phone-mini-screen img { width: 100%; height: 100%; object-fit: cover; }
        .laptop-mockup { width: 100%; max-width: 300px; }
        .laptop { background: #0F172A; border-radius: 12px 12px 0 0; padding: 10px; box-shadow: 0 15px 30px rgba(15,23,42,0.18); }
        .laptop-screen { background: white; border-radius: 6px; height: 170px; overflow: hidden; }
        .laptop-screen img { width: 100%; height: 100%; object-fit: cover; }
        .laptop-base { height: 10px; background: #cbd5e1; border-radius: 0 0 12px 12px; width: 112%; margin-left: -6%; position: relative; }

        /* VIDEO */
        .video-section { background: #0F172A; color: white; position: relative; overflow: hidden; }
        .video-section::before { content: ''; position: absolute; width: 500px; height: 500px; background: radial-gradient(circle, rgba(236,72,153,0.22), transparent 60%); bottom: -200px; left: -150px; border-radius: 50%; }
        .video-wrapper { max-width: 880px; margin: 0 auto; background: black; border-radius: 20px; overflow: hidden; box-shadow: 0 25px 50px rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.1); }
        .video-wrapper video { width: 100%; display: block; aspect-ratio: 16/9; background: #000; }
        .video-btn { margin-top: 26px; background: white; color: #0F172A; border: none; padding: 12px 24px; border-radius: 12px; font-weight: 600; cursor: pointer; transition: 0.2s; font-family: 'Poppins'; }
        .video-btn:hover { transform: translateY(-2px); }

        /* ABOUT */
        .about-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center; }
        .about-content h2 { font-size: 32px; margin-bottom: 16px; font-weight: 700; }
        .about-content p { color: #475569; margin-bottom: 14px; font-size: 16px; line-height: 1.75; }
        .pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
        .pill { padding: 8px 14px; background: white; border: 1px solid var(--border); border-radius: 100px; font-size: 13px; font-weight: 500; color: #334155; }
        .about-visual { background: linear-gradient(135deg, var(--primary), var(--accent)); border-radius: 20px; height: 400px; position: relative; overflow: hidden; display: grid; place-items: center; box-shadow: 0 20px 40px rgba(99,102,241,0.3); }
        .about-visual span { font-size: 110px; font-weight: 800; color: rgba(255,255,255,0.18); letter-spacing: -4px; }

        /* CONTACT */
        .contact { background: white; }
        .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
        .contact-form { background: var(--bg); padding: 32px; border-radius: 20px; border: 1px solid var(--border); }
        .form-group { margin-bottom: 18px; }
        .form-group label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 6px; }
        .form-group input, .form-group textarea { width: 100%; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 12px; font-family: 'Poppins'; font-size: 14px; background: white; transition: 0.2s; }
        .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(99,102,241,0.15); }
        .form-group textarea { min-height: 120px; resize: vertical; }
        .contact-info h3 { font-size: 26px; margin-bottom: 12px; font-weight: 700; }
        .contact-info p { color: var(--gray); margin-bottom: 24px; }
        .social-btns { display: flex; flex-direction: column; gap: 12px; }
        .social-btn { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: var(--bg); border: 1px solid var(--border); border-radius: 14px; font-weight: 500; transition: 0.2s; }
        .social-btn:hover { background: white; border-color: var(--primary); transform: translateX(4px); }
        .social-btn svg { width: 20px; height: 20px; color: var(--primary); }

        footer { background: #0F172A; color: #94a3b8; padding: 40px 0; text-align: center; font-size: 14px; }
        footer strong { color: white; }

        .fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
        .fade-in.visible { opacity: 1; transform: translateY(0); }

        @media (max-width: 980px) {
            .hero-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 44px; }
            .hero-visual { order: -1; }
            .phone-mockup { width: 270px; height: 540px; }
            .services-grid { grid-template-columns: repeat(2, 1fr); }
            .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 640px) {
            nav { display: none; }
            .services-grid, .portfolio-grid { grid-template-columns: 1fr; }
            .header-inner { height: 66px; }
            .section { padding: 70px 0; }
            .hero { padding: 60px 0 40px; }
            .btn-primary { padding: 10px 16px; }
        }/* End custom CSS */