/*
   VITA HUB — Styles
   Brand: #2C2A33 (dark) + #F4F5F7 (light)
   Prompt/footer card: #272725
   Header/footer text: #FCFBF8
   Body: #131216
   Font: Geist (Vercel, self-hosted)
*/

@font-face{
    font-family:'Geist';
    src:url('assets/fonts/Geist[wght].woff2') format('woff2');
    font-weight:100 900;
    font-style:normal;
    font-display:swap;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;line-height:1.5;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{
    font-family:'Geist','Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
    font-size:16px;line-height:24px;font-weight:400;
    color:#FCFBF8;background:#131216;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    text-rendering:optimizelegibility;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:transparent;cursor:pointer;border:none}
img,svg{display:block;vertical-align:middle}
h1,h2,h3,h4{font-size:inherit;font-weight:inherit}
.container{max-width:1329px;margin:0 auto;padding:0 24px;width:100%}


/* ========================
   GRADIENT SWEEP — neon de marca (roxo → rosa → ciano), assenta em branco quente
   ======================== */
.grad-text{
    display:inline;
    background-size:300% 100%;
    background-position:100% 0;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
.vita-gradient{
    background-image:linear-gradient(
        90deg,
        /* cor final do texto: branco quente (legível, limpo) */
        #FCFBF8 0%,#FCFBF8 33.33%,
        /* o "brilho" da revelação: neon de marca passando */
        #c9b8ff 38%,#a78bfa 43%,#e879c9 49%,#5fd4e8 55%,#38bdf8 60%,
        /* cauda escura antes do transparente, pra dar profundidade ao sweep */
        #2e2c3a 64%,
        transparent 66.67%,transparent 100%
    );
}
.grad-animate{animation:gradient-sweep 1.2s cubic-bezier(0.45,0.05,0.55,0.95) 0.1s forwards}
@keyframes gradient-sweep{from{background-position:100% 0}to{background-position:0% 0}}
.hero-title .grad-text{animation:gradient-sweep 1.4s cubic-bezier(0.45,0.05,0.55,0.95) 0.6s forwards}


/* ========================
   HEADER — text #FCFBF8
   ======================== */
.header{
    position:sticky;top:0;z-index:50;
    height:64px;margin-bottom:-64px;
    transition:350ms cubic-bezier(0.33,1,0.68,1);
    transition-property:background-color,backdrop-filter,-webkit-backdrop-filter,box-shadow;
}
.header.is-scrolled{
    background:rgba(19,18,22,0.85);
    backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
    box-shadow:inset 0 -0.5px 0 0 rgba(252,251,248,0.06);
}
.header-inner{height:64px;max-width:1329px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.header-left{display:flex;align-items:center}

.logo{display:flex;align-items:center;margin-right:56px;z-index:101}
.logo-img{height:20px;width:auto}
.logo-symbol-img{height:32px;width:auto}
.footer-logo{margin-right:0}

/* Nav — gap 8px, text #FCFBF8 */
.nav{display:flex;align-items:center;gap:8px}
.nav-link{
    font-size:15px;line-height:24px;font-weight:480;
    padding:4px 8px;border-radius:6px;
    color:#FCFBF8;
    transition:color .15s ease,background .15s ease;
}
.nav-link:hover{background:rgba(252,251,248,0.05)}

.header-right{display:flex;align-items:center;gap:8px}
.btn-ghost{
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;line-height:21px;font-weight:480;
    padding:6px 10px;border-radius:8px;gap:4px;white-space:nowrap;
    color:#FCFBF8;box-shadow:inset 0 0 0 1px rgba(252,251,248,0.18);
    transition:box-shadow .15s ease,background .15s ease;
}
.btn-ghost:hover{background:rgba(252,251,248,0.04)}
.btn-solid{
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;line-height:21px;font-weight:480;
    padding:6px 10px;border-radius:8px;gap:4px;white-space:nowrap;
    color:#131216;background:rgba(252,251,248,0.70);
    box-shadow:rgba(19,18,22,0.12) 0 2px 2px -1px,rgba(19,18,22,0.12) 0 4px 4px -2px;
    transition:box-shadow .15s ease,background .15s ease,transform .15s ease;
}
.btn-solid:hover{background:rgba(252,251,248,0.85);transform:translateY(-0.5px)}

/* Hamburger: 3 linhas — top/middle full, bottom shorter, alinhado esquerda */
.hamburger{
    display:none;flex-direction:column;align-items:flex-start;
    justify-content:center;gap:5px;
    width:44px;height:44px;padding:10px 8px;
    border-radius:8px;z-index:101;
}
.hamburger:hover{background:rgba(252,251,248,0.05)}
.hamburger span{
    display:block;height:2px;background:#FCFBF8;border-radius:2px;
    transition:transform .35s cubic-bezier(.215,.61,.355,1),opacity .2s ease,width .25s ease;
}
.hamburger span:nth-child(1){width:100%}
.hamburger span:nth-child(2){width:100%}
.hamburger span:nth-child(3){width:60%}
/* Active → × */
.hamburger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-active span:nth-child(2){opacity:0;width:0}
.hamburger.is-active span:nth-child(3){width:100%;transform:translateY(-7px) rotate(-45deg)}

.hide-mobile{}

/* Mobile overlay */
.mobile-overlay{position:fixed;inset:0;z-index:99;background:rgba(19,18,22,0.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.215,.61,.355,1)}
.mobile-overlay.is-open{opacity:1;pointer-events:all}
.mobile-nav{display:flex;flex-direction:column;align-items:center;gap:8px}
.mobile-link{font-size:30px;font-weight:500;padding:12px 24px;border-radius:16px;letter-spacing:-.02em;color:#FCFBF8;transform:translateY(20px);opacity:0;transition:transform .3s cubic-bezier(.215,.61,.355,1),opacity .3s cubic-bezier(.215,.61,.355,1),background .15s ease}
.mobile-link:hover{background:rgba(252,251,248,0.06)}
.mobile-overlay.is-open .mobile-link{transform:translateY(0);opacity:1}
.mobile-overlay.is-open .mobile-link:nth-child(1){transition-delay:60ms}
.mobile-overlay.is-open .mobile-link:nth-child(2){transition-delay:120ms}
.mobile-overlay.is-open .mobile-link:nth-child(3){transition-delay:180ms}
.mobile-overlay.is-open .mobile-link:nth-child(4){transition-delay:240ms}
.mobile-cta{margin-top:24px;padding:14px 32px;font-size:16px;border-radius:9999px;transform:translateY(20px);opacity:0;transition:transform .3s cubic-bezier(.215,.61,.355,1) 300ms,opacity .3s cubic-bezier(.215,.61,.355,1) 300ms}
.mobile-overlay.is-open .mobile-cta{transform:translateY(0);opacity:1}


/* ========================
   HERO
   ======================== */
.hero{
    position:relative;
    min-height:100vh;min-height:100dvh;
    padding:calc(64px + 10vh) 24px 80px;
    display:flex;flex-direction:column;align-items:center;
    justify-content:center;
    overflow:hidden;
}
.hero-bg{position:absolute;inset:0;overflow:hidden;background:#131216}
.hero-bg-image{
    position:absolute;inset:0;
    /* padrão Lovable: stops uniformes (~5%) = rampa contínua e líquida.
       progressão direcional escuro→roxo→rosa (sem voltar), cores vivas, alinhada à logo */
    background:linear-gradient(180deg,
        #131216 0%,
        #181523 5%,
        #201934 10%,
        #2b1d47 15%,
        #381f5a 20%,
        #46226a 25%,
        #552477 30%,
        #652682 35%,
        #76288a 40%,
        #882a8f 45%,
        #9a2d8f 50%,
        #ab308a 55%,
        #bb3583 60%,
        #c83c7c 65%,
        #cf4475 70%,
        #c8456f 75%,
        #b04268 80%,
        #8a3a5e 85%,
        #5c2f4a 90%,
        #2e2233 95%,
        #131216 100%
    );
}
.hero-bg-gradient{
    position:absolute;inset:0;
    /* só emenda topo (header) e base (próxima seção) sem furar o meio */
    background:linear-gradient(180deg,
        rgba(19,18,22,0.7) 0%,
        transparent 14%,
        transparent 88%,
        #131216 100%
    );
}


.hero-badge{
    position:relative;z-index:1;
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 12px 8px 8px;margin-bottom:32px;
    border-radius:9999px;font-size:14px;font-weight:480;line-height:21px;
    color:#FCFBF8;
    background:rgba(10,10,14,0.65);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    box-shadow:rgba(0,0,0,0.6) 0 0 0 0.5px,rgba(252,251,248,0.08) 0 0 0 0.5px inset;
    opacity:0;transform:translateY(12px);animation:fadeUp .6s cubic-bezier(.215,.61,.355,1) .15s forwards;
    transition:background .15s ease,transform .15s ease;
}
.hero-badge:hover{background:rgba(10,10,14,0.75);transform:translateY(-1px)}
/* Badge tag — neutro, sem cor accent por enquanto */
.badge-tag{display:inline-block;padding:4px 8px;font-size:12px;font-weight:600;line-height:18px;border-radius:9999px;background:#2C2A33;color:#FCFBF8;box-shadow:inset 0 0 0 0.5px rgba(252,251,248,0.15)}
.badge-text{font-size:14px;font-weight:480;line-height:21px}
.hero-badge svg{width:16px;height:16px;opacity:.4;flex-shrink:0}

.hero-title-wrap{
    position:relative;z-index:1;text-align:center;
    padding:0 16px;margin-bottom:40px;
    display:flex;flex-direction:column;align-items:center;
    opacity:0;transform:translateY(20px);animation:fadeUp .7s cubic-bezier(.215,.61,.355,1) .3s forwards;
}
.hero-title{font-size:48px;font-weight:600;line-height:48px;letter-spacing:-0.04em;margin-bottom:16px}
.hero-sub{font-size:20px;line-height:25px;color:rgba(252,251,248,0.65)}

.hero-card-wrap{
    position:relative;z-index:1;width:100%;max-width:768px;
    opacity:0;transform:translateY(20px);animation:fadeUp .7s cubic-bezier(.215,.61,.355,1) .55s forwards;
}
/* Prompt card — #272725 */
.hero-card{
    width:100%;background:#272725;border-radius:28px;
    border:0.8px solid rgba(252,251,248,0.06);
    padding:12px;display:flex;flex-direction:column;gap:8px;
    box-shadow:rgba(0,0,0,0.7) 0 0 0 1px,rgba(0,0,0,0.1) 0 20px 25px -5px,rgba(0,0,0,0.1) 0 8px 10px -6px;
    color:#FCFBF8;
}
.hero-card-body{flex:1;min-height:80px;padding:4px 4px 0;display:flex;align-items:flex-start}
.hero-card-placeholder{font-size:16px;line-height:24px;color:rgba(252,251,248,0.45)}
.hero-card-footer{display:flex;align-items:center;justify-content:space-between;height:36px}

.typing-cursor{display:inline-block;width:2px;height:18px;background:rgba(252,251,248,0.4);margin-left:1px;animation:blink 1s step-end infinite;vertical-align:text-bottom}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* + button with circle frame */
.card-btn-framed{
    width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:9999px;color:rgba(252,251,248,0.35);
    box-shadow:inset 0 0 0 0.8px rgba(252,251,248,0.15);
    transition:color .15s ease,box-shadow .15s ease;
}
.card-btn-framed:hover{color:rgba(252,251,248,0.6);box-shadow:inset 0 0 0 0.8px rgba(252,251,248,0.3)}

.card-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;transition:background .15s ease}
.card-btn:hover{background:rgba(252,251,248,0.06)}
.card-btn-icon{color:rgba(252,251,248,0.35)}
.card-btn-icon:hover{color:rgba(252,251,248,0.6)}
.card-label{
    display:inline-flex;align-items:center;justify-content:center;
    gap:2px;height:32px;font-size:14px;line-height:21px;font-weight:480;
    color:rgba(252,251,248,0.65);padding:6px 10px;border-radius:9999px;white-space:nowrap;
    transition:background .15s ease;
}
.card-label:hover{background:rgba(252,251,248,0.06)}
.card-label svg{width:12px;height:12px;opacity:.5}
.card-btn-send{color:#131216;background:rgba(252,251,248,0.75)}
.card-btn-send:hover{background:rgba(252,251,248,0.9)}
.card-footer-right{display:flex;align-items:center;gap:4px}


/* ========================
   TRUST STRIP
   ======================== */
.trust{padding:80px 0;overflow:hidden}
.trust-label{font-size:16px;line-height:24px;font-weight:400;color:rgba(252,251,248,0.5);text-align:center;margin-bottom:32px;max-width:1024px;margin-left:auto;margin-right:auto}
.trust-track-wrap{max-width:1024px;margin:0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.trust-logos{width:100%;overflow:hidden}
.trust-track{display:flex;gap:64px;animation:marquee 18s linear infinite;width:max-content}
.trust-logo-item{font-size:20px;font-weight:600;letter-spacing:-0.02em;color:#F1F0ED;white-space:nowrap;flex-shrink:0;line-height:32px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}


/* ========================
   SECTIONS
   ======================== */
.section{padding:120px 0;position:relative}
.section-header-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px}
.section-title{font-size:48px;font-weight:600;line-height:52.8px;letter-spacing:-1.2px;margin-bottom:10px}
.section-sub{font-size:18px;line-height:24.75px;color:rgba(252,251,248,0.55)}
.section-sub-spaced{margin-bottom:40px}
.btn-view-all{
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;line-height:21px;font-weight:480;
    padding:6px 10px;border-radius:8px;white-space:nowrap;
    color:#FCFBF8;box-shadow:inset 0 0 0 1px rgba(252,251,248,0.18);
    transition:box-shadow .15s ease,background .15s ease;flex-shrink:0;
}
.btn-view-all:hover{background:rgba(252,251,248,0.04)}


/* ========================
   SOBRE — showcase extends past steps
   ======================== */
.about-split{display:flex;gap:48px;align-items:center;margin-top:40px}
.about-showcase{
    flex:1.6;min-height:520px;
    background:#2C2A33;border-radius:24px;
    border:0.5px solid rgba(252,251,248,0.05);
    overflow:hidden;padding:24px;
    align-self:stretch;
}
.mockup-browser{background:#F4F5F7;border-radius:12px;overflow:hidden;border:1px solid rgba(252,251,248,0.06);height:100%}
.mockup-topbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#e8e8ec}
.mockup-dot{width:8px;height:8px;border-radius:50%;background:rgba(44,42,51,0.25);flex-shrink:0}
.mockup-url{flex:1;height:6px;background:rgba(0,0,0,0.06);border-radius:3px;max-width:120px}
.mockup-tabs{height:6px;width:80px;background:rgba(0,0,0,0.04);border-radius:3px;margin-left:auto}
.mockup-content{padding:12px;display:flex;flex-direction:column;height:calc(100% - 36px)}
.mockup-hero-grad{height:120px;border-radius:8px;margin-bottom:12px;flex-shrink:0;background:linear-gradient(135deg,#2C2A33 0%,#3a3745 30%,#524c66 60%,#665b8c 100%)}
.mockup-cards-row{display:flex;gap:8px;margin-bottom:12px;flex-shrink:0}
.mockup-card-sm{flex:1;padding:10px;border-radius:6px;background:rgba(44,42,51,0.04);display:flex;align-items:center;gap:6px}
.mockup-circle{width:10px;height:10px;border-radius:50%;background:rgba(44,42,51,0.15);flex-shrink:0}
.mockup-bar{height:5px;flex:1;background:rgba(44,42,51,0.08);border-radius:3px}
.mockup-bottom-row{display:flex;gap:12px;flex:1}
.mockup-chart{flex:1;display:flex;align-items:flex-end;gap:4px;padding:8px;background:rgba(44,42,51,0.03);border-radius:6px}
.mockup-chart-bar{flex:1;background:rgba(44,42,51,0.1);border-radius:2px 2px 0 0;min-height:4px}
.mockup-lines{flex:1;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:8px}
.mockup-line{height:5px;background:rgba(44,42,51,0.07);border-radius:3px}

.about-steps{flex:1;max-width:512px;display:flex;flex-direction:column}
.about-step{margin-bottom:32px;opacity:0.5;transition:opacity .3s cubic-bezier(.215,.61,.355,1);cursor:pointer}
.about-step:last-child{margin-bottom:0}
.about-step.is-active{opacity:1}
.about-step-title{font-size:36px;font-weight:600;line-height:39.6px;letter-spacing:-0.9px;margin-bottom:8px}
.about-step-text{font-size:18px;line-height:24.75px;color:rgba(252,251,248,0.55)}


/* ========================
   ATUAÇÃO
   ======================== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-article{border-radius:16px;overflow:hidden;transition:transform .2s ease;cursor:pointer}
.service-article:hover{transform:translateY(-2px)}
.service-article-img{width:100%;aspect-ratio:314/177;background:#2C2A33;border-radius:16px;margin-bottom:8px;overflow:hidden;border:0.5px solid rgba(252,251,248,0.08)}
.service-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(252,251,248,0.15);background:#2C2A33}
.service-article-text{padding:0 4px}
.service-article-title{font-size:14px;font-weight:600;line-height:21px;margin-bottom:2px;color:#FCFBF8}
.service-article-desc{font-size:14px;line-height:21px;color:rgba(252,251,248,0.5)}


/* ========================
   STATS — numbers top-left
   ======================== */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.stat-card{
    background:#2C2A33;border-radius:24px;
    border:0.5px solid rgba(252,251,248,0.08);
    padding:24px 20px;min-height:276px;
    display:flex;flex-direction:column;justify-content:space-between;
    transition:border-color .2s ease;
}
.stat-card:hover{border-color:rgba(252,251,248,0.12)}
.stat-number{font-size:60px;font-weight:480;line-height:60px;letter-spacing:-0.03em;color:#FCFBF8}
.stat-label{font-size:16px;font-weight:400;line-height:24px;color:rgba(252,251,248,0.55)}


/* ========================
   BOTTOM BLOCK — preto em cima (emenda na seção anterior) → clareia descendo
   ======================== */
.bottom-block{position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;pointer-events:none}
.cta-bg-gradient{
    position:absolute;inset:0;
    /* mesma paleta viva do hero, stops uniformes; começa no preto (emenda a seção anterior)
       e abre roxo→magenta/rosa descendo até o footer */
    background:linear-gradient(180deg,
        #131216 0%,
        #131216 8%,
        #181523 13%,
        #211934 18%,
        #2d1d47 23%,
        #3a1f5a 28%,
        #49226a 33%,
        #592477 38%,
        #6a2682 43%,
        #7c288a 48%,
        #8e2a8f 53%,
        #a02d8f 58%,
        #b1308a 63%,
        #bf3583 68%,
        #c93c7c 73%,
        #cf4377 78%,
        #c8456f 84%,
        #be4369 90%,
        #b54165 100%
    );
}
.cta-container{position:relative;z-index:1;max-width:768px;margin:0 auto;padding:160px 24px 160px;display:flex;flex-direction:column;align-items:center;text-align:center}
.cta-supra{font-size:20px;font-weight:400;line-height:30px;margin-bottom:8px;color:rgba(252,251,248,0.6)}
.cta-title{font-size:60px;font-weight:600;line-height:66px;letter-spacing:-1.5px;margin-bottom:32px}
.cta-card-wrap{width:100%}


/* ========================
   FOOTER — card #272725, all text #FCFBF8
   ======================== */
.footer{position:relative;z-index:1;padding:0 0 40px}
.footer-card{background:#272725;border-radius:16px;padding:56px}
.footer-nav{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:24px;margin-bottom:56px}
.footer-brand{display:flex;flex-direction:column;gap:12px}
.footer-tagline{font-size:14px;line-height:21px;color:rgba(252,251,248,0.5);margin-top:4px}
.footer-contact-info{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:14px;line-height:21px;color:rgba(252,251,248,0.45)}
.footer-contact-info a{color:rgba(252,251,248,0.45);transition:color .15s ease}
.footer-contact-info a:hover{color:#FCFBF8}
.footer-col{display:flex;flex-direction:column;gap:12px}
.footer-heading{font-size:14px;font-weight:400;line-height:21px;color:rgba(252,251,248,0.5);margin-bottom:4px}
.footer-link{font-size:14px;line-height:21px;color:#FCFBF8;transition:opacity .15s ease}
.footer-link:hover{opacity:0.7}
.footer-social-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:21px;color:#FCFBF8;transition:opacity .15s ease}
.footer-social-link:hover{opacity:0.7}
.footer-social-link svg{width:16px;height:16px;flex-shrink:0}
.footer-bottom{padding-top:32px;border-top:0.5px solid rgba(252,251,248,0.08)}
.footer-copy{font-size:14px;line-height:21px;color:rgba(252,251,248,0.4)}


/* ========================
   WHATSAPP
   ======================== */
.whatsapp-float{
    position:fixed;bottom:24px;right:24px;z-index:90;
    width:56px;height:56px;display:flex;align-items:center;justify-content:center;
    background:#25D366;color:#fff;border-radius:50%;
    box-shadow:0 4px 16px rgba(37,211,102,0.35);
    transition:transform .15s ease,box-shadow .15s ease;
}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 24px rgba(37,211,102,0.4)}


/* ========================
   ANIMATIONS
   ======================== */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.section,.trust,.bottom-block{opacity:0;transform:translateY(32px);animation:fadeUp .8s cubic-bezier(.215,.61,.355,1) forwards;animation-play-state:paused}
.section.is-visible,.trust.is-visible,.bottom-block.is-visible{animation-play-state:running}


/* ========================
   RESPONSIVE
   ======================== */
@media(max-width:1024px){
    .logo{margin-right:24px}
    .about-split{flex-direction:column;gap:32px}
    .about-showcase{min-height:auto;align-self:auto}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card{min-height:200px}
    .footer-nav{grid-template-columns:1.5fr repeat(2,1fr);gap:32px}
    .footer-card{padding:40px}
    .section-title{font-size:36px;line-height:40px;letter-spacing:-0.8px}
    .cta-title{font-size:42px;line-height:48px;letter-spacing:-1px}
    .about-step-title{font-size:28px;line-height:32px;letter-spacing:-0.6px}
}
@media(max-width:768px){
    .nav,.hide-mobile{display:none}
    .hamburger{display:flex}
    .hero{padding:100px 24px 60px}
    .hero-title{font-size:36px;line-height:40px}
    .hero-sub{font-size:18px;line-height:23px}
    .hero-card{border-radius:24px}
    .section{padding:80px 0}
    .section-header-row{flex-direction:column;align-items:flex-start;gap:16px}
    .services-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:auto;padding:20px 16px}
    .cta-container{padding:100px 24px 100px}
    .footer-nav{grid-template-columns:1fr 1fr;gap:24px}
    .footer-card{padding:32px 24px;border-radius:12px}
}
@media(max-width:480px){
    .hero{padding:72px 16px 48px}
    .hero-title{font-size:30px;line-height:34px;letter-spacing:-.03em}
    .hero-sub{font-size:16px;line-height:22px;max-width:28ch}
    .badge-text{font-size:12px}
    .section-title{font-size:28px;line-height:34px}
    .cta-title{font-size:32px;line-height:38px}
    .stat-number{font-size:42px;line-height:48px}
    .about-step-title{font-size:24px;line-height:28px}
    .services-grid{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:1fr}
    .footer-nav{grid-template-columns:1fr;gap:20px}
}
