/*
Theme Name: ndemarketing Landing
Theme URI: https://ndemarketing.com
Author: Nicolás Álvarez Olea
Author URI: https://ndemarketing.com
Description: Tema personalizado para la landing page de captación de ndemarketing.com. Diseño 100% custom, sin framework, optimizado para CRO.
Version: 1.0.0
License: Proprietary
Text Domain: ndemarketing
*/

/* ============================================================
   DESIGN TOKENS — ndemarketing brand system
   ============================================================ */
:root {
  --verde:        #395144;
  --verde-dark:   #1C2A21;
  --verde-mid:    #2E4038;
  --gold:         #AA8B56;
  --gold-light:   #F5EDD9;
  --gold-mid:     #C9A96E;
  --cream:        #F4F2EE;
  --cream-alt:    #EBF0EC;
  --white:        #FFFFFF;
  --text-dark:    #1A1F1C;
  --text-mid:     #4A5568;
  --text-light:   #8A9490;
  --border-light: rgba(0,0,0,.08);
  --border-dark:  rgba(255,255,255,.10);
  --ok:           #22C55E;
  --error:        #EF4444;
  --font-display: 'Krona One', sans-serif;
  --font-body:    'Montserrat', sans-serif;
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px;
  --s5: 48px; --s6: 64px; --s7: 80px; --s8: 96px; --s9: 128px;
  --r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-full: 999px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.06);
  --shadow-md: 0 8px 24px rgba(0,0,0,.10);
  --shadow-lg: 0 16px 48px rgba(0,0,0,.14);
  --shadow-gold: 0 8px 32px rgba(170,139,86,.25);
  --t-fast: 150ms ease; --t-base: 220ms ease; --t-slow: 350ms ease;
}

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--cream);color:var(--text-dark);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* WordPress removes margin/padding on body — ensure page fills */
body.nde-landing{margin:0;padding:0}
/* Remove WP admin bar offset when logged in */
body.admin-bar .navbar{top:32px}
@media(max-width:782px){body.admin-bar .navbar{top:46px}}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.display-1{font-family:var(--font-display);font-size:clamp(42px,6.5vw,88px);line-height:1.0;letter-spacing:-0.02em}
.display-2{font-family:var(--font-display);font-size:clamp(32px,4.5vw,60px);line-height:1.05;letter-spacing:-0.02em}
.display-3{font-family:var(--font-display);font-size:clamp(24px,3.2vw,42px);line-height:1.1;letter-spacing:-0.01em}
.heading-1{font-family:var(--font-body);font-weight:700;font-size:clamp(20px,2.2vw,28px);line-height:1.3}
.heading-2{font-family:var(--font-body);font-weight:700;font-size:clamp(17px,1.8vw,22px);line-height:1.35}
.label{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:0.12em;text-transform:uppercase}
.body-lg{font-size:16px;line-height:1.7;font-weight:400}
.body-md{font-size:14px;line-height:1.65;font-weight:400}

/* ============================================================
   LAYOUT
   ============================================================ */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--s3)}
.container--narrow{max-width:820px}
.section{padding:var(--s8) 0}
.section--lg{padding:120px 0}
.section-label{display:inline-flex;align-items:center;gap:var(--s1);color:var(--gold);margin-bottom:var(--s2)}
.section-label::before{content:'';display:block;width:24px;height:2px;background:var(--gold);border-radius:2px}

.bg-dark{background:var(--verde-dark);color:var(--white)}
.bg-verde{background:var(--verde);color:var(--white)}
.bg-cream{background:var(--cream);color:var(--text-dark)}
.bg-white{background:var(--white);color:var(--text-dark)}
.text-muted{color:var(--text-mid)}
.bg-dark .text-muted{color:rgba(255,255,255,.55)}
.text-gold{color:var(--gold)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.divider{width:48px;height:3px;background:var(--gold);border-radius:3px;margin:var(--s2) 0 var(--s3)}
.divider--center{margin:var(--s2) auto var(--s3)}

/* ============================================================
   LOGO
   ============================================================ */
.logo{font-family:var(--font-display);font-size:22px;letter-spacing:-0.04em;line-height:1;cursor:pointer}
.logo .nde{color:var(--gold)}
.logo .mkt{color:var(--verde)}
.logo .dot{color:var(--gold)}
.logo--light .nde{color:var(--gold)}
.logo--light .mkt{color:var(--white)}
.logo--light .dot{color:var(--gold)}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar{position:sticky;top:0;z-index:100;height:72px;display:flex;align-items:center;background:rgba(28,42,33,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.06)}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.nav-links{display:flex;align-items:center;gap:var(--s4)}
.nav-links a{font-size:14px;font-weight:500;color:rgba(255,255,255,.70);transition:color var(--t-fast)}
.nav-links a:hover{color:var(--white)}
.nav-links a.active{color:var(--white)}
.nav-dropdown{position:relative}
.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:-16px;min-width:240px;background:var(--verde-mid);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:var(--s1);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--t-base),transform var(--t-base)}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-dropdown-menu a{display:block;padding:10px 14px;border-radius:var(--r-sm);font-size:14px;color:rgba(255,255,255,.75)!important;transition:background var(--t-fast)}
.nav-dropdown-menu a:hover{background:rgba(255,255,255,.06);color:var(--white)!important}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--white);margin:5px 0;border-radius:2px}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-cta{position:relative;display:inline-flex;align-items:center;gap:var(--s2);padding:18px 32px;background:var(--gold);color:var(--white);border-radius:var(--r-md);font-family:var(--font-body);font-weight:600;font-size:16px;cursor:pointer;border:none;box-shadow:0 8px 32px rgba(170,139,86,.35);transition:all var(--t-base);text-decoration:none;overflow:hidden}
.btn-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity var(--t-base)}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(170,139,86,.45)}
.btn-cta:hover::before{opacity:1}
.btn-cta svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t-fast)}
.btn-cta:hover svg{transform:translateX(3px)}
.btn-secondary{display:inline-flex;align-items:center;gap:var(--s1);padding:14px 28px;background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r-md);font-weight:600;font-size:15px;cursor:pointer;transition:all var(--t-fast)}
.btn-secondary:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06)}
.btn-ghost{display:inline-flex;align-items:center;gap:var(--s1);padding:14px 28px;background:transparent;color:var(--verde);border:1.5px solid var(--verde);border-radius:var(--r-md);font-weight:600;font-size:15px;cursor:pointer;transition:all var(--t-fast)}
.btn-ghost:hover{background:var(--verde);color:var(--white)}
.btn-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--gold);cursor:pointer;transition:gap var(--t-fast)}
.btn-arrow:hover{gap:10px}
.btn-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.btn-nav-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:var(--gold);color:var(--white);border-radius:var(--r-md);font-weight:600;font-size:13px;cursor:pointer;transition:all var(--t-fast);border:none}
.btn-nav-cta:hover{background:var(--gold-mid);box-shadow:var(--shadow-gold)}

/* ============================================================
   BADGES
   ============================================================ */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--r-full);font-size:12px;font-weight:600;letter-spacing:0.03em}
.badge-gold{background:rgba(170,139,86,.12);color:var(--gold);border:1px solid rgba(170,139,86,.20)}
.badge-green{background:rgba(34,197,94,.10);color:var(--ok);border:1px solid rgba(34,197,94,.20)}

/* ============================================================
   CARDS
   ============================================================ */
.card{background:var(--white);border-radius:var(--r-lg);padding:var(--s4);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all var(--t-base)}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:rgba(170,139,86,.25)}
.service-card{position:relative;overflow:hidden;padding:var(--s4);border-radius:var(--r-lg);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:all var(--t-base);cursor:pointer}
.service-card:hover{background:rgba(255,255,255,.08);border-color:rgba(170,139,86,.40);transform:translateY(-4px)}
.service-card .card-icon{width:52px;height:52px;border-radius:12px;background:rgba(170,139,86,.12);display:grid;place-items:center;margin-bottom:var(--s3)}
.service-card .card-icon svg{width:24px;height:24px;stroke:var(--gold);stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:18px;font-weight:700;color:var(--white);margin-bottom:8px}
.service-card p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.55);margin-bottom:var(--s3)}
.service-card .card-link{font-size:13px;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:4px;transition:gap var(--t-fast)}
.service-card:hover .card-link{gap:8px}
.service-card .card-link svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   CHECKLIST
   ============================================================ */
.checklist{display:flex;flex-direction:column;gap:12px}
.check-item{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.55}
.check-icon{flex-shrink:0;width:22px;height:22px;border-radius:var(--r-full);display:grid;place-items:center;margin-top:2px}
.check-icon svg{width:12px;height:12px;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.check-item.pos .check-icon{background:rgba(34,197,94,.10);border:1.5px solid rgba(34,197,94,.30)}
.check-item.pos .check-icon svg{stroke:var(--ok)}
.check-item.neg .check-icon{background:rgba(239,68,68,.08);border:1.5px solid rgba(239,68,68,.25)}
.check-item.neg .check-icon svg{stroke:var(--error)}

/* ============================================================
   STATS
   ============================================================ */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.08)}
.stat{text-align:center}
.stat-number{font-family:var(--font-display);font-size:clamp(36px,4.5vw,56px);color:var(--gold);line-height:1}
.stat-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,.45);margin-top:6px}

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee-section{overflow:hidden;padding:20px 0;background:var(--verde-mid);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.marquee-track{display:flex;gap:var(--s5);width:max-content;animation:marquee 30s linear infinite}
.marquee-item{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,.50);white-space:nowrap;flex-shrink:0}
.marquee-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.7}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============================================================
   PROCESS / STEPS
   ============================================================ */
.step{display:flex;gap:var(--s3);position:relative}
.step-num{flex-shrink:0;width:56px;height:56px;border-radius:var(--r-full);background:var(--gold-light);border:2px solid var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-size:18px;color:var(--gold)}
.step-body{flex:1;padding-top:14px}
.step-body h3{font-size:18px;font-weight:700;margin-bottom:6px}
.step-connector{position:absolute;left:27px;top:62px;width:2px;height:calc(100% - 20px);background:linear-gradient(to bottom,var(--gold),transparent);opacity:.25}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonial{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:var(--s4)}
.stars{display:flex;gap:3px;margin-bottom:var(--s2)}
.stars svg{width:16px;height:16px;fill:var(--gold);stroke:none}
.testimonial blockquote{font-size:15px;line-height:1.7;color:rgba(255,255,255,.80);margin-bottom:var(--s3);font-style:normal}
.testimonial-author{display:flex;align-items:center;gap:12px}
.avatar{width:44px;height:44px;border-radius:var(--r-full);background:var(--verde-mid);border:2px solid rgba(170,139,86,.30);display:grid;place-items:center;font-family:var(--font-display);font-size:14px;color:var(--gold);flex-shrink:0;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.author-name{font-weight:700;font-size:14px;color:var(--white)}
.author-role{font-size:12px;color:rgba(255,255,255,.45)}

/* ============================================================
   CASE STUDIES
   ============================================================ */
.case-card{border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all var(--t-base)}
.case-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.case-img{height:220px;background:var(--verde-mid);position:relative;overflow:hidden}
.case-img img{width:100%;height:100%;object-fit:cover}
.case-img .placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:rgba(255,255,255,.20)}
.case-tags{position:absolute;bottom:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}
.case-tag{padding:4px 10px;border-radius:var(--r-full);background:rgba(28,42,33,.80);backdrop-filter:blur(8px);font-size:11px;font-weight:600;color:rgba(255,255,255,.85)}
.case-body{padding:var(--s3)}
.case-body h3{font-size:17px;font-weight:700;margin-bottom:6px}
.case-body p{font-size:13px;color:var(--text-mid);line-height:1.55}

/* ============================================================
   FAQ
   ============================================================ */
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{border:1px solid var(--border-light);border-radius:var(--r-md);overflow:hidden;background:var(--white)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--text-dark);transition:color var(--t-fast)}
.faq-q:hover{color:var(--gold)}
.faq-icon{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--cream);display:grid;place-items:center;transition:all var(--t-base)}
.faq-icon svg{width:12px;height:12px;stroke:var(--text-mid);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.faq-item.open .faq-icon{background:var(--gold);transform:rotate(45deg)}
.faq-item.open .faq-icon svg{stroke:var(--white)}
.faq-a{padding:0 20px 18px;font-size:14px;line-height:1.7;color:var(--text-mid);display:none}
.faq-item.open .faq-a{display:block}

/* ============================================================
   CALENDAR EMBED
   ============================================================ */
.calendar-embed{border-radius:var(--r-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow-md)}
.calendar-embed iframe{width:100%;min-height:650px;border:none}

/* ============================================================
   PAIN POINTS
   ============================================================ */
.pain-card{padding:var(--s3);border-radius:var(--r-md);background:var(--white);border:1px solid var(--border-light);display:flex;gap:var(--s2);align-items:flex-start;transition:all var(--t-base)}
.pain-card:hover{border-color:rgba(170,139,86,.25);box-shadow:var(--shadow-sm)}
.pain-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:grid;place-items:center}
.pain-icon svg{width:20px;height:20px;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease, transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.hero-visible{opacity:1!important;transform:none!important}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:#0F1A13;color:rgba(255,255,255,.60);padding:var(--s8) 0 var(--s4);border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:var(--s5);margin-bottom:var(--s6)}
.footer h4{font-size:12px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--s2)}
.footer ul{display:flex;flex-direction:column;gap:10px}
.footer ul a{font-size:14px;color:rgba(255,255,255,.50);transition:color var(--t-fast)}
.footer ul a:hover{color:var(--gold)}
.footer ul.footer-cities-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.footer ul.footer-cities-list .footer-cities-all{grid-column:1 / -1;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.06);font-size:13px;flex-wrap:wrap;gap:var(--s2)}
.footer-legal{display:flex;gap:var(--s3)}
.footer-legal a{color:rgba(255,255,255,.35);transition:color var(--t-fast)}
.footer-legal a:hover{color:rgba(255,255,255,.7)}

/* ============================================================
   FLOATING CTA
   ============================================================ */
.floating-cta{position:fixed;bottom:24px;right:24px;z-index:90;padding:14px 24px;background:var(--gold);color:var(--white);border-radius:var(--r-full);font-weight:700;font-size:14px;box-shadow:0 8px 32px rgba(170,139,86,.45);cursor:pointer;display:flex;align-items:center;gap:8px;border:none;transition:all var(--t-base);opacity:0;transform:translateY(20px)}
.floating-cta.show{opacity:1;transform:translateY(0)}
.floating-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(170,139,86,.55)}
.floating-cta svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none}

/* ============================================================
   GSC CHART COMPONENT
   ============================================================ */
.gsc-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.gsc-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e0e0e0}
.gsc-met{padding:12px 14px;position:relative;border-right:1px solid #e0e0e0;cursor:default}
.gsc-met:last-child{border-right:none}
.gsc-met.on-blue::after,.gsc-met.on-purple::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px}
.gsc-met.on-blue::after{background:#1a73e8}
.gsc-met.on-purple::after{background:#9334e6}
.gsc-met-hd{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.gsc-chk{width:13px;height:13px;border-radius:2px;border:2px solid #dadce0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.gsc-met.on-blue .gsc-chk{background:#1558d6;border-color:#1558d6}
.gsc-met.on-purple .gsc-chk{background:#7627bb;border-color:#7627bb}
.gsc-chk-tick{display:none;width:8px;height:8px;stroke:#fff;stroke-width:3;fill:none}
.gsc-met.on-blue .gsc-chk-tick,.gsc-met.on-purple .gsc-chk-tick{display:block}
.gsc-met-lbl{font-size:11px;color:#5f6368;font-weight:400}
.gsc-met-val{font-size:22px;font-weight:400;color:#202124;display:block;margin-bottom:1px;font-variant-numeric:tabular-nums}
.gsc-met.on-blue .gsc-met-val{color:#1a73e8}
.gsc-met.on-purple .gsc-met-val{color:#9334e6}
.gsc-met.muted .gsc-met-val{color:#5f6368}
.gsc-chart-area{padding:16px 12px 0;background:#fff}
.gsc-xaxis{display:flex;justify-content:space-between;padding:6px 8px 10px;font-size:10px;color:#80868b;font-family:var(--font-body)}
.gsc-footer{padding:8px 16px;border-top:1px solid #f1f3f4;font-size:11px;color:#80868b;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.gsc-line{stroke-dasharray:2000;stroke-dashoffset:2000;transition:stroke-dashoffset 2.5s cubic-bezier(.22,1,.36,1)}
.gsc-line-imp{transition-delay:.25s}
.gsc-card.in-view .gsc-line{stroke-dashoffset:0}

/* ============================================================
   INTERACTIVE TIMELINE PANELS
   ============================================================ */
.tl-node{cursor:pointer}
.tl-node .tl-circle{transition:box-shadow var(--t-base),transform var(--t-base)}
.tl-node:hover .tl-circle{transform:scale(1.08)}
.tl-node.tl-active .tl-circle{box-shadow:0 0 0 5px rgba(170,139,86,.25)!important;transform:scale(1.1)}
#tl-panel-area{transition:max-height .45s ease,opacity .3s ease;overflow:hidden;max-height:0;opacity:0}
#tl-panel-area.open{max-height:400px;opacity:1}
.tl-panel-content{display:none}
.tl-panel-content.active{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s3);padding:var(--s4);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);margin-top:var(--s3);animation:tlFadeIn .25s ease}
@keyframes tlFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tl-panel-item h4{font-size:12px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.tl-panel-item ul{display:flex;flex-direction:column;gap:5px}
.tl-panel-item li{font-size:12px;color:rgba(255,255,255,.60);padding-left:14px;position:relative;line-height:1.45;list-style:none}
.tl-panel-item li::before{content:'→';position:absolute;left:0;color:var(--gold);font-size:10px;top:1px}
.tl-hint{font-size:10px;color:rgba(255,255,255,.30);text-align:center;margin-top:var(--s3)}

/* ============================================================
   SPEED BARS
   ============================================================ */
.speed-row{display:grid;grid-template-columns:200px 1fr 110px;align-items:center;gap:var(--s3);padding:14px 0;border-bottom:1px solid var(--border-light)}
.speed-row:last-child{border-bottom:none}
.speed-name{font-size:14px;font-weight:700;color:var(--text-dark)}
.speed-name span{display:block;font-size:11px;font-weight:400;color:var(--text-mid);margin-top:2px}
.speed-track{height:7px;background:rgba(57,81,68,.10);border-radius:var(--r-full);overflow:hidden}
.speed-fill{height:100%;border-radius:var(--r-full);width:0;transition:width 1.5s cubic-bezier(.22,1,.36,1)}
.speed-tag{font-size:12px;font-weight:700;text-align:right;white-space:nowrap}

/* ============================================================
   QUIZ
   ============================================================ */
.quiz-step{display:none}
.quiz-step.active{display:block;animation:tlFadeIn .3s ease}
.quiz-pbar{display:flex;gap:8px;justify-content:center;margin-bottom:var(--s4)}
.quiz-pd{height:4px;border-radius:2px;background:rgba(255,255,255,.15);transition:all var(--t-base);width:48px}
.quiz-pd.done{background:var(--gold)}
.quiz-pd.cur{background:rgba(170,139,86,.55)}
.quiz-q{font-family:var(--font-display);font-size:clamp(17px,2.2vw,24px);color:var(--white);text-align:center;margin-bottom:var(--s4);line-height:1.2;letter-spacing:-.01em}
.quiz-opts{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}
.quiz-opt{padding:11px 24px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);color:rgba(255,255,255,.70);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--t-fast);font-family:var(--font-body)}
.quiz-opt:hover{background:rgba(170,139,86,.10);border-color:rgba(170,139,86,.35);color:var(--white)}
.quiz-opt.picked{background:rgba(170,139,86,.18);border-color:var(--gold);color:var(--white)}
.quiz-result{display:none}
.quiz-result.active{display:block;animation:tlFadeIn .4s ease}
.quiz-msg{background:linear-gradient(135deg,rgba(170,139,86,.10),rgba(57,81,68,.15));border:1px solid rgba(170,139,86,.22);border-radius:var(--r-lg);padding:var(--s4);margin-bottom:var(--s5);text-align:center}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s4)}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:var(--s3)}
}
@media(max-width:768px){
  .rank-header{grid-template-columns:1fr 52px 52px 52px 64px!important;font-size:11px!important}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .nav-toggle{display:block}
  .section{padding:var(--s6) 0}
  .persona-row{flex-direction:column!important}
  .persona-photo{width:100%!important;height:280px!important}
  .entregables-grid{grid-template-columns:1fr!important}
  .footer-bottom{flex-direction:column;text-align:center}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  .speed-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .speed-name{grid-column:1/-1}
}
