/* ============================================================
   KEDLLON SOLUTIONS — main.css
   Design System: Variáveis, Reset, Tipografia, Layout, Componentes
   ============================================================ */

/* ── VARIÁVEIS ─────────────────────────────────────────────── */
:root {
    /* Cores da marca */
    --ks-purple: #7B00FF;
    --ks-purple-dark: #5500cc;
    --ks-purple-light: #a855f7;
    --ks-purple-glow: rgba(123, 0, 255, 0.25);
    --ks-gray: #5C5C6E;
    --ks-gray-light: #8a8a9a;

    /* Dark palette */
    --ks-dark: #09090f;
    --ks-dark-2: #0f0f1a;
    --ks-dark-3: #161624;
    --ks-dark-4: #1e1e30;
    --ks-dark-border: rgba(123, 0, 255, 0.12);

    /* Texto */
    --ks-text: #e2e0f0;
    --ks-text-muted: #9494aa;
    --ks-text-dim: #6b6b80;
    --ks-white: #ffffff;

    /* Gradientes */
    --ks-grad-purple: linear-gradient(135deg, #7B00FF 0%, #b800ff 100%);
    --ks-grad-dark: linear-gradient(180deg, #09090f 0%, #0f0f1a 100%);
    --ks-grad-card: linear-gradient(135deg, rgba(30, 30, 48, 0.9) 0%, rgba(22, 22, 36, 0.95) 100%);

    /* Tipografia */
    --ks-font-display: 'Syne', sans-serif;
    --ks-font-body: 'Inter', sans-serif;

    /* Espaçamentos */
    --ks-section-py: 7rem;
    --ks-container-max: 1240px;
    --ks-gap: 1.5rem;

    /* Bordas */
    --ks-radius-sm: 0.5rem;
    --ks-radius: 1rem;
    --ks-radius-lg: 1.5rem;
    --ks-radius-xl: 2.5rem;

    /* Sombras */
    --ks-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
    --ks-shadow-purple: 0 0 32px rgba(123, 0, 255, 0.35);
    --ks-shadow-card: 0 8px 40px rgba(0, 0, 0, 0.5);

    /* Transições */
    --ks-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --ks-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ks-dur: 0.3s;
}

/* ── RESET ──────────────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--ks-font-body);
    background-color: var(--ks-dark);
    color: var(--ks-text);
    line-height: 1.6;
    overflow-x: hidden;
    cursor: none;
}

img,
video,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    list-style: none;
}

button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    background: none;
}

input,
textarea,
select {
    font-family: inherit;
}

/* Acessibilidade: focus visível */
:focus-visible {
    outline: 2px solid var(--ks-purple);
    outline-offset: 3px;
    border-radius: 4px;
}

/* ── TIPOGRAFIA ─────────────────────────────────────────────── */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ks-font-display);
    font-weight: 700;
    line-height: 1.15;
    color: var(--ks-white);
}

.ks-text-gradient {
    background: var(--ks-grad-purple);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ks-section-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ks-purple-light);
    background: rgba(123, 0, 255, 0.1);
    border: 1px solid rgba(123, 0, 255, 0.25);
    border-radius: 99px;
    padding: 0.3rem 0.9rem;
    margin-bottom: 1rem;
}

.ks-section-title {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    margin-bottom: 1rem;
}

.ks-section-desc {
    color: var(--ks-text-muted);
    max-width: 560px;
    font-size: 1.05rem;
}

.ks-section-header {
    text-align: center;
    margin-bottom: 3.5rem;
}

.ks-section-header .ks-section-desc {
    margin-inline: auto;
}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.ks-container {
    width: 100%;
    max-width: var(--ks-container-max);
    margin-inline: auto;
    padding-inline: 1.5rem;
}

.ks-main {
    min-height: 100vh;
}

section {
    padding-block: var(--ks-section-py);
    position: relative;
}

/* ── CURSOR PERSONALIZADO ───────────────────────────────────── */
.ks-cursor {
    width: 36px;
    height: 36px;
    border: 2px solid var(--ks-purple);
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999;
    transition: transform 0.15s var(--ks-ease), opacity 0.3s;
    transform: translate(-50%, -50%);
    mix-blend-mode: difference;
}

.ks-cursor-dot {
    width: 6px;
    height: 6px;
    background: var(--ks-purple);
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 10000;
    transform: translate(-50%, -50%);
    transition: none;
}

@media (hover: none) {

    .ks-cursor,
    .ks-cursor-dot {
        display: none;
    }
}

body {
    cursor: auto;
}

@media (hover: hover) {
    body {
        cursor: none;
    }
}

/* ── HEADER ─────────────────────────────────────────────────── */
.ks-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding-block: 1.1rem;
    transition: background var(--ks-dur) var(--ks-ease),
        backdrop-filter var(--ks-dur) var(--ks-ease),
        padding var(--ks-dur) var(--ks-ease),
        box-shadow var(--ks-dur) var(--ks-ease);
}

.ks-header.is-scrolled {
    background: rgba(9, 9, 15, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 1px 0 var(--ks-dark-border), var(--ks-shadow);
    padding-block: 0.75rem;
}

.ks-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.ks-header__logo img {
    height: 44px;
    width: auto;
    filter: brightness(1.1);
}

/* ── NAVEGAÇÃO ──────────────────────────────────────────────── */
.ks-nav__list {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.ks-nav__link {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ks-text-muted);
    padding: 0.45rem 0.75rem;
    border-radius: var(--ks-radius-sm);
    transition: color var(--ks-dur), background var(--ks-dur);
}

.ks-nav__link:hover {
    color: var(--ks-white);
    background: rgba(255, 255, 255, 0.05);
}

/* Hambúrguer */
.ks-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    border-radius: var(--ks-radius-sm);
}

.ks-hamburger__bar {
    width: 24px;
    height: 2px;
    background: var(--ks-text);
    border-radius: 2px;
    transition: transform 0.35s var(--ks-spring), opacity 0.25s;
}

.ks-hamburger[aria-expanded="true"] .ks-hamburger__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.ks-hamburger[aria-expanded="true"] .ks-hamburger__bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.ks-hamburger[aria-expanded="true"] .ks-hamburger__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Menu Mobile */
.ks-mobile-menu {
    display: none;
    flex-direction: column;
    background: rgba(9, 9, 15, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--ks-dark-border);
    padding: 1.5rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s var(--ks-ease);
}

.ks-mobile-menu.is-open {
    max-height: 600px;
}

.ks-mobile-menu__list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ks-mobile-menu__link {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ks-text-muted);
    padding: 0.75rem 1rem;
    border-radius: var(--ks-radius-sm);
    transition: color var(--ks-dur), background var(--ks-dur);
}

.ks-mobile-menu__link:hover {
    color: var(--ks-white);
    background: rgba(255, 255, 255, 0.06);
}

/* ── BOTÕES ─────────────────────────────────────────────────── */
.ks-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: var(--ks-font-body);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 99px;
    transition: all var(--ks-dur) var(--ks-spring);
    white-space: nowrap;
    position: relative;
    overflow: hidden;
}

.ks-btn--sm {
    font-size: 0.82rem;
    padding: 0.5rem 1.1rem;
}

.ks-btn--lg {
    font-size: 1rem;
    padding: 0.85rem 2rem;
}

.ks-btn--block {
    width: 100%;
}

.ks-btn--primary {
    background: var(--ks-grad-purple);
    color: #fff;
    box-shadow: 0 4px 20px rgba(123, 0, 255, 0.4);
}

.ks-btn--primary:hover {
    box-shadow: 0 6px 28px rgba(123, 0, 255, 0.6);
    transform: translateY(-2px) scale(1.02);
}

.ks-btn--outline {
    border: 1.5px solid rgba(123, 0, 255, 0.45);
    color: var(--ks-purple-light);
    background: transparent;
}

.ks-btn--outline:hover {
    border-color: var(--ks-purple);
    background: rgba(123, 0, 255, 0.08);
    transform: translateY(-2px);
}

.ks-btn--ghost {
    color: var(--ks-text-muted);
    border: 1.5px solid var(--ks-dark-border);
    background: transparent;
}

.ks-btn--ghost:hover {
    color: var(--ks-white);
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.04);
}

.ks-btn--white {
    background: #fff;
    color: var(--ks-purple-dark);
    font-weight: 700;
}

.ks-btn--white:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
}

.ks-btn--whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #fff;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.35);
}

.ks-btn--whatsapp:hover {
    box-shadow: 0 6px 28px rgba(37, 211, 102, 0.55);
    transform: translateY(-2px);
}

/* ── BADGES & TAGS ──────────────────────────────────────────── */
.ks-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 99px;
    padding: 0.35rem 1rem;
}

.ks-badge--purple {
    background: rgba(123, 0, 255, 0.12);
    border: 1px solid rgba(123, 0, 255, 0.3);
    color: var(--ks-purple-light);
}

.ks-badge__dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #4ade80;
    border-radius: 50%;
    animation: pulse-dot 2s ease-in-out infinite;
}

.ks-tag {
    display: inline-block;
    font-size: 0.74rem;
    font-weight: 500;
    background: rgba(123, 0, 255, 0.1);
    border: 1px solid rgba(123, 0, 255, 0.2);
    color: var(--ks-purple-light);
    border-radius: 99px;
    padding: 0.25rem 0.7rem;
}
/*  HERO  */
.ks-hero {min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:6rem;}
.ks-hero__bg {position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(123,0,255,.18) 0%,transparent 70%);}
.ks-hero__blob {position:absolute;border-radius:50%;filter:blur(80px);animation:blobFloat 8s ease-in-out infinite;}
.ks-hero__blob--1 {width:500px;height:500px;background:rgba(123,0,255,.12);top:-150px;right:-100px;}
.ks-hero__blob--2 {width:350px;height:350px;background:rgba(184,0,255,.08);bottom:50px;left:-80px;animation-delay:3s;}
.ks-hero__blob--3 {width:250px;height:250px;background:rgba(123,0,255,.06);top:40%;left:40%;animation-delay:5s;}
.ks-hero__grid {position:absolute;inset:0;background-image:linear-gradient(rgba(123,0,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(123,0,255,.04) 1px,transparent 1px);background-size:60px 60px;z-index:0;}
.ks-hero__inner {display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.ks-hero__title {font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;}
.ks-hero__subtitle {font-size:1.1rem;color:var(--ks-text-muted);max-width:500px;margin-bottom:2rem;line-height:1.75;}
.ks-hero__subtitle strong {color:var(--ks-text);}
.ks-hero__actions {display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.ks-hero__tags {display:flex;flex-wrap:wrap;gap:.5rem;}
.ks-hero__badge {margin-bottom:1.5rem;}
.ks-hero__visual {display:flex;justify-content:center;}
.ks-hero__avatar-wrapper {position:relative;width:340px;height:340px;}
.ks-hero__avatar {width:280px;height:280px;border-radius:50%;background:var(--ks-dark-3);border:3px solid rgba(123,0,255,.4);overflow:hidden;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;box-shadow:var(--ks-shadow-purple);}
.ks-hero__avatar img {width:100%;height:100%;object-fit:cover;}
.ks-hero__avatar-placeholder {display:flex;flex-direction:column;align-items:center;}
.ks-hero__avatar-ring {position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(123,0,255,.2);animation:ringPulse 3s ease-in-out infinite;}
.ks-hero__avatar-ring--2 {inset:-20px;border-color:rgba(123,0,255,.1);animation-delay:1.5s;}
.ks-floating-badge {position:absolute;display:flex;align-items:center;gap:.6rem;background:rgba(22,22,36,.95);border:1px solid var(--ks-dark-border);backdrop-filter:blur(12px);border-radius:var(--ks-radius);padding:.65rem 1rem;box-shadow:var(--ks-shadow);animation:floatBadge 4s ease-in-out infinite;white-space:nowrap;}
.ks-floating-badge--1 {top:10px;right:-20px;}
.ks-floating-badge--2 {bottom:60px;right:-30px;animation-delay:1.5s;}
.ks-floating-badge--3 {bottom:20px;left:-20px;animation-delay:.8s;}
.ks-floating-badge__icon {font-size:1.4rem;}
.ks-floating-badge strong {display:block;font-size:.88rem;color:var(--ks-white);font-family:var(--ks-font-display);}
.ks-floating-badge small {font-size:.72rem;color:var(--ks-text-muted);}
.ks-scroll-indicator {position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;justify-content:center;}
.ks-scroll-indicator__mouse {width:24px;height:38px;border:2px solid rgba(123,0,255,.4);border-radius:12px;display:flex;justify-content:center;padding-top:6px;}
.ks-scroll-indicator__wheel {width:3px;height:8px;background:var(--ks-purple);border-radius:2px;animation:scrollWheel 1.8s ease-in-out infinite;}

/*  NÚMEROS  */
.ks-numbers {background:var(--ks-dark-2);border-top:1px solid var(--ks-dark-border);border-bottom:1px solid var(--ks-dark-border);padding-block:3.5rem;}
.ks-numbers__grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;}
.ks-number-item {padding:1.5rem 1rem;position:relative;}
.ks-number-item:not(:last-child)::after {content:'';position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--ks-dark-border);}
.ks-number-item__value {display:block;font-family:var(--ks-font-display);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;background:var(--ks-grad-purple);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem;}
.ks-number-item__label {font-size:.88rem;color:var(--ks-text-muted);font-weight:500;}

/*  SOBRE  */
.ks-about__inner {display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center;}
.ks-about__image-frame {position:relative;width:360px;aspect-ratio:3/4;border-radius:var(--ks-radius-lg);background:var(--ks-dark-3);border:1px solid var(--ks-dark-border);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.ks-about__image-frame img {width:100%;height:100%;object-fit:cover;}
.ks-about__image-placeholder {display:flex;flex-direction:column;align-items:center;}
.ks-about__image-decor {position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(123,0,255,.12) 100%);pointer-events:none;}
.ks-about__exp-card {position:absolute;bottom:-1.5rem;right:-2rem;background:var(--ks-dark-2);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius);padding:1rem 1.5rem;box-shadow:var(--ks-shadow-card);text-align:center;}
.ks-about__exp-number {font-family:var(--ks-font-display);font-size:2.5rem;font-weight:800;line-height:1;}
.ks-about__exp-label {font-size:.75rem;color:var(--ks-text-muted);max-width:120px;margin-top:.3rem;}
.ks-about__text {color:var(--ks-text-muted);margin-bottom:1rem;line-height:1.8;}
.ks-about__text strong {color:var(--ks-text);}
.ks-skills {margin:1.5rem 0 2rem;display:flex;flex-direction:column;gap:1rem;}
.ks-skill-item__header {display:flex;justify-content:space-between;font-size:.88rem;font-weight:500;color:var(--ks-text-muted);margin-bottom:.4rem;}
.ks-skill-bar {height:5px;background:var(--ks-dark-4);border-radius:99px;overflow:hidden;}
.ks-skill-bar__fill {height:100%;background:var(--ks-grad-purple);border-radius:99px;transition:width 1.2s cubic-bezier(.4,0,.2,1);}
.ks-about__actions {display:flex;gap:1rem;flex-wrap:wrap;}

/*  URGÊNCIA  */
.ks-urgency {background:linear-gradient(135deg,rgba(123,0,255,.15) 0%,rgba(184,0,255,.08) 100%);border-top:1px solid rgba(123,0,255,.2);border-bottom:1px solid rgba(123,0,255,.2);padding-block:1.8rem;}
.ks-urgency__inner {display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.ks-urgency__icon {font-size:1.8rem;flex-shrink:0;}
.ks-urgency__text {flex:1;color:var(--ks-text);font-size:.95rem;}
.ks-urgency__text strong {color:var(--ks-purple-light);display:block;margin-bottom:.2rem;font-size:1rem;}

/*  SERVIÇOS  */
.ks-services {background:var(--ks-dark-2);}
.ks-services__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.ks-service-card {background:var(--ks-grad-card);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-lg);padding:2rem;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden;}
.ks-service-card::before {content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ks-grad-purple);opacity:0;transition:opacity .3s;}
.ks-service-card:hover {transform:translateY(-6px);border-color:rgba(123,0,255,.3);box-shadow:var(--ks-shadow-purple),var(--ks-shadow-card);}
.ks-service-card:hover::before {opacity:1;}
.ks-service-card--featured {background:linear-gradient(135deg,rgba(123,0,255,.18) 0%,rgba(22,22,36,.95) 100%);border-color:rgba(123,0,255,.3);}
.ks-service-card--featured::before {opacity:1;}
.ks-service-card__badge {position:absolute;top:1rem;right:1rem;font-size:.7rem;font-weight:700;background:var(--ks-grad-purple);color:#fff;border-radius:99px;padding:.2rem .7rem;text-transform:uppercase;letter-spacing:.05em;}
.ks-service-card__icon {width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(123,0,255,.1);border:1px solid rgba(123,0,255,.2);border-radius:var(--ks-radius);color:var(--ks-purple-light);margin-bottom:1.25rem;transition:all .3s;}
.ks-service-card:hover .ks-service-card__icon {background:rgba(123,0,255,.2);border-color:rgba(123,0,255,.4);transform:scale(1.1);}
.ks-service-card__title {font-size:1.05rem;font-weight:700;margin-bottom:.6rem;color:var(--ks-white);}
.ks-service-card__desc {font-size:.88rem;color:var(--ks-text-muted);line-height:1.7;margin-bottom:1.25rem;}
.ks-service-card__tags {display:flex;flex-wrap:wrap;gap:.4rem;}

/*  STACK  */
.ks-stack__grid {display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;}
.ks-stack__item {background:var(--ks-dark-3);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius);padding:1.25rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.65rem;transition:transform .3s,border-color .3s,background .3s;cursor:default;}
.ks-stack__item:hover {transform:translateY(-5px) scale(1.04);border-color:rgba(123,0,255,.3);background:rgba(123,0,255,.06);}
.ks-stack__item-icon {font-size:1.8rem;line-height:1;}
.ks-stack__item-name {font-size:.78rem;font-weight:600;color:var(--ks-text-muted);}

/*  PORTFÓLIO  */
.ks-portfolio {background:var(--ks-dark-2);}
.ks-portfolio__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem;}
.ks-portfolio-card {background:var(--ks-grad-card);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s;}
.ks-portfolio-card:hover {transform:translateY(-6px);box-shadow:var(--ks-shadow-card);}
.ks-portfolio-card__visual {height:175px;display:flex;align-items:center;justify-content:center;}
.ks-portfolio-card--purple .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(123,0,255,.3),rgba(92,0,190,.15));}
.ks-portfolio-card--blue   .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(59,130,246,.3),rgba(37,99,235,.15));}
.ks-portfolio-card--teal   .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(20,184,166,.3),rgba(13,148,136,.15));}
.ks-portfolio-card--indigo .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(79,70,229,.15));}
.ks-portfolio-card--rose   .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(244,63,94,.3),rgba(225,29,72,.15));}
.ks-portfolio-card--amber  .ks-portfolio-card__visual {background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(217,119,6,.15));}
.ks-portfolio-card__icon {opacity:.5;color:#fff;}
.ks-portfolio-card__body {padding:1.5rem;}
.ks-portfolio-card__title {font-size:1rem;font-weight:700;margin-bottom:.5rem;}
.ks-portfolio-card__desc {font-size:.85rem;color:var(--ks-text-muted);margin-bottom:1rem;line-height:1.6;}
.ks-portfolio-card__tags {display:flex;flex-wrap:wrap;gap:.4rem;}
.ks-portfolio__cta {text-align:center;}
.ks-portfolio__cta p {color:var(--ks-text-muted);margin-bottom:1rem;}

/*  DEPOIMENTOS  */
.ks-testimonials {background:var(--ks-dark);}
.ks-testimonials__slider {display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.ks-testimonial-card {background:var(--ks-grad-card);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .3s,box-shadow .3s;}
.ks-testimonial-card:hover {border-color:rgba(123,0,255,.25);box-shadow:0 8px 40px rgba(123,0,255,.12);}
.ks-testimonial-card__stars {color:#f59e0b;font-size:1.1rem;letter-spacing:2px;}
.ks-testimonial-card__text {color:var(--ks-text-muted);font-size:.95rem;line-height:1.8;font-style:normal;flex:1;}
.ks-testimonial-card__author {display:flex;align-items:center;gap:.85rem;}
.ks-testimonial-card__avatar {width:44px;height:44px;background:var(--ks-grad-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;flex-shrink:0;}
.ks-testimonial-card__name {font-size:.9rem;font-weight:600;color:var(--ks-white);font-style:normal;display:block;}
.ks-testimonial-card__role {font-size:.78rem;color:var(--ks-text-muted);}

/*  FAQ  */
.ks-faq {background:var(--ks-dark-2);}
.ks-faq__inner {display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:flex-start;}
.ks-faq__list {display:flex;flex-direction:column;gap:.75rem;}
.ks-faq__item {border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius);overflow:hidden;background:var(--ks-dark-3);transition:border-color .3s;}
.ks-faq__item.is-open {border-color:rgba(123,0,255,.25);}
.ks-faq__question {width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;text-align:left;gap:1rem;font-size:.95rem;font-weight:500;color:var(--ks-text);transition:color .3s,background .3s;}
.ks-faq__question:hover {color:var(--ks-purple-light);background:rgba(123,0,255,.04);}
.ks-faq__question[aria-expanded="true"] {color:var(--ks-purple-light);}
.ks-faq__chevron {flex-shrink:0;color:var(--ks-text-muted);transition:transform .3s;}
.ks-faq__question[aria-expanded="true"] .ks-faq__chevron {transform:rotate(180deg);color:var(--ks-purple-light);}
.ks-faq__answer {max-height:0;overflow:hidden;transition:max-height .4s ease;}
.ks-faq__answer.is-open {max-height:500px;}
.ks-faq__answer p {padding:0 1.25rem 1.25rem;font-size:.9rem;color:var(--ks-text-muted);line-height:1.8;}

/*  BLOG  */
.ks-blog {background:var(--ks-dark);}
.ks-blog__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.ks-blog-card {background:var(--ks-dark-3);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;}
.ks-blog-card:hover {transform:translateY(-5px);border-color:rgba(123,0,255,.2);box-shadow:var(--ks-shadow-card);}
.ks-blog-card__image {height:190px;overflow:hidden;}
.ks-blog-card__image img {width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ks-blog-card:hover .ks-blog-card__image img {transform:scale(1.05);}
.ks-blog-card__image--placeholder {background:var(--ks-dark-4);display:flex;align-items:center;justify-content:center;}
.ks-blog-card__body {padding:1.5rem;flex:1;display:flex;flex-direction:column;}
.ks-blog-card__meta {font-size:.78rem;color:var(--ks-text-dim);margin-bottom:.75rem;}
.ks-blog-card__meta a {color:var(--ks-purple-light);}
.ks-blog-card__title {font-size:1rem;font-weight:700;margin-bottom:.6rem;line-height:1.4;}
.ks-blog-card__title a {color:var(--ks-white);transition:color .3s;}
.ks-blog-card__title a:hover {color:var(--ks-purple-light);}
.ks-blog-card__excerpt {font-size:.85rem;color:var(--ks-text-muted);line-height:1.7;flex:1;margin-bottom:1rem;}
.ks-blog-card__link {display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ks-purple-light);transition:gap .3s;}
.ks-blog-card__link:hover {gap:.7rem;}
.ks-blog__empty {text-align:center;color:var(--ks-text-muted);padding:3rem;grid-column:1/-1;}

/*  CONTATO  */
.ks-contact {background:var(--ks-dark-2);position:relative;overflow:hidden;}
.ks-contact::before {content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(123,0,255,.1) 0%,transparent 70%);pointer-events:none;}
.ks-contact__inner {display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;position:relative;z-index:1;}
.ks-contact__text {color:var(--ks-text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:2rem;}
.ks-contact__guarantees {display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;}
.ks-contact__guarantees li {display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--ks-text-muted);}
.ks-contact-form {background:var(--ks-dark-3);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-xl);padding:2.5rem;}
.ks-contact-form__title {font-size:1.25rem;margin-bottom:1.75rem;color:var(--ks-white);}
.ks-form-group {margin-bottom:1.1rem;}
.ks-form-label {display:block;font-size:.85rem;font-weight:500;color:var(--ks-text-muted);margin-bottom:.45rem;}
.ks-form-label span {color:var(--ks-purple);}
.ks-form-input {width:100%;background:var(--ks-dark-4);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-sm);padding:.75rem 1rem;color:var(--ks-text);font-size:.92rem;transition:border-color .3s,box-shadow .3s;appearance:none;}
.ks-form-input::placeholder {color:var(--ks-text-dim);}
.ks-form-input:focus {outline:none;border-color:rgba(123,0,255,.5);box-shadow:0 0 0 3px rgba(123,0,255,.12);}
.ks-form-select {cursor:pointer;}
.ks-form-textarea {resize:vertical;min-height:120px;}
.ks-form-success {margin-top:1rem;padding:1rem;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);border-radius:var(--ks-radius-sm);color:#4ade80;font-size:.88rem;text-align:center;}
.ks-form-error {margin-top:1rem;padding:1rem;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);border-radius:var(--ks-radius-sm);color:#f87171;font-size:.88rem;text-align:center;}

/*  FOOTER  */
.ks-footer {background:var(--ks-dark);border-top:1px solid var(--ks-dark-border);}
.ks-footer-cta {background:linear-gradient(135deg,rgba(123,0,255,.2) 0%,rgba(92,0,190,.1) 100%);border-bottom:1px solid rgba(123,0,255,.15);padding-block:3rem;}
.ks-footer-cta__inner {display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.ks-footer-cta__title {font-size:1.35rem;font-weight:700;color:var(--ks-white);margin-bottom:.35rem;}
.ks-footer-cta__subtitle {font-size:.9rem;color:var(--ks-text-muted);max-width:480px;}
.ks-footer-cta__actions {display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0;}
.ks-footer__main {padding-block:3.5rem;}
.ks-footer__grid {display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem;}
.ks-footer__logo-link {display:inline-block;margin-bottom:1rem;}
.ks-footer__logo-link img {height:44px;width:auto;}
.ks-footer__tagline {font-size:.88rem;color:var(--ks-text-muted);margin-bottom:1.5rem;max-width:260px;line-height:1.7;}
.ks-social-links {display:flex;gap:.75rem;}
.ks-social-link {width:38px;height:38px;background:var(--ks-dark-3);border:1px solid var(--ks-dark-border);border-radius:var(--ks-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--ks-text-muted);transition:all .3s;}
.ks-social-link:hover {background:rgba(123,0,255,.15);border-color:rgba(123,0,255,.35);color:var(--ks-purple-light);transform:translateY(-3px);}
.ks-footer__col-title {font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ks-white);margin-bottom:1.1rem;}
.ks-footer__links {display:flex;flex-direction:column;gap:.6rem;}
.ks-footer__links a {font-size:.88rem;color:var(--ks-text-muted);transition:color .3s;}
.ks-footer__links a:hover {color:var(--ks-purple-light);}
.ks-footer__contact {display:flex;flex-direction:column;gap:.75rem;}
.ks-footer__contact li {display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--ks-text-muted);}
.ks-footer__contact svg {flex-shrink:0;color:var(--ks-purple-light);}
.ks-footer__contact a {color:var(--ks-text-muted);transition:color .3s;}
.ks-footer__contact a:hover {color:var(--ks-purple-light);}
.ks-footer__bottom {border-top:1px solid var(--ks-dark-border);padding-block:1.25rem;}
.ks-footer__bottom-inner {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;}
.ks-footer__copyright {font-size:.82rem;color:var(--ks-text-dim);}
.ks-footer__wp {font-size:.82rem;color:var(--ks-text-dim);display:flex;gap:.75rem;align-items:center;}
.ks-footer__wp a {color:var(--ks-text-muted);transition:color .3s;}
.ks-footer__wp a:hover {color:var(--ks-purple-light);}

/*  SCROLL REVEAL  */
.ks-reveal {opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.ks-reveal.is-visible {opacity:1;transform:translateY(0);}
.ks-reveal--delay-1 {transition-delay:.1s;}
.ks-reveal--delay-2 {transition-delay:.2s;}
.ks-reveal--delay-3 {transition-delay:.3s;}

/*  RESPONSIVIDADE  */
@media(max-width:1100px){
  .ks-hero__inner {grid-template-columns:1fr;text-align:center;}
  .ks-hero__subtitle,.ks-hero__actions,.ks-hero__tags {margin-inline:auto;}
  .ks-hero__actions {justify-content:center;}
  .ks-hero__tags {justify-content:center;}
  .ks-hero__visual {display:none;}
  .ks-about__inner {grid-template-columns:1fr;gap:3rem;}
  .ks-about__visual {display:none;}
  .ks-faq__inner {grid-template-columns:1fr;gap:2rem;}
  .ks-contact__inner {grid-template-columns:1fr;gap:3rem;}
  .ks-stack__grid {grid-template-columns:repeat(4,1fr);}
  .ks-numbers__grid {grid-template-columns:repeat(2,1fr);}
  .ks-footer__grid {grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  :root {--ks-section-py:4.5rem;}
  .ks-nav {display:none;}
  .ks-hamburger {display:flex;}
  .ks-mobile-menu {display:flex;}
  .ks-services__grid,.ks-portfolio__grid,.ks-blog__grid {grid-template-columns:1fr;}
  .ks-testimonials__slider {grid-template-columns:1fr;}
  .ks-stack__grid {grid-template-columns:repeat(3,1fr);}
  .ks-footer__grid {grid-template-columns:1fr;gap:2rem;}
  .ks-footer-cta__inner,.ks-urgency__inner {flex-direction:column;text-align:center;}
  .ks-footer-cta__actions {justify-content:center;}
  .ks-footer__bottom-inner {flex-direction:column;text-align:center;}
  .ks-number-item:not(:last-child)::after {display:none;}
  .ks-hero__title {font-size:2rem;}
}
@media(max-width:480px){
  .ks-stack__grid {grid-template-columns:repeat(2,1fr);}
  .ks-numbers__grid {grid-template-columns:1fr 1fr;}
  .ks-contact-form {padding:1.5rem;}
  .ks-hero__actions {flex-direction:column;}
}

/*  LOGO VIA WORDPRESS CUSTOMIZER (custom-logo)  */
/* Garante que a logo do tema e a logo do WP Customizer
   tenham o mesmo visual no header */
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  flex-shrink: 0;
}

.custom-logo {
  height: 55px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
}

/* Remove outline padrão do link e mantém foco visível */
.custom-logo-link:focus-visible {
  outline: 2px solid var(--ks-purple);
  outline-offset: 4px;
  border-radius: 4px;
}
