
  /* ============ TOKENS ============ */
  :root{
    --deep:      #102A43;
    --deep-2:    #0C2036;
    --blue:      #2F80ED;
    --cyan:      #56CCF2;
    --lilac:     #8B7CF6;
    --white:     #FFFFFF;
    --mist:      #F5F7FA;
    --mist-2:    #EDF1F7;
    --ink:       #243B53;
    --ink-soft:  #56708C;
    --line:      rgba(16,42,67,0.10);

    --bg:        var(--mist);
    --surface:   var(--white);
    --surface-2: var(--mist-2);
    --text:      var(--ink);
    --text-soft: var(--ink-soft);
    --text-deep: var(--deep);
    --border:    var(--line);
    --card-shadow: 0 1px 2px rgba(16,42,67,0.06), 0 12px 32px -16px rgba(16,42,67,0.18);
    --grad-primary: linear-gradient(120deg, var(--blue) 0%, var(--lilac) 100%);
    --grad-tech:    linear-gradient(135deg, var(--deep) 0%, var(--blue) 55%, var(--cyan) 100%);
    --grad-soft:    linear-gradient(160deg, rgba(47,128,237,0.08), rgba(139,124,246,0.08));
    --focus:     var(--blue);

    --font-display: 'Manrope', 'Segoe UI', system-ui, sans-serif;
    --font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;
    --font-mono:    'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:        #0A1622;
      --surface:   #101E31;
      --surface-2: #0D1A2A;
      --text:      #E6ECF5;
      --text-soft: #9DB1C7;
      --text-deep: #F2F6FC;
      --border:    rgba(255,255,255,0.09);
      --card-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 20px 40px -20px rgba(0,0,0,0.55);
      --grad-soft:    linear-gradient(160deg, rgba(47,128,237,0.16), rgba(139,124,246,0.14));
    }
  }
  :root[data-theme="dark"]{
    --bg:        #0A1622;
    --surface:   #101E31;
    --surface-2: #0D1A2A;
    --text:      #E6ECF5;
    --text-soft: #9DB1C7;
    --text-deep: #F2F6FC;
    --border:    rgba(255,255,255,0.09);
    --card-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 20px 40px -20px rgba(0,0,0,0.55);
    --grad-soft:    linear-gradient(160deg, rgba(47,128,237,0.16), rgba(139,124,246,0.14));
  }

  /* ============ RESET-ISH ============ */
  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }
  img,svg{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  h1,h2,h3,h4{ font-family:var(--font-display); color:var(--text-deep); margin:0; text-wrap:balance; letter-spacing:-0.01em; }
  p{ margin:0; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; }
  :focus-visible{ outline:2.5px solid var(--focus); outline-offset:3px; border-radius:4px; }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
  .wrap-narrow{ max-width:860px; margin:0 auto; padding:0 24px; }
  section{ position:relative; }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--blue);
    display:inline-flex; align-items:center; gap:8px;
    margin:0 0 14px;
  }
  .eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--grad-primary); flex:none; }
  :root[data-theme="dark"] .eyebrow, @media (prefers-color-scheme:dark){ .eyebrow{ color:var(--cyan); } }

  .h2{ font-size:clamp(28px,4vw,42px); font-weight:800; line-height:1.12; }
  .h3{ font-size:clamp(20px,2.6vw,25px); font-weight:700; line-height:1.25; }
  .lede{ font-size:clamp(16px,1.9vw,18.5px); color:var(--text-soft); max-width:640px; line-height:1.6; }

  .section-pad{ padding:88px 0; }
  @media (max-width:720px){ .section-pad{ padding:64px 0; } }

  .center{ text-align:center; margin-left:auto; margin-right:auto; }

  /* ============ BUTTONS ============ */
  .btn{
    --pad-y: 15px;
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:var(--pad-y) 26px;
    border-radius:100px;
    font-family:var(--font-body);
    font-weight:700;
    font-size:15px;
    letter-spacing:0.01em;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, filter .22s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--grad-primary);
    color:#fff;
    box-shadow:0 10px 24px -10px rgba(47,128,237,0.55), inset 0 1px 0 rgba(255,255,255,0.25);
  }
  .btn-primary:hover{ transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 16px 30px -10px rgba(47,128,237,0.6), inset 0 1px 0 rgba(255,255,255,0.3); }
  .btn-primary:active{ transform:translateY(0); }

  .btn-ghost{
    background:var(--surface);
    color:var(--text-deep);
    border-color:var(--border);
    box-shadow:var(--card-shadow);
  }
  .btn-ghost:hover{ transform:translateY(-2px); border-color:var(--blue); }

  .btn-whatsapp{
    background:linear-gradient(135deg,#22C35E,#17A24C);
    color:#fff;
    box-shadow:0 10px 24px -10px rgba(23,162,76,0.55), inset 0 1px 0 rgba(255,255,255,0.25);
  }
  .btn-whatsapp:hover{ transform:translateY(-2px); filter:brightness(1.05); }
  .btn-sm{ padding:11px 20px; font-size:13.5px; }
  .btn svg{ width:18px; height:18px; flex:none; }

  .cta-row{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
  .trust-note{ font-size:13.5px; color:var(--text-soft); margin-top:16px; display:flex; align-items:center; gap:8px; }
  .trust-note svg{ width:16px;height:16px;flex:none;color:var(--blue); }

  /* ============ NAV ============ */
  .nav{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:saturate(160%) blur(14px);
    border-bottom:1px solid var(--border);
  }
  .nav .wrap{ display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:18px; }
  .brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:16.5px; color:var(--text-deep); }
  .brand .mark{ width:32px; height:32px; border-radius:10px; background:var(--grad-tech); flex:none; position:relative; overflow:hidden; }
  .brand .mark::after{ content:''; position:absolute; inset:0; background:
      radial-gradient(circle at 30% 30%, rgba(255,255,255,0.55), transparent 45%);
  }
  .brand small{ display:block; font-family:var(--font-body); font-weight:500; font-size:11px; color:var(--text-soft); letter-spacing:0.02em; }
  .nav-cta{ display:flex; align-items:center; gap:10px; }
  .nav-phone{ display:none; }
  @media (min-width:860px){ .nav-phone{ display:inline-flex; font-family:var(--font-mono); font-size:13px; color:var(--text-soft); } }

  /* ============ SCANLINE DECOR ============ */
  .scan-bg{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  .scan-bg .glow{ position:absolute; border-radius:50%; filter:blur(70px); opacity:0.35; }

  /* ============ HERO ============ */
  .hero{ padding:64px 0 96px; overflow:hidden; position:relative; }
  .hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
  @media (max-width:940px){ .hero-grid{ grid-template-columns:1fr; gap:44px; } }

  .hero h1{ font-size:clamp(34px,5.2vw,56px); font-weight:800; line-height:1.06; }
  .hero h1 .accent{
    background:var(--grad-primary); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero .lede{ margin-top:20px; max-width:520px; }
  .hero .cta-row{ margin-top:32px; }

  .hero-visual{ position:relative; }
  .scan-panel{
    position:relative; border-radius:28px; overflow:hidden;
    background:var(--grad-tech);
    aspect-ratio:1/1.02;
    box-shadow:0 30px 60px -25px rgba(16,42,67,0.5);
  }
  .scan-panel svg{ position:absolute; inset:0; width:100%; height:100%; }
  .scan-panel .grain{ position:absolute; inset:0; background:radial-gradient(circle at 75% 15%, rgba(255,255,255,0.14), transparent 45%); }
  .scan-caption{
    position:absolute; left:18px; right:18px; bottom:18px;
    display:flex; justify-content:space-between; align-items:flex-end;
    font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,0.85);
    letter-spacing:0.06em;
  }
  .scan-caption .pill{
    background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.25);
    padding:6px 12px; border-radius:100px; backdrop-filter:blur(4px);
  }

  .people-strip{ display:flex; gap:14px; margin-top:18px; }
  .people-card{
    flex:1; position:relative; border-radius:18px; overflow:hidden; aspect-ratio:1/1.1;
    box-shadow:var(--card-shadow);
  }
  .people-card .ph{ position:absolute; inset:0; }
  .people-card .tag{
    position:absolute; left:12px; bottom:12px; right:12px;
    font-size:12px; color:#fff; font-weight:600;
    display:flex; flex-direction:column; gap:2px;
  }
  .people-card .tag .small{ font-family:var(--font-mono); font-size:9.5px; font-weight:500; opacity:0.75; letter-spacing:0.04em; text-transform:uppercase; }
  .people-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(16,42,67,0.72) 0%, rgba(16,42,67,0.06) 55%, transparent 75%); }

  /* generic gradient avatar/photo placeholders */
  .ph-a{ background:linear-gradient(150deg,#2F80ED,#56CCF2); }
  .ph-b{ background:linear-gradient(150deg,#8B7CF6,#2F80ED); }
  .ph-c{ background:linear-gradient(150deg,#102A43,#2F80ED); }
  .ph-d{ background:linear-gradient(150deg,#56CCF2,#8B7CF6); }
  .ph-blob{ position:absolute; border-radius:50%; filter:blur(2px); opacity:0.5; }

  /* ============ PROBLEM ============ */
  .problem-grid{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media (max-width:900px){ .problem-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:600px){ .problem-grid{ grid-template-columns:1fr; } }
  .problem-card{
    background:var(--surface); border:1px solid var(--border); border-radius:20px;
    padding:26px 24px; box-shadow:var(--card-shadow);
    display:flex; flex-direction:column; gap:14px;
    transition:transform .25s ease, border-color .25s ease;
  }
  .problem-card:hover{ transform:translateY(-4px); border-color:var(--blue); }
  .problem-card .icon{
    width:42px;height:42px;border-radius:12px; background:var(--grad-soft);
    display:flex;align-items:center;justify-content:center; color:var(--blue); flex:none;
  }
  .problem-card .icon svg{ width:21px;height:21px; }
  .problem-card p.title{ font-family:var(--font-display); font-weight:700; font-size:15.5px; color:var(--text-deep); }
  .problem-card p.desc{ font-size:14px; color:var(--text-soft); }

  /* ============ PILLARS (adolescentes / pais) ============ */
  .pillars{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  @media (max-width:820px){ .pillars{ grid-template-columns:1fr; } }
  .pillar{
    border-radius:20px; padding:30px 26px; background:var(--surface); border:1px solid var(--border);
    box-shadow:var(--card-shadow); position:relative; overflow:hidden;
  }
  .pillar::before{
    content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad-primary);
  }
  .pillar .num{ font-family:var(--font-mono); font-size:12px; color:var(--text-soft); letter-spacing:0.08em; }
  .pillar h4{ margin-top:10px; font-size:17px; font-weight:800; }
  .pillar p{ margin-top:10px; font-size:14.5px; color:var(--text-soft); }

  .section-cta{ margin-top:40px; display:flex; }

  /* ============ ALIGNERS CARDS ============ */
  .check-grid{ margin-top:40px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  @media (max-width:820px){ .check-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .check-grid{ grid-template-columns:1fr; } }
  .check-item{
    display:flex; align-items:center; gap:12px; padding:16px 18px;
    background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:var(--card-shadow);
    font-size:14.5px; font-weight:600; color:var(--text-deep);
  }
  .check-item .dot{
    width:26px;height:26px;border-radius:50%;background:var(--grad-primary); flex:none;
    display:flex;align-items:center;justify-content:center;
  }
  .check-item .dot svg{ width:13px;height:13px;color:#fff; }
  .disclaimer{
    margin-top:28px; padding:16px 20px; border-radius:14px;
    background:var(--surface-2); border:1px dashed var(--border);
    font-size:13.5px; color:var(--text-soft); font-style:italic;
    display:flex; gap:10px; align-items:flex-start;
  }
  .disclaimer svg{ width:16px;height:16px; flex:none; margin-top:2px; color:var(--lilac); }

  /* ============ COMPARISON ============ */
  .vs-wrap{ margin-top:44px; display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:stretch; }
  @media (max-width:760px){ .vs-wrap{ grid-template-columns:1fr; } .vs-divider{ display:none; } }
  .vs-card{
    background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:32px 28px;
    box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:18px;
  }
  .vs-wrap .vs-card:first-child{ border-top-right-radius:0; border-bottom-right-radius:0; }
  .vs-wrap .vs-card:last-child{ border-top-left-radius:0; border-bottom-left-radius:0; }
  @media (max-width:760px){ .vs-wrap .vs-card{ border-radius:22px !important; } }
  .vs-divider{
    display:flex; align-items:center; justify-content:center; padding:0 6px; position:relative;
  }
  .vs-divider span{
    font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; color:#fff;
    background:var(--grad-primary); width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center; box-shadow:0 8px 20px -6px rgba(47,128,237,0.5);
  }
  .vs-card .tag{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--blue); }
  .vs-card h4{ font-size:21px; font-weight:800; }
  .vs-card ul{ display:flex; flex-direction:column; gap:10px; }
  .vs-card li{ display:flex; gap:10px; font-size:14.5px; color:var(--text-soft); align-items:flex-start; }
  .vs-card li svg{ width:15px;height:15px; color:var(--lilac); flex:none; margin-top:3px; }
  .vs-note{
    margin-top:32px; text-align:center; font-family:var(--font-display); font-weight:700;
    font-size:clamp(16px,2.2vw,19px); color:var(--text-deep); max-width:680px; margin-left:auto;margin-right:auto;
  }

  /* ============ TECH FLOW ============ */
  .tech-section{ background:var(--deep); border-radius:32px; padding:72px 0; overflow:hidden; position:relative; }
  .tech-section .wrap{ position:relative; z-index:1; }
  .tech-section .eyebrow{ color:var(--cyan); }
  .tech-section h2, .tech-section .lede{ color:#fff; }
  .tech-section .lede{ color:rgba(255,255,255,0.72); }
  .tech-glow{ position:absolute; inset:-20%; background:
    radial-gradient(circle at 15% 20%, rgba(47,128,237,0.35), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(139,124,246,0.3), transparent 45%);
    pointer-events:none;
  }
  .flow{ margin-top:52px; display:grid; grid-template-columns:repeat(7,1fr); gap:0; position:relative; }
  @media (max-width:980px){ .flow{ grid-template-columns:repeat(2,1fr); gap:20px 16px; } }
  @media (max-width:520px){ .flow{ grid-template-columns:1fr; } }
  .flow-line{
    position:absolute; top:22px; left:6%; right:6%; height:1px;
    background:linear-gradient(90deg, transparent, rgba(86,204,242,0.5) 8%, rgba(139,124,246,0.5) 92%, transparent);
  }
  @media (max-width:980px){ .flow-line{ display:none; } }
  .flow-step{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:0 12px; }
  .flow-step .node{
    width:44px;height:44px;border-radius:50%; background:var(--deep-2); border:1px solid rgba(86,204,242,0.4);
    display:flex;align-items:center;justify-content:center; font-family:var(--font-mono); font-size:13px; color:var(--cyan);
    position:relative; z-index:1;
  }
  .flow-step p{ font-size:13px; color:rgba(255,255,255,0.75); line-height:1.45; }
  .flow-step strong{ display:block; color:#fff; font-family:var(--font-display); font-weight:700; font-size:14px; margin-bottom:2px; }

  /* ============ HOW IT WORKS (timeline) ============ */
  .timeline{ margin-top:48px; display:flex; flex-direction:column; }
  .t-step{ display:grid; grid-template-columns:60px 1fr; gap:22px; padding-bottom:38px; position:relative; }
  .t-step:last-child{ padding-bottom:0; }
  .t-step .rail{ position:relative; display:flex; justify-content:center; }
  .t-step .rail::before{
    content:''; position:absolute; top:44px; bottom:-38px; width:2px;
    background:linear-gradient(to bottom, var(--blue), var(--lilac));
    opacity:0.25;
  }
  .t-step:last-child .rail::before{ display:none; }
  .t-step .rail .circ{
    width:44px;height:44px;border-radius:50%; background:var(--surface); border:1.5px solid var(--border);
    display:flex;align-items:center;justify-content:center; font-family:var(--font-mono); font-weight:600; font-size:14px;
    color:var(--blue); box-shadow:var(--card-shadow); z-index:1;
  }
  .t-step h4{ font-size:16.5px; font-weight:800; }
  .t-step p{ margin-top:6px; font-size:14.5px; color:var(--text-soft); max-width:520px; }

  /* ============ PARENTS EMOTIONAL ============ */
  .parents-section{ background:var(--surface-2); }
  .parents-grid{ margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media (max-width:820px){ .parents-grid{ grid-template-columns:1fr; } }
  .parent-item{
    background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:24px;
    box-shadow:var(--card-shadow);
  }
  .parent-item .tag{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--lilac); }
  .parent-item h4{ margin-top:8px; font-size:16px; font-weight:800; }

  /* ============ TEENS CASUAL ============ */
  .teen-grid{ margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  @media (max-width:820px){ .teen-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:480px){ .teen-grid{ grid-template-columns:1fr; } }
  .teen-card{
    border-radius:18px; padding:22px 20px; color:#fff; min-height:150px;
    display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--card-shadow);
    transition:transform .25s ease;
  }
  .teen-card:hover{ transform:translateY(-4px) rotate(-0.3deg); }
  .teen-card span.big{ font-family:var(--font-display); font-weight:800; font-size:18px; }
  .teen-card svg{ width:22px;height:22px; opacity:0.85; }
  .teen-1{ background:linear-gradient(155deg,#2F80ED,#102A43); }
  .teen-2{ background:linear-gradient(155deg,#8B7CF6,#2F80ED); }
  .teen-3{ background:linear-gradient(155deg,#56CCF2,#2F80ED); }
  .teen-4{ background:linear-gradient(155deg,#102A43,#8B7CF6); }

  /* ============ TESTIMONIALS ============ */
  .testi-scroll{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media (max-width:900px){ .testi-scroll{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:600px){ .testi-scroll{ grid-template-columns:1fr; } }
  .testi-card{
    background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:24px;
    box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:16px;
  }
  .testi-head{ display:flex; align-items:center; gap:12px; }
  .avatar{ width:46px;height:46px;border-radius:50%; flex:none; display:flex;align-items:center;justify-content:center;
    color:#fff; font-family:var(--font-display); font-weight:800; font-size:15px; }
  .testi-name{ font-weight:700; font-size:14.5px; color:var(--text-deep); }
  .testi-meta{ font-size:12px; color:var(--text-soft); }
  .stars{ display:flex; gap:2px; color:var(--lilac); }
  .stars svg{ width:13px;height:13px; }
  .testi-quote{ font-size:14.5px; color:var(--text-soft); line-height:1.6; }
  .testi-badge{
    align-self:flex-start; font-family:var(--font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em;
    color:var(--text-soft); border:1px dashed var(--border); border-radius:8px; padding:4px 8px;
  }
  .video-row{ margin-top:22px; display:flex; gap:14px; overflow-x:auto; padding-bottom:8px; }
  .video-slot{
    flex:none; width:150px; aspect-ratio:9/16; border-radius:16px; position:relative; overflow:hidden;
    box-shadow:var(--card-shadow); display:flex; align-items:center; justify-content:center;
  }
  .video-slot .playbtn{ width:40px;height:40px;border-radius:50%; background:rgba(255,255,255,0.25); backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center; border:1px solid rgba(255,255,255,0.5); }
  .video-slot .playbtn svg{ width:16px;height:16px;color:#fff; margin-left:2px; }
  .video-slot .lbl{ position:absolute; bottom:10px; left:0; right:0; text-align:center; font-family:var(--font-mono); font-size:9.5px; color:#fff; opacity:0.85; }

  /* ============ RESULTS ============ */
  .results-grid{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media (max-width:900px){ .results-grid{ grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; } }
  .result-card{ background:var(--surface); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:var(--card-shadow); }
  .result-split{ display:grid; grid-template-columns:1fr 1fr; }
  .result-half{ aspect-ratio:3/4; position:relative; display:flex; align-items:flex-end; padding:10px; }
  .result-half .lbl{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:#fff; background:rgba(16,42,67,0.55); padding:4px 8px; border-radius:6px; }
  .result-info{ padding:16px 18px; }
  .result-info .tag{ font-family:var(--font-mono); font-size:11px; color:var(--blue); text-transform:uppercase; letter-spacing:0.06em; }
  .result-info p{ font-size:13.5px; color:var(--text-soft); margin-top:6px; }

  /* ============ ABOUT ============ */
  .about-grid{ margin-top:44px; display:grid; grid-template-columns:0.85fr 1.15fr; gap:52px; align-items:center; }
  @media (max-width:880px){ .about-grid{ grid-template-columns:1fr; gap:32px; } }
  .about-photo{ position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5; background:var(--grad-tech); box-shadow:var(--card-shadow); }
  .about-photo .initials{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:72px; color:rgba(255,255,255,0.9); }
  .about-photo .lbl{ position:absolute; left:16px; bottom:16px; font-family:var(--font-mono); font-size:10.5px; color:rgba(255,255,255,0.8); background:rgba(0,0,0,0.25); padding:5px 10px; border-radius:8px; }
  .about-cred{ display:flex; flex-direction:column; gap:4px; margin-top:18px; }
  .about-cred .name{ font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--text-deep); }
  .about-cred .role{ font-size:14.5px; color:var(--blue); font-weight:600; }
  .about-cred .cro{ font-family:var(--font-mono); font-size:12.5px; color:var(--text-soft); }
  .about-text p{ font-size:15px; color:var(--text-soft); margin-top:14px; line-height:1.65; }
  .about-text p:first-child{ margin-top:0; }

  /* ============ LOCATION ============ */
  .loc-grid{ margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; }
  @media (max-width:820px){ .loc-grid{ grid-template-columns:1fr; } }
  .loc-card{ background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:32px; box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:18px; justify-content:center; }
  .loc-addr{ font-size:16px; color:var(--text-deep); font-weight:600; line-height:1.6; }
  .loc-addr .small{ display:block; font-size:13px; font-weight:400; color:var(--text-soft); font-family:var(--font-mono); margin-top:6px; }
  .map-card{
    border-radius:22px; overflow:hidden; position:relative; background:var(--deep); min-height:280px;
    box-shadow:var(--card-shadow);
  }
  .map-card svg{ position:absolute; inset:0; width:100%; height:100%; }
  .map-pin{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-100%);
    width:38px;height:38px; display:flex;align-items:center;justify-content:center;
  }

  /* ============ FAQ ============ */
  .faq-list{ margin-top:40px; display:flex; flex-direction:column; gap:12px; }
  .faq-item{ background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:var(--card-shadow); }
  .faq-item summary{
    list-style:none; cursor:pointer; padding:19px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px;
    font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--text-deep);
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item .plus{ width:24px;height:24px;border-radius:50%; background:var(--surface-2); flex:none; position:relative; }
  .faq-item .plus::before, .faq-item .plus::after{ content:''; position:absolute; background:var(--blue); border-radius:2px; }
  .faq-item .plus::before{ top:50%; left:6px; right:6px; height:2px; transform:translateY(-50%); }
  .faq-item .plus::after{ left:50%; top:6px; bottom:6px; width:2px; transform:translateX(-50%); transition:transform .2s ease; }
  .faq-item[open] .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
  .faq-item .a{ padding:0 22px 20px; font-size:14.5px; color:var(--text-soft); line-height:1.6; max-width:680px; }

  /* ============ FOOTER ============ */
  footer{ background:var(--deep); color:rgba(255,255,255,0.75); padding:64px 0 28px; }
  .footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; }
  @media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; gap:30px; } }
  footer h5{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--cyan); margin:0 0 14px; }
  footer .brand-f{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:16px; color:#fff; margin-bottom:14px; }
  footer .brand-f .mark{ width:30px;height:30px;border-radius:9px; background:var(--grad-primary); }
  footer p, footer li{ font-size:13.5px; line-height:1.8; }
  footer a:hover{ color:var(--cyan); }
  footer .foot-links li{ display:flex; align-items:center; gap:8px; }
  .foot-bottom{ margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,0.12); display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; font-size:12px; color:rgba(255,255,255,0.5); }
  .foot-disclaimer{ margin-top:18px; font-size:12px; color:rgba(255,255,255,0.45); max-width:780px; line-height:1.6; }

  /* ============ FLOATING WHATSAPP ============ */
  .wa-float{
    position:fixed; right:20px; bottom:20px; z-index:60;
    display:flex; align-items:center; gap:10px;
    background:linear-gradient(135deg,#25D366,#17A24C);
    color:#fff; border-radius:100px; padding:15px; box-shadow:0 12px 28px -8px rgba(23,162,76,0.6);
    overflow:hidden; transition:padding .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
  }
  .wa-float::before{
    content:''; position:absolute; inset:0; border-radius:100px;
    box-shadow:0 0 0 0 rgba(37,211,102,0.55);
    animation:wa-pulse 2.6s ease-out infinite;
  }
  @keyframes wa-pulse{
    0%{ box-shadow:0 0 0 0 rgba(37,211,102,0.45); }
    70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
    100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
  }
  .wa-float svg{ width:26px;height:26px; flex:none; position:relative; z-index:1; }
  .wa-float .wa-txt{
    max-width:0; overflow:hidden; white-space:nowrap; font-weight:700; font-size:14px;
    transition:max-width .3s cubic-bezier(.2,.8,.2,1); position:relative; z-index:1;
  }
  .wa-float:hover{ padding-right:20px; }
  .wa-float:hover .wa-txt{ max-width:140px; }
  @media (max-width:600px){ .wa-float{ right:14px; bottom:14px; padding:14px; } .wa-float:hover{ padding-right:14px; } .wa-float:hover .wa-txt{ max-width:0; } }

  /* ============ REVEAL ============ */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  .divider-fade{ height:1px; background:linear-gradient(90deg, transparent, var(--border), transparent); }
