/* ========================================
   AUTOMACT LOGOS — DESIGN SYSTEM
   Navy + Gold + White — Modern Tech
   ======================================== */

:root {
     /* Navy palette */
     --navy-900: #060d1f;
     --navy-800: #0b1a3a;
     --navy-700: #0f2550;
     --navy-600: #142f66;
     --navy-500: #1a3d7d;
     --navy-400: #2a5299;
     --navy-300: #4a72b5;
     --navy-200: #7a9dd1;
     --navy-100: #b3c7e8;
     --navy-50: #e6edf7;

     /* Gold palette */
     --gold-900: #3d2e06;
     --gold-800: #6b500a;
     --gold-700: #97720f;
     --gold-600: #b8901a;
     --gold-500: #d4a928;
     --gold-400: #e8c04a;
     --gold-300: #f0d06e;
     --gold-200: #f5e09a;
     --gold-100: #faefc6;
     --gold-50: #fdf8e8;

     /* Functional */
     --white: #ffffff;
     --off-white: #f8f9fc;
     --text-on-dark: #e2e8f0;
     --text-muted-dark: #8b9ab8;
     --text-on-light: #0f2550;
     --text-muted-light: #5a6a85;

     /* Gradients */
     --grad-navy: linear-gradient(135deg, #0b1a3a 0%, #142f66 50%, #0f2550 100%);
     --grad-navy-subtle: linear-gradient(180deg, #0b1a3a 0%, #101e3d 100%);
     --grad-gold: linear-gradient(135deg, #d4a928 0%, #e8c04a 40%, #f0d06e 100%);
     --grad-gold-text: linear-gradient(135deg, #d4a928 0%, #f0d06e 100%);
     --grad-gold-shine: linear-gradient(135deg, #b8901a 0%, #e8c04a 30%, #f5e09a 50%, #e8c04a 70%, #b8901a 100%);
     --grad-hero: linear-gradient(170deg, #060d1f 0%, #0f2550 40%, #142f66 70%, #0b1a3a 100%);

     /* Layout */
     --radius: 12px;
     --radius-lg: 20px;
     --radius-xl: 28px;
     --shadow-gold: 0 4px 24px rgba(212, 169, 40, 0.25);
     --shadow-card: 0 4px 32px rgba(6, 13, 31, 0.12);
     --shadow-card-hover: 0 8px 48px rgba(6, 13, 31, 0.18);

     /* Type */
     --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
     --font-display: 'Montserrat', -apple-system, sans-serif;

     /* TROCAR: Número do WhatsApp */
     --whatsapp-number: 5548999999999;
}

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

html {
     scroll-behavior: smooth;
     -webkit-text-size-adjust: 100%;
}

body {
     font-family: var(--font-body);
     color: var(--text-on-light);
     background: var(--white);
     line-height: 1.6;
     overflow-x: hidden;
     -webkit-font-smoothing: antialiased;
}

.container {
     max-width: 1100px;
     margin: 0 auto;
     padding: 0 20px;
}

/* ========== GOLD TEXT UTILITY ========== */
.gold-text {
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
}

/* ========== TOP BAR ========== */
.top-bar {
     background: var(--navy-900);
     text-align: center;
     padding: 10px 16px;
     font-size: 13px;
     font-weight: 500;
     color: var(--text-muted-dark);
     border-bottom: 1px solid rgba(212, 169, 40, 0.15);
}

.top-bar strong {
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     font-weight: 700;
}

/* ========== HEADER ========== */
header {
     padding: 14px 0;
     position: sticky;
     top: 0;
     z-index: 100;
     background: rgba(6, 13, 31, 0.95);
     backdrop-filter: blur(16px);
     -webkit-backdrop-filter: blur(16px);
     border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

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

.logo {
     font-family: var(--font-display);
     font-size: 22px;
     font-weight: 800;
     color: var(--white);
     text-decoration: none;
     letter-spacing: -0.03em;
}

.logo em {
     font-style: normal;
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
}

.header-cta {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     background: var(--grad-gold);
     color: var(--navy-900);
     padding: 10px 20px;
     border-radius: 50px;
     font-size: 13px;
     font-weight: 700;
     text-decoration: none;
     transition: transform 0.2s, box-shadow 0.2s;
     letter-spacing: -0.01em;
}

.header-cta:hover {
     transform: translateY(-1px);
     box-shadow: var(--shadow-gold);
}

.header-cta:active {
     transform: scale(0.97);
}

.header-cta svg {
     width: 16px;
     height: 16px;
}

/* ========== HERO ========== */
.hero {
     background: var(--grad-hero);
     padding: 56px 0 64px;
     text-align: center;
     position: relative;
     overflow: hidden;
}

.hero::before {
     content: '';
     position: absolute;
     top: -40%;
     left: -20%;
     width: 140%;
     height: 140%;
     background: radial-gradient(ellipse at 50% 0%, rgba(212, 169, 40, 0.06) 0%, transparent 60%);
     pointer-events: none;
}

.hero::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(212, 169, 40, 0.3), transparent);
}

.hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(212, 169, 40, 0.1);
     border: 1px solid rgba(212, 169, 40, 0.2);
     color: var(--gold-400);
     padding: 7px 16px;
     border-radius: 50px;
     font-size: 13px;
     font-weight: 600;
     margin-bottom: 24px;
     position: relative;
}

.hero-badge .dot {
     width: 7px;
     height: 7px;
     background: var(--gold-400);
     border-radius: 50%;
     animation: pulse 2s infinite;
}

@keyframes pulse {
     0%, 100% {
          opacity: 1;
          transform: scale(1);
     }
     50% {
          opacity: 0.4;
          transform: scale(0.7);
     }
}

.hero h1 {
     font-family: var(--font-display);
     font-size: clamp(34px, 7.5vw, 58px);
     line-height: 1.08;
     color: var(--white);
     margin-bottom: 18px;
     letter-spacing: -0.04em;
     font-weight: 800;
     position: relative;
}

.hero h1 .highlight {
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
}

.hero-sub {
     font-size: 17px;
     color: var(--text-muted-dark);
     max-width: 500px;
     margin: 0 auto 32px;
     line-height: 1.6;
     font-weight: 400;
}

.hero-cta {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     background: var(--grad-gold);
     color: var(--navy-900);
     padding: 16px 36px;
     border-radius: 50px;
     font-size: 17px;
     font-weight: 700;
     text-decoration: none;
     box-shadow: var(--shadow-gold);
     transition: transform 0.2s, box-shadow 0.2s;
     letter-spacing: -0.01em;
     position: relative;
}

.hero-cta:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 32px rgba(212, 169, 40, 0.35);
}

.hero-cta:active {
     transform: scale(0.97);
}

.hero-cta svg {
     width: 22px;
     height: 22px;
}

.hero-trust {
     margin-top: 18px;
     font-size: 14px;
     color: var(--text-muted-dark);
}

.hero-trust strong {
     color: var(--gold-400);
}

/* ========== PROOF STRIP ========== */
.proof-strip {
     background: var(--navy-900);
     padding: 32px 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.proof-numbers {
     display: flex;
     justify-content: center;
     gap: 40px;
     flex-wrap: wrap;
}

.proof-item {
     text-align: center;
     min-width: 90px;
}

.proof-number {
     font-family: var(--font-display);
     font-size: 30px;
     font-weight: 800;
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     line-height: 1.1;
}

.proof-label {
     font-size: 11px;
     color: var(--text-muted-dark);
     margin-top: 4px;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.06em;
}

/* ========== SECTIONS (LIGHT) ========== */
.section-label {
     text-align: center;
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     margin-bottom: 8px;
}

.section-title {
     text-align: center;
     font-family: var(--font-display);
     font-size: clamp(26px, 5vw, 38px);
     color: var(--navy-800);
     margin-bottom: 12px;
     letter-spacing: -0.03em;
     font-weight: 800;
}

.section-subtitle {
     text-align: center;
     font-size: 15px;
     color: var(--text-muted-light);
     max-width: 480px;
     margin: 0 auto 36px;
}

/* Dark section variants */
.dark-section {
     background: var(--grad-navy-subtle);
     color: var(--white);
}

.dark-section .section-title {
     color: var(--white);
}

.dark-section .section-subtitle {
     color: var(--text-muted-dark);
}

/* ========== PORTFOLIO ========== */
.portfolio {
     padding: 60px 0 52px;
}

.portfolio-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 12px;
}

.portfolio-item {
     aspect-ratio: 1;
     border-radius: var(--radius);
     overflow: hidden;
     background: linear-gradient(135deg, var(--navy-50) 0%, var(--off-white) 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     border: 1px solid rgba(15, 37, 80, 0.06);
     transition: transform 0.3s, box-shadow 0.3s;
}

.portfolio-item:hover {
     transform: translateY(-4px);
     box-shadow: var(--shadow-card);
}

.portfolio-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}

.logo-placeholder {
     font-family: var(--font-display);
     font-size: 13px;
     font-weight: 700;
     color: var(--navy-200);
     text-align: center;
}

.portfolio-cta {
     text-align: center;
     margin-top: 28px;
}

.portfolio-cta a {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     font-weight: 700;
     font-size: 14px;
     text-decoration: none;
     padding: 10px 24px;
     border-radius: 50px;
     border: 2px solid var(--navy-700);
     color: var(--navy-700);
     transition: all 0.2s;
}

.portfolio-cta a:hover {
     background: var(--navy-700);
     color: var(--white);
}

/* ========== HOW IT WORKS ========== */
.how-it-works {
     padding: 60px 0;
}

.steps {
     display: grid;
     grid-template-columns: 1fr;
     gap: 20px;
     max-width: 560px;
     margin: 0 auto;
}

.step {
     display: flex;
     gap: 18px;
     align-items: flex-start;
     padding: 20px;
     border-radius: var(--radius-lg);
     background: var(--off-white);
     border: 1px solid rgba(15, 37, 80, 0.05);
     transition: box-shadow 0.3s;
}

.step:hover {
     box-shadow: var(--shadow-card);
}

.step-num {
     width: 44px;
     height: 44px;
     min-width: 44px;
     background: var(--grad-navy);
     color: var(--gold-400);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: var(--font-display);
     font-weight: 800;
     font-size: 18px;
}

.step-content h3 {
     font-family: var(--font-display);
     font-size: 17px;
     font-weight: 700;
     margin-bottom: 4px;
     color: var(--navy-800);
     letter-spacing: -0.02em;
}

.step-content p {
     font-size: 14px;
     color: var(--text-muted-light);
     line-height: 1.55;
}

/* ========== PRICING ========== */
.pricing {
     padding: 64px 0 56px;
     background: var(--grad-hero);
     position: relative;
}

.pricing::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(212, 169, 40, 0.3), transparent);
}

.pricing .section-label {
     color: var(--gold-400);
     -webkit-text-fill-color: var(--gold-400);
}

.pricing .section-title {
     color: var(--white);
}

.pricing .section-subtitle {
     color: var(--text-muted-dark);
}

.plans {
     display: grid;
     grid-template-columns: 1fr;
     gap: 18px;
     max-width: 480px;
     margin: 0 auto;
}

.plan {
     border: 1px solid rgba(255, 255, 255, 0.08);
     border-radius: var(--radius-xl);
     padding: 32px 26px;
     position: relative;
     background: rgba(255, 255, 255, 0.03);
     backdrop-filter: blur(8px);
     transition: transform 0.3s, box-shadow 0.3s;
}

.plan:hover {
     transform: translateY(-4px);
}

/* Featured plan */
.plan.featured {
     border-color: var(--gold-500);
     background: linear-gradient(180deg, rgba(212, 169, 40, 0.08) 0%, rgba(255, 255, 255, 0.03) 40%);
     box-shadow: 0 0 0 1px var(--gold-500), 0 8px 40px rgba(212, 169, 40, 0.15);
}

.plan-badge {
     position: absolute;
     top: -13px;
     left: 50%;
     transform: translateX(-50%);
     background: var(--grad-gold);
     color: var(--navy-900);
     padding: 5px 18px;
     border-radius: 50px;
     font-size: 11px;
     font-weight: 800;
     text-transform: uppercase;
     letter-spacing: 0.06em;
     white-space: nowrap;
}

/* Premium plan */
.plan.premium {
     border-color: rgba(212, 169, 40, 0.4);
     background: linear-gradient(180deg, rgba(212, 169, 40, 0.05) 0%, rgba(255, 255, 255, 0.02) 50%);
}

.plan.premium .plan-badge {
     background: var(--grad-gold-shine);
}

.plan-header {
     text-align: center;
     margin-bottom: 18px;
}

.plan-name {
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     color: var(--text-muted-dark);
     margin-bottom: 6px;
}

.plan-price {
     font-family: var(--font-display);
     font-size: 48px;
     font-weight: 800;
     color: var(--white);
     line-height: 1;
}

.plan-price small {
     font-size: 20px;
     font-weight: 500;
     color: var(--text-muted-dark);
}

.plan-desc {
     text-align: center;
     font-size: 14px;
     color: var(--text-muted-dark);
     margin-bottom: 22px;
     line-height: 1.5;
}

.plan-features {
     list-style: none;
     margin-bottom: 26px;
}

.plan-features li {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     padding: 8px 0;
     font-size: 14px;
     color: var(--text-on-dark);
     line-height: 1.4;
}

.plan-features li strong {
     color: var(--white);
}

.plan-features li svg {
     width: 18px;
     height: 18px;
     min-width: 18px;
     margin-top: 1px;
}

.check-gold {
     color: var(--gold-400);
}

.check-white {
     color: var(--navy-200);
}

/* Plan CTAs */
.plan-cta {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     width: 100%;
     padding: 15px 24px;
     border-radius: 50px;
     font-size: 15px;
     font-weight: 700;
     text-decoration: none;
     cursor: pointer;
     border: none;
     transition: transform 0.2s, box-shadow 0.2s;
     letter-spacing: -0.01em;
     font-family: var(--font-body);
}

.plan-cta:active {
     transform: scale(0.97);
}

.plan-cta svg {
     width: 20px;
     height: 20px;
}

.plan-cta.outline {
     background: transparent;
     color: var(--white);
     border: 2px solid rgba(255, 255, 255, 0.2);
}

.plan-cta.outline:hover {
     border-color: rgba(255, 255, 255, 0.4);
}

.plan-cta.gold {
     background: var(--grad-gold);
     color: var(--navy-900);
     box-shadow: var(--shadow-gold);
}

.plan-cta.gold:hover {
     box-shadow: 0 8px 32px rgba(212, 169, 40, 0.4);
     transform: translateY(-2px);
}

.plan-cta.gold-shine {
     background: var(--grad-gold-shine);
     color: var(--navy-900);
     box-shadow: var(--shadow-gold);
}

/* ========== TESTIMONIALS ========== */
.testimonials {
     padding: 60px 0;
}

.testimonial-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 16px;
     max-width: 640px;
     margin: 0 auto;
}

.testimonial {
     background: var(--off-white);
     border-radius: var(--radius-lg);
     padding: 24px;
     border: 1px solid rgba(15, 37, 80, 0.05);
     transition: box-shadow 0.3s;
}

.testimonial:hover {
     box-shadow: var(--shadow-card);
}

.testimonial-stars {
     font-size: 14px;
     margin-bottom: 10px;
     letter-spacing: 2px;
     background: var(--grad-gold-text);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
}

.testimonial-text {
     font-size: 14px;
     color: var(--text-on-light);
     line-height: 1.65;
     margin-bottom: 14px;
}

.testimonial-author {
     font-size: 13px;
     font-weight: 700;
     color: var(--navy-800);
}

.testimonial-author span {
     font-weight: 400;
     color: var(--text-muted-light);
}

/* ========== FAQ ========== */
.faq {
     padding: 60px 0;
     background: var(--off-white);
}

.faq-list {
     max-width: 600px;
     margin: 0 auto;
}

.faq-item {
     border-bottom: 1px solid rgba(15, 37, 80, 0.06);
}

.faq-question {
     width: 100%;
     background: none;
     border: none;
     padding: 20px 0;
     font-size: 15px;
     font-weight: 600;
     color: var(--navy-800);
     text-align: left;
     cursor: pointer;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 16px;
     font-family: var(--font-body);
     line-height: 1.4;
}

.faq-icon {
     width: 28px;
     height: 28px;
     min-width: 28px;
     border-radius: 50%;
     background: var(--navy-800);
     display: flex;
     align-items: center;
     justify-content: center;
     transition: transform 0.3s, background 0.3s;
}

.faq-icon svg {
     width: 12px;
     height: 12px;
     stroke: var(--gold-400);
}

.faq-item.open .faq-icon {
     transform: rotate(45deg);
     background: var(--gold-500);
}

.faq-item.open .faq-icon svg {
     stroke: var(--navy-900);
}

.faq-answer {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.35s ease;
}

.faq-item.open .faq-answer {
     max-height: 400px;
}

.faq-answer p {
     font-size: 14px;
     color: var(--text-muted-light);
     line-height: 1.65;
     padding-bottom: 20px;
}

.faq-answer strong {
     color: var(--navy-800);
}

/* ========== FINAL CTA ========== */
.final-cta {
     padding: 64px 0;
     text-align: center;
     background: var(--grad-hero);
     position: relative;
}

.final-cta::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(212, 169, 40, 0.3), transparent);
}

.final-cta h2 {
     font-family: var(--font-display);
     font-size: clamp(26px, 5vw, 38px);
     color: var(--white);
     margin-bottom: 12px;
     letter-spacing: -0.03em;
     font-weight: 800;
}

.final-cta p {
     font-size: 15px;
     color: var(--text-muted-dark);
     margin-bottom: 28px;
     max-width: 440px;
     margin-left: auto;
     margin-right: auto;
}

.final-cta .hero-cta {
     background: var(--grad-gold);
     color: var(--navy-900);
}

/* ========== FOOTER ========== */
footer {
     padding: 28px 0;
     text-align: center;
     font-size: 12px;
     color: var(--text-muted-dark);
     background: var(--navy-900);
     border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* ========== FLOATING WHATSAPP ========== */
.whatsapp-float {
     position: fixed;
     bottom: 20px;
     right: 20px;
     z-index: 999;
     width: 56px;
     height: 56px;
     background: var(--grad-gold);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: var(--shadow-gold);
     transition: transform 0.2s;
     text-decoration: none;
     cursor: pointer;
}

.whatsapp-float:hover {
     transform: scale(1.08);
}

.whatsapp-float:active {
     transform: scale(0.92);
}

.whatsapp-float svg {
     width: 26px;
     height: 26px;
     fill: var(--navy-900);
}

/* ========== RESPONSIVE ========== */
@media (min-width: 640px) {
     .testimonial-grid {
          grid-template-columns: repeat(2, 1fr);
     }
}

@media (min-width: 768px) {
     .hero {
          padding: 76px 0 80px;
     }

     .plans {
          grid-template-columns: repeat(3, 1fr);
          max-width: 920px;
          gap: 20px;
          align-items: start;
     }

     .plan.featured {
          transform: scale(1.04);
          z-index: 2;
     }

     .plan.featured:hover {
          transform: scale(1.06) translateY(-4px);
     }

     .proof-numbers {
          gap: 64px;
     }

     .portfolio-grid {
          grid-template-columns: repeat(4, 1fr);
          gap: 14px;
     }

     .steps {
          grid-template-columns: repeat(3, 1fr);
          max-width: 100%;
          gap: 16px;
     }

     .step {
          flex-direction: column;
          text-align: center;
          align-items: center;
     }
}

/* ========== ANIMATIONS ========== */
@media (prefers-reduced-motion: no-preference) {
     .fade-up {
          opacity: 0;
          transform: translateY(24px);
          transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
     }

     .fade-up.visible {
          opacity: 1;
          transform: translateY(0);
     }
}
