.elementor-45 .elementor-element.elementor-element-0bb3633{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS */@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqrbS10ig.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqlbS0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqrbS10ig.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqlbS0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqrbS10ig.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqlbS0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqrbS10ig.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqlbS0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  :root{
    --bg:#031633;
    --bg-2:#05204a;
    --panel:#072044;
    --ink:#eef1f6;
    --ink-soft:#aeb6c4;
    --ink-mute:#6f7b8e;
    --line:rgba(255,255,255,.08);
    --line-soft:rgba(255,255,255,.05);
    --silver-1:#f4f6fa;
    --silver-2:#c3cad6;
    --silver-3:#8b94a4;
    /* brand tones from the YPMED logo */
    --brand-teal:#03a0b3;
    --brand-green:#79b238;
    --steel:#03a0b3;
    --steel-glow:#1fc6da;
    --glass:rgba(255,255,255,.045);
    --glass-2:rgba(255,255,255,.07);
    --radius:18px;
    --max:1180px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Urbanist',system-ui,sans-serif;
    font-weight:300;
    letter-spacing:.2px;
    background:var(--bg);
    color:var(--ink);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  /* ambient background */
  body::before{
    content:"";position:fixed;inset:0;z-index:-2;
    background:
      radial-gradient(1100px 700px at 78% -8%, rgba(3,160,179,.13), transparent 60%),
      radial-gradient(900px 600px at -10% 30%, rgba(3,160,179,.07), transparent 55%),
      linear-gradient(180deg,#031633 0%, #03122a 55%, #020c1d 100%);
  }
  body::after{
    content:"";position:fixed;inset:0;z-index:-1;opacity:.4;pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:3px 3px;
    mix-blend-mode:overlay;
  }

  h1,h2,h3,h4{font-weight:300;letter-spacing:-.3px}
  strong,b{font-weight:400}
  a{color:inherit;text-decoration:none}
  section{position:relative}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

  /* metallic silver text */
  .silver{
    background:linear-gradient(160deg,#ffffff 0%, #d7dde7 28%, #9aa3b2 52%, #e8edf4 74%, #aab2c0 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }

  .eyebrow{
    font-size:.72rem;letter-spacing:4.5px;text-transform:uppercase;
    color:var(--ink-mute);font-weight:400;display:inline-flex;align-items:center;gap:12px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--silver-3))}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;
    border-bottom:1px solid transparent;
  }
  header.nav.scrolled{
    background:rgba(3,18,40,.62);
    backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid var(--line);
  }
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:78px}
  .brand{display:flex;align-items:center;gap:13px}
  .brand .mark{height:30px;width:auto;display:block}
  .brand .nav-logo{height:58px;width:auto;display:block}
  @media(min-width:980px){.nav-in{height:90px}.brand .nav-logo{height:62px}}
  .brand .word{font-size:1.28rem;letter-spacing:7px;font-weight:400}
  .brand .sub{font-size:.54rem;letter-spacing:4px;color:var(--ink-mute);display:block;margin-top:1px}
  .nav-links{display:flex;gap:34px;align-items:center}
  .nav-links a{font-size:.84rem;color:var(--ink-soft);letter-spacing:.5px;position:relative;padding:4px 0}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--steel-glow);transition:width .4s var(--ease)}
  .nav-links a:hover{color:var(--ink)}
  .nav-links a:hover::after{width:100%}
  .nav-cta{display:none}
  @media(min-width:980px){.nav-cta{display:inline-flex}}

  /* ---------- MENU MOBILE (sem JS, via :target) ---------- */
  /* .nav-cta{display:none} perde para .btn{display:inline-flex}, que vem depois
     no arquivo com a mesma especificidade — por isso o botao aparecia no mobile.
     Com .nav-in na frente (0,2,0) o none volta a valer. */
  .nav-in .nav-cta{display:none}
  @media(min-width:980px){.nav-in .nav-cta{display:inline-flex}}

  .nav-toggle{
    display:none;flex-direction:column;justify-content:center;gap:6px;
    flex:0 0 auto;width:44px;height:44px;padding:11px 8px;margin-right:-8px;
    border:0;background:transparent;cursor:pointer;position:relative;z-index:60;
  }
  .nav-toggle span{
    display:block;width:100%;height:1.5px;background:var(--ink);border-radius:2px;
    transition:transform .45s var(--ease),opacity .25s var(--ease);
  }
  .nav-close span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav-close span:nth-child(2){opacity:0}
  .nav-close span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav-backdrop{
    display:none;position:fixed;inset:0;z-index:45;
    background:rgba(2,10,25,.62);
    opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s;
  }
  .nav-links .nav-cta-mobile{display:none}

  @media(max-width:979.98px){
    .nav-open{display:inline-flex}
    .nav-backdrop{display:block}
    .nav-links{
      position:fixed;top:0;right:0;z-index:55;
      width:min(330px,84vw);height:100vh;height:100dvh;
      flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
      padding:104px 28px calc(36px + env(safe-area-inset-bottom));
      background:linear-gradient(180deg,#06214a 0%,#03122a 100%);
      border-left:1px solid var(--line);
      box-shadow:-30px 0 70px rgba(0,0,0,.5);
      transform:translateX(102%);transition:transform .5s var(--ease);
      overflow-y:auto;overscroll-behavior:contain;
    }
    .nav-links a{
      font-size:1rem;color:var(--ink);padding:15px 2px;
      border-bottom:1px solid var(--line-soft);
    }
    .nav-links a::after{display:none}
    .nav-links .nav-cta-mobile{
      display:inline-flex;justify-content:center;margin-top:26px;border-bottom:0;
      padding:16px 26px;
    }
    /* estado aberto */
    #menu:target{transform:none}
    #menu:target ~ .nav-open{display:none}
    #menu:target ~ .nav-close{display:inline-flex}
    #menu:target ~ .nav-backdrop{opacity:1;visibility:visible}
    #menu:target ~ .brand,.brand{position:relative;z-index:46}
  }

  /* ---------- AJUSTES POR NAO HAVER JS ---------- */
  /* .reveal dependia do IntersectionObserver para ganhar .in */
  .reveal{opacity:1;transform:none}
  /* header ganhava fundo via classe .scrolled no scroll; agora e fixo.
     Sem backdrop-filter no mobile: filter cria containing block e prenderia
     o painel/scrim position:fixed dentro do header. */
  header.nav{background:rgba(3,18,40,.72);border-bottom:1px solid var(--line)}
  @media(min-width:980px){
    header.nav{-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
  }

  /* ---------- LIGHT-BEAM BUTTON ---------- */
  .btn{
    --bw:1.5px;
    position:relative;display:inline-flex;align-items:center;gap:12px;
    padding:16px 30px;border-radius:60px;cursor:pointer;border:0;overflow:hidden;
    font-family:inherit;font-size:.92rem;font-weight:400;letter-spacing:.6px;
    color:var(--ink);background:transparent;isolation:isolate;
    transition:transform .5s var(--ease),box-shadow .5s var(--ease),color .4s;
  }
  /* keep the label light in every state (beats theme a:hover color) */
  .btn,.btn *,.btn:link,.btn:link *,.btn:visited,.btn:visited *,
  .btn:hover,.btn:hover *,.btn:focus,.btn:focus *,.btn:active,.btn:active *{color:var(--ink)!important}
  @keyframes spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
  /* a conic gradient spins behind the button; the inner fill leaves only a thin
     lit ring visible → a light beam continuously traces the border (no hover needed) */
  .btn::before{
    content:"";position:absolute;z-index:-2;left:50%;top:50%;width:280%;aspect-ratio:1;
    transform:translate(-50%,-50%);border-radius:50%;
    background:conic-gradient(
      #ffffff 0deg, var(--brand-teal) 18deg,
      rgba(3,160,179,.18) 70deg, rgba(3,160,179,.18) 286deg,
      var(--brand-green) 322deg, var(--brand-teal) 346deg, #ffffff 360deg);
    animation:spin 3s linear infinite;
  }
  /* inner glass fill that hides the gradient center, exposing only the border ring */
  .btn::after{
    content:"";position:absolute;z-index:-1;inset:var(--bw);border-radius:inherit;
    background:
      linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),
      rgba(3,22,51,.9);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    transition:background .4s;
  }
  .btn .arrow{transition:transform .5s var(--ease)}
  .btn:hover{transform:translateY(-2px);--bw:2px;box-shadow:0 12px 34px -12px rgba(3,160,179,.62)}
  .btn:hover::before{animation-duration:1.2s}
  .btn:hover::after{background:linear-gradient(180deg,rgba(3,160,179,.22),rgba(121,178,56,.05)),rgba(5,20,40,.86)}
  .btn:hover .arrow{transform:translateX(5px)}
  .btn.ghost{padding:15px 28px}

  /* ---------- HERO ---------- */
  .hero{min-height:100vh;display:flex;align-items:center;padding-top:120px;padding-bottom:80px;overflow:hidden}
  /* atmospheric photographic backdrop (AI-generated, brand palette) */
  .hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:
      linear-gradient(90deg,rgba(3,22,51,.92) 0%,rgba(3,22,51,.6) 48%,rgba(3,22,51,.15) 100%),
      linear-gradient(180deg,rgba(3,22,51,.55) 0%,rgba(3,22,51,.45) 50%,rgba(2,12,29,.92) 100%),
      url('https://ypmed.com.br/wp-content/uploads/2026/06/lp-hero-bg.jpg') center right/cover no-repeat;
    transform:scale(1.04);animation:heroDrift 22s ease-in-out infinite alternate;
  }
  @keyframes heroDrift{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.08) translateX(-2%)}}
  .hero .wrap{position:relative;z-index:1}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:54px;align-items:center}
  @media(min-width:980px){.hero-grid{grid-template-columns:1.08fr .92fr;gap:40px}}
  .hero h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.04;margin:26px 0 22px;font-weight:200}
  .hero h1 em{font-style:normal}
  .hero .lead{font-size:1.12rem;color:var(--ink-soft);max-width:38ch;font-weight:300}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:38px}

  /* hero visual: the Y mark on glass */
  .hero-visual{position:relative;display:flex;justify-content:center}
  .mark-stage{
    position:relative;width:min(460px,86vw);aspect-ratio:1/1.05;
    display:flex;align-items:center;justify-content:center;
  }
  .mark-stage::before{
    content:"";position:absolute;width:120%;height:120%;top:-10%;left:-10%;
    background:radial-gradient(closest-side,rgba(31,198,218,.14),transparent 70%);
    animation:float 9s ease-in-out infinite;
  }
  @keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(8%,8%)}}
  .mark-stage svg{width:58%;height:auto;position:relative;z-index:1;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}
  .mark-stage .hero-logo{width:90%;height:auto;position:relative;z-index:1;filter:drop-shadow(0 18px 44px rgba(0,0,0,.6))}
  .mark-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:.6rem;letter-spacing:6px;color:var(--ink-mute);text-transform:uppercase;z-index:2}
  .badge-loc{
    position:absolute;top:18px;left:18px;font-size:.6rem;letter-spacing:3px;text-transform:uppercase;
    color:var(--ink-soft);background:rgba(255,255,255,.05);border:1px solid var(--line);
    padding:7px 12px;border-radius:30px;backdrop-filter:blur(8px);z-index:2;
  }

  /* ---------- STAT STRIP ---------- */
  .stats{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:46px 0}
  .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
  @media(min-width:840px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
  .stat{text-align:left}
  .stat .n{font-size:clamp(2.1rem,4vw,3rem);font-weight:200;line-height:1}
  .stat .l{font-size:.82rem;color:var(--ink-mute);margin-top:10px;letter-spacing:.4px}

  /* ---------- SECTION HEADS ---------- */
  .sec{padding:120px 0}
  .sec-head{max-width:680px;margin:0 auto 64px;text-align:center}
  .sec-head h2{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;margin:20px 0 0;font-weight:200}
  .sec-head p{margin-left:auto;margin-right:auto}
  /* About: título à esquerda, acima da descrição */
  .about-grid .sec-head{max-width:none;margin:0 0 26px;text-align:left}
  .about-grid .sec-head p{margin-left:0;margin-right:0}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:1fr;gap:50px;align-items:start}
  @media(min-width:980px){.about-grid{grid-template-columns:1.05fr .95fr;gap:64px}}
  .about-copy p{color:var(--ink-soft);margin-bottom:20px;max-width:54ch}
  .about-figure{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
    box-shadow:0 30px 70px -34px rgba(0,0,0,.8)}
  .about-figure img{width:100%;height:100%;object-fit:cover;object-position:32% center;display:block;filter:contrast(1.03) saturate(1.04);min-height:460px}
  .about-figure .glassquote{
    position:absolute;left:18px;right:18px;bottom:18px;padding:20px 22px;border-radius:14px;
    background:var(--glass-2);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .glassquote .q{font-size:1.05rem;font-weight:300;color:var(--ink)}
  .glassquote .who{font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--ink-mute);margin-top:10px}

  /* ---------- GLASS CARDS (services / why) ---------- */
  .cards{display:grid;grid-template-columns:1fr;gap:22px}
  @media(min-width:740px){.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c2{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:980px){.cards.c3b{grid-template-columns:repeat(3,1fr)}}
  .gcard{
    position:relative;border-radius:var(--radius);padding:34px 30px 36px;overflow:hidden;
    background:var(--glass);border:1px solid var(--line);
    backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);
    box-shadow:0 22px 50px -32px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.06);
    transition:transform .6s var(--ease),border-color .6s,box-shadow .6s;
  }
  .gcard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:radial-gradient(420px 220px at var(--mx,80%) -10%,rgba(31,198,218,.12),transparent 60%);
    opacity:0;transition:opacity .6s}
  .gcard:hover{transform:translateY(-6px);border-color:rgba(31,198,218,.28);
    box-shadow:0 36px 70px -34px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.1)}
  .gcard:hover::after{opacity:1}
  .gcard .idx{font-size:.78rem;letter-spacing:2px;color:var(--steel);margin-bottom:24px;font-weight:400}
  .gcard h3{font-size:1.32rem;margin-bottom:14px;font-weight:300}
  .gcard p{color:var(--ink-soft);font-size:.96rem}

  /* glassmorphism SVG icon */
  .gico{
    width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;
    margin-bottom:26px;position:relative;
    background:linear-gradient(160deg,rgba(3,160,179,.22),rgba(3,160,179,.04));
    border:1px solid rgba(3,160,179,.3);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -8px 16px rgba(0,0,0,.25),0 10px 24px -10px rgba(0,0,0,.6);
  }
  .gico::before{content:"";position:absolute;top:5px;left:8px;right:8px;height:42%;border-radius:12px 12px 30px 30px;
    background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);pointer-events:none}
  .gico svg{width:28px;height:28px;stroke:var(--brand-teal);stroke-width:1.5;fill:none;position:relative;z-index:1;
    stroke-linecap:round;stroke-linejoin:round}

  /* ---------- MODELO (5 passos) ---------- */
  .steps{display:grid;grid-template-columns:1fr;gap:18px}
  @media(min-width:680px){.steps{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1080px){.steps{grid-template-columns:repeat(5,1fr);gap:14px}}
  .step{position:relative;border-radius:var(--radius);padding:30px 22px 26px;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);transition:transform .5s var(--ease),border-color .5s,box-shadow .5s}
  .step:hover{transform:translateY(-6px);border-color:rgba(15,163,184,.32);box-shadow:0 30px 60px -34px rgba(0,0,0,.8)}
  .step-n{font-size:1.4rem;font-weight:300;width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;
    background:linear-gradient(160deg,rgba(15,163,184,.24),rgba(122,182,56,.16));
    border:1px solid rgba(15,163,184,.32);color:var(--ink)}
  .step h3{font-size:1.04rem;margin-bottom:14px;font-weight:400}
  .step ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  .step li{font-size:.85rem;color:var(--ink-soft);padding-left:18px;position:relative}
  .step li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand-teal),var(--brand-green))}

  /* ---------- UNIDADES DE REFERÊNCIA ---------- */
  .units{display:grid;grid-template-columns:1fr;gap:18px}
  @media(min-width:680px){.units{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1040px){.units{grid-template-columns:repeat(3,1fr)}}
  .unit{position:relative;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(135%);
    -webkit-backdrop-filter:blur(16px) saturate(135%);
    box-shadow:0 22px 50px -32px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.06);
    transition:transform .6s var(--ease),border-color .6s,box-shadow .6s}
  .unit:hover{transform:translateY(-6px);border-color:rgba(3,160,179,.32);box-shadow:0 36px 70px -34px rgba(0,0,0,.85)}
  .unit .ph{position:relative;aspect-ratio:16/10;overflow:hidden}
  .unit .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
  .unit:hover .ph img{transform:scale(1.05)}
  .unit .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(3,22,51,.6))}
  .unit .u-n{position:absolute;top:14px;left:16px;z-index:1;font-size:.7rem;letter-spacing:2px;color:#fff;font-weight:400;
    background:rgba(3,22,51,.5);border:1px solid rgba(255,255,255,.22);padding:5px 11px;border-radius:30px;
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .unit .body{padding:24px 26px 26px}
  .unit h3{font-size:1.1rem;font-weight:400;margin-bottom:6px;line-height:1.28}
  .unit .loc{font-size:.74rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-mute);margin-bottom:18px}
  .unit .spec{display:flex;flex-wrap:wrap;gap:8px}
  .unit .spec span{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);
    background:linear-gradient(160deg,rgba(3,160,179,.18),rgba(122,182,56,.08));
    border:1px solid rgba(3,160,179,.26);padding:6px 11px;border-radius:30px}

  /* ---------- ESPECIALIDADES ---------- */
  .specs-grid{display:grid;grid-template-columns:1fr;gap:22px}
  @media(min-width:680px){.specs-grid{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1040px){.specs-grid{grid-template-columns:repeat(3,1fr)}}
  .spec-card{position:relative;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 22px 50px -32px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.06);
    transition:transform .6s var(--ease),border-color .6s,box-shadow .6s}
  .spec-card:hover{transform:translateY(-6px);border-color:rgba(3,160,179,.32);
    box-shadow:0 36px 70px -34px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.1)}
  .spec-card .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
  .spec-card .ph img{width:100%;height:100%;object-fit:cover;display:block;
    filter:brightness(.92) contrast(1.04) saturate(1.05);transition:transform .8s var(--ease)}
  .spec-card:hover .ph img{transform:scale(1.05)}
  .spec-card .ph::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 38%,rgba(3,22,51,.9))}
  .spec-card .ph h3{position:absolute;left:24px;right:24px;bottom:16px;z-index:1;
    font-size:1.22rem;font-weight:400;color:var(--ink)}
  .spec-card .body{padding:22px 24px 26px}
  .spec-card ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  .spec-card li{font-size:.86rem;color:var(--ink-soft);padding-left:18px;position:relative;line-height:1.45}
  .spec-card li::before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;
    background:var(--brand-teal)}

  /* ---------- PARTNERS ---------- */
  .partners{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  @media(min-width:840px){.partners{grid-template-columns:repeat(4,1fr)}}
  .pcard{
    border-radius:14px;padding:28px 22px;min-height:148px;display:flex;flex-direction:column;justify-content:space-between;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);transition:transform .5s var(--ease),border-color .5s}
  .pcard:hover{transform:translateY(-5px);border-color:rgba(31,198,218,.3)}
  .pcard .acr{font-size:1.7rem;letter-spacing:2px;font-weight:300}
  .pcard .full{font-size:.8rem;color:var(--ink-mute);line-height:1.4}
  .pcard .tag{font-size:.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--steel)}

  /* ---------- LEADERSHIP ---------- */
  .team{display:grid;grid-template-columns:1fr;gap:22px}
  @media(min-width:680px){.team{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1040px){.team{grid-template-columns:repeat(4,1fr)}}
  .member{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--panel);
    transition:transform .5s var(--ease),border-color .5s}
  .member:hover{transform:translateY(-6px);border-color:rgba(31,198,218,.28)}
  .member .ph{position:relative;aspect-ratio:1/1.06;overflow:hidden}
  .member .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.04) brightness(.92);
    transition:filter .6s,transform .8s var(--ease)}
  .member:hover .ph img{filter:grayscale(.05);transform:scale(1.04)}
  .member .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,22,51,.85))}
  .member .body{padding:22px 22px 26px}
  .member .role{font-size:.66rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--steel);margin-bottom:8px}
  .member h3{font-size:1.18rem;margin-bottom:10px;font-weight:300}
  .member p{font-size:.85rem;color:var(--ink-soft)}

  /* ---------- MANIFESTO (full-width image band) ---------- */
  .manifesto{padding:150px 0;position:relative;overflow:hidden;
    border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .manifesto::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:
      linear-gradient(180deg,rgba(3,22,51,.9) 0%,rgba(3,22,51,.78) 50%,rgba(2,12,29,.94) 100%),
      radial-gradient(900px 500px at 50% 50%,rgba(3,160,179,.16),transparent 65%),
      url('https://ypmed.com.br/wp-content/uploads/2026/06/lp-manifesto-band.jpg') center/cover no-repeat;
    filter:saturate(.8);
  }
  .manifesto .wrap{position:relative;z-index:1}
  .manifesto .big{font-size:clamp(1.8rem,4.4vw,3.2rem);line-height:1.22;font-weight:200;max-width:18ch;margin:0 auto;text-align:center}
  .manifesto .big span{color:var(--ink-soft)}

  /* ---------- CONTACT ---------- */
  .contact-card{
    border-radius:26px;padding:54px 44px;position:relative;overflow:hidden;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(20px) saturate(140%);
    -webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 30px 80px -40px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.07)}
  .contact-card::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;top:-260px;right:-160px;
    background:radial-gradient(closest-side,rgba(31,198,218,.14),transparent)}
  .contact-grid{display:grid;grid-template-columns:1fr;gap:44px;position:relative}
  @media(min-width:900px){.contact-grid{grid-template-columns:1.1fr .9fr}}
  .contact-grid h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:200;margin:18px 0}
  .contact-grid .lead{color:var(--ink-soft);max-width:40ch}
  .cinfo{display:flex;flex-direction:column;gap:22px;justify-content:center}
  .cinfo .row{border-top:1px solid var(--line);padding-top:16px}
  .cinfo .k{font-size:.66rem;letter-spacing:3px;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}
  .cinfo .v{font-size:1.05rem;color:var(--ink)}
  .contact-actions{margin-top:30px}

  /* ---------- FOOTER ---------- */
  footer{padding:84px 0 46px;border-top:1px solid var(--line-soft);margin-top:30px}
  .foot-compliance{margin-bottom:58px}
  .foot-compliance .eyebrow{margin-bottom:14px}
  .foot-compliance h3{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:200;margin-bottom:38px}
  .compliance-grid{display:grid;grid-template-columns:1fr;gap:26px}
  @media(min-width:680px){.compliance-grid{grid-template-columns:repeat(2,1fr);gap:30px 44px}}
  @media(min-width:980px){.compliance-grid{grid-template-columns:repeat(3,1fr)}}
  .cmp{position:relative;padding-left:22px}
  .cmp::before{content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand-teal),var(--brand-green))}
  .cmp h4{font-size:.98rem;font-weight:400;margin-bottom:7px;color:var(--ink)}
  .cmp p{font-size:.82rem;color:var(--ink-mute);line-height:1.5}

  /* certificados */
  .certs-grid{display:grid;grid-template-columns:1fr;gap:26px}
  @media(min-width:720px){.certs-grid{grid-template-columns:repeat(2,1fr);gap:30px}}
  .cert-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;position:relative;
    border-radius:var(--radius);overflow:hidden;background:var(--glass);border:1px solid var(--line);
    backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);
    box-shadow:0 22px 50px -32px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.06);
    transition:transform .6s var(--ease),border-color .6s,box-shadow .6s}
  .cert-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:radial-gradient(420px 220px at var(--mx,80%) -10%,rgba(31,198,218,.14),transparent 60%);
    opacity:0;transition:opacity .6s}
  .cert-card:hover{transform:translateY(-6px);border-color:rgba(31,198,218,.28);
    box-shadow:0 36px 70px -34px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.1)}
  .cert-card:hover::after{opacity:1}
  .cert-frame{padding:16px;background:linear-gradient(180deg,#ffffff,#e9edf3)}
  .cert-frame img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 6px 20px -8px rgba(0,0,0,.45)}
  .cert-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 22px;position:relative;z-index:1}
  .cert-meta h3{font-size:1.02rem;font-weight:400;color:var(--ink);line-height:1.25}
  .cert-meta .sub{display:block;font-size:.76rem;color:var(--ink-mute);margin-top:5px;letter-spacing:.3px}
  .cert-view{font-size:.8rem;color:var(--steel);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font-weight:400}
  .cert-view .arrow{transition:transform .4s var(--ease)}
  .cert-card:hover .cert-view .arrow{transform:translateX(4px)}

  .foot-bottom{display:flex;flex-direction:column;gap:24px;align-items:flex-start;justify-content:space-between;
    border-top:1px solid var(--line-soft);padding-top:36px}
  @media(min-width:880px){.foot-bottom{flex-direction:row;align-items:flex-end}}
  .foot-bottom img{height:52px;width:auto;display:block;margin-bottom:16px}
  .foot-legal{font-size:.76rem;color:var(--ink-mute);line-height:1.7;max-width:64ch}
  .foot-legal strong{color:var(--ink-soft);font-weight:400}
  .foot-copy{font-size:.74rem;color:var(--ink-mute);letter-spacing:.4px;white-space:nowrap}

  ::selection{background:rgba(31,198,218,.28);color:#fff}

  /* Icones: SVG inline nao sobrevive ao kses do widget HTML.
     Cada icone vira background-image, entregue pelo endpoint /css. */
  .gico .gico-ic{display:block;width:28px;height:28px;position:relative;z-index:1;
    background-position:center;background-repeat:no-repeat;background-size:contain}
  .gico-ic-1{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M16 4h2a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2%22/%3E%3Crect x=%228%22 y=%222%22 width=%228%22 height=%224%22 rx=%221%22/%3E%3Cpath d=%22M12 11v5M9.5 13.5h5%22/%3E%3C/svg%3E")}
  .gico-ic-2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M9 21V9a3 3 0 0 1 6 0v12%22/%3E%3Cpath d=%22M3 21h18%22/%3E%3Cpath d=%22M5 21V11l7-5 7 5v10%22/%3E%3Cpath d=%22M12 6V3%22/%3E%3C/svg%3E")}
  .gico-ic-3{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 2 4 5v6c0 5 3.4 8.5 8 11 4.6-2.5 8-6 8-11V5z%22/%3E%3Cpath d=%22m9 12 2 2 4-4%22/%3E%3C/svg%3E")}
  .gico-ic-4{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22M3 9h18M8 2v4M16 2v4%22/%3E%3Cpath d=%22m9 15 2 2 4-4%22/%3E%3C/svg%3E")}
  .gico-ic-5{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E")}
  .gico-ic-6{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 2 4 5v6c0 5 3.4 8.5 8 11 4.6-2.5 8-6 8-11V5z%22/%3E%3Cpath d=%22m9 12 2 2 4-4%22/%3E%3C/svg%3E")}
  .gico-ic-7{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 3l8 3v5c0 5-3.4 8.5-8 10-4.6-1.5-8-5-8-10V6z%22/%3E%3Cpath d=%22M9 12h6M12 9v6%22/%3E%3C/svg%3E")}
  .gico-ic-8{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M3 17l5-5 4 4 8-9%22/%3E%3Cpath d=%22M16 7h4v4%22/%3E%3C/svg%3E")}
  .gico-ic-9{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303a0b3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M3 9h18M9 21V9%22/%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2217%22 rx=%222%22/%3E%3Cpath d=%22m15 14 1.5 1.5L19 13%22/%3E%3C/svg%3E")}/* End custom CSS */