/* ═══════════════════════════════════════════════════════
   MCB ENGENHARIA — DESIGN SYSTEM v6.0 — IDENTIDADE
   Eng. Mateus Cunha Bittencourt · Rio de Janeiro · 2006
   ═══════════════════════════════════════════════════════ */

/* ─── TOKENS — alinhados ao Manual de Marca MCB 2025 ─── */
:root {
    /* Paleta oficial IDV */
    --azul:           #1A2942;  /* Azul Estrutural */
    --azul-rgb:       26,41,66;
    --azul-deep:      #0F1A2B;  /* derivado escuro para fundos */
    --cinza:          #5E5E5E;  /* Cinza Concreto */
    --branco:         #F4F4F4;  /* Branco Técnico */
    --gold:           #D6A741;  /* Amarelo Estrutural */
    --gold-rgb:       214,167,65;
    --gold-light:     #E8C56D;
    --grafite:        #2F2F2F;  /* Grafite Urbano */
    --azul-ap:        #93A9C9;  /* Azul Apoio */
    --cinza-ap:       #E1E1E1;  /* Cinza Apoio */

    --font-head: 'Orbitron', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;
    --font-mono: 'Space Mono', 'Courier New', monospace;

    --ease: cubic-bezier(.22,1,.36,1);
    --ease-out: cubic-bezier(.16,1,.3,1);
    --ease-hover: cubic-bezier(.25,.46,.45,.94);

    --shadow-sm: 0 1px 3px rgba(0,0,0,.05);
    --shadow-md: 0 4px 16px rgba(0,0,0,.08);
    --shadow-lg: 0 12px 40px rgba(0,0,0,.1);
    --shadow-xl: 0 24px 64px rgba(0,0,0,.12);
    --shadow-gold: 0 8px 32px rgba(var(--gold-rgb),.25);

    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-xl: 24px;
    --r-2xl: 32px;
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-padding-top:80px}
body{font-family:var(--font-body);color:var(--grafite);background:var(--branco);line-height:1.6;overflow-x:hidden}

/* ─── PREMIUM DETAILS ─── */
::selection{background:rgba(var(--gold-rgb),.18);color:var(--azul)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--branco)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-light)}
img{max-width:100%;display:block;object-fit:cover}
img[loading="lazy"]{opacity:0;transform:scale(1.04);filter:blur(6px);transition:opacity 1.2s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease)}
img[loading="lazy"].loaded,img[loading="lazy"][data-loaded]{opacity:1;transform:scale(1);filter:blur(0)}
a{text-decoration:none;color:inherit;transition:color .4s var(--ease), border-color .4s var(--ease)}
button,input,textarea,select{font:inherit;border:none;outline:none;background:none}
button{cursor:pointer}

/* ─── SCROLL PROGRESS BAR ─── */
.scroll-progress{
    position:fixed;top:0;left:0;z-index:10001;
    height:3px;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-light));
    transition:width .15s linear;box-shadow:0 0 8px rgba(var(--gold-rgb),.4);
}

/* ─── PRELOADER ─── */
.preloader{
    position:fixed;inset:0;z-index:10000;background:var(--azul);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .6s var(--ease), visibility .6s;
}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.preloader__inner{text-align:center}
.preloader__logo{
    font-family:var(--font-head);font-size:2.4rem;font-weight:900;
    color:var(--gold);letter-spacing:.15em;margin-bottom:8px;
}
.preloader__coords{
    font-family:var(--font-mono);font-size:.7rem;font-weight:400;
    color:var(--azul-ap);letter-spacing:.15em;
    margin-bottom:24px;opacity:.6;
}
.preloader__bar{
    width:120px;height:2px;background:rgba(255,255,255,.1);
    border-radius:4px;overflow:hidden;margin:0 auto;
}
.preloader__fill{
    height:100%;width:0;background:var(--gold);border-radius:4px;
    animation:preload 1.2s var(--ease) forwards;
}
@keyframes preload{to{width:100%}}

/* ─── LAYOUT ─── */
.container{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}
.section{padding:120px 0;position:relative}
.section--dark{
    background:linear-gradient(180deg, #0c1825 0%, var(--azul-deep) 50%, #0c1825 100%);
    color:#fff;
    border-top:1px solid rgba(var(--gold-rgb),.15);
    border-bottom:1px solid rgba(var(--gold-rgb),.15);
}
.section--light{background:var(--branco)}

.section--proof{padding:100px 0}
.section--quote{
    padding:80px 0;
    background:var(--branco);
    position:relative;
}

.section__header{text-align:center;margin-bottom:64px}
.section__subtitle{max-width:560px;margin:16px auto 0}

/* ─── SECTION MARKERS (engineering numbering) ─── */
.section-marker{
    display:flex;align-items:center;gap:16px;
    margin-bottom:48px;
}
.section-marker__num{
    font-family:var(--font-mono);font-size:.72rem;font-weight:700;
    color:var(--gold);letter-spacing:.08em;
    width:36px;height:36px;border-radius:50%;
    border:1.5px solid rgba(var(--gold-rgb),.3);
    display:flex;align-items:center;justify-content:center;
}
.section-marker__line{
    flex:1;height:1px;
    background:linear-gradient(90deg, rgba(var(--gold-rgb),.2), transparent);
    max-width:120px;
}
.section-marker__label{
    font-family:var(--font-mono);font-size:.65rem;font-weight:400;
    color:var(--cinza);letter-spacing:.15em;text-transform:uppercase;
}
.section-marker--light .section-marker__num{
    color:var(--gold);border-color:rgba(var(--gold-rgb),.2);
}
.section-marker--light .section-marker__line{
    background:linear-gradient(90deg, rgba(var(--gold-rgb),.15), transparent);
}
.section-marker--light .section-marker__label{color:var(--azul-ap)}

/* ─── TYPOGRAPHY ─── */
.heading-2{
    font-family:var(--font-head);font-weight:700;
    font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.2;
    letter-spacing:-.02em;color:var(--azul);
}
.heading-2--light{color:#fff}
.gold{color:var(--gold)}

.body{color:var(--cinza);font-size:1rem;line-height:1.75}
.body--light{color:rgba(255,255,255,.6)}
.body-lg{font-size:1.1rem;line-height:1.8;color:var(--grafite);margin-bottom:16px}
.body-lg strong{color:var(--azul);font-weight:700}

.tag{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--font-head);font-size:.65rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.18em;color:var(--gold);
    margin-bottom:16px;
}
.tag::before{content:'';width:24px;height:2px;background:var(--gold);border-radius:2px}
.tag--light{color:var(--gold)}

/* ─── BUTTONS ─── */
.btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--font-head);font-size:.72rem;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;
    padding:16px 32px;border-radius:var(--r-sm);
    transition:
        background .5s var(--ease),
        color .5s var(--ease),
        transform .55s var(--ease),
        box-shadow .55s var(--ease),
        border-color .5s var(--ease);
    position:relative;white-space:nowrap;
    will-change:transform;
}
.btn svg{transition:transform .45s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(1px) scale(.97);transition-duration:.12s}

.btn--primary{
    background:var(--gold);color:var(--azul);
    box-shadow:var(--shadow-gold);
}
.btn--primary:hover{
    background:var(--gold-light);
    transform:translateY(-3px);
    box-shadow:0 16px 48px rgba(var(--gold-rgb),.38);
}
.btn--primary:active{transform:translateY(0) scale(.97);box-shadow:var(--shadow-gold);transition-duration:.12s}

.btn--outline{
    border:1.5px solid rgba(255,255,255,.3);color:#fff;
    backdrop-filter:blur(4px);
}
.btn--outline:hover{border-color:var(--gold);color:var(--gold)}

.btn--wpp{background:rgba(37,211,102,.15);color:#25D366;border:1.5px solid rgba(37,211,102,.3)}
.btn--wpp:hover{background:#25D366;color:#fff;border-color:#25D366}
.btn--wpp svg{transition:none}
.btn--wpp:hover svg path{fill:#fff}
.btn--wpp:active{transform:translateY(0) scale(.97);transition-duration:.12s}

.btn--sm{padding:12px 24px;font-size:.68rem}
.btn--lg{padding:18px 36px;font-size:.76rem}
.btn--full{width:100%;justify-content:center}
.btn--full.success{background:#059669;box-shadow:0 8px 32px rgba(5,150,105,.25);pointer-events:none}

/* ─── NAV ─── */
.nav{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    transition:background .4s var(--ease);
}
.nav::after{
    content:'';position:absolute;inset:0;
    background:rgba(var(--azul-rgb),.95);backdrop-filter:blur(20px) saturate(1.4);
    border-bottom:1px solid rgba(255,255,255,.06);
    opacity:0;transition:opacity .4s var(--ease);
}
.nav.scrolled::after{opacity:1}

.nav__container{
    max-width:1200px;margin:0 auto;padding:0 24px;
    height:72px;display:flex;align-items:center;
    justify-content:space-between;position:relative;z-index:2;
}

/* Logo seal with CREA/since metadata */
.nav__logo{
    display:flex;align-items:center;gap:12px;
    text-decoration:none;
    transition:transform .5s var(--ease);
}
.nav__logo:hover{transform:translateY(-1px)}
.nav__logo-seal{
    display:flex;flex-direction:column;align-items:flex-start;
    border-left:2px solid var(--gold);padding-left:10px;
}
.nav__logo-name{
    font-family:var(--font-head);font-weight:900;font-size:1.3rem;
    color:#fff;letter-spacing:.1em;line-height:1;
}
.nav__logo-sub{
    font-family:var(--font-head);font-size:.48rem;font-weight:600;
    color:var(--gold);letter-spacing:.25em;line-height:1;margin-top:3px;
}
.nav__logo-meta{
    display:flex;flex-direction:column;gap:2px;
}
.nav__logo-crea,.nav__logo-since{
    font-family:var(--font-mono);font-size:.52rem;font-weight:400;
    color:rgba(255,255,255,.35);letter-spacing:.08em;
}

.nav__menu{display:flex;align-items:center;gap:4px}
.nav__link{
    font-size:.8rem;font-weight:500;color:rgba(255,255,255,.55);
    padding:8px 16px;border-radius:6px;
    transition:color .4s var(--ease), background .4s var(--ease);
}
.nav__link:hover,.nav__link.active{color:#fff}
.nav__link:hover{background:rgba(255,255,255,.04)}
.nav__link.active{background:rgba(255,255,255,.07)}
.nav__link--cta{
    background:var(--gold);color:var(--azul) !important;
    padding:10px 20px;font-weight:700;
    display:inline-flex;align-items:center;gap:6px;
    margin-left:12px;border-radius:var(--r-sm);
    transition:background .4s var(--ease), transform .4s var(--ease), color .4s var(--ease);
}
.nav__link--cta:hover{background:var(--gold-light);transform:translateY(-2px)}
.nav__link--cta:active{transform:translateY(0);transition-duration:.12s}

.nav__burger{display:none;width:36px;height:36px;position:relative;z-index:10}
.nav__burger span{
    position:absolute;left:6px;height:2px;width:24px;background:#fff;
    border-radius:2px;transition:all .3s var(--ease);
}
.nav__burger span:nth-child(1){top:10px}
.nav__burger span:nth-child(2){top:17px;width:16px}
.nav__burger span:nth-child(3){top:24px}
.nav__burger.active span:nth-child(1){transform:rotate(45deg);top:17px}
.nav__burger.active span:nth-child(2){opacity:0;width:0}
.nav__burger.active span:nth-child(3){transform:rotate(-45deg);top:17px}

/* ─── HERO ─── */
.hero{
    position:relative;min-height:100vh;min-height:100dvh;
    display:flex;flex-direction:column;overflow:hidden;
}
.hero__bg{position:absolute;inset:0}
.hero__img{
    width:100%;height:100%;object-fit:cover;
    animation:heroZoom 25s ease-in-out infinite alternate;
    filter:brightness(.85) saturate(.9);
}
@keyframes heroZoom{
    0%{transform:scale(1)}
    100%{transform:scale(1.08)}
}
.hero__overlay{
    position:absolute;inset:0;
    background:
        linear-gradient(180deg,
            rgba(var(--azul-rgb),.88) 0%,
            rgba(var(--azul-rgb),.7) 40%,
            rgba(var(--azul-rgb),.85) 100%
        ),
        linear-gradient(135deg,
            rgba(var(--azul-rgb),.5) 0%,
            transparent 60%
        );
}

/* Blueprint grid overlay */
.hero__grid{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, black 20%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, black 20%, transparent 70%);
    animation:gridFade 4s ease-in-out infinite alternate;
}
@keyframes gridFade{
    0%{opacity:.6}
    100%{opacity:1}
}

/* Hero corner brackets decorative */
.hero__corner{
    position:absolute;z-index:2;pointer-events:none;
    width:60px;height:60px;
    border-color:rgba(var(--gold-rgb),.15);
    border-style:solid;
    border-width:0;
    opacity:0;transition:opacity 1.5s var(--ease);
}
.hero__corner--tl{top:80px;left:40px;border-top-width:1px;border-left-width:1px}
.hero__corner--tr{top:80px;right:40px;border-top-width:1px;border-right-width:1px}
.hero__corner--bl{bottom:100px;left:40px;border-bottom-width:1px;border-left-width:1px}
.hero__corner--br{bottom:100px;right:40px;border-bottom-width:1px;border-right-width:1px}
.hero--loaded .hero__corner{opacity:1}

.hero__content{
    position:relative;z-index:2;flex:1;
    display:flex;flex-direction:column;align-items:center;
    justify-content:center;text-align:center;
    max-width:800px;margin:0 auto;padding:120px 24px 40px;
}

.hero__badge{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--font-head);font-size:.6rem;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;
    color:var(--azul-ap);
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
    padding:8px 20px;border-radius:100px;
    backdrop-filter:blur(8px);
    margin-bottom:32px;
}
.hero__badge-dot{
    width:8px;height:8px;border-radius:50%;background:var(--gold);
    animation:pulse 2s ease-in-out infinite;
}
.hero__badge-coord{
    font-family:var(--font-mono);font-size:.6rem;color:rgba(255,255,255,.4);
    letter-spacing:.1em;
}
.hero__badge-sep{color:rgba(255,255,255,.2)}
@keyframes pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(var(--gold-rgb),.4)}
    50%{box-shadow:0 0 0 8px rgba(var(--gold-rgb),0)}
}

.hero__title{
    font-family:var(--font-head);font-weight:800;
    font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.1;
    letter-spacing:-.03em;color:#fff;
    margin-bottom:24px;
}
.hero__title--gold{
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%);
    background-size:200% auto;
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;
    animation:shimmer 4s ease-in-out infinite;
}
@keyframes shimmer{
    0%,100%{background-position:0% center}
    50%{background-position:200% center}
}

.hero__sub{
    font-size:clamp(.95rem,1.6vw,1.15rem);color:var(--azul-ap);
    line-height:1.8;max-width:600px;margin-bottom:40px;
}

.hero__actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}

/* Stats bar */
.hero__stats{
    position:relative;z-index:2;
    background:rgba(255,255,255,.04);
    border-top:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
}
.hero__stats-inner{
    max-width:1200px;margin:0 auto;padding:28px 24px;
    display:flex;align-items:center;justify-content:center;gap:48px;
}
.stat{display:flex;align-items:center;gap:4px}
.stat__num{
    font-family:var(--font-head);font-size:2.2rem;font-weight:800;
    color:var(--gold);line-height:1;
}
.stat__plus{
    font-family:var(--font-head);font-size:.85rem;font-weight:700;
    color:var(--gold);margin-top:-8px;
}
.stat__label{
    font-size:.75rem;color:var(--azul-ap);line-height:1.35;
    margin-left:12px;white-space:nowrap;
}
.stat__sep{width:1px;height:32px;background:rgba(255,255,255,.1)}

/* ─── TRUST BAR ─── */
.trust-bar{
    background:var(--azul);border-bottom:1px solid rgba(255,255,255,.05);
}
.trust-bar__inner{
    max-width:1200px;margin:0 auto;padding:16px 24px;
    display:flex;align-items:center;justify-content:center;gap:40px;
    flex-wrap:wrap;
}
.trust-bar__item{
    display:flex;align-items:center;gap:10px;
    font-size:.75rem;font-weight:500;color:var(--azul-ap);
    letter-spacing:.02em;
    padding:0 20px;
    border-right:1px solid rgba(255,255,255,.06);
    transition:color .5s var(--ease);
}
.trust-bar__item:last-child{border-right:none}
.trust-bar__item:hover{color:#fff}
.trust-bar__item svg{color:var(--gold);flex-shrink:0;transition:transform .5s var(--ease)}
.trust-bar__item:hover svg{transform:scale(1.15)}

/* ─── SECTION DIVIDERS ─── */
.section-divider{
    text-align:center;padding:0;
    position:relative;overflow:hidden;
    height:80px;display:flex;align-items:center;justify-content:center;
}
.section-divider__line{
    width:120px;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.section-divider__dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--gold);margin:0 16px;
    box-shadow:0 0 12px rgba(var(--gold-rgb),.3);
}

/* ─── ABOUT ─── */
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.about__media{position:relative}
.about__img-wrap{
    position:relative;border-radius:var(--r-xl);overflow:hidden;
    aspect-ratio:4/5;
}
.about__img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 1.2s var(--ease),filter 1.2s var(--ease);
    will-change:transform;
    filter:brightness(.95) saturate(.95);
}
.about__img-wrap:hover .about__img{transform:scale(1.05);filter:brightness(1) saturate(1)}
.about__img-accent{
    position:absolute;inset:-2px;border-radius:inherit;
    border:2px solid rgba(var(--gold-rgb),.15);pointer-events:none;
    transition:border-color .8s var(--ease), box-shadow .8s var(--ease);
}
.about__img-wrap:hover .about__img-accent{
    border-color:rgba(var(--gold-rgb),.35);
    box-shadow:inset 0 0 40px rgba(var(--gold-rgb),.05);
}

/* Engineering stamp / seal */
.about__stamp{
    position:absolute;bottom:-20px;right:-20px;
    width:130px;height:130px;
    border-radius:50%;
    background:var(--azul-deep);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--gold-rgb),.2);
    transition:scale .45s var(--ease), box-shadow .45s var(--ease);
    animation:stampFloat 10s ease-in-out infinite;
    z-index:10;
}
.about__stamp-svg{
    width:100%;height:100%;
}
.about__stamp:hover{
    scale:1.05;
    box-shadow:0 20px 56px rgba(0,0,0,.5), 0 0 0 2px rgba(var(--gold-rgb),.45);
}
@keyframes stampFloat{
    0%,100%{translate:0 0}
    50%{translate:0 -8px}
}

.about__text .heading-2{margin-bottom:24px}
.about__text .body{margin-bottom:24px}

.about__features{display:flex;flex-direction:column;gap:14px;margin-top:32px}
.about__feat{display:flex;align-items:center;gap:14px;font-size:.9rem;font-weight:500;color:var(--grafite);
    transition:transform .5s var(--ease), color .5s var(--ease);
}
.about__feat:hover{transform:translateX(6px);color:var(--azul)}
.about__feat svg{transition:transform .5s var(--ease)}
.about__feat:hover svg{transform:scale(1.15)}

/* ─── EXPERIENCE COUNTER (inline) ─── */
.about__experience{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:40px;
    padding-top:32px;
    border-top:1px solid var(--cinza-ap);
    gap:0;
}
.about__exp-item{
    display:flex;flex-direction:column;align-items:center;gap:4px;
    padding:0 16px;
    text-align:center;
}
.about__exp-item + .about__exp-item{
    border-left:1px solid var(--cinza-ap);
}
.about__exp-num{
    font-family:var(--font-head);font-size:2.2rem;font-weight:900;
    color:var(--azul);line-height:1;
    display:flex;align-items:baseline;gap:2px;
}
.about__exp-num span{color:var(--gold);font-size:1.2rem;font-weight:700}
.about__exp-label{
    font-size:.72rem;color:var(--cinza);letter-spacing:.02em;line-height:1.4;
}

/* ─── ENGENHEIRO QUOTE ─── */
.engquote{
    max-width:720px;margin:0 auto;text-align:center;
    position:relative;
    padding:48px 40px;
    border-left:3px solid var(--gold);
    border-right:3px solid var(--gold);
    border-radius:var(--r-xl);
    background:#fff;
    box-shadow:var(--shadow-lg);
    transition:transform .8s var(--ease), box-shadow .8s var(--ease);
}
.engquote:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-xl);
}
.engquote__mark{
    position:absolute;top:-20px;left:50%;transform:translateX(-50%);
    background:var(--branco);padding:0 20px;
}
.engquote__text{
    font-size:clamp(1.05rem,2vw,1.3rem);font-weight:400;
    color:var(--grafite);line-height:1.85;font-style:italic;
    margin:16px 0 32px;
}
.engquote__author{
    display:flex;align-items:center;justify-content:center;gap:20px;
}
.engquote__sign{display:flex;flex-direction:column}
.engquote__name{
    font-family:var(--font-head);font-size:.82rem;font-weight:700;
    color:var(--azul);letter-spacing:.02em;
}
.engquote__role{
    font-size:.72rem;color:var(--cinza);margin-top:2px;
}
.engquote__crea{
    padding:6px 14px;border-radius:100px;
    border:1.5px solid rgba(var(--gold-rgb),.3);
    font-family:var(--font-mono);font-size:.6rem;font-weight:700;
    color:var(--gold);letter-spacing:.1em;
}

/* ─── SERVICES ─── */
/* Featured service */
.svc-hero{
    display:grid;grid-template-columns:1.2fr 1fr;
    border-radius:var(--r-xl);overflow:hidden;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    margin-bottom:40px;
    transition:border-color .6s var(--ease), box-shadow .6s var(--ease);
    position:relative;
}
.svc-hero::before{
    content:'';position:absolute;z-index:1;pointer-events:none;
    width:400px;height:400px;border-radius:50%;
    background:radial-gradient(circle, rgba(var(--gold-rgb),.08), transparent 70%);
    left:var(--glow-x, -200px);top:var(--glow-y, -200px);
    transform:translate(-50%,-50%);
    opacity:0;transition:opacity .4s var(--ease);
}
.svc-hero:hover::before{opacity:1}
.svc-hero:hover{
    border-color:rgba(var(--gold-rgb),.15);
    box-shadow:0 24px 64px rgba(0,0,0,.2);
}
.svc-hero__img-wrap{overflow:hidden;position:relative}
.svc-hero__img{
    width:100%;height:100%;object-fit:cover;min-height:400px;
    transition:transform 1.6s var(--ease),filter 1.2s var(--ease);
    will-change:transform;
    filter:brightness(.9) saturate(.9);
}
.svc-hero:hover .svc-hero__img{transform:scale(1.06);filter:brightness(1) saturate(1.05)}
.svc-hero__content{padding:48px 40px;display:flex;flex-direction:column;justify-content:center}
.svc-hero__badge{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--font-head);font-size:.58rem;font-weight:700;
    background:rgba(var(--gold-rgb),.15);color:var(--gold);
    padding:6px 14px;border-radius:100px;letter-spacing:.1em;
    text-transform:uppercase;width:fit-content;margin-bottom:20px;
}
.svc-hero__title{
    font-family:var(--font-head);font-size:clamp(1.4rem,2.5vw,1.8rem);
    font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:-.01em;
}
.svc-hero__text{font-size:.92rem;color:rgba(255,255,255,.55);line-height:1.75;margin-bottom:20px}
.svc-hero__list{
    display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;
}
.svc-hero__list span{
    font-size:.7rem;font-weight:500;color:var(--azul-ap);
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    padding:6px 14px;border-radius:100px;
    transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease);
}
.svc-hero__list span:hover{
    background:rgba(var(--gold-rgb),.12);
    color:var(--gold);
    border-color:rgba(var(--gold-rgb),.25);
    transform:translateY(-2px);
}

/* Service grid */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{
    border-radius:var(--r-lg);overflow:hidden;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    transition:
        transform .55s var(--ease),
        border-color .6s var(--ease),
        box-shadow .6s var(--ease);
    position:relative;
    will-change:transform;
    transform-style:preserve-3d;
}
.svc:hover{
    transform:translateY(-10px);
    border-color:rgba(var(--gold-rgb),.2);
    box-shadow:0 24px 56px rgba(0,0,0,.25);
}
.svc__img-wrap{overflow:hidden;aspect-ratio:4/3;position:relative}
.svc__img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 1.4s var(--ease), filter 1.2s var(--ease);
    filter:brightness(.82) saturate(.85);
    will-change:transform;
}
.svc:hover .svc__img{transform:scale(1.08);filter:brightness(1) saturate(1.1)}
.svc::after{
    content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.04) 45%, rgba(255,255,255,.08) 50%, rgba(255,255,255,.04) 55%, transparent 60%);
    background-size:300% 100%;background-position:200% 0;
    transition:background-position 1s var(--ease);
}
.svc:hover::after{background-position:-100% 0}
.svc__body{padding:24px 20px}
.svc__num{
    font-family:var(--font-mono);font-size:.6rem;font-weight:700;
    color:var(--gold);letter-spacing:.1em;margin-bottom:10px;display:block;
}
.svc__title{
    font-family:var(--font-head);font-size:.82rem;font-weight:700;
    color:#fff;margin-bottom:8px;letter-spacing:.01em;line-height:1.3;
}
.svc__text{font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.65}

/* Service card CTA */
.svc__cta{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--font-head);font-size:.58rem;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
    color:var(--gold);margin-top:14px;
    opacity:0;transform:translateY(6px);
    transition:opacity .5s var(--ease), transform .5s var(--ease), color .5s var(--ease);
}
.svc__cta svg{transition:transform .4s var(--ease)}
.svc:hover .svc__cta{opacity:1;transform:translateY(0)}
.svc__cta:hover{color:var(--gold-light)}
.svc__cta:hover svg{transform:translateX(4px)}

/* ─── PORTFOLIO ─── */
.portfolio{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
.port__item{border-radius:var(--r-xl);overflow:hidden;position:relative}
.port__item--lg{grid-row:1 / 3}
.port__img-wrap{
    position:relative;width:100%;height:100%;min-height:300px;
    overflow:hidden;
}
.port__img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 1.8s var(--ease),filter 1.2s var(--ease);
    will-change:transform;
    filter:brightness(.88) saturate(.9);
}
.port__item:hover .port__img{transform:scale(1.06);filter:brightness(1) saturate(1.1)}
.port__overlay{
    position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(var(--azul-rgb),.85) 0%, rgba(var(--azul-rgb),.15) 50%, transparent 70%);
    padding:32px;display:flex;flex-direction:column;justify-content:flex-end;
    transition:background 1s var(--ease);
}
.port__item:hover .port__overlay{background:linear-gradient(0deg, rgba(var(--azul-rgb),.92) 0%, rgba(var(--azul-rgb),.35) 55%, rgba(var(--azul-rgb),.1) 80%)}
.port__cat,.port__title,.port__desc{
    transition:transform .8s var(--ease), opacity .8s var(--ease);
}
.port__cat{opacity:.9}
.port__item:hover .port__cat{transform:translateY(-6px);opacity:1}
.port__item:hover .port__title{transform:translateY(-4px);transition-delay:.06s}
.port__item:hover .port__desc{transform:translateY(-3px);opacity:1;transition-delay:.12s}
.port__cat{
    font-family:var(--font-mono);font-size:.58rem;font-weight:600;
    letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
    margin-bottom:8px;
}
.port__title{
    font-family:var(--font-head);font-size:clamp(.85rem,1.5vw,1.15rem);
    font-weight:700;color:#fff;line-height:1.3;margin-bottom:6px;
    background-image:linear-gradient(var(--gold), var(--gold));
    background-size:0% 2px;background-position:0 100%;background-repeat:no-repeat;
    transition:transform .6s var(--ease), background-size .6s var(--ease);
    display:inline;padding-bottom:2px;
}
.port__item:hover .port__title{background-size:100% 2px}
.port__desc{font-size:.82rem;color:rgba(255,255,255,.88);line-height:1.6;opacity:1;transition:opacity .8s var(--ease)}

/* Portfolio view button */
.port__view{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--font-head);font-size:.6rem;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--gold);margin-top:12px;
    opacity:0;transform:translateY(8px);
    transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.port__view svg{transition:transform .4s var(--ease)}
.port__item:hover .port__view{opacity:1;transform:translateY(0);transition-delay:.18s}
.port__item:hover .port__view svg{transform:translateX(3px)}

/* Portfolio area badge */
.port__area{
    position:absolute;top:16px;right:16px;z-index:2;
    font-family:var(--font-mono);font-size:.55rem;font-weight:700;
    color:#fff;background:rgba(var(--azul-rgb),.6);
    backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);
    padding:6px 12px;border-radius:100px;letter-spacing:.1em;
    opacity:0;transform:translateY(-6px);
    transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.port__item:hover .port__area{opacity:1;transform:translateY(0)}

/* ─── METHOD ─── */
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.method__card{
    background:#fff;border-radius:var(--r-lg);padding:40px 32px;
    border:1px solid var(--cinza-ap);
    transition:
        transform .55s var(--ease),
        box-shadow .55s var(--ease),
        border-color .55s var(--ease);
    position:relative;
    will-change:transform;
    transform-style:preserve-3d;
}
.method__card:hover{transform:translateY(-10px);box-shadow:var(--shadow-xl);border-color:transparent}
.method__card--accent{
    background:var(--azul);border-color:transparent;
    box-shadow:var(--shadow-lg);
}
.method__card--accent .method__title{color:#fff}
.method__card--accent .method__text{color:var(--azul-ap)}
.method__card--accent .method__text strong{color:#fff}
.method__card--accent .method__icon{color:var(--gold)}
.method__card--accent .method__label{background:rgba(var(--gold-rgb),.15)}

.method__icon{
    color:var(--azul);margin-bottom:20px;
    width:52px;height:52px;border-radius:var(--r-md);
    background:rgba(var(--azul-rgb),.05);
    display:flex;align-items:center;justify-content:center;
    transition:transform .5s var(--ease), background .5s var(--ease);
}
.method__card:hover .method__icon{transform:translateY(-3px);background:rgba(var(--gold-rgb),.1)}
.method__card--accent .method__icon{background:rgba(255,255,255,.06)}
.method__label{
    display:inline-block;
    font-family:var(--font-mono);font-size:.56rem;font-weight:700;
    letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
    background:rgba(var(--gold-rgb),.08);padding:4px 12px;
    border-radius:100px;margin-bottom:16px;
}
.method__title{
    font-family:var(--font-head);font-size:1.05rem;font-weight:700;
    color:var(--azul);margin-bottom:12px;letter-spacing:.01em;
}
.method__text{font-size:.88rem;color:var(--cinza);line-height:1.75}
.method__text strong{color:var(--azul);font-weight:600}

/* Method card step number */
.method__step{
    position:absolute;top:20px;right:24px;
    font-family:var(--font-mono);font-size:.62rem;font-weight:700;
    letter-spacing:.12em;
    color:var(--gold);
    background:rgba(var(--gold-rgb),.1);
    border:1px solid rgba(var(--gold-rgb),.25);
    border-radius:100px;
    padding:3px 10px;
    line-height:1;
    transition:all .4s var(--ease);
}
.method__card:hover .method__step{background:rgba(var(--gold-rgb),.18);border-color:rgba(var(--gold-rgb),.5)}
.method__card--accent .method__step{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.method__card--accent:hover .method__step{background:rgba(var(--gold-rgb),.2);border-color:rgba(var(--gold-rgb),.5);color:var(--gold)}

/* ─── SOCIAL PROOF — Card Grid ─── */
.proof-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.proof-card{
    background:#fff;border-radius:var(--r-lg);padding:36px 32px;
    border:1px solid var(--cinza-ap);position:relative;
    transition:
        transform .55s var(--ease),
        box-shadow .55s var(--ease),
        border-color .55s var(--ease);
    will-change:transform;
}
.proof-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-xl);
    border-color:rgba(var(--gold-rgb),.25);
}
.proof-card__quote{
    position:absolute;top:24px;right:24px;
}
.proof-card__text{
    font-size:.92rem;font-weight:400;
    color:var(--grafite);line-height:1.8;font-style:italic;
    margin-bottom:24px;
}
.proof-card__stars{
    display:flex;gap:3px;margin-bottom:14px;
}
.proof-card__stars svg{
    color:var(--gold);width:16px;height:16px;
}
.proof-card__author{
    display:flex;align-items:center;gap:12px;
    padding-top:20px;
    border-top:1px solid var(--cinza-ap);
}
.proof-card__avatar{
    width:42px;height:42px;border-radius:50%;
    background:var(--azul);color:var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-head);font-weight:800;font-size:.7rem;
    flex-shrink:0;
}
.proof-card__author strong{display:block;font-size:.82rem;color:var(--azul)}
.proof-card__author span{font-size:.7rem;color:var(--cinza)}

/* ─── CTA ─── */
.cta{
    background:linear-gradient(180deg, #0c1825 0%, var(--azul-deep) 50%, #0c1825 100%);
    padding:80px 0;
    position:relative;overflow:hidden;
    border-top:1px solid rgba(var(--gold-rgb),.15);
    border-bottom:1px solid rgba(var(--gold-rgb),.15);
}
.cta::before{
    content:'';position:absolute;
    width:500px;height:500px;border-radius:50%;opacity:.04;
    background:var(--gold);top:-200px;right:-100px;
}
/* Blueprint grid on CTA */
.cta::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.01) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.01) 1px, transparent 1px);
    background-size:80px 80px;
    opacity:.5;
}
.cta__inner{
    display:flex;align-items:center;justify-content:space-between;
    gap:48px;position:relative;z-index:1;
}
.cta__left{max-width:520px}
.cta__left .heading-2{margin-bottom:16px}
.cta__right{display:flex;flex-direction:column;gap:16px}

/* ─── CONTACT ─── */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.contact__info .heading-2{margin-bottom:16px}
.contact__info .body{margin-bottom:40px}

.contact__cards{display:flex;flex-direction:column;gap:12px}
.contact__card{
    display:flex;align-items:center;gap:16px;
    padding:16px 20px;border-radius:var(--r-md);
    background:#fff;border:1px solid var(--cinza-ap);
    transition:
        transform .5s var(--ease),
        border-color .5s var(--ease),
        box-shadow .5s var(--ease),
        background .5s var(--ease);
    will-change:transform;
}
.contact__card:hover{
    border-color:var(--gold);
    box-shadow:var(--shadow-md);
    transform:translateX(6px);
    background:#fff;
}
.contact__card-icon{
    width:44px;height:44px;border-radius:var(--r-sm);
    background:rgba(var(--gold-rgb),.08);color:var(--gold);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    transition:transform .5s var(--ease), background .5s var(--ease);
}
.contact__card:hover .contact__card-icon{transform:scale(1.1);background:rgba(var(--gold-rgb),.15)}
.contact__card small{font-size:.68rem;color:var(--cinza);display:block;margin-bottom:2px}
.contact__card strong{font-size:.88rem;color:var(--azul)}

/* Form */
.contact__form{
    background:#fff;border-radius:var(--r-xl);padding:40px 36px;
    border:1px solid var(--cinza-ap);box-shadow:var(--shadow-lg);
}
.contact__form-title{
    font-family:var(--font-head);font-size:.9rem;font-weight:700;
    color:var(--azul);margin-bottom:28px;letter-spacing:.02em;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{
    display:block;font-size:.72rem;font-weight:600;color:var(--azul);
    margin-bottom:6px;letter-spacing:.03em;
}
.field input,.field select,.field textarea{
    width:100%;padding:12px 16px;
    background:var(--branco);border:1.5px solid var(--cinza-ap);
    border-radius:var(--r-sm);font-size:.88rem;color:var(--grafite);
    transition:
        border-color .45s var(--ease),
        box-shadow .45s var(--ease),
        background .45s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{
    border-color:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.08);
    background:#fff;
}
.field input::placeholder,.field textarea::placeholder{color:#bbb}
.field select{
    cursor:pointer;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;
}
.field textarea{resize:vertical;min-height:100px}

/* ─── FOOTER ─── */
.footer{
    background:linear-gradient(180deg, #0c1825 0%, var(--azul-deep) 100%);
    color:rgba(255,255,255,.5);
    padding:80px 0 32px;
    border-top:1px solid rgba(var(--gold-rgb),.15);
}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer__brand p{font-size:.85rem;line-height:1.7;margin-top:16px;max-width:280px}
.footer__brand .nav__logo{margin-bottom:8px}
.footer__coords{
    display:block;margin-top:12px;
    font-family:var(--font-mono);font-size:.65rem;
    color:rgba(255,255,255,.2);letter-spacing:.15em;
}
.footer__col h4{
    font-family:var(--font-head);font-size:.62rem;font-weight:700;
    letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
    margin-bottom:20px;
}
.footer__col a,.footer__col span{
    display:block;font-size:.82rem;color:rgba(255,255,255,.4);
    padding:4px 0;transition:color .45s var(--ease);
}
.footer__col a:hover{color:var(--gold);padding-left:4px;transition:color .45s var(--ease), padding .45s var(--ease)}
.footer__bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:32px;font-size:.72rem;color:rgba(255,255,255,.25);
}

/* ─── WHATSAPP FLOAT ─── */
.wpp-float{
    position:fixed;bottom:28px;right:28px;z-index:900;
    width:56px;height:56px;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 20px rgba(37,211,102,.4);
    transition:
        transform .5s var(--ease),
        box-shadow .5s var(--ease);
    animation:wppBounce 3s ease-in-out infinite;
}
.wpp-float:hover{
    transform:scale(1.12) translateY(-2px);
    box-shadow:0 12px 36px rgba(37,211,102,.5);
    animation:none;
}
.wpp-float:active{transform:scale(.95);transition-duration:.12s}
@keyframes wppBounce{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-4px)}
}

/* ─── BACK TO TOP ─── */
.btt{
    position:fixed;bottom:96px;right:28px;z-index:900;
    width:44px;height:44px;border-radius:50%;
    background:var(--azul);color:#fff;border:1px solid rgba(255,255,255,.1);
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transform:translateY(12px);
    transition:
        opacity .5s var(--ease),
        transform .5s var(--ease),
        background .45s var(--ease),
        color .45s var(--ease),
        border-color .45s var(--ease);
}
.btt.visible{opacity:1;pointer-events:all;transform:translateY(0)}
.btt:hover{background:var(--gold);color:var(--azul);border-color:var(--gold);transform:translateY(-2px)}
.btt:active{transform:translateY(0);transition-duration:.12s}

/* ─── ANIMATIONS ─── */
[data-animate]{
    opacity:0;
    transition:
        opacity 1s cubic-bezier(.19,1,.22,1),
        transform 1s cubic-bezier(.19,1,.22,1),
        filter  1s cubic-bezier(.19,1,.22,1);
    will-change:opacity,transform;
    transition-delay:var(--anim-delay,0s);
}
[data-animate].in-view{opacity:1;transform:translate(0,0) scale(1);filter:blur(0)}

[data-animate="up"]   {transform:translateY(60px)}
[data-animate="down"] {transform:translateY(-60px)}
[data-animate="left"] {transform:translateX(80px)}
[data-animate="right"]{transform:translateX(-80px)}
[data-animate="scale"]{transform:scale(.88);filter:blur(3px)}
[data-animate="fade"] {transform:none}
[data-animate="zoom-in"]{transform:scale(.7);filter:blur(6px)}

[data-animate][data-delay="100"]{transition-delay:.1s}
[data-animate][data-delay="150"]{transition-delay:.15s}
[data-animate][data-delay="200"]{transition-delay:.2s}
[data-animate][data-delay="300"]{transition-delay:.3s}
[data-animate][data-delay="400"]{transition-delay:.4s}
[data-animate][data-delay="500"]{transition-delay:.5s}
[data-animate][data-delay="600"]{transition-delay:.6s}

[data-parallax]{will-change:transform;transition:none}

@media(prefers-reduced-motion:reduce){
    [data-animate]{transition-duration:.01s!important;transform:none!important;filter:none!important;opacity:1!important}
}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
    .about{grid-template-columns:1fr;gap:48px}
    .about__media{max-width:480px}
    .svc-hero{grid-template-columns:1fr}
    .svc-hero__img{min-height:280px}
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .portfolio{grid-template-columns:1fr}
    .port__item--lg{grid-row:auto}
    .port__img-wrap{min-height:260px}
    .method{grid-template-columns:repeat(3,1fr)}
    .proof-grid{grid-template-columns:repeat(3,1fr)}
    .cta__inner{flex-direction:column;text-align:center;align-items:center}
    .cta__right{align-items:center}
    .contact{grid-template-columns:1fr;gap:48px}
    .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
    .trust-bar__inner{gap:24px}
}

@media(max-width:768px){
    .section{padding:80px 0}
    .section__header{margin-bottom:40px}
    .section-marker{margin-bottom:32px}

    .nav__menu{
        position:fixed;inset:0;background:rgba(var(--azul-rgb),.98);
        backdrop-filter:blur(24px);
        flex-direction:column;justify-content:center;align-items:center;gap:24px;
        opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
    }
    .nav__menu.open{opacity:1;pointer-events:all}
    .nav__link{font-size:1.15rem}
    .nav__link--cta{margin-left:0;margin-top:16px}
    .nav__burger{display:flex;align-items:center;justify-content:center}
    .nav__logo-meta{display:none}

    .hero__title{font-size:clamp(2rem,8vw,3rem)}
    .hero__stats-inner{flex-wrap:wrap;gap:24px;justify-content:center}
    .stat__sep:nth-of-type(2){display:none}
    .hero__badge-coord{display:none}
    .hero__badge-sep{display:none}
    .hero__corner{display:none}

    .trust-bar__inner{flex-wrap:wrap;justify-content:center;gap:16px 32px}
    .trust-bar__item{border-right:none;padding:0}

    .svc-grid{grid-template-columns:1fr}
    .method{grid-template-columns:1fr}
    .proof-grid{grid-template-columns:1fr}

    .engquote{padding:36px 24px}

    .form-row{grid-template-columns:1fr}
    .contact__form{padding:32px 24px}

    .footer__grid{grid-template-columns:1fr;gap:32px}
    .footer__bottom{flex-direction:column;gap:8px;text-align:center}
}

@media(max-width:480px){
    .hero__badge{font-size:.52rem;padding:6px 14px;gap:6px}
    .about__stamp{width:108px;height:108px;bottom:-12px;right:-12px}
}

/* ========================================
   NORMAS COMPLIANCE STRIP
   ======================================== */
.normas-strip{
    padding:28px 0;
    background:var(--azul-deep);
    border-top:1px solid rgba(214,167,65,.2);
    border-bottom:1px solid rgba(214,167,65,.2);
    overflow:hidden;
}
.normas-strip .container{display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:center}
.normas-strip__label{
    font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--gold);white-space:nowrap;
    display:flex;align-items:center;gap:8px;
}
.normas-strip__label::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.5}
.normas-strip__list{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.normas-strip__item{
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;
    color:var(--azul-ap);opacity:.7;
    padding:6px 14px;border:1px solid rgba(147,169,201,.12);border-radius:var(--r-sm);
    transition:all .4s var(--ease);cursor:default;
}
.normas-strip__item:hover{
    opacity:1;color:var(--gold);border-color:rgba(214,167,65,.3);
    background:rgba(214,167,65,.04);
    transform:translateY(-2px);
}

/* ========================================
   PORTFOLIO STATS
   ======================================== */
.port__stats{
    display:flex;gap:6px;flex-wrap:wrap;
    margin-top:8px;
}
.port__stats span{
    font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;
    color:rgba(255,255,255,.85);opacity:1;
    padding:3px 8px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.2);
    border-radius:var(--r-sm);
    transition:all .4s var(--ease);
}
.port-item:hover .port__stats span{
    opacity:1;color:var(--gold);border-color:rgba(214,167,65,.25);
    background:rgba(214,167,65,.06);
}

/* ========================================
   DIFFERENTIATORS SECTION
   ======================================== */
.diff-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    margin-top:48px;
}
.diff-card{
    background:#fff;border:1px solid var(--cinza-ap);
    border-radius:var(--r-lg);padding:32px 28px;
    position:relative;overflow:hidden;
    transition:all .5s var(--ease);
}
.diff-card::before{
    content:'';position:absolute;top:0;left:0;width:100%;height:3px;
    background:linear-gradient(90deg,var(--gold),var(--gold-light));
    transform:scaleX(0);transform-origin:left;
    transition:transform .5s var(--ease);
}
.diff-card:hover{
    border-color:var(--gold-light);
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg),0 0 40px rgba(214,167,65,.06);
}
.diff-card:hover::before{transform:scaleX(1)}
.diff-card__icon{
    width:48px;height:48px;border-radius:var(--r-md);
    background:linear-gradient(135deg,var(--azul),var(--azul-deep));
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);margin-bottom:20px;
    transition:all .4s var(--ease);
}
.diff-card:hover .diff-card__icon{
    transform:scale(1.08);
    box-shadow:0 4px 20px rgba(26,41,66,.25);
}
.diff-card__title{
    font-family:'Orbitron',sans-serif;font-size:.85rem;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;
    color:var(--azul);margin-bottom:12px;
}
.diff-card__text{
    font-size:.88rem;line-height:1.7;color:var(--cinza);
}

/* ========================================
   FAQ SECTION
   ======================================== */
.faq-list{
    max-width:780px;margin:48px auto 0;
    display:flex;flex-direction:column;gap:12px;
}
.faq-item{
    background:#fff;
    border:1px solid rgba(147,169,201,.15);
    border-radius:var(--r-md);
    overflow:hidden;
    transition:border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.faq-item:hover,.faq-item.open{
    border-color:rgba(214,167,65,.25);
}
.faq-item.open{
    box-shadow:0 4px 24px rgba(214,167,65,.06);
}
.faq-item__toggle{
    width:100%;
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 24px;
    background:rgba(15,26,43,.03);
    border:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:.92rem;font-weight:500;
    color:var(--azul);text-align:left;
    transition:all .4s var(--ease);
    gap:16px;
}
.faq-item__toggle:hover{
    background:rgba(15,26,43,.06);
}
.faq-item.open .faq-item__toggle{
    background:rgba(214,167,65,.05);
    color:var(--gold);
}
.faq-item__chevron{
    flex-shrink:0;
    transition:transform .4s var(--ease),color .4s var(--ease);
    color:var(--cinza);
}
.faq-item.open .faq-item__chevron{
    transform:rotate(180deg);
    color:var(--gold);
}
.faq-item__content{
    max-height:0;
    overflow:hidden;
    transition:max-height .5s var(--ease),padding .5s var(--ease);
    padding:0 24px;
}
.faq-item.open .faq-item__content{
    max-height:300px;
    padding:0 24px 20px;
}
.faq-item__content p{
    font-size:.88rem;line-height:1.8;color:var(--cinza);
    padding-top:4px;
    border-top:1px solid rgba(147,169,201,.08);
}

/* ========================================
   FORM TRUST SIGNALS
   ======================================== */
.form-trust{
    display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;
    justify-content:center;
}
.form-trust__item{
    display:flex;align-items:center;gap:6px;
    font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;
    color:var(--cinza);opacity:.7;
    transition:opacity .3s var(--ease);
}
.form-trust__item:hover{opacity:1;color:var(--gold)}

/* ========================================
   WHATSAPP TOOLTIP
   ======================================== */
.wpp-float__tooltip{
    position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);
    background:var(--azul-deep);color:var(--gold);
    font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;
    padding:8px 14px;border-radius:var(--r-sm);white-space:nowrap;
    opacity:0;pointer-events:none;
    transition:opacity .4s var(--ease),transform .4s var(--ease);
    box-shadow:var(--shadow-md);
    border:1px solid rgba(214,167,65,.15);
}
.wpp-float__tooltip::after{
    content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);
    border:6px solid transparent;border-left-color:var(--azul-deep);
    border-right:none;
}
.wpp-float:hover .wpp-float__tooltip{
    opacity:1;
    transform:translateY(-50%) translateX(-4px);
}

/* ========================================
   FOOTER ENHANCEMENTS
   ======================================== */
.footer__badges{
    display:flex;gap:8px;margin:12px 0 8px;flex-wrap:wrap;
}
.footer__badge{
    font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--gold);
    padding:4px 10px;
    border:1px solid rgba(214,167,65,.2);border-radius:var(--r-sm);
    background:rgba(214,167,65,.04);
    transition:all .3s var(--ease);
}
.footer__badge:hover{
    background:rgba(214,167,65,.1);border-color:rgba(214,167,65,.4);
}
.footer__hours{
    display:flex;align-items:center;gap:6px;
    margin-top:8px;
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;
    color:var(--azul-ap);
}

/* ========================================
   RESPONSIVE — NEW ELEMENTS
   ======================================== */
@media(max-width:1024px){
    .diff-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .diff-grid{grid-template-columns:1fr}
    .normas-strip .container{gap:16px}
    .normas-strip__list{gap:10px}
    .normas-strip__item{font-size:.62rem;padding:5px 10px}
    .faq-item__toggle{padding:16px 20px;font-size:.86rem}
    .faq-item__content{padding:0 20px}
    .faq-item.open .faq-item__content{padding:0 20px 16px}
    .wpp-float__tooltip{display:none}
}
@media(max-width:480px){
    .diff-card{padding:24px 20px}
    .form-trust{flex-direction:column;align-items:center}
}

/* ========================================
   HERO SCROLL HINT
   ======================================== */
.hero__scroll-hint{
    position:absolute;bottom:120px;left:50%;transform:translateX(-50%);
    z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;
    opacity:0;transition:opacity 1.5s var(--ease);
}
.hero--loaded .hero__scroll-hint{opacity:1}
.hero__scroll-text{
    font-family:var(--font-mono);font-size:.58rem;font-weight:400;
    letter-spacing:.2em;text-transform:uppercase;
    color:rgba(255,255,255,.3);
}
.hero__scroll-line{
    width:1px;height:40px;position:relative;overflow:hidden;
    background:rgba(255,255,255,.08);
}
.hero__scroll-line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
    background:linear-gradient(180deg,transparent,var(--gold),transparent);
    animation:scrollLine 2s var(--ease) infinite;
}
@keyframes scrollLine{
    0%{top:-100%}
    100%{top:100%}
}

/* ========================================
   ABOUT CTA
   ======================================== */
.about__cta{
    display:flex;align-items:center;gap:20px;
    margin-top:32px;padding-top:24px;
    flex-wrap:wrap;
}
.about__cta-link{
    font-family:var(--font-mono);font-size:.72rem;
    color:var(--gold);letter-spacing:.03em;
    transition:color .4s var(--ease),transform .4s var(--ease);
}
.about__cta-link:hover{color:var(--gold-light);transform:translateX(4px)}

/* ========================================
   METHOD CTA
   ======================================== */
.method__cta{
    text-align:center;margin-top:56px;
    padding:40px;
    background:var(--branco);border-radius:var(--r-xl);
    border:1px solid var(--cinza-ap);
}
.method__cta-text{
    font-size:1rem;color:var(--cinza);line-height:1.7;
    margin-bottom:20px;max-width:480px;margin-left:auto;margin-right:auto;
}

/* ========================================
   PORTFOLIO CTA
   ======================================== */
.portfolio__cta{
    text-align:center;margin-top:48px;
    padding:32px;background:#fff;border-radius:var(--r-lg);
    border:1px solid var(--cinza-ap);
    display:flex;align-items:center;justify-content:center;gap:24px;
    flex-wrap:wrap;
}
.portfolio__cta-label{
    font-size:.92rem;color:var(--cinza);font-weight:500;
}

/* ========================================
   SOCIAL PROOF CTA
   ======================================== */
.proof__cta{
    text-align:center;margin-top:56px;
    display:flex;flex-direction:column;align-items:center;gap:12px;
}
.proof__cta-stat{
    display:flex;align-items:center;gap:8px;
}
.proof__cta-num{
    font-family:var(--font-head);font-size:2.6rem;font-weight:900;
    color:var(--azul);line-height:1;
}
.proof__cta-stars{
    display:flex;gap:2px;
}
.proof__cta-stars svg{
    width:18px;height:18px;color:var(--gold);
}
.proof__cta-text{
    font-size:.82rem;color:var(--cinza);margin-bottom:8px;
}

/* ========================================
   DIFFERENTIATORS CTA
   ======================================== */
.diff__cta{
    text-align:center;margin-top:56px;
}

/* ========================================
   FAQ CTA
   ======================================== */
.faq__cta{
    text-align:center;margin-top:40px;
    display:flex;flex-direction:column;align-items:center;gap:12px;
}
.faq__cta-text{
    font-size:.92rem;color:var(--cinza);font-weight:500;
}

/* ========================================
   CTA SECTION TRUST SIGNALS
   ======================================== */
.cta__trust{
    display:flex;gap:20px;margin-top:24px;flex-wrap:wrap;
}
.cta__trust-item{
    display:flex;align-items:center;gap:6px;
    font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;
    color:rgba(255,255,255,.45);
    transition:color .4s var(--ease);
}
.cta__trust-item:hover{color:var(--gold)}

/* ========================================
   RESPONSIVE — ENRICHED ELEMENTS
   ======================================== */
@media(max-width:768px){
    .hero__scroll-hint{bottom:100px}
    .about__cta{flex-direction:column;align-items:flex-start}
    .portfolio__cta{flex-direction:column;gap:16px}
    .proof__cta-num{font-size:2rem}
    .method__cta{padding:28px 20px}
    .cta__trust{justify-content:center}
}
@media(max-width:480px){
    .hero__scroll-hint{display:none}
    .cta__trust{flex-direction:column;align-items:flex-start}
}

