  :root{
    --white:#FFFFFF;
    --charcoal:#1A1A1A;
    --blue:#3E6FF0;
    --blue-deep:#2748C7;
    --blue-soft:#EAF0FF;
    --pink:#F0609D;
    --pink-deep:#D6437F;
    --pink-soft:#FDEAF2;
    --grey-light:#F5F5F5;
    --grey-mid:#767b78;
    --grey-line:#e3e5e3;
    --font-display:'Poppins',sans-serif;
    --font-body:'Inter',sans-serif;
    --radius:18px;
    --container:1180px;
    --header-h:73px;
  }

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

  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  html{scroll-behavior:smooth; overflow-x:hidden;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  body{
    font-family:var(--font-body);
    color:var(--charcoal);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,h4{font-family:var(--font-display); line-height:1.15; color:var(--charcoal); font-weight:700;}
  h1{font-size:clamp(2.2rem,5vw,3.6rem); font-weight:800; letter-spacing:-0.02em;}
  h2{font-size:clamp(1.7rem,3.4vw,2.5rem); letter-spacing:-0.01em;}
  h3{font-size:1.2rem; font-weight:600;}
  p{color:#3d403e;}
  a{color:inherit;text-decoration:none;}

  /* Keyboard focus states — visible outline for accessibility (WCAG) */
  a:focus-visible,
  button:focus-visible,
  .btn:focus-visible,
  .faq-q:focus-visible,
  .menu-toggle:focus-visible,
  .approach-item:focus-visible,
  .service-card a:focus-visible{
    outline:2px solid var(--blue);
    outline-offset:3px;
    border-radius:4px;
  }
  .dark-section a:focus-visible,
  .dark-section button:focus-visible{
    outline-color:var(--white);
  }
  .sticky-wa:focus-visible, .scroll-top:focus-visible{
    outline:2px solid var(--white);
    outline-offset:3px;
  }
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;}

  .container{width:100%; max-width:var(--container); margin:0 auto; padding:0 24px;}
  .eyebrow{
    display:inline-block; font-family:var(--font-display); font-weight:600; font-size:0.78rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--blue-deep);
    background:var(--blue-soft); padding:6px 14px; border-radius:100px; margin-bottom:16px;
  }
  .eyebrow2{
    display:inline-block; font-family:var(--font-display); font-weight:600; font-size:0.78rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--pink-deep);
    background:var(--pink-soft); padding:6px 14px; border-radius:100px; margin-bottom:16px;
  }
  section{padding:28px 0;}
  @media (max-width:720px){ section{padding:44px 0;} }

  /* Full-screen section fitting: each main section targets exactly one viewport */
  .screen-fit{
    min-height:calc(100svh - var(--header-h));
    display:flex; flex-direction:column; justify-content:center;
  }
  @media (max-width:720px){
    .screen-fit{min-height:auto;}
  }

  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head p{margin-top:14px; font-size:1.05rem; color:var(--grey-mid);}
  .center{text-align:center; margin-left:auto; margin-right:auto;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-display); font-weight:600; font-size:0.98rem;
    padding:16px 30px; border-radius:100px; position:relative; overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, gap .25s ease;
  }
  .btn-primary::before, .btn-dark::before{
    content:''; position:absolute; top:0; left:-75%; width:50%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg); transition:left .7s ease;
  }
  .btn-primary:hover::before, .btn-dark:hover::before{left:125%;}
  .btn-primary{ background:var(--blue); color:var(--white); box-shadow:0 8px 24px -8px rgba(62,111,240,0.55);}
  .btn-primary:hover{ background:var(--blue-deep); transform:translateY(-3px) scale(1.02); box-shadow:0 14px 30px -10px rgba(39,72,199,0.6); gap:13px;}
  .btn-dark{ background:var(--charcoal); color:var(--white);}
  .btn-dark:hover{ background:#000; transform:translateY(-3px) scale(1.02); box-shadow:0 14px 30px -10px rgba(0,0,0,0.5);}
  .btn-ghost{ background:transparent; color:var(--charcoal);}
  .btn-ghost:hover{ background:var(--charcoal); color:var(--white); transform:translateY(-3px);}
  .btn:active{transform:translateY(0) scale(0.97);}
  .btn svg{width:18px;height:18px;flex-shrink:0; transition:transform .25s ease; position:relative;}
  .btn-primary:hover svg{transform:translateX(2px);}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:100; background:var(--white);
    border-bottom:1px solid var(--grey-line); height:var(--header-h);
  }
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:0 24px; height:100%; gap:12px;}
  .logo{font-family:var(--font-display); font-weight:800; font-size:1.15rem; letter-spacing:-0.02em; display:inline-flex; align-items:center; flex-shrink:0;}
  .logo img{height:60px; width:60px; object-fit:contain; border-radius:10px; display:block;}
  .logo span{color:var(--blue);}
  .nav-links{display:flex; align-items:center; gap:32px; font-size:0.92rem; font-weight:500;}
  .nav-links a{position:relative; opacity:0.8; transition:opacity .2s;}
  .nav-links a:hover{opacity:1; color:var(--blue-deep);}
  @media (min-width:861px){
    .nav-links a::after{
      content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
      background:var(--blue); transition:width .3s ease;
    }
    .nav-links a:hover::after{width:100%;}
  }
  .nav-links-cta{display:none;}
  .nav-cta{display:flex; align-items:center; flex-shrink:0;}
  .menu-toggle{
    display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:40px; height:40px; flex-shrink:0; border-radius:8px;
  }
  .menu-toggle span{
    width:20px; height:2px; background:var(--charcoal); border-radius:2px;
    transition:transform .3s ease, opacity .3s ease;
  }
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  @media (max-width:860px){
    .logo img{height:46px; width:46px;}
    .nav-links{
      position:fixed; top:var(--header-h); left:0; right:0; z-index:49;
      flex-direction:column; align-items:stretch; gap:0; background:var(--white);
      max-height:0; overflow:hidden; opacity:0;
      transition:max-height .3s ease, opacity .25s ease;
      border-bottom:1px solid var(--grey-line);
      box-shadow:0 16px 30px -18px rgba(26,26,26,0.25);
    }
    .nav-links.open{max-height:360px; opacity:1;}
    .nav-links a{padding:16px 24px; border-bottom:1px solid var(--grey-line); font-size:1rem;}
    .nav-links-cta{
      display:flex; align-items:center; justify-content:center;
      margin:16px auto 18px; width:44px; height:44px; padding:0;
      border-radius:50%; background:var(--blue);
      border-bottom:none;
    }
    .nav-links-cta.lang-switch svg, .nav-links-cta.lang-switch img{width:24px; height:24px;}
    .nav-cta{display:none;}
    .menu-toggle{display:flex;}
  }
  .lang-switch{display:inline-flex; align-items:center; gap:6px;}
  .lang-switch svg, .lang-switch img{width:20px; height:20px; flex-shrink:0; border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,0.1); object-fit:contain; display:block;}
  .nav-cta .lang-switch{border-radius:50%;}
  @media (max-width:400px){
    .logo img{height:40px; width:40px;}
  }

  /* ---------- Signature waveline (journey thread) ---------- */
  .thread{position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none;}
  .thread path{fill:none; stroke:url(#threadGrad); stroke-width:2.5;}

  /* ---------- Hero ---------- */
  .hero{position:relative; overflow:hidden; padding-top:24px; padding-bottom:24px; background:var(--grey-light); align-items:center;}
  .hero.screen-fit .hero-grid{width:100%;}
  .hero.screen-fit h1{font-size:clamp(1.7rem,3.4vw,2.7rem);}
  .hero.screen-fit .hero-copy .lead{font-size:1rem; margin-bottom:22px;}
  .hero.screen-fit .hero-actions{margin-bottom:20px;}
  .hero.screen-fit .hero-photo{display:flex; justify-content:center;}
  .hero.screen-fit .photo-frame{width:min(100%, calc((100svh - var(--header-h)) * 0.58 * 4 / 5));}
  @media (max-width:940px){
    .hero.screen-fit .photo-frame{width:min(100%, calc((100svh - var(--header-h)) * 0.4 * 4 / 5));}
  }
  @media (max-width:720px){
    .hero{padding-top:36px; padding-bottom:36px;}
    .hero.screen-fit .photo-frame{width:100%;}
  }
  .hero-grid{position:relative; z-index:2; 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:36px;} }
  .hero-copy .eyebrow{margin-bottom:22px;}
  .hero-copy h1{margin-bottom:20px;}
  .hero-copy .lead{font-size:1.15rem; color:var(--grey-mid); max-width:520px; margin-bottom:32px;}
  .hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:28px;}
  .hero-trust{display:flex; gap:26px; flex-wrap:wrap; font-size:0.85rem; color:var(--grey-mid);}
  .hero-trust strong{display:block; font-family:var(--font-display); font-size:1.3rem; color:var(--charcoal);}

  .hero-photo{position:relative;}
  .photo-frame{
    position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5;
    background:linear-gradient(155deg,#dcece2,#f0f4f1 60%);
    display:flex; align-items:center; justify-content:center; border:1px solid var(--grey-line);
    transition:transform .4s ease, box-shadow .4s ease;
  }
  .photo-frame:hover{
    transform:translateY(-4px); box-shadow:0 26px 50px -20px rgba(26,26,26,0.28);
  }
  .photo-placeholder{ text-align:center; color:var(--blue-deep); padding:24px; transition:transform .4s ease;}
  .photo-frame:hover .photo-placeholder{transform:scale(1.04);}
  .photo-placeholder svg{width:56px;height:56px; margin:0 auto 12px;}
  .photo-placeholder span{display:block; font-size:0.82rem; font-weight:600; opacity:0.75; max-width:220px; margin:0 auto;}
  .photo-badge{
    position:absolute; bottom:-18px; left:-18px; background:var(--white); border-radius:16px;
    padding:14px 18px; box-shadow:0 12px 30px -12px rgba(0,0,0,0.18); display:flex; gap:12px; align-items:center;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .photo-badge:hover{ transform:translateY(-4px); box-shadow:0 18px 36px -14px rgba(0,0,0,0.25);}
  .photo-badge .dot{width:10px;height:10px;border-radius:50%;background:var(--pink); flex-shrink:0;}
  .photo-badge span{font-size:0.85rem; font-weight:600;}
  @media (max-width:520px){ .photo-badge{left:8px; bottom:-14px; padding:10px 14px;} }

  /* ---------- Video sections (lazy YouTube facade) ---------- */
  .video-frame{
    position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden;
    background:var(--charcoal); cursor:pointer;
    transition:box-shadow .35s ease;
  }
  .video-frame:hover{box-shadow:0 24px 44px -18px rgba(26,26,26,0.35);}
  .video-frame img{width:100%; height:100%; object-fit:contain; opacity:0.75; transition:transform .5s ease, opacity .35s ease;}
  .video-frame:hover img{transform:scale(1.06); opacity:0.55;}
  .video-frame .play-btn{
    position:absolute; inset:0; margin:auto; width:76px; height:76px; border-radius:50%;
    background:rgba(255,255,255,0.95); display:flex; align-items:center; justify-content:center;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .video-frame:hover .play-btn{transform:scale(1.12); box-shadow:0 10px 26px -8px rgba(0,0,0,0.4);}
  .video-frame .play-btn svg{width:26px; height:26px; fill:var(--blue-deep); margin-left:4px;}
  .video-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

  .video-coming-soon{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    color:#fff; font-family:var(--font-display); font-size:.9rem; font-weight:700;
    letter-spacing:.05em; text-transform:uppercase; background:rgba(8,10,14,.34);
    pointer-events:none; text-align:center; padding:20px;
  }
  .video-coming-soon-empty{background:rgba(8,10,14,.92); color:#cfd4dc;}
  .video-frame:fullscreen,
  .video-frame:-webkit-full-screen,
  .video-frame:-moz-full-screen,
  .video-frame:-ms-fullscreen{
    width:100%; height:100%; aspect-ratio:auto; border-radius:0; background:#000;
  }
  .video-caption{font-size:0.85rem; color:var(--grey-mid); margin-top:14px;}
  .video-cta{display:flex; justify-content:center; margin-top:22px;}

  .intro-video-section .container{max-width:820px;}

  /* Presentation + action videos: each fits fully within the viewport on load */
  .intro-video-section.screen-fit{
    align-items:center; justify-content:center; padding:24px 0;
  }
  #video-apresentacao{
    position:relative; overflow:hidden;
    background:
      linear-gradient(180deg, rgba(8,10,14,.8), rgba(8,10,14,.88)),
      url('imagens/fundo.png') center/cover no-repeat;
  }
  #video-apresentacao::before, #video-apresentacao::after{
    content:''; position:absolute; border-radius:50%; z-index:0; pointer-events:none;
    background:var(--blue-soft); filter:blur(70px); opacity:0.35;
  }
  #video-apresentacao::before{width:340px; height:340px; top:-140px; right:-100px;}
  #video-apresentacao::after{width:260px; height:260px; bottom:-120px; left:-100px; background:var(--pink-soft);}
  #video-apresentacao .container{position:relative; z-index:1;}
  #video-apresentacao h2{color:var(--white);}
  #video-apresentacao .section-head p{color:#d7dbe0;}
  #video-apresentacao .video-caption{color:#b7bcc2;}
  .intro-video-section .section-head{margin-bottom:18px;}
  .intro-video-section .eyebrow{margin-bottom:8px;}
  .intro-video-section h2{font-size:clamp(1.35rem,2.6vw,2rem); line-height:1.25;}
  .intro-video-section .section-head p{margin-top:6px; font-size:0.95rem;}
  .intro-video-section .video-frame{
    width:min(100%, calc((100svh - var(--header-h)) * 0.46 * 16 / 9));
    margin:0 auto;
  }
  .intro-video-section .video-cta{margin-top:18px;}

  /* ---------- Floating fitness badges (around the presentation video) ---------- */
  .video-showcase{position:relative;}
  .floating-badge{
    position:absolute; background:var(--white); padding:14px 18px; border-radius:16px;
    display:flex; align-items:center; gap:12px; box-shadow:0 18px 40px -14px rgba(26,26,26,0.25);
    border:1px solid var(--grey-line); animation:badge-float 5s ease-in-out infinite; z-index:2;
  }
  .floating-badge svg{width:22px; height:22px; color:var(--blue); flex-shrink:0;}
  .floating-badge strong{display:block; font-family:var(--font-display); font-size:0.85rem; color:var(--charcoal);}
  .floating-badge span{font-size:0.76rem; color:var(--grey-mid);}
  .badge-a{top:14px; left:-22px; animation-delay:0s;}
  .badge-b{bottom:14px; right:-22px; animation-delay:1.4s;}
  .badge-b svg{color:var(--pink);}
  @keyframes badge-float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
  }
  @media (max-width:900px){ .floating-badge{display:none;} }
  @media (prefers-reduced-motion:reduce){ .floating-badge{animation:none;} }

  /* ---------- Approach (circular photo placeholders, single row) ---------- */
  /* ---------- Training + Nutrition combo ---------- */
  .nutrition{background:var(--white);}
  .nutrition-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
  @media (max-width:940px){ .nutrition-grid{grid-template-columns:1fr; gap:40px;} }
  .nutrition-content h2{font-size:clamp(1.5rem,2.8vw,2.1rem); margin:14px 0 16px; line-height:1.28;}
  .nutrition-content p{font-size:0.98rem; line-height:1.65; color:var(--grey-mid); margin-bottom:28px;}
  .nutrition-content p strong{color:var(--charcoal); font-weight:700;}
  .nutrition-features{display:flex; flex-direction:column; gap:20px;}
  .nutrition-feature{display:flex; gap:16px; align-items:flex-start;}
  .nf-icon{
    width:44px; height:44px; border-radius:12px; background:var(--blue-soft); color:var(--blue-deep);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .3s ease;
  }
  .nf-icon svg{width:22px; height:22px;}
  .nutrition-feature:hover .nf-icon{transform:scale(1.1) rotate(-4deg);}
  .nutrition-feature h3{font-size:1rem; margin-bottom:4px;}
  .nutrition-feature p{font-size:0.88rem; color:var(--grey-mid); line-height:1.5; margin:0;}
  .nutrition-visual{position:relative; display:flex; justify-content:center;}
  .nutrition-photo{width:min(100%, 420px); aspect-ratio:4/5;}
  @media (max-width:520px){ .nutrition-visual{padding-bottom:20px;} }

  .approach{padding:56px 0; border-top:1px solid var(--grey-line); border-bottom:1px solid var(--grey-line);}
  .approach .section-head{margin-bottom:36px;}
  .approach-circles{
    display:flex; justify-content:center; flex-wrap:wrap; gap:32px 20px;
  }
  .approach-item{display:flex; flex-direction:column; align-items:center; gap:12px; width:130px;}
  .approach-circle{
    width:120px; height:120px; border-radius:50%; overflow:hidden; flex-shrink:0;
    background:linear-gradient(155deg,var(--blue-soft),#f5f7fb 65%);
    border:1px solid var(--grey-line);
    display:flex; align-items:center; justify-content:center;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .approach-circle img{width:100%; height:100%; object-fit:contain;}
  .approach-circle svg{width:34px; height:34px; color:var(--blue-deep); opacity:0.55;}
  .approach-item:hover .approach-circle{
    transform:translateY(-6px); border-color:var(--blue); box-shadow:0 16px 30px -14px rgba(62,111,240,0.4);
  }
  .approach-item span{font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; color:var(--charcoal); text-align:center;}
  @media (max-width:860px){
    .approach-item{width:104px;}
    .approach-circle{width:96px; height:96px;}
  }
  @media (max-width:480px){
    .approach-circles{gap:24px 16px;}
    .approach-item{width:88px;}
    .approach-circle{width:80px; height:80px;}
    .approach-circle svg{width:26px; height:26px;}
    .approach-item span{font-size:0.68rem;}
  }
  @media (max-height:760px){
    .intro-video-section .video-frame{width:min(100%, calc((100svh - var(--header-h)) * 0.4 * 16 / 9));}
  }
  @media (max-width:720px){
    .intro-video-section{padding:20px 0;}
    .intro-video-section .video-frame{width:100%;}
  }

  /* ---------- Credibility ---------- */
  .credibility{background:var(--white);}
  .stat-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}
  @media (max-width:940px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .stat-grid{grid-template-columns:1fr;} }
  .stat-card{
    background:var(--grey-light); border-radius:14px; padding:26px 20px; text-align:center;
    transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
  }
  .stat-card:hover{
    transform:translateY(-6px); background:var(--white);
    box-shadow:0 18px 34px -16px rgba(26,26,26,0.16);
  }
  .stat-card .icon{width:30px;height:30px; margin:0 auto 10px; color:var(--blue); transition:transform .3s ease;}
  .stat-card:hover .icon{transform:scale(1.12) rotate(-4deg);}
  .stat-card strong{display:block; font-family:var(--font-display); font-size:1rem; margin-bottom:4px;}
  .stat-card span{font-size:0.82rem; color:var(--grey-mid);}

  /* ---------- Bio v2 (formação / credibilidade) ---------- */
.bio-v2{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(62,111,240,.16),transparent 28%),radial-gradient(circle at 88% 82%,rgba(240,96,157,.10),transparent 30%),#111412;}
.bio-v2::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;}
.bio-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.34fr);gap:68px;align-items:center;}
.bio-visual{position:relative;width:min(100%,440px);margin:0 auto;padding:0 0 92px;}
.bio-photo-card{position:relative;overflow:hidden;border-radius:26px;aspect-ratio:4/5;background:#202421;box-shadow:0 28px 70px -34px rgba(0,0,0,.72);}
.bio-photo-card::before{content:'';position:absolute;inset:0;z-index:2;border:1px solid rgba(255,255,255,.12);border-radius:inherit;pointer-events:none;}
.bio-photo-card img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .7s cubic-bezier(.16,.8,.24,1);}
.bio-photo-card:hover img{transform:scale(1.035);}
.bio-photo-gradient{position:absolute;inset:42% 0 0;background:linear-gradient(to bottom,transparent,rgba(10,12,11,.86));pointer-events:none;}
.bio-photo-caption{position:absolute;left:24px;right:24px;bottom:22px;display:flex;flex-direction:column;gap:4px;color:var(--white);}
.bio-photo-caption strong{font-family:var(--font-display);font-size:1.18rem;line-height:1.2;}
.bio-photo-caption span{color:#c7ceca;font-size:.76rem;}
.bio-floating-credential{position:absolute;right:0;bottom:0;width:100%;padding:15px 17px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(28,32,29,.92);backdrop-filter:blur(12px);box-shadow:0 18px 38px -20px rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;gap:12px;color:var(--white);text-align:center;}
.bio-floating-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:var(--blue);color:var(--white);}
.bio-floating-icon svg{width:21px;height:21px;}
.bio-floating-credential strong{display:block;font-family:var(--font-display);font-size:.83rem;line-height:1.2;}
.bio-floating-credential span{display:block;color:#aeb7b1;font-size:.69rem;margin-top:3px;}
.bio-content{color:var(--white);}
.bio-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(111,146,255,.28);border-radius:100px;background:rgba(62,111,240,.10);color:#9db6ff;font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.bio-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(62,111,240,.12);}
.bio-title{max-width:700px;margin-bottom:18px;color:var(--white);font-size:clamp(2rem,3.5vw,3.05rem);line-height:1.08;letter-spacing:-.03em;font-weight:800;}
.bio-title span{display:block;color:#aeb7b1;font-size:.54em;line-height:1.3;letter-spacing:-.015em;font-weight:600;margin-top:9px;}
.bio-lead,.bio-description{max-width:760px;color:#c6ccc8;font-size:.94rem;line-height:1.68;}
.bio-lead{margin-bottom:12px;}
.bio-description{margin-bottom:22px;color:#9ea7a1;}
.bio-content p strong{color:var(--white);}
.bio-expertise{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0;}
.bio-expertise-item{min-height:92px;padding:14px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);display:flex;align-items:flex-start;gap:11px;transition:background .25s ease,border-color .25s ease,transform .25s ease;}
.bio-expertise-item:hover{transform:translateY(-3px);background:rgba(255,255,255,.06);border-color:rgba(111,146,255,.24);}
.bio-expertise-icon{width:35px;height:35px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;color:#8da9ff;background:rgba(62,111,240,.11);}
.bio-expertise-icon svg{width:18px;height:18px;}
.bio-expertise-item strong{display:block;color:var(--white);font-family:var(--font-display);font-size:.78rem;line-height:1.25;margin-bottom:4px;}
.bio-expertise-item span{display:block;color:#939c96;font-size:.69rem;line-height:1.45;}
.bio-proof{display:grid;grid-template-columns:.7fr 1.35fr .65fr;gap:0;margin:0 0 22px;padding:15px 0;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);}
.bio-proof-item{padding:0 18px;border-right:1px solid rgba(255,255,255,.09);}
.bio-proof-item:first-child{padding-left:0;}
.bio-proof-item:last-child{border-right:0;}
.bio-proof-item strong{display:block;color:var(--white);font-family:var(--font-display);font-size:1rem;line-height:1.2;margin-bottom:3px;}
.bio-proof-item span{display:block;color:#8f9993;font-size:.66rem;line-height:1.35;}
.bio-cta{padding:13px 22px;font-size:.88rem;}
@media(max-width:980px){.bio-shell{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:42px}.bio-visual{width:min(100%,360px);padding-bottom:92px}.bio-floating-credential{right:0}.bio-title{font-size:clamp(1.8rem,3vw,2.35rem)}}
@media(max-width:780px){.bio-v2{padding:56px 0}.bio-shell{grid-template-columns:1fr;gap:38px}.bio-visual{width:min(90%,390px)}}
@media(max-width:560px){.bio-v2{padding:48px 0}.bio-visual{width:100%;padding-bottom:88px}.bio-photo-card{border-radius:20px;aspect-ratio:4/4.7}.bio-photo-caption{left:18px;right:18px;bottom:18px}.bio-floating-credential{width:100%;right:0;padding:13px 14px}.bio-title{font-size:1.85rem}.bio-title span{font-size:.52em}.bio-lead,.bio-description{font-size:.89rem}.bio-expertise{grid-template-columns:1fr}.bio-expertise-item{min-height:auto}.bio-proof{grid-template-columns:1fr;padding:0;border-bottom:0}.bio-proof-item{padding:12px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.bio-cta{width:100%;justify-content:center}}
/* ---------- Who it's for ---------- */
  .for-who{background:var(--blue-soft);}
  .who-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
  @media (max-width:720px){ .who-grid{grid-template-columns:1fr;} }
  .who-card{
    background:var(--white); border-radius:14px; padding:22px 24px; display:flex; gap:14px; align-items:flex-start;
    border:1px solid var(--grey-line);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .who-card:hover{
    transform:translateY(-5px); border-color:var(--blue);
    box-shadow:0 16px 30px -16px rgba(62,111,240,0.35);
  }
  .who-card svg{width:22px;height:22px; color:var(--blue); flex-shrink:0; margin-top:2px; transition:transform .3s ease;}
  .who-card:hover svg{transform:scale(1.15);}
  .who-card p{margin:0; color:var(--charcoal); font-weight:500; font-size:0.98rem;}

  /* ---------- Results ---------- */
  .results{background:var(--white);}
  .results.screen-fit .section-head{margin-bottom:26px;}
  .results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch;}
  @media (max-width:860px){ .results-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .results-grid{grid-template-columns:1fr;} }

  .result-card{
    border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,0.12);
    background:rgba(255,255,255,0.035); transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    min-width:0;
  }
  .result-card:hover{transform:translateY(-7px); box-shadow:0 26px 48px -20px rgba(0,0,0,0.55); border-color:rgba(255,255,255,0.22);}

  .result-photo{position:relative; aspect-ratio:4/3; overflow:hidden; background:#17191c;}
  .result-main-image{position:absolute; inset:0; overflow:hidden;}
  .result-main-image img{width:100%; height:100%; object-fit:contain; display:block; transition:opacity .25s ease, transform .55s ease;}
  .result-card:hover .result-main-image img{transform:scale(1.035);}
  .result-counter{position:absolute; top:14px; right:14px; padding:6px 10px; border-radius:999px; background:rgba(8,10,14,.72); color:#fff; font-size:.72rem; font-weight:600; letter-spacing:.03em; backdrop-filter:blur(8px);}

  .gallery-arrow{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(8,10,14,.62); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.18); opacity:0; transition:opacity .25s ease, transform .25s ease, background .25s ease; z-index:3;}
  .gallery-arrow svg{width:18px; height:18px;}
  .gallery-arrow.prev{left:14px;}
  .gallery-arrow.next{right:14px;}
  .result-photo:hover .gallery-arrow{opacity:1;}
  .gallery-arrow:hover{background:var(--blue);}
  .gallery-arrow.prev:hover{transform:translate(-2px,-50%);}
  .gallery-arrow.next:hover{transform:translate(2px,-50%);}

  .result-thumbs{position:absolute; left:12px; right:12px; bottom:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; z-index:4;}
  .result-thumb{height:58px; padding:0; overflow:hidden; border-radius:10px; border:2px solid rgba(255,255,255,.3); background:#111; opacity:.72; transition:opacity .25s ease, border-color .25s ease, transform .25s ease;}
  .result-thumb img{width:100%; height:100%; object-fit:contain; display:block;}
  .result-thumb:hover{opacity:1; transform:translateY(-2px);}
  .result-thumb.active{opacity:1; border-color:#fff; box-shadow:0 5px 18px rgba(0,0,0,.28);}

  .result-info{padding:18px 20px 20px;}
  .result-name-row{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px;}
  .result-label{display:block; color:#9aa3ab; font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:2px;}
  .result-name-row h3{color:var(--white); font-size:1.05rem; margin:0;}
  .result-tag{flex-shrink:0; padding:5px 9px; border-radius:999px; background:rgba(62,111,240,.14); color:#9db4ff; font-size:.68rem; font-weight:600; border:1px solid rgba(62,111,240,.22);}
  .result-info .metric{display:flex; gap:26px; margin-bottom:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.09);}
  .result-info .metric div strong{display:block; font-family:var(--font-display); color:var(--pink); font-size:1.15rem; line-height:1.2;}
  .result-card--blue .result-info .metric div strong{color:var(--blue);}
  .result-info .metric div span{font-size:.7rem; color:#9aa3ab; text-transform:uppercase; letter-spacing:.05em;}
  .result-info p{font-size:.88rem; font-style:italic; color:#c9cdca; line-height:1.55;}

  @media (max-width:720px){
    .results-grid{gap:16px;}
    .result-card:hover{transform:none;}
    .result-photo{aspect-ratio:16/11;}
    .gallery-arrow{opacity:1; width:34px; height:34px;}
    .gallery-arrow.prev{left:10px;}.gallery-arrow.next{right:10px;}
    .result-thumbs{left:10px; right:10px; bottom:10px; gap:6px;}
    .result-thumb{height:50px; border-radius:8px;}
  }
  @media (max-width:420px){
    .result-name-row{align-items:flex-start;}
    .result-tag{font-size:.62rem;}
    .result-info{padding:16px;}
    .result-thumb{height:46px;}
  }


  /* ---------- Results audience filter ---------- */
  .results-filter-wrap{
    display:flex;
    justify-content:flex-start;
    margin:-8px 0 24px;
  }
  .results-filter{
    display:inline-flex;
    gap:6px;
    padding:5px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  .results-filter-btn{
    position:relative;
    min-width:150px;
    padding:11px 20px;
    border-radius:999px;
    color:#9fa6a2;
    font-family:var(--font-display);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .2s ease;
  }
  .results-filter-btn:hover{
    color:var(--white);
    transform:translateY(-1px);
  }
  .results-filter-btn.active{
    color:var(--white);
    background:var(--blue);
    box-shadow:0 9px 24px -12px rgba(62,111,240,.9);
  }
  .result-card[hidden],
  .result-filter-hidden{
    display:none !important;
  }
  .results-empty{
    min-height:300px;
    border:1px dashed rgba(255,255,255,.15);
    border-radius:22px;
    background:rgba(255,255,255,.025);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:40px 24px;
  }
  .results-empty[hidden]{display:none !important;}
  .results-empty-icon{
    width:52px;
    height:52px;
    border-radius:16px;
    display:grid;
    place-items:center;
    margin-bottom:16px;
    color:#9db4ff;
    background:rgba(62,111,240,.12);
    border:1px solid rgba(62,111,240,.18);
  }
  .results-empty-icon svg{width:24px;height:24px;}
  .results-empty strong{
    color:var(--white);
    font-family:var(--font-display);
    font-size:1rem;
    margin-bottom:5px;
  }
  .results-empty span{
    max-width:430px;
    color:#929a96;
    font-size:.82rem;
    line-height:1.55;
  }
  @media(max-width:560px){
    .results-filter-wrap{margin:-2px 0 20px;}
    .results-filter{width:100%;}
    .results-filter-btn{
      flex:1;
      min-width:0;
      padding:10px 12px;
      font-size:.68rem;
    }
    .results-empty{min-height:230px;}
  }

  /* ---------- Process / thread timeline ---------- */
  .process{background:var(--grey-light); position:relative;}
  .process-list{position:relative; max-width:760px; margin:0 auto; padding-left:8px;}
  .process-item{
    position:relative; padding:0 0 44px 52px; 
  }
  .process-item:last-child{padding-bottom:0;}
  .process-item::before{
    content:''; position:absolute; left:11px; top:6px; bottom:-6px; width:2px; background:var(--grey-line);
  }
  .process-item:last-child::before{display:none;}
  .process-dot{
    position:absolute; left:0; top:0; width:24px; height:24px; border-radius:50%;
    background:var(--white); border:2px solid var(--blue); display:flex; align-items:center; justify-content:center;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .process-dot span{width:8px;height:8px;border-radius:50%;background:var(--blue); transition:transform .3s ease;}
  .process-item{transition:transform .3s ease;}
  .process-item:hover{transform:translateX(6px);}
  .process-item:hover .process-dot{
    transform:scale(1.2); box-shadow:0 0 0 6px var(--blue-soft);
  }
  .process-item:hover .process-dot span{transform:scale(1.2);}
  .process-item h3{margin-bottom:6px;}
  .process-item p{font-size:0.95rem; color:var(--grey-mid); margin:0;}

  /* ---------- Testimonials ---------- */
  .testimonials{
    background:
      radial-gradient(circle at 8% 18%, rgba(240,96,157,.08), transparent 24%),
      radial-gradient(circle at 92% 82%, rgba(62,111,240,.08), transparent 25%),
      var(--white);
  }
  .testimonials.screen-fit .section-head{margin-bottom:28px;}
  .testimonials-layout{
    display:grid;
    grid-template-columns:minmax(245px,.72fr) minmax(0,1.75fr);
    gap:22px;
    align-items:stretch;
  }
  .testi-trust{
    position:relative; overflow:hidden; border-radius:22px; padding:30px 28px;
    background:var(--charcoal); color:var(--white);
    display:flex; flex-direction:column; justify-content:center; min-height:100%;
  }
  .testi-trust::after{
    content:''; position:absolute; width:180px; height:180px; border-radius:50%;
    right:-76px; bottom:-72px; background:rgba(62,111,240,.22);
  }
  .testi-trust-icon{
    width:48px; height:48px; border-radius:14px; display:grid; place-items:center;
    background:var(--white); box-shadow:0 10px 28px -14px rgba(0,0,0,.55); margin-bottom:22px;
  }
  .testi-trust-icon svg{width:28px;height:28px;}
  .testi-trust-kicker{
    font-family:var(--font-display); text-transform:uppercase; letter-spacing:.12em;
    font-size:.72rem; font-weight:700; color:#b8c7ff; margin-bottom:10px;
  }
  .testi-trust h3{color:var(--white);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.28;margin-bottom:14px;}
  .testi-trust p{color:#c9cdd2;font-size:.9rem;line-height:1.65;margin-bottom:24px;}
  .testi-trust-stars{color:#f7b731;font-size:1rem;letter-spacing:3px;position:relative;z-index:1;}
  .testi-trust-note{color:#aeb4bc;font-size:.72rem;line-height:1.45;margin-top:7px;position:relative;z-index:1;}

  .testi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .testi-card{
    position:relative; min-width:0; background:var(--grey-light); border:1px solid transparent;
    border-radius:18px; padding:19px 20px; display:flex; flex-direction:column; gap:11px;
    transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease;
  }
  .testi-card:nth-child(5){
    grid-column:1/-1; display:grid; grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:16px; align-items:start;
  }
  .testi-card:nth-child(5) .testi-top{grid-column:1/2;}
  .testi-card:nth-child(5) .testi-stars,
  .testi-card:nth-child(5) .testi-stars1{grid-column:1/2;}
  .testi-card:nth-child(5) p{grid-column:2/3;grid-row:1/3;align-self:center;}
  .testi-card:nth-child(5) .testi-google{grid-column:3/4;grid-row:1/3;align-self:center;}
  .testi-card:hover{
    transform:translateY(-5px); background:var(--white); border-color:var(--grey-line);
    box-shadow:0 20px 38px -22px rgba(26,26,26,.28);
  }
  .testi-top{display:flex;align-items:center;gap:11px;}
  .testi-avatar,.testi-avatar1{
    width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-weight:700;flex-shrink:0;transition:transform .3s ease;
  }
  .testi-avatar{background:var(--pink-soft);color:var(--pink-deep);}
  .testi-avatar1{background:var(--blue-soft);color:var(--blue-deep);}
  .testi-card:hover .testi-avatar,.testi-card:hover .testi-avatar1{transform:scale(1.08);}
  .testi-name{font-weight:700;font-size:.9rem;line-height:1.25;}
  .testi-tag{font-size:.72rem;color:var(--grey-mid);margin-top:2px;}
  .testi-stars,.testi-stars1{font-size:.76rem;letter-spacing:2px;line-height:1;}
  .testi-stars{color:var(--pink);}
  .testi-stars1{color:var(--blue);}
  .testi-card p{font-size:.84rem;line-height:1.58;margin:0;color:#424644;flex:1;}
  .testi-google{
    width:auto; margin-top:auto; display:inline-flex; align-items:center; gap:7px; align-self:flex-start;
    font-size:.74rem; font-weight:700; color:var(--blue-deep); padding-top:10px;
    border-top:1px solid var(--grey-line); transition:gap .2s ease,color .2s ease;
  }
  .testi-google svg{width:19px;height:19px;flex-shrink:0;}
  .testi-google:hover{gap:10px;color:var(--blue);}

  @media (max-width:980px){
    .testimonials-layout{grid-template-columns:1fr;}
    .testi-trust{
      min-height:auto; display:grid; grid-template-columns:auto minmax(0,1fr);
      column-gap:18px; align-items:center; padding:22px 24px;
    }
    .testi-trust-icon{grid-row:1/6;margin:0;}
    .testi-trust-kicker,.testi-trust h3,.testi-trust p,.testi-trust-stars,.testi-trust-note{grid-column:2;}
    .testi-trust h3{font-size:1.25rem;margin-bottom:7px;}
    .testi-trust p{margin-bottom:10px;}
  }
  @media (max-width:680px){
    .testimonials .section-head{margin-bottom:22px;}
    .testi-trust{display:flex;align-items:flex-start;padding:22px;border-radius:18px;}
    .testi-trust-icon{margin-bottom:16px;}
    .testi-grid{
      display:flex; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory;
      padding:2px 2px 12px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
    }
    .testi-grid::-webkit-scrollbar{display:none;}
    .testi-card,.testi-card:nth-child(5){
      flex:0 0 min(86vw,360px); display:flex; grid-column:auto; scroll-snap-align:start; padding:18px;
    }
    .testi-card:nth-child(5) .testi-top,
    .testi-card:nth-child(5) .testi-stars,
    .testi-card:nth-child(5) .testi-stars1,
    .testi-card:nth-child(5) p,
    .testi-card:nth-child(5) .testi-google{grid-column:auto;grid-row:auto;}
  }

  /* ---------- Types of service ---------- */
  .services{background:var(--white); color:var(--charcoal);}
  .services.screen-fit .section-head{margin-bottom:24px;}
  .services-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
  @media (max-width:1100px){ .services-grid{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:720px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .services-grid{grid-template-columns:1fr;} }
  .service-card.highlight{ border-color:var(--pink); background:var(--pink-soft); }
  .service-card .price{
    font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--pink-deep);
  }
  .service-card .price span{font-size:0.72rem; font-weight:500; color:var(--grey-mid);}
  .service-card{
    background:var(--grey-light); border-radius:14px; padding:20px 18px; border:1px solid var(--grey-line);
    display:flex; flex-direction:column; gap:8px;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
  }
  .service-card:hover{
    transform:translateY(-8px); background:var(--white); border-color:var(--blue);
    box-shadow:0 22px 40px -18px rgba(26,26,26,0.18);
  }
  .service-card.highlight:hover{ border-color:var(--pink); box-shadow:0 22px 40px -18px rgba(240,96,157,0.25); }
  .service-card .icon{width:26px;height:26px; color:var(--blue); transition:transform .3s ease;}
  .service-card.highlight .icon{color:var(--pink);}
  .service-card:hover .icon{transform:scale(1.15) rotate(-4deg);}
  .service-card h3{font-size:1rem; color:var(--charcoal);}
  .service-card p{color:var(--grey-mid); font-size:0.8rem; line-height:1.42; margin:0; flex:1;}
  .service-card a{font-size:0.82rem; font-weight:600; color:var(--blue-deep); display:inline-flex; align-items:center; gap:6px; transition:gap .25s ease;}
  .service-card.highlight a{color:var(--pink-deep);}
  .service-card a:hover{gap:10px;}

  /* ---------- Methodology ---------- */
  .method{background:var(--blue-soft);}
  .method-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  @media (max-width:860px){ .method-wrap{grid-template-columns:1fr;} }
  .method-quote{
    font-family:var(--font-display); font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:600; color:var(--charcoal);
    line-height:1.4; position:relative; padding-left:24px; border-left:3px solid var(--blue);
  }
  .method-list{display:flex; flex-direction:column; gap:18px;}
  .method-list .item{display:flex; gap:14px; align-items:flex-start;}
  .method-list svg{width:22px;height:22px; color:var(--blue); flex-shrink:0; margin-top:2px;}
  .method-list strong{display:block; font-size:0.98rem; margin-bottom:2px;}
  .method-list span{font-size:0.88rem; color:var(--grey-mid);}

  /* ---------- FAQ ---------- */
  .faq{background:var(--white);}
  .faq.screen-fit .section-head{margin-bottom:8px;}
  .faq.screen-fit .faq-q{padding:16px 4px;}
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--grey-line);}
  .faq-q{
    width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
    padding:22px 4px; text-align:left; font-family:var(--font-display); font-weight:600; font-size:1rem;
    transition:color .25s ease, padding-left .25s ease;
  }
  .faq-q:hover{color:var(--blue-deep); padding-left:10px;}
  .faq-q svg{width:18px;height:18px; flex-shrink:0; transition:transform .25s ease; color:var(--blue);}
  .faq-item.open .faq-q svg{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{padding:0 4px 20px; font-size:0.94rem; color:var(--grey-mid); margin:0;}

  /* ---------- Final CTA ---------- */
  .final-cta{position:relative; overflow:hidden; background:var(--charcoal); color:var(--white);}
  .cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
  @media (max-width:860px){ .cta-grid{grid-template-columns:1fr;} }
  .final-cta h2{color:var(--white); margin-bottom:16px;}
  .final-cta p{color:#c9cdca; font-size:1.05rem; margin-bottom:30px; max-width:460px;}
  .final-photo{
    aspect-ratio:4/3; border-radius:var(--radius); background:linear-gradient(155deg,#2a2f2c,#1a1a1a);
    display:flex; align-items:center; justify-content:center; color:var(--blue); border:1px solid #333;
    transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
  }
  .final-cta.screen-fit .final-photo{ max-height:min(56vh, 50vh); width:min(100%, calc(min(56vh,50vh) * 4 / 3)); margin:0 auto; }
  .final-photo:hover{
    transform:translateY(-5px); border-color:var(--blue); box-shadow:0 24px 46px -18px rgba(62,111,240,0.35);
  }
  .final-photo svg{width:46px;height:46px; opacity:0.8; transition:transform .4s ease;}
  .final-photo:hover svg{transform:scale(1.1);}

  /* ---------- Footer ---------- */
  footer{background:var(--grey-light); color:var(--grey-mid); padding:36px 0 18px; border-top:1px solid var(--grey-line);}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:24px; margin-bottom:24px;}
  @media (max-width:720px){
    .footer-grid{grid-template-columns:1fr; gap:22px; text-align:center;}
    .footer-grid > div{display:flex; flex-direction:column; align-items:center;}
    footer .logo{justify-content:center;}
    footer p{max-width:340px;}
    footer ul{display:inline-block;}
    .socials{justify-content:center;}
  }
  footer h4{color:var(--charcoal); font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:10px;}
  footer .logo{color:var(--charcoal); margin-bottom:8px; display:inline-flex;}
  footer .logo img{height:38px; width:38px;}
  footer p{color:var(--grey-mid); font-size:0.84rem; line-height:1.45; max-width:320px;}
  footer ul li{margin-bottom:6px; font-size:0.84rem; color:var(--charcoal);}
  footer ul li a:hover{color:var(--blue-deep);}
  .footer-bottom{
    border-top:1px solid var(--grey-line); padding-top:14px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
    font-size:0.74rem; color:#9aa0a6;
  }
  @media (max-width:720px){
    .footer-bottom{justify-content:center; text-align:center;}
  }
  .socials{display:flex; gap:10px;}
  .socials a{
    width:30px; height:30px; border-radius:50%; background:var(--white); border:1px solid var(--grey-line);
    display:flex; align-items:center; justify-content:center;
    transition:background .25s ease, transform .25s ease, border-color .25s ease;
  }
  .socials a:hover{background:var(--blue); border-color:var(--blue); transform:translateY(-4px) scale(1.08);}
  .socials svg{width:14px;height:14px; color:var(--charcoal); transition:color .25s ease;}
  .socials a:hover svg{color:var(--white);}

  /* ---------- Dark section theme (alternating light/dark rhythm) ---------- */
  .dark-section{background:var(--charcoal); color:var(--white);}
  .dark-section h2, .dark-section h3, .dark-section .bio-title{color:var(--white);}
  .dark-section .section-head p{color:#c9cdca;}
  .dark-section .bio-content p{color:#c9cdca;}
  .dark-section .bio-content p strong{color:var(--white);}
  .dark-section .bio-title em{color:#a8adb3;}

  .dark-section .bio-stats{border-color:rgba(255,255,255,0.14);}
  .dark-section .bio-stat{border-color:rgba(255,255,255,0.14);}
  .dark-section .bio-stat:hover{background:rgba(255,255,255,0.05);}
  .dark-section .bio-stat strong{color:var(--white);}
  .dark-section .bio-stat span{color:#9aa3ab;}
  .dark-section .bio-frame{background:linear-gradient(155deg,#242424,#1c1c1c 60%); border-color:rgba(255,255,255,0.12);}
  .dark-section .btn-dark{background:var(--blue); color:var(--white);}
  .dark-section .btn-dark:hover{background:var(--blue-deep);}

  .dark-section .result-card{border-color:rgba(255,255,255,0.12);}
  .dark-section .result-card:hover{box-shadow:0 22px 40px -16px rgba(0,0,0,0.5);}
  .dark-section .result-photo{background:linear-gradient(155deg,#242424,#1c1c1c 60%);}
  .dark-section .result-info p{color:#c9cdca;}
  .dark-section .result-info .metric div span{color:#9aa3ab;}
  .dark-section .result-card--blue .result-info .metric div strong{color:var(--blue);}
  .dark-section .bio-frame:hover{box-shadow:0 26px 50px -18px rgba(0,0,0,0.55);}

  .dark-section .nutrition-content p{color:#c9cdca;}
  .dark-section .nutrition-content p strong{color:var(--white);}
  .dark-section .nf-icon{background:rgba(255,255,255,0.08); color:var(--blue);}
  .dark-section .nutrition-feature h3{color:var(--white);}
  .dark-section .nutrition-feature p{color:#9aa3ab;}
  .dark-section .nutrition-photo{background:linear-gradient(155deg,#242424,#1c1c1c 60%); border-color:rgba(255,255,255,0.12);}
  .dark-section .nutrition-photo .photo-placeholder{color:#9aa3ab;}

  .dark-section .faq-item{border-color:rgba(255,255,255,0.14);}
  .dark-section .faq-q{color:var(--white);}
  .dark-section .faq-q:hover{color:var(--blue);}
  .dark-section .faq-a p{color:#b7bcc2;}

  .dark-section.intro-video-section .video-frame:hover{box-shadow:0 24px 44px -18px rgba(0,0,0,0.5);}

  /* ---------- Sticky mobile WhatsApp bar ---------- */
  .sticky-wa{
    position:fixed; bottom:18px; right:18px; z-index:60;
    width:58px; height:58px; border-radius:50%; background:#25D366;
    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px -8px rgba(37,211,102,0.6);
    transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
    animation:wa-pulse 2.6s ease-in-out infinite;
  }
  .sticky-wa:hover{
    transform:scale(1.1) rotate(-6deg); background:#1ebe59;
    box-shadow:0 14px 32px -8px rgba(37,211,102,0.75); animation-play-state:paused;
  }
  @keyframes wa-pulse{
    0%,100%{ box-shadow:0 10px 26px -8px rgba(37,211,102,0.6); }
    50%{ box-shadow:0 10px 26px -8px rgba(37,211,102,0.6), 0 0 0 8px rgba(37,211,102,0.18); }
  }
  .sticky-wa svg{width:28px;height:28px; color:var(--white);}

  .scroll-top{
    position:fixed; bottom:18px; right:88px; z-index:60;
    width:46px; height:46px; border-radius:50%; background:var(--white);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 26px -10px rgba(26,26,26,0.35); border:1px solid var(--grey-line);
    color:var(--charcoal);
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity .3s ease, visibility .3s ease, transform .3s ease, border-color .3s ease, color .3s ease;
  }
  .scroll-top.show{opacity:1; visibility:visible; transform:translateY(0);}
  .scroll-top:hover{border-color:var(--blue); color:var(--blue); transform:translateY(-4px);}
  .scroll-top svg{width:20px; height:20px;}
  @media (max-width:600px){ .scroll-top{width:42px; height:42px; right:70px;} }

  .reveal{
    opacity:0; transform:translateY(26px) scale(.98);
    transition:opacity .7s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.16,.8,.24,1);
  }
  .reveal.in{opacity:1; transform:translateY(0) scale(1);}

  /* Cascade: items inside grids/rows enter in sequence instead of all at once */
  :where(.results-grid,.services-grid,.faq-list,.testi-scroll,.bio-stats,.stat-grid) > .reveal:nth-child(1),
  .results-grid .result-card:nth-child(1),
  .services-grid .service-card:nth-child(1),
  .faq-list .faq-item:nth-child(1),
  .testi-scroll .testi-card:nth-child(1){transition-delay:.05s;}
  .results-grid .result-card:nth-child(2),
  .services-grid .service-card:nth-child(2),
  .faq-list .faq-item:nth-child(2),
  .testi-scroll .testi-card:nth-child(2){transition-delay:.13s;}
  .results-grid .result-card:nth-child(3),
  .services-grid .service-card:nth-child(3),
  .faq-list .faq-item:nth-child(3),
  .testi-scroll .testi-card:nth-child(3){transition-delay:.21s;}
  .services-grid .service-card:nth-child(4),
  .faq-list .faq-item:nth-child(4),
  .testi-scroll .testi-card:nth-child(4){transition-delay:.29s;}
  .services-grid .service-card:nth-child(5),
  .faq-list .faq-item:nth-child(5){transition-delay:.37s;}

  /* =================================================================
     MOBILE: deterministic overrides (width-based, not viewport-height
     tricks) so nothing depends on how tall a given phone happens to be.
     ================================================================= */
  @media (max-width:600px){
    .container{padding:0 20px;}
    section{padding:48px 0;}

    /* Typography: comfortable reading sizes, no reliance on vw clamps that can run small */
    h1{font-size:1.9rem;}
    h2{font-size:1.5rem;}
    h3{font-size:1.05rem;}
    .section-head{margin-bottom:28px !important;}
    .section-head p{font-size:0.96rem;}

    /* Videos: plain 16:9, full width, no vh math */
    .intro-video-section.screen-fit{padding:16px 0;}
    .intro-video-section .video-frame{width:100% !important;}
    .intro-video-section h2{font-size:1.4rem !important;}
    .intro-video-section .video-cta .btn{width:100%; justify-content:center; text-align:center;}

    /* Bio / Formação: stack, plain full-width photo, no vh math */
    .bio-grid{grid-template-columns:1fr; gap:28px;}
    .bio-photo{padding:14px 14px 0 0;}
    .bio-frame{width:100% !important; max-width:340px; margin:0 auto; aspect-ratio:3/3.4;}
    .bio-title{font-size:1.35rem;}
    .bio-stats{margin:18px 0;}
    .bio-stat{padding:12px 14px;}
    .bio-stat strong{font-size:1.2rem;}
    .btn-dark{width:100%; justify-content:center; text-align:center;}

    /* Results: single column, comfortable card proportions */
    .results-grid{grid-template-columns:1fr; gap:16px;}
    .result-photo{aspect-ratio:16/10 !important;}

    /* Testimonials: one card mostly in view instead of an odd sliver */
    .testi-card{flex-basis:82vw;}

    /* Services: single column, roomier cards again on small phones */
    .services-grid{grid-template-columns:1fr; gap:12px;}
    .service-card{padding:22px 20px;}
    .service-card h3{font-size:1.05rem;}
    .service-card p{font-size:0.86rem;}

    /* FAQ */
    .faq-q{font-size:0.96rem;}

    /* Footer */
    .footer-bottom{flex-direction:column; align-items:center; text-align:center; gap:6px;}
  }

  @media (max-width:360px){
    .logo img{height:36px; width:36px;}
    .btn{padding:14px 22px; font-size:0.92rem;}
  }


  /* ---------- Video feedback ---------- */
  .video-feedback{
    position:relative;
    overflow:hidden;
    background:var(--grey-light);
  }
  .video-feedback::before{
    content:'';
    position:absolute;
    width:420px;height:420px;border-radius:50%;
    left:-220px;top:-160px;
    background:rgba(240,96,157,.10);
    filter:blur(10px);
    pointer-events:none;
  }
  .feedback-grid{
    position:relative;z-index:1;
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:64px;
    align-items:center;
  }
  .feedback-copy h2{
    font-size:clamp(1.8rem,3.2vw,2.65rem);
    margin-bottom:18px;
    max-width:560px;
  }
  .feedback-copy>p{
    color:var(--grey-mid);
    font-size:1rem;
    line-height:1.75;
    max-width:540px;
  }
  .feedback-highlights{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:28px 0 24px;
  }
  .feedback-highlight{
    padding:16px 17px;
    border-radius:14px;
    background:var(--white);
    border:1px solid var(--grey-line);
  }
  .feedback-highlight strong{
    display:block;
    font-family:var(--font-display);
    font-size:.94rem;
    color:var(--charcoal);
    margin-bottom:2px;
  }
  .feedback-highlight span{
    display:block;
    font-size:.76rem;
    color:var(--grey-mid);
    line-height:1.4;
  }
  .feedback-person{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .feedback-avatar{
    width:46px;height:46px;border-radius:50%;
    display:grid;place-items:center;
    background:var(--pink);
    color:var(--white);
    font-family:var(--font-display);
    font-weight:800;
  }
  .feedback-person strong{
    display:block;
    font-family:var(--font-display);
    font-size:.9rem;
  }
  .feedback-person span{
    display:block;
    color:var(--grey-mid);
    font-size:.75rem;
  }

  .feedback-video-wrap{
    position:relative;
    width:min(100%,520px);
    margin-left:auto;
    padding:14px;
    border-radius:26px;
    background:var(--white);
    border:1px solid var(--grey-line);
    box-shadow:0 28px 60px -28px rgba(26,26,26,.32);
  }
  .feedback-video-accent{
    position:absolute;
    width:110px;height:110px;
    border-radius:24px;
    right:-22px;top:-22px;
    background:linear-gradient(145deg,var(--blue),var(--pink));
    z-index:-1;
    transform:rotate(8deg);
    opacity:.85;
  }
  .feedback-video{
    display:block;
    width:100%;
    max-height:68svh;
    aspect-ratio:9/16;
    object-fit:contain;
    border-radius:18px;
    background:#111;
  }
  .feedback-video-label{
    position:absolute;
    left:28px;
    bottom:28px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border-radius:100px;
    background:rgba(20,20,20,.78);
    backdrop-filter:blur(8px);
    color:#fff;
    font-size:.72rem;
    font-weight:700;
    pointer-events:none;
  }
  .feedback-pulse{
    width:8px;height:8px;border-radius:50%;
    background:var(--pink);
    box-shadow:0 0 0 5px rgba(240,96,157,.18);
  }

  @media (max-width:900px){
    .feedback-grid{grid-template-columns:1fr;gap:34px;}
    .feedback-copy{text-align:center;}
    .feedback-copy h2,.feedback-copy>p{margin-left:auto;margin-right:auto;}
    .feedback-person{justify-content:center;}
    .feedback-video-wrap{margin:0 auto;width:min(100%,460px);}
  }
  @media (max-width:560px){
    .feedback-highlights{grid-template-columns:1fr;}
    .feedback-video-wrap{padding:9px;border-radius:20px;}
    .feedback-video{border-radius:14px;max-height:72svh;}
    .feedback-video-label{left:20px;bottom:20px;}
  }



/* --- Layout final dos serviços: 6 cards em 3x2 --- */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.services-grid .service-card,
.services-grid .service-card:nth-child(3),
.services-grid .service-card:nth-child(4),
.services-grid .service-card-black{
  grid-column:auto;
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:24px 22px;
}

.services-grid .service-card > .icon{
  order:0;
  width:31px;
  height:31px;
  margin-bottom:2px;
  flex-shrink:0;
}
.services-grid .service-card > .service-badge{order:1;}
.services-grid .service-card > h3{order:2;}
.services-grid .service-card > p{order:3;}
.services-grid .service-card > .service-price{order:4;}
.services-grid .service-card > a{order:5;margin-top:auto;}

.service-card-premium .service-badge{display:none;}

.service-card-slim{
  border-color:rgba(240,96,157,.26);
  background:linear-gradient(145deg,#fff8fb 0%,var(--grey-light) 74%);
}
.service-card-slim .icon,
.service-card-slim a{color:var(--pink-deep);}
.service-card-slim:hover{
  border-color:var(--pink);
  box-shadow:0 22px 42px -20px rgba(240,96,157,.22);
}

.service-card-black{
  position:relative;
  background:linear-gradient(145deg,#171817 0%,#202220 100%);
  border-color:#262826;
  color:var(--white);
}
.service-card-black:hover{
  background:linear-gradient(145deg,#1d1f1e 0%,#252725 100%);
  border-color:#343734;
  box-shadow:0 24px 46px -22px rgba(0,0,0,.48);
}
.service-card-black > .icon{color:#f7b731;}
.service-card-black h3{color:var(--white);font-size:1.12rem;}
.service-card-black .service-subtitle{color:#f1f1f1;font-style:italic;flex:0 0 auto;}
.service-card-black p:not(.service-subtitle){color:#c9cdd2;flex:1;}
.service-card-black .service-price{
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:800;
  color:var(--white);
  text-align:left;
  margin-top:3px;
}
.service-card-black .service-price span{
  display:inline;
  font-size:.72rem;
  font-weight:500;
  color:#aeb4bc;
  margin-left:3px;
}
.service-card-black a{color:#f7b731;}
.service-card-black a:hover{color:#ffd36a;}
.service-card-black .service-badge-black{
  position:absolute;
  top:19px;
  right:18px;
  left:auto;
  padding:6px 10px;
  border-radius:100px;
  background:rgba(247,183,49,.14);
  color:#f7b731;
  font-size:.62rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

@media (max-width:900px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  .services-grid{grid-template-columns:1fr;}
  .services-grid .service-card,
  .services-grid .service-card-black{min-height:auto;}
}
@media (max-width:430px){
  .service-card-black .service-badge-black{
    position:static;
    order:1;
    margin-bottom:2px;
  }
}


/* --- Refinamento visual dos filtros de resultados --- */
.results-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.results-filter-icon{
  width:18px;
  height:18px;
  flex-shrink:0;
}

/* Feminino: rosa */
.results-filter-btn-women{
  color:#d989ad;
}
.results-filter-btn-women:hover{
  color:#ffd7e8;
}
.results-filter-btn-women.active{
  color:var(--white);
  background:var(--pink);
  box-shadow:0 9px 24px -12px rgba(240,96,157,.95);
}

/* Masculino: mantém azul */
.results-filter-btn-men{
  color:#9fa6a2;
}
.results-filter-btn-men:hover{
  color:var(--white);
}
.results-filter-btn-men.active{
  color:var(--white);
  background:var(--blue);
  box-shadow:0 9px 24px -12px rgba(62,111,240,.9);
}

@media(max-width:560px){
  .results-filter-icon{
    width:17px;
    height:17px;
  }
}

.bio-floating-credential>div:last-child{display:flex;flex-direction:column;align-items:center;text-align:center;}

/* Gallery auto-rotation */
.result-main-image img{
  transition:opacity .18s ease, transform .45s ease;
}


/* --- Resultados masculinos: identidade azul --- */
.result-card-men .result-info .metric div strong{
  color:var(--blue);
}
.result-card-men .result-tag{
  color:#9db4ff;
  background:rgba(62,111,240,.12);
  border-color:rgba(62,111,240,.18);
}
.result-card-men .result-thumb.active{
  border-color:var(--blue);
  box-shadow:0 0 0 2px rgba(62,111,240,.18);
}
.result-card-men .gallery-arrow:hover{
  background:var(--blue);
  color:var(--white);
}



/* =========================================================
   Planos / serviços — versão mais compacta para notebooks
   ========================================================= */
.services.screen-fit{
  padding-top:22px;
  padding-bottom:22px;
}

.services.screen-fit .section-head{
  margin-bottom:22px;
}

.services.screen-fit .section-head p{
  margin-top:10px;
  font-size:.96rem;
}

.services-grid{
  gap:14px;
}

.services-grid .service-card,
.services-grid .service-card:nth-child(3),
.services-grid .service-card:nth-child(4),
.services-grid .service-card-black{
  min-height:250px;
  padding:19px 20px;
  gap:8px;
  border-radius:16px;
}

.services-grid .service-card > .icon{
  width:27px;
  height:27px;
  margin-bottom:0;
}

.service-card h3,
.service-card-black h3{
  font-size:1.02rem;
  line-height:1.18;
  margin:0;
}

.service-card p{
  font-size:.80rem;
  line-height:1.46;
}

.service-card a{
  font-size:.79rem;
  line-height:1.3;
  margin-top:auto;
}

.service-card .service-subtitle{
  font-size:.78rem;
}

.service-card-black .service-price{
  font-size:1.08rem;
  margin-top:0;
}

.service-card-black .service-price span{
  font-size:.68rem;
}

.service-card-black .service-badge-black{
  top:16px;
  right:16px;
  padding:5px 9px;
  font-size:.57rem;
}

/* Notebook: força composição mais enxuta para caber as 2 linhas */
@media (min-width:901px) and (max-height:850px){
  .services.screen-fit{
    min-height:calc(100svh - var(--header-h));
    padding-top:16px;
    padding-bottom:16px;
  }

  .services.screen-fit .section-head{
    margin-bottom:16px;
  }

  .services.screen-fit .section-head .eyebrow{
    margin-bottom:9px;
    padding:5px 12px;
    font-size:.70rem;
  }

  .services.screen-fit .section-head h2{
    font-size:clamp(1.6rem,2.5vw,2.1rem);
  }

  .services.screen-fit .section-head p{
    margin-top:7px;
    font-size:.88rem;
    line-height:1.4;
  }

  .services-grid{
    gap:12px;
  }

  .services-grid .service-card,
  .services-grid .service-card:nth-child(3),
  .services-grid .service-card:nth-child(4),
  .services-grid .service-card-black{
    min-height:218px;
    padding:16px 18px;
    gap:6px;
  }

  .services-grid .service-card > .icon{
    width:24px;
    height:24px;
  }

  .service-card h3,
  .service-card-black h3{
    font-size:.94rem;
  }

  .service-card p{
    font-size:.74rem;
    line-height:1.4;
  }

  .service-card a{
    font-size:.73rem;
  }

  .service-card-black .service-price{
    font-size:1rem;
  }

  .service-card-black .service-badge-black{
    top:14px;
    right:14px;
    font-size:.53rem;
  }
}

/* Mantém conforto em tablet e celular */
@media (max-width:900px){
  .services.screen-fit{
    padding-top:38px;
    padding-bottom:38px;
  }

  .services-grid .service-card,
  .services-grid .service-card-black{
    min-height:240px;
    padding:20px;
  }
}

@media (max-width:600px){
  .services-grid .service-card,
  .services-grid .service-card-black{
    min-height:auto;
  }

  .service-card p{
    font-size:.84rem;
  }
}



/* =========================================================
   Formação & Credibilidade — layout mais eficiente
   ========================================================= */
.bio-v2.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}

.bio-shell{
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);
  gap:48px;
}

.bio-visual{
  width:min(100%,390px);
  padding-bottom:82px;
}

.bio-photo-card{
  aspect-ratio:4/4.7;
  border-radius:22px;
}

.bio-photo-caption{
  left:20px;
  right:20px;
  bottom:18px;
}

.bio-floating-credential{
  min-height:72px;
  padding:13px 16px;
}

.bio-floating-icon{
  width:38px;
  height:38px;
}

.bio-floating-icon svg{
  width:19px;
  height:19px;
}

.bio-title{
  font-size:clamp(1.85rem,3vw,2.65rem);
  margin-bottom:14px;
}

.bio-title span{
  margin-top:6px;
}

.bio-lead,
.bio-description{
  font-size:.88rem;
  line-height:1.55;
}

.bio-lead{
  margin-bottom:8px;
}

.bio-description{
  margin-bottom:14px;
}

.bio-expertise{
  gap:8px;
  margin:14px 0 16px;
}

.bio-expertise-item{
  min-height:76px;
  padding:11px 13px;
  gap:9px;
}

.bio-expertise-icon{
  width:32px;
  height:32px;
}

.bio-expertise-icon svg{
  width:16px;
  height:16px;
}

.bio-expertise-item strong{
  font-size:.74rem;
  margin-bottom:3px;
}

.bio-expertise-item span{
  font-size:.66rem;
  line-height:1.35;
}

.bio-proof{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 0 16px;
  padding:12px 0;
}

.bio-proof-item{
  padding:0 12px;
}

.bio-proof-item:first-child{
  padding-left:0;
}

.bio-proof-item strong{
  font-size:.88rem;
}

.bio-proof-item span{
  font-size:.62rem;
}

.bio-cta{
  padding:11px 20px;
  font-size:.82rem;
}

/* Notebooks com pouca altura: mantém toda a seção visível sem parecer espremida */
@media (min-width:901px) and (max-height:850px){
  .bio-v2.screen-fit{
    min-height:calc(100svh - var(--header-h));
    padding-top:14px;
    padding-bottom:14px;
  }

  .bio-shell{
    grid-template-columns:minmax(270px,.68fr) minmax(0,1.32fr);
    gap:38px;
  }

  .bio-visual{
    width:min(100%,340px);
    padding-bottom:72px;
  }

  .bio-photo-card{
    aspect-ratio:4/4.55;
    border-radius:20px;
  }

  .bio-photo-caption strong{
    font-size:1rem;
  }

  .bio-photo-caption span{
    font-size:.68rem;
  }

  .bio-floating-credential{
    min-height:64px;
    padding:10px 13px;
  }

  .bio-floating-credential strong{
    font-size:.76rem;
  }

  .bio-floating-credential span{
    font-size:.63rem;
  }

  .bio-eyebrow{
    margin-bottom:10px;
    padding:5px 11px;
    font-size:.64rem;
  }

  .bio-title{
    font-size:clamp(1.65rem,2.5vw,2.2rem);
    margin-bottom:10px;
  }

  .bio-lead,
  .bio-description{
    font-size:.80rem;
    line-height:1.45;
  }

  .bio-description{
    margin-bottom:10px;
  }

  .bio-expertise{
    margin:10px 0 12px;
    gap:7px;
  }

  .bio-expertise-item{
    min-height:64px;
    padding:9px 11px;
  }

  .bio-expertise-icon{
    width:29px;
    height:29px;
  }

  .bio-expertise-item strong{
    font-size:.69rem;
  }

  .bio-expertise-item span{
    font-size:.61rem;
  }

  .bio-proof{
    padding:9px 0;
    margin-bottom:12px;
  }

  .bio-proof-item strong{
    font-size:.80rem;
  }

  .bio-proof-item span{
    font-size:.57rem;
  }

  .bio-cta{
    padding:10px 18px;
    font-size:.77rem;
  }
}

@media (max-width:900px){
  .bio-v2.screen-fit{
    padding-top:48px;
    padding-bottom:48px;
  }

  .bio-shell{
    grid-template-columns:1fr;
    gap:34px;
  }

  .bio-visual{
    width:min(100%,390px);
    padding-bottom:82px;
  }

  .bio-proof{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
  }

  .bio-proof-item:nth-child(2){
    border-right:0;
  }

  .bio-proof-item:nth-child(3),
  .bio-proof-item:nth-child(4){
    border-top:1px solid rgba(255,255,255,.09);
    padding-top:12px;
    margin-top:12px;
  }
}

@media (max-width:560px){
  .bio-proof{
    grid-template-columns:1fr;
  }

  .bio-proof-item,
  .bio-proof-item:nth-child(2),
  .bio-proof-item:nth-child(3),
  .bio-proof-item:nth-child(4){
    padding:12px 0;
    margin:0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
}



/* =========================================================
   Otimização global de todas as seções — notebooks / viewport
   ========================================================= */

/* Base desktop: reduzir desperdício vertical sem apertar leitura */
section{
  padding-top:24px;
  padding-bottom:24px;
}

.screen-fit{
  min-height:calc(100svh - var(--header-h));
}

.section-head{
  margin-bottom:30px;
}

.section-head p{
  margin-top:10px;
  font-size:.98rem;
  line-height:1.5;
}

/* Vídeo de apresentação */
.intro-video-section.screen-fit{
  padding-top:18px;
  padding-bottom:18px;
}
.intro-video-section .section-head{
  margin-bottom:14px;
}
.intro-video-section .video-cta{
  margin-top:14px;
}
.intro-video-section .video-frame{
  width:min(100%, calc((100svh - var(--header-h)) * .43 * 16 / 9));
}

/* Abordagem */
.approach{
  padding-top:22px;
  padding-bottom:22px;
}
.approach .section-head{
  margin-bottom:24px;
}
.approach-circles{
  gap:24px 26px;
}
.approach-item{
  width:108px;
}
.approach-circle{
  width:100px;
  height:100px;
}
.approach-item span{
  font-size:.72rem;
}

/* Resultados reais */
.results.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}
.results.screen-fit .section-head{
  margin-bottom:20px;
}
.results-filter-wrap{
  margin:-2px 0 18px;
}
.results-grid{
  gap:14px;
}
.result-card{
  border-radius:18px;
}
.result-main-image{
  min-height:0;
}
.result-info{
  padding:17px 18px 18px;
}
.result-name-row{
  margin-bottom:12px;
}
.metric{
  margin-bottom:12px;
}
.result-info p{
  font-size:.77rem;
  line-height:1.45;
}

/* Depoimentos */
.testimonials.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}
.testimonials.screen-fit .section-head{
  margin-bottom:20px;
}
.testimonials-layout{
  gap:16px;
}
.testi-trust{
  padding:24px 22px;
}
.testi-trust-icon{
  margin-bottom:16px;
}
.testi-trust p{
  margin-bottom:17px;
  font-size:.84rem;
}
.testi-grid{
  gap:11px;
}
.testi-card{
  padding:16px 17px;
  gap:8px;
}
.testi-card p{
  font-size:.78rem;
  line-height:1.48;
}

/* Feedback em vídeo */
.video-feedback.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}
.feedback-grid{
  gap:44px;
}
.feedback-copy h2{
  margin-bottom:13px;
}
.feedback-copy>p{
  font-size:.91rem;
  line-height:1.58;
}
.feedback-highlights{
  margin:20px 0 18px;
}
.feedback-highlight{
  padding:13px 14px;
}
.feedback-video-wrap{
  width:min(100%,450px);
  padding:10px;
}
.feedback-video{
  max-height:58svh;
}

/* Treino + Nutrição */
.nutrition.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}
.nutrition-grid{
  gap:46px;
}
.nutrition-content>p{
  font-size:.91rem;
  line-height:1.58;
}
.nutrition-features{
  gap:10px;
}
.nutrition-feature{
  padding:12px 0;
}
.nutrition-feature h3{
  font-size:.94rem;
}
.nutrition-feature p{
  font-size:.77rem;
  line-height:1.45;
}
.nutrition-photo{
  width:min(100%,410px);
}

/* Serviços / planos */
.services.screen-fit{
  padding-top:18px;
  padding-bottom:18px;
}
.services.screen-fit .section-head{
  margin-bottom:18px;
}
.services-grid{
  gap:12px;
}
.services-grid .service-card,
.services-grid .service-card:nth-child(3),
.services-grid .service-card:nth-child(4),
.services-grid .service-card-black{
  min-height:218px;
  padding:16px 18px;
  gap:6px;
}

/* FAQ */
.faq.screen-fit{
  padding-top:20px;
  padding-bottom:20px;
}
.faq.screen-fit .section-head{
  margin-bottom:20px;
}
.faq-list{
  gap:9px;
}
.faq-item{
  border-radius:14px;
}
.faq-q{
  padding:15px 17px;
  font-size:.88rem;
}
.faq-a{
  padding:0 17px 15px;
  font-size:.78rem;
  line-height:1.5;
}

/* CTA final / footer, caso existam */
.cta-section,
.final-cta{
  padding-top:28px;
  padding-bottom:28px;
}
footer{
  padding-top:24px;
  padding-bottom:24px;
}

/* Notebook com pouca altura: otimização mais agressiva */
@media (min-width:901px) and (max-height:850px){
  section{
    padding-top:14px;
    padding-bottom:14px;
  }

  .section-head{
    margin-bottom:16px !important;
  }

  .section-head .eyebrow,
  .section-head .eyebrow2{
    margin-bottom:8px;
    padding:5px 11px;
    font-size:.67rem;
  }

  .section-head h2{
    font-size:clamp(1.55rem,2.4vw,2rem);
  }

  .section-head p{
    margin-top:6px;
    font-size:.84rem;
    line-height:1.4;
  }

  /* Vídeo */
  .intro-video-section.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .intro-video-section h2{
    font-size:clamp(1.28rem,2.1vw,1.72rem);
  }
  .intro-video-section .section-head p{
    font-size:.82rem;
  }
  .intro-video-section .video-frame{
    width:min(100%, calc((100svh - var(--header-h)) * .39 * 16 / 9));
  }
  .intro-video-section .video-cta{
    margin-top:10px;
  }

  /* Abordagem */
  .approach{
    padding-top:14px;
    padding-bottom:14px;
  }
  .approach-circles{
    gap:18px 22px;
  }
  .approach-item{
    width:92px;
  }
  .approach-circle{
    width:84px;
    height:84px;
  }
  .approach-item span{
    font-size:.64rem;
  }

  /* Resultados */
  .results.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .results-filter-wrap{
    margin:0 0 12px;
  }
  .results-filter-btn{
    min-width:130px;
    padding:9px 16px;
    font-size:.69rem;
  }
  .results-grid{
    gap:10px;
  }
  .result-info{
    padding:13px 15px 14px;
  }
  .result-name-row h3{
    font-size:.94rem;
  }
  .result-tag{
    font-size:.62rem;
  }
  .metric strong{
    font-size:1.06rem;
  }
  .metric span{
    font-size:.62rem;
  }
  .result-info p{
    font-size:.70rem;
  }

  /* Depoimentos */
  .testimonials.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .testimonials-layout{
    gap:12px;
  }
  .testi-trust{
    padding:18px 18px;
  }
  .testi-trust-icon{
    width:40px;
    height:40px;
    margin-bottom:12px;
  }
  .testi-trust h3{
    font-size:1.12rem;
    margin-bottom:8px;
  }
  .testi-trust p{
    font-size:.75rem;
    line-height:1.45;
    margin-bottom:12px;
  }
  .testi-grid{
    gap:8px;
  }
  .testi-card{
    padding:13px 14px;
    gap:6px;
  }
  .testi-card p{
    font-size:.71rem;
  }
  .testi-avatar,
  .testi-avatar1{
    width:36px;
    height:36px;
  }

  /* Feedback */
  .video-feedback.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .feedback-grid{
    gap:32px;
  }
  .feedback-copy h2{
    font-size:clamp(1.5rem,2.5vw,2rem);
    margin-bottom:9px;
  }
  .feedback-copy>p{
    font-size:.80rem;
    line-height:1.46;
  }
  .feedback-highlights{
    margin:14px 0 13px;
    gap:8px;
  }
  .feedback-highlight{
    padding:10px 12px;
  }
  .feedback-video-wrap{
    width:min(100%,380px);
    padding:8px;
  }
  .feedback-video{
    max-height:54svh;
  }

  /* Nutrição */
  .nutrition.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .nutrition-grid{
    gap:34px;
  }
  .nutrition-content h2{
    font-size:clamp(1.5rem,2.5vw,2rem);
  }
  .nutrition-content>p{
    font-size:.80rem;
    line-height:1.45;
  }
  .nutrition-features{
    gap:7px;
  }
  .nutrition-feature{
    padding:8px 0;
  }
  .nutrition-feature h3{
    font-size:.84rem;
  }
  .nutrition-feature p{
    font-size:.68rem;
  }
  .nf-icon{
    width:34px;
    height:34px;
  }
  .nutrition-photo{
    width:min(100%,350px);
  }

  /* Serviços */
  .services.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }

  /* FAQ */
  .faq.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }
  .faq-list{
    gap:7px;
  }
  .faq-q{
    padding:12px 14px;
    font-size:.80rem;
  }
  .faq-a{
    padding:0 14px 12px;
    font-size:.71rem;
  }
}

/* Tablet */
@media (max-width:900px){
  section{
    padding-top:42px;
    padding-bottom:42px;
  }

  .screen-fit{
    min-height:auto;
  }

  .section-head{
    margin-bottom:26px;
  }

  .feedback-grid,
  .nutrition-grid{
    gap:32px;
  }
}

/* Mobile */
@media (max-width:600px){
  section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .section-head{
    margin-bottom:26px !important;
  }

  .section-head p{
    font-size:.94rem;
  }

  .approach{
    padding-top:40px;
    padding-bottom:40px;
  }

  .results-grid,
  .testi-grid,
  .services-grid{
    gap:12px;
  }
}



/* =========================================================
   FAQ — correção do accordion + compactação segura
   ========================================================= */
.faq-list{
  max-width:900px;
  margin:0 auto;
}

.faq-item{
  border-bottom:1px solid rgba(255,255,255,.14);
  border-radius:0;
  overflow:hidden;
}

.faq-q{
  width:100%;
  min-height:52px;
  padding:14px 6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--white);
  font-family:var(--font-display);
  font-size:.88rem;
  font-weight:600;
  line-height:1.35;
  text-align:left;
}

.faq-q:hover{
  color:var(--blue);
  padding-left:6px;
}

.faq-a{
  max-height:0;
  overflow:hidden;
  padding:0 !important;
  font-size:inherit;
  line-height:inherit;
  transition:max-height .32s ease;
}

.faq-a p{
  margin:0;
  padding:0 6px 16px;
  color:#b7bcc2;
  font-size:.80rem;
  line-height:1.55;
}

.faq-item.open .faq-q{
  color:var(--blue);
}

.faq-item.open .faq-a{
  overflow:hidden;
}

@media (min-width:901px) and (max-height:850px){
  .faq.screen-fit{
    padding-top:12px;
    padding-bottom:12px;
  }

  .faq.screen-fit .section-head{
    margin-bottom:12px !important;
  }

  .faq-list{
    max-width:860px;
  }

  .faq-q{
    min-height:44px;
    padding:10px 4px;
    font-size:.76rem;
  }

  .faq-q:hover{
    padding-left:4px;
  }

  .faq-a{
    padding:0 !important;
  }

  .faq-a p{
    padding:0 4px 12px;
    font-size:.69rem;
    line-height:1.45;
  }
}

@media (max-width:600px){
  .faq-q{
    min-height:50px;
    padding:13px 2px;
    font-size:.86rem;
  }

  .faq-a{
    padding:0 !important;
  }

  .faq-a p{
    padding:0 2px 15px;
    font-size:.79rem;
  }
}


/* Feedback em vídeo — exibir o vídeo inteiro, sem cortes */
.feedback-video{
  object-fit:contain !important;
  background:#000;
}



/* =========================================================
   Feedback real — moldura vertical estilo celular
   ========================================================= */
.feedback-grid{
  align-items:center;
}

.feedback-video-wrap{
  width:min(100%, 340px) !important;
  aspect-ratio:9 / 18.5;
  margin-inline:auto;
  padding:10px !important;
  border-radius:34px;
  background:linear-gradient(180deg,#161616 0%, #0f0f0f 100%);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:
    0 20px 50px -24px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.22);
  position:relative;
}

/* pequeno detalhe visual para lembrar a moldura de um smartphone */
.feedback-video-wrap::before{
  content:'';
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  width:78px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  z-index:2;
}

.feedback-video{
  display:block;
  width:100%;
  height:100%;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  background:#000;
  border-radius:26px;
}

/* notebook baixo */
@media (min-width:901px) and (max-height:850px){
  .feedback-video-wrap{
    width:min(100%, 300px) !important;
    padding:9px !important;
    border-radius:30px;
  }

  .feedback-video{
    border-radius:22px;
  }
}

/* tablet */
@media (max-width:900px){
  .feedback-video-wrap{
    width:min(100%, 320px) !important;
  }
}

/* mobile */
@media (max-width:560px){
  .feedback-video-wrap{
    width:min(100%, 290px) !important;
    padding:8px !important;
    border-radius:28px;
  }

  .feedback-video-wrap::before{
    top:10px;
    width:70px;
    height:5px;
  }

  .feedback-video{
    border-radius:20px;
  }
}



/* Ajuste fino — moldura do feedback menor */
.feedback-video-wrap{
  width:min(100%, 285px) !important;
}

@media (min-width:901px) and (max-height:850px){
  .feedback-video-wrap{
    width:min(100%, 255px) !important;
  }
}

@media (max-width:900px){
  .feedback-video-wrap{
    width:min(100%, 275px) !important;
  }
}

@media (max-width:560px){
  .feedback-video-wrap{
    width:min(100%, 245px) !important;
  }
}



/* =========================================================
   Vídeo de apresentação — enquadramento restaurado
   ========================================================= */
.intro-video-section .video-frame{
  width:min(100%,720px) !important;
  aspect-ratio:16 / 9 !important;
  max-height:none !important;
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  background:#111;
}

.intro-video-section .video-frame > img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 32% !important;
  display:block;
}

.intro-video-section .play-btn{
  z-index:3;
}

@media (min-width:901px) and (max-height:850px){
  .intro-video-section .video-frame{
    width:min(100%,620px) !important;
  }
}

@media (max-width:900px){
  .intro-video-section .video-frame{
    width:min(100%,680px) !important;
  }
}

@media (max-width:600px){
  .intro-video-section .video-frame{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    border-radius:16px;
  }
}



/* =========================================================
   Formação & Credibilidade — restaurar proporção da foto
   ========================================================= */
.bio-visual{
  width:min(100%,440px) !important;
  padding-bottom:92px !important;
}

.bio-photo-card{
  aspect-ratio:4 / 5 !important;
  border-radius:26px !important;
}

.bio-photo-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* mantém o card de formação em 100% como combinado */
.bio-floating-credential{
  width:100% !important;
  right:0 !important;
  justify-content:center !important;
  text-align:center !important;
}

.bio-floating-credential > div:last-child{
  align-items:center !important;
  text-align:center !important;
}

/* Notebook */
@media (min-width:901px) and (max-height:850px){
  .bio-visual{
    width:min(100%,380px) !important;
    padding-bottom:86px !important;
  }

  .bio-photo-card{
    aspect-ratio:4 / 5 !important;
  }
}

/* Tablet */
@media (max-width:900px){
  .bio-visual{
    width:min(92%,390px) !important;
    padding-bottom:86px !important;
  }
}

/* Mobile */
@media (max-width:560px){
  .bio-visual{
    width:100% !important;
    padding-bottom:86px !important;
  }

  .bio-photo-card{
    aspect-ratio:4 / 4.8 !important;
    border-radius:20px !important;
  }
}


/* =========================================================
   UX/UI refinement layer — 2026-08
   Preserves the approved visual identity while tightening
   hierarchy, conversion, accessibility and laptop behavior.
   ========================================================= */
:root{
  --surface:#ffffff;
  --surface-soft:#f7f8fa;
  --text-strong:#151716;
  --text-muted:#666c68;
  --shadow-sm:0 8px 24px -18px rgba(20,25,22,.28);
  --shadow-md:0 18px 48px -24px rgba(20,25,22,.34);
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
}

body{color:var(--text-strong);}
p{color:#414642;}
.container{padding-inline:clamp(18px,3vw,28px);}
section{scroll-margin-top:calc(var(--header-h) + 12px);}
.text-accent{color:#78a0ff; white-space:nowrap;}

/* The first real heading is now the visible H1 — useful for people and SEO. */
.intro-video-section h1{
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.7vw,2.15rem);
  line-height:1.2;
  letter-spacing:-.025em;
  color:var(--white);
  max-width:760px;
  margin-inline:auto;
}

/* Header: language remains discreet; conversion gets a clear, secondary action. */
.nav-cta{gap:10px;}
.header-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  border:1px solid var(--grey-line);
  border-radius:999px;
  font-family:var(--font-display);
  font-size:.82rem;
  font-weight:600;
  color:var(--charcoal);
  background:var(--white);
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
.header-book:hover{border-color:var(--blue);color:var(--blue-deep);background:var(--blue-soft);transform:translateY(-1px);}
.nav-mobile-book,.nav-mobile-lang{display:none;}

/* Stronger rhythm without turning every block into a card. */
.section-head{margin-bottom:clamp(28px,4vw,44px);}
.section-head p{max-width:58ch;}
.center.section-head p{margin-inline:auto;}
.approach{padding-block:clamp(42px,6vw,72px);}

/* Buttons: slightly tighter and more usable on smaller screens. */
.btn{min-height:48px;padding:13px 24px;}
.btn-primary{box-shadow:0 10px 26px -12px rgba(62,111,240,.7);}

/* Cards get a consistent interaction language. */
.result-card,.service-card,.testi-card,.nutrition-feature,.bio-expertise-item{
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.result-card:hover,.service-card:hover,.testi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}

/* FAQ readability and touch targets. */
.faq-q{min-height:56px;line-height:1.4;}
.faq-a p{max-width:72ch;line-height:1.7;}

/* Non-clickable location icon should not pretend to be a link. */
.social-disabled{display:inline-flex;align-items:center;justify-content:center;opacity:.48;cursor:default;}
.social-disabled svg{width:18px;height:18px;}

/* Laptop heights: do not force every long section into one viewport. */
@media (min-width:721px) and (max-height:820px){
  .screen-fit{min-height:auto;padding-block:48px;}
  .intro-video-section.screen-fit{padding-block:34px;}
  .section-head{margin-bottom:24px;}
  .services-grid{gap:12px;}
}

@media (max-width:980px) and (min-width:861px){
  .nav-links{gap:18px;font-size:.86rem;}
  .header-book{padding-inline:12px;font-size:.78rem;}
}

@media (max-width:860px){
  .nav-mobile-book,.nav-mobile-lang{display:flex;}
  .nav-mobile-book{
    justify-content:center;
    margin:14px 20px 6px;
    padding:13px 18px !important;
    border:0 !important;
    border-radius:999px;
    background:var(--blue);
    color:var(--white) !important;
    font-family:var(--font-display);
    font-weight:600;
  }
  .nav-mobile-lang{
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0 20px 16px;
    padding:10px 18px !important;
    border-bottom:0 !important;
    color:var(--grey-mid) !important;
  }
  .nav-links.open{max-height:470px;}
}

@media (max-width:720px){
  section{padding-block:48px;}
  .section-head{margin-bottom:28px;}
  .section-head p{font-size:.98rem;line-height:1.65;}
  .intro-video-section h1{font-size:clamp(1.55rem,7vw,2rem);}
  .text-accent{white-space:normal;}
  .btn{width:100%;justify-content:center;min-height:50px;padding-inline:20px;}
  .video-cta{width:100%;}
}

@media (max-width:420px){
  .container{padding-inline:16px;}
  .eyebrow,.eyebrow2{font-size:.7rem;letter-spacing:.11em;}
}

/* =========================================================
   First fold / laptop-height refinement — 2026-08
   Keeps presentation video + primary CTA visible without scroll
   on common notebook viewports such as 1366x768 / 1536x864.
   ========================================================= */
@media (min-width:721px) and (max-height:820px){
  #video-apresentacao.intro-video-section.screen-fit{
    min-height:calc(100svh - var(--header-h));
    padding-top:16px;
    padding-bottom:16px;
    display:flex;
    align-items:center;
  }

  #video-apresentacao .container{
    max-width:760px;
  }

  #video-apresentacao .section-head{
    margin-bottom:10px;
  }

  #video-apresentacao .eyebrow{
    margin-bottom:6px;
    padding:7px 14px;
    font-size:.68rem;
  }

  #video-apresentacao h1{
    max-width:700px;
    font-size:clamp(1.55rem,2.25vw,1.8rem);
    line-height:1.12;
    margin-bottom:8px;
  }

  #video-apresentacao .section-head p{
    margin-top:0;
    font-size:.86rem;
    line-height:1.35;
  }

  #video-apresentacao .video-frame{
    width:min(100%,560px);
  }

  #video-apresentacao .video-cta{
    margin-top:10px;
  }

  #video-apresentacao .video-cta .btn{
    min-height:44px;
    padding:10px 20px;
    font-size:.86rem;
  }

  #video-apresentacao .floating-badge{
    padding:10px 14px;
    border-radius:14px;
  }

  #video-apresentacao .floating-badge strong{font-size:.78rem;}
  #video-apresentacao .floating-badge span{font-size:.7rem;}
  #video-apresentacao .floating-badge svg{width:19px;height:19px;}
}

@media (min-width:721px) and (max-height:720px){
  #video-apresentacao.intro-video-section.screen-fit{
    padding-top:10px;
    padding-bottom:10px;
  }

  #video-apresentacao h1{
    font-size:1.5rem;
  }

  #video-apresentacao .section-head p{
    font-size:.8rem;
  }

  #video-apresentacao .video-frame{
    width:min(100%,500px);
  }
}

/* =========================================================
   First fold / laptop-height refinement v2 — 2026-08
   Further reduces the presentation video footprint so the
   primary CTA stays inside the first viewport on notebooks.
   ========================================================= */
@media (min-width:721px) and (max-height:900px){
  #video-apresentacao .container{
    max-width:740px;
  }

  #video-apresentacao .section-head{
    margin-bottom:8px;
  }

  #video-apresentacao .eyebrow{
    margin-bottom:6px;
    padding:6px 14px;
    font-size:.68rem;
  }

  #video-apresentacao h1{
    max-width:680px;
    font-size:clamp(1.42rem,2vw,1.72rem);
    line-height:1.08;
    margin-bottom:6px;
  }

  #video-apresentacao .section-head p{
    max-width:620px;
    margin-inline:auto;
    font-size:.83rem;
    line-height:1.3;
  }

  #video-apresentacao .video-frame{
    width:min(100%, calc((100svh - var(--header-h) - 245px) * 16 / 9));
    max-width:500px;
  }

  #video-apresentacao .video-cta{
    margin-top:8px;
  }

  #video-apresentacao .video-cta .btn{
    min-height:42px;
    padding:10px 18px;
    font-size:.84rem;
  }

  #video-apresentacao .floating-badge{
    padding:9px 13px;
    border-radius:14px;
  }

  #video-apresentacao .floating-badge strong{font-size:.76rem;}
  #video-apresentacao .floating-badge span{font-size:.68rem;}
  #video-apresentacao .floating-badge svg{width:18px;height:18px;}
}

@media (min-width:721px) and (max-height:780px){
  #video-apresentacao.intro-video-section.screen-fit{
    padding-top:8px;
    padding-bottom:8px;
  }

  #video-apresentacao .video-frame{
    width:min(100%, calc((100svh - var(--header-h) - 225px) * 16 / 9));
    max-width:470px;
  }
}

/* Galeria de resultados: ocultar miniaturas/preview inferior.
   A navegação continua funcionando pelas setas e rotação automática. */
.result-thumbs{
  display:none !important;
}


/* =========================================================
   Veja outros resultados — carrossel contínuo de prova social
   ========================================================= */
.other-results{
  margin-top:clamp(42px,5vw,72px);
  padding-top:clamp(30px,4vw,48px);
  border-top:1px solid rgba(255,255,255,.1);
}
.other-results-head{max-width:720px;margin-bottom:24px;}
.other-results-head .eyebrow{margin-bottom:10px;}
.other-results-head h3{margin:0 0 10px;color:var(--white);font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.12;}
.other-results-head p{margin:0;color:#b9bec5;max-width:620px;line-height:1.6;}
.other-results-marquee{position:relative;width:100%;overflow:hidden;padding:4px 0 10px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);}
.other-results-track{display:flex;width:max-content;gap:18px;will-change:transform;animation:otherResultsMarquee 42s linear infinite;}
.other-results-marquee:hover .other-results-track,.other-results-marquee:focus-within .other-results-track{animation-play-state:paused;}
.other-result-item{flex:0 0 clamp(320px,38vw,520px);aspect-ratio:16/10;margin:0;overflow:hidden;border-radius:18px;background:#17191c;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 34px -22px rgba(0,0,0,.72);}
.other-result-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease;}
.other-result-item:hover img{transform:scale(1.025);}
@keyframes otherResultsMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 9px));}}
@media (max-width:720px){.other-results{margin-top:36px;padding-top:28px}.other-results-head{margin-bottom:18px}.other-results-track{gap:12px;animation-duration:34s}.other-result-item{flex-basis:min(78vw,320px);border-radius:15px}.other-results-marquee{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}}
@media (prefers-reduced-motion: reduce){.other-results-track{animation:none;transform:none}.other-results-marquee{overflow-x:auto;scrollbar-width:thin;-webkit-mask-image:none;mask-image:none}}


/* ---------- Results gallery lightbox ---------- */
body.gallery-lightbox-open{overflow:hidden;}
.result-main-image img{cursor:zoom-in;}
.gallery-lightbox{
  position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center;
  padding:24px; background:rgba(5,7,10,.92); backdrop-filter:blur(8px);
}
.gallery-lightbox.open{display:flex;}
.gallery-lightbox-stage{position:relative; width:min(94vw,1200px); height:min(88vh,860px); display:flex; align-items:center; justify-content:center;}
.gallery-lightbox-image{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:14px; box-shadow:0 26px 70px rgba(0,0,0,.45);}
.gallery-lightbox-close, .gallery-lightbox-nav{
  position:absolute; z-index:2; display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
  color:#fff; background:rgba(12,14,18,.78); border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(10px); transition:background .2s ease, transform .2s ease;
}
.gallery-lightbox-close{top:12px; right:12px; font-size:1.8rem; line-height:1;}
.gallery-lightbox-nav{top:50%; transform:translateY(-50%); font-size:2rem;}
.gallery-lightbox-prev{left:12px;}
.gallery-lightbox-next{right:12px;}
.gallery-lightbox-close:hover, .gallery-lightbox-nav:hover{background:var(--blue);}
.gallery-lightbox-nav:hover{transform:translateY(-50%) scale(1.06);}
.gallery-lightbox-close:hover{transform:scale(1.06);}
.gallery-lightbox-counter{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%); padding:7px 12px; border-radius:999px;
  background:rgba(12,14,18,.76); color:#fff; font-size:.76rem; font-weight:700; letter-spacing:.04em;
}
@media(max-width:720px){
  .gallery-lightbox{padding:12px;}
  .gallery-lightbox-stage{width:100%; height:82vh;}
  .gallery-lightbox-close, .gallery-lightbox-nav{width:42px; height:42px;}
  .gallery-lightbox-prev{left:6px;} .gallery-lightbox-next{right:6px;} .gallery-lightbox-close{top:6px; right:6px;}
  .gallery-lightbox-image{border-radius:10px;}
}
