
    :root {
      --ink:#121233; --muted:#56566E; --lime:#E4F75B; --paper:#F7F7FB;
      --blue:#3B2EE0; --line:#D9D9EA; --nav-h:4.25rem; --raio:12px;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:var(--nav-h); }
    body { margin:0; width:100%; font-family:"DM Sans", sans-serif; color:var(--muted); background:var(--paper); }
    h1,h2,h3,p,ul,li,dl,dd { margin:0; }
    ul { list-style:none; padding:0; }
    img { display:block; max-width:100%; }
    .display { font-family:"Space Grotesk", sans-serif; color:var(--ink); letter-spacing:-.055em; line-height:.92; }
    /* overflow:hidden aqui virava um container de rolagem e quebrava o sticky do menu.
       overflow-x:clip segura o estouro horizontal sem criar esse container. */
    .site-shell { width:100%; overflow-x:clip; }
    .section-pad { padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,5rem); }
    .section-pad-tight { padding:clamp(3rem,6vw,5.5rem) clamp(1.25rem,5vw,5rem); }
    .wide-inner { width:100%; max-width:1440px; margin:0 auto; }
    .eyebrow { display:inline-flex; padding:.45rem .75rem; border-radius:999px; font-size:.69rem; line-height:1;
      letter-spacing:.08em; font-weight:700; background:var(--lime); color:var(--ink); }
    a:focus-visible, button:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }

    /* ---------------- MENU ---------------- */
    .site-nav { position:sticky; top:0; z-index:60; height:var(--nav-h); display:flex; align-items:center;
      padding:0 clamp(1.25rem,5vw,5rem); transition:background .25s ease, border-color .25s ease; border-bottom:1px solid transparent; }
    .site-nav.is-stuck { background:var(--ink); border-bottom-color:rgba(228,247,91,.35); }
    .nav-inner { width:100%; max-width:1440px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
    .nav-brand { font-family:"Space Grotesk",sans-serif; color:#fff; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-decoration:none; white-space:nowrap; }
    .nav-links { display:flex; align-items:center; gap:1.5rem; }
    .nav-links > a, .nav-trigger { color:#fff; font:700 .72rem "DM Sans",sans-serif; letter-spacing:.08em; text-decoration:none;
      background:none; border:0; padding:.35rem 0; cursor:pointer; border-bottom:1px solid transparent; }
    .nav-links > a:hover, .nav-trigger:hover, .nav-trigger[aria-expanded="true"] { border-bottom-color:var(--lime); }
    .cases-nav { position:relative; display:flex; align-items:center; }
    .nav-trigger { display:inline-flex; align-items:center; gap:.4rem; }
    .nav-trigger svg { transition:transform .2s ease; }
    .nav-trigger[aria-expanded="true"] svg { transform:rotate(180deg); }
    .cases-submenu { position:absolute; z-index:70; top:calc(100% + 1rem); right:0; width:min(26rem,calc(100vw - 2.5rem));
      padding:.4rem; background:var(--ink); border:1px solid var(--blue); box-shadow:0 18px 40px rgba(18,18,51,.35);
      opacity:0; visibility:hidden; transform:translateY(-.4rem); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; }
    .cases-nav.is-open .cases-submenu { opacity:1; visibility:visible; transform:translateY(0); }
    .cases-submenu a { display:flex; align-items:center; gap:.75rem; min-height:2.9rem; padding:.7rem .85rem; color:#fff;
      text-decoration:none; font-size:.7rem; line-height:1.3; letter-spacing:.05em; font-weight:700; }
    .cases-submenu a span.num { color:var(--blue); font-size:.62rem; flex:0 0 1.4rem; transition:color .15s ease; }
    .cases-submenu a:hover, .cases-submenu a:focus-visible { background:var(--lime); color:var(--ink); outline:none; }
    .cases-submenu a:hover span.num, .cases-submenu a:focus-visible span.num { color:var(--ink); }

    /* ---------------- HERO ---------------- */
    .hero { min-height:calc(100 * min(var(--vh, 1vh), 1vh) - var(--nav-h)); margin-top:calc(var(--nav-h) * -1);
      padding-top:calc(var(--nav-h) + clamp(5rem,10vw,10rem)); display:flex; flex-direction:column; justify-content:flex-end;
      background:linear-gradient(135deg,#1C1480 0%,#3B2EE0 42%,#7B4FE8 68%,#FF5CA8 100%); color:#fff; }
    .hero .display { color:#fff; }
    .hero-name { font-size:clamp(3.4rem,11vw,9.5rem); max-width:1200px; margin-top:clamp(2rem,4vw,3.5rem); }
    .hero-position { font-size:clamp(1.1rem,2.1vw,1.8rem); max-width:660px; line-height:1.25; margin-top:2rem; }

    /* ---------------- EMPRESAS ---------------- */
    .credibility { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
      padding:1.5rem clamp(1.25rem,5vw,5rem); }
    .company-row { max-width:1440px; margin:auto; display:flex; justify-content:space-between; gap:.9rem 2.5rem; flex-wrap:wrap;
      color:var(--ink); font-family:"Space Grotesk",sans-serif; font-size:clamp(.78rem,1.3vw,1.02rem); font-weight:700; letter-spacing:.07em; }
    .company-row span { white-space:nowrap; text-transform:uppercase; }

    /* ---------------- QUEM EU SOU / COMO TRABALHO ---------------- */
    .intro-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr); gap:clamp(3rem,9vw,10rem); align-items:start; }
    .section-title { font-size:clamp(2.1rem,4.8vw,4rem); max-width:900px; margin-top:1.5rem; }
    .body-copy { font-size:1.1rem; line-height:1.6; max-width:680px; margin-top:1.75rem; }
    .body-copy + .body-copy { margin-top:1.1rem; }
    .principles { border-top:1px solid var(--blue); }
    .principle { padding:1.5rem 0; border-bottom:1px solid var(--blue); }
    .principle h3 { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:1.25rem; font-weight:700; }
    .principle p { margin-top:.45rem; line-height:1.45; }
    .work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--blue);
      border-top:1px solid var(--blue); margin-top:3rem; }
    .work-card { min-height:230px; padding:2rem; border-right:1px solid var(--blue); border-bottom:1px solid var(--blue);
      display:flex; flex-direction:column; justify-content:space-between; gap:1rem; }
    .work-number { color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.08em; }
    .work-card h3 { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:clamp(1.5rem,2.6vw,2.2rem); letter-spacing:-.04em; line-height:1; }
    .work-card p { max-width:290px; line-height:1.4; }

    /* ---------------- CARDS DE CASE ---------------- */
    .case-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem);
      margin-top:clamp(2.5rem,5vw,4rem); }
    .case-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--blue);
      text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
    .case-card:hover, .case-card:focus-visible { transform:translateY(-4px); box-shadow:0 14px 30px rgba(59,46,224,.18); }
    .case-card-media { position:relative; background:var(--ink); }
    .case-card-bar { height:6px; background:var(--case-grad); }
    .case-card-image { width:100%; aspect-ratio:16/10; object-fit:cover; }
    .case-card-slot { width:100%; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; padding:1.5rem;
      background:#1B1B47; border-bottom:1px dashed var(--lime); text-align:center; }
    .case-card-slot span { color:var(--lime); font-size:.66rem; font-weight:700; letter-spacing:.08em; line-height:1.5; }
    .case-card-company { position:absolute; left:1rem; bottom:1rem; background:var(--lime); color:var(--ink);
      padding:.4rem .7rem; border-radius:999px; font-size:.62rem; font-weight:700; letter-spacing:.08em; line-height:1; }
    .case-card-content { padding:1.5rem; display:flex; flex-direction:column; gap:.85rem; flex:1; }
    .case-card-title { color:var(--ink); font-size:clamp(1.5rem,2.2vw,2rem); line-height:.98; text-transform:uppercase; }
    .case-card-subtitle { color:var(--muted); font-size:.95rem; line-height:1.45; flex:1; }
    .case-card-cta { display:inline-flex; align-items:center; gap:.5rem; color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
    .case-card:hover .case-card-cta { gap:.85rem; }

    /* ---------------- OUTROS PROJETOS ---------------- */
    .more-head { margin-top:clamp(4rem,8vw,7rem); margin-bottom:1.5rem; }
    .more-title-sm { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:1.15rem; font-weight:700;
      letter-spacing:.06em; text-transform:uppercase; }
    .more-list { border-top:1px solid var(--blue); }
    .more-row a { display:grid; grid-template-columns:3rem minmax(0,1.5fr) minmax(0,1fr) 1.5rem; gap:1.5rem; align-items:center;
      padding:1.4rem 0; border-bottom:1px solid var(--blue); text-decoration:none; transition:padding .2s ease, background .2s ease; }
    .more-row a:hover, .more-row a:focus-visible { padding-left:.75rem; padding-right:.75rem; background:#EEEDFF; }
    .more-num { color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
    .more-name { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:clamp(1.15rem,2.2vw,1.7rem);
      letter-spacing:-.03em; line-height:1.05; text-transform:uppercase; }
    .more-company { color:var(--muted); font-size:.9rem; line-height:1.35; }
    .more-arrow { color:var(--blue); font-size:1.1rem; justify-self:end; }

    /* ---------------- ABERTURA DE CADA CASE ---------------- */
    .case-opener { color:#fff; padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,5rem); scroll-margin-top:var(--nav-h);
      background-image:linear-gradient(to bottom, rgba(18,18,51,0) 30%, rgba(18,18,51,.45) 100%), var(--case-grad); }
    .case-accent { height:6px; background:var(--case-grad); }
    .case-opener .display { color:#fff; }
    .case-number { display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; color:var(--lime); margin-bottom:1.25rem; }
    .case-opener-title { font-size:clamp(2.4rem,6.5vw,5.4rem); max-width:1100px; margin-top:1.25rem; }
    .case-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:clamp(2.5rem,5vw,4rem);
      border-top:1px solid rgba(255,255,255,.35); padding-top:2rem; }
    .case-meta dt { font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--lime); }
    .case-meta dd { margin-top:.6rem; font-size:1rem; line-height:1.4; color:#fff; }

    /* ---------------- IMAGENS ---------------- */
    .figure { margin-top:clamp(2.5rem,5vw,4rem); }
    .figure-slot { display:flex; align-items:center; justify-content:center; min-height:clamp(220px,32vw,420px); padding:2rem;
      background:#EEEDFF; border:1px dashed var(--blue); text-align:center; border-radius:var(--raio); }
    .figure-slot span { color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.08em; max-width:26rem; line-height:1.5; }
    .figure-slot img { width:100%; height:100%; object-fit:cover; }
    .figure-stacked { margin-top:1.5rem; }
    .figure-img { width:100%; height:auto; border:1px solid var(--line); background:#fff; border-radius:var(--raio); }
    /* o mockup de celular pede um raio maior, acompanhando o corpo do aparelho */
    .figure-img[data-template-id="login-primeiro-acesso-processo-3"],
    .figure-img[data-template-id="app-cvc-resultado-img"] { border-radius:24px; max-width:360px; margin-inline:auto; }
    /* mockup recortado: sem moldura, para o fundo escuro da secao aparecer atras */
    .figure-img[data-template-id="login-primeiro-acesso-resultado-img"] {
      background:transparent; border:0; border-radius:0; max-width:420px; margin-inline:auto; }
    .figure.on-dark .figure-img { border-color:#4A47A0; }
    .carousel { position:relative; min-width:0; }
    .carousel-track { display:grid; grid-auto-flow:column; grid-auto-columns:100%; overflow-x:auto;
      scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; }
    .carousel-track::-webkit-scrollbar { display:none; }
    .carousel-slide { scroll-snap-align:start; min-width:0; padding-right:1px; }
    .carousel-slide img { width:100%; height:auto; border:1px solid var(--line); background:#fff; border-radius:var(--raio); }
    /* no carrossel do Alfabeto, a imagem em pe do header acompanha a altura
       da dos filtros, em vez de esticar o slide inteiro */
    .carousel-slide img[data-template-id="gestao-de-cadastros-resultado-img-2"] {
      background:transparent; border:0; border-radius:0; }
    [data-template-id="alfabeto-resultado-img"] .carousel-slide img,
    [data-template-id="gestao-de-cadastros-processo-3"] .carousel-slide img,
    [data-template-id="gestao-de-cadastros-processo-4"] .carousel-slide img {
      width:auto; max-width:100%; max-height:clamp(320px,38vw,520px); margin-inline:auto; display:block; }
    .carousel-cap { margin-top:.85rem; font-size:.85rem; line-height:1.45; color:var(--muted); }
    .carousel-nav { display:flex; align-items:center; gap:.6rem; margin-top:1.25rem; }
    .carousel-btn { width:2.4rem; height:2.4rem; border:1px solid var(--blue); background:transparent;
      color:var(--blue); cursor:pointer; display:grid; place-items:center; font-size:1rem; line-height:1; }
    .carousel-btn:hover { background:#EEEDFF; }
    .carousel-dots { display:flex; gap:.45rem; margin-left:auto; }
    .carousel-dot { width:.55rem; height:.55rem; border-radius:999px; background:#C6C4E8; border:0; padding:0; cursor:pointer; }
    .carousel-dot[aria-current="true"] { background:var(--blue); }
    .figure figcaption { margin-top:.85rem; font-size:.85rem; line-height:1.45; color:var(--muted); }
    .figure.on-dark figcaption { color:#C9C8E8; }
    .figure.on-dark .figure-slot { background:rgba(255,255,255,.04); border-color:#6D68BC; }
    .figure.on-dark .figure-slot span { color:var(--lime); }

    /* ---------------- CARTOES DE SINTOMA / RESULTADO ---------------- */
    .card-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid var(--blue);
      border-top:1px solid var(--blue); margin-top:clamp(2.5rem,5vw,3.5rem); }
    .card-row article { padding:1.75rem; border-right:1px solid var(--blue); border-bottom:1px solid var(--blue); }
    .card-row h3 { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:1.2rem; font-weight:700; }
    .card-row p { margin-top:.6rem; font-size:.97rem; line-height:1.5; }

    /* ---------------- PROCESSO ---------------- */
    .process-block { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem);
      align-items:center; padding:clamp(2.5rem,5vw,4rem) 0; border-bottom:1px solid var(--line); }
    .process-block:last-of-type, .process-pair:last-of-type { border-bottom:0; padding-bottom:0; }
    .process-block.solo { grid-template-columns:1fr; }
    .process-pair { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem);
      padding:clamp(2.5rem,5vw,4rem) 0; border-bottom:1px solid var(--line); }
    .process-pair > .process-text:first-child { border-right:1px solid var(--line);
      padding-right:clamp(2rem,4vw,3.5rem); }
    .process-block .figure { margin-top:0; }
    .process-figures { display:grid; gap:clamp(1.5rem,3vw,2.5rem); min-width:0; }
    .process-figures .figure-stacked { margin-top:0; }
    .process-block.flip .process-text { order:2; }
    .process-step { color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
    .process-text h3 { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:clamp(1.5rem,2.8vw,2.3rem);
      letter-spacing:-.04em; line-height:1.02; margin-top:.9rem; text-transform:uppercase; }
    .process-copy { margin-top:1.1rem; font-size:1.02rem; line-height:1.6; }
    .process-copy + .process-copy { margin-top:.9rem; }

    /* ---------------- RESULTADO ---------------- */
    .result { background:var(--ink); color:#C9C8E8; }
    .result .display, .result h3 { color:#fff; }
    .result .card-row, .result .card-row article { border-color:#4A47A0; }
    .result .card-row p { color:#C9C8E8; }
    .quote { margin-top:clamp(3rem,6vw,5rem); border-left:3px solid var(--lime); padding-left:clamp(1.25rem,3vw,2.5rem); max-width:900px; }
    .quote p { font-family:"Space Grotesk",sans-serif; color:#fff; font-size:clamp(1.3rem,2.8vw,2.1rem); line-height:1.22; letter-spacing:-.03em; }
    .quote cite { display:block; margin-top:1.2rem; font-style:normal; color:var(--lime); font-size:.72rem; font-weight:700;
      letter-spacing:.08em; text-transform:uppercase; }

    /* ---------------- APRENDIZADOS ---------------- */
    .learnings { border-top:1px solid var(--blue); margin-top:clamp(2.5rem,5vw,3.5rem); }
    .learning { padding:1.9rem 0; border-bottom:1px solid var(--blue); display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:clamp(1.5rem,4vw,4rem); }
    .learning h3 { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-size:clamp(1.2rem,2.2vw,1.7rem);
      letter-spacing:-.03em; line-height:1.12; }
    .learning p { font-size:1.02rem; line-height:1.6; }

    /* ---------------- NAVEGACAO ENTRE CASES ---------------- */
    .case-jump { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap;
      margin-top:clamp(3rem,6vw,4.5rem); padding-top:2rem; border-top:1px solid var(--blue); }
    .case-jump a { text-decoration:none; }
    .case-jump-label { display:block; color:var(--blue); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
    .case-jump-name { display:block; margin-top:.5rem; font-family:"Space Grotesk",sans-serif; color:var(--ink);
      font-size:clamp(1.1rem,2.4vw,1.7rem); letter-spacing:-.03em; line-height:1.05; text-transform:uppercase; }
    .back-cases { color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

    footer { background:var(--ink); color:#fff; padding:clamp(2.5rem,4.5vw,4rem) clamp(1.25rem,5vw,5rem); }
    .footer-links { display:flex; flex-wrap:wrap; gap:1.2rem 2rem; }
    .footer-links a { color:var(--lime); font-size:clamp(1rem,2vw,1.4rem); font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; }
    .footer-name { font-family:"Space Grotesk",sans-serif; color:rgba(255,255,255,.55); font-size:.72rem;
      font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-top:clamp(1.6rem,3vw,2.4rem); }

    @media (max-width:980px) { .case-card-grid, .card-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media (max-width:720px) {
      .hero { min-height:auto; }
      .nav-brand { display:none; }
      .nav-links { gap:1.1rem; }
      .cases-submenu { position:fixed; top:var(--nav-h); left:1.25rem; right:1.25rem; width:auto; }
      .intro-grid, .work-grid, .case-card-grid, .card-row, .case-meta, .process-block, .learning { grid-template-columns:1fr; }
      .process-block.flip .process-text { order:0; }
      .process-pair { grid-template-columns:1fr; gap:2.5rem; }
      .process-pair > .process-text:first-child { border-right:0; padding-right:0;
        border-bottom:1px solid var(--line); padding-bottom:2.5rem; }
      .more-row a { grid-template-columns:2.5rem 1fr; gap:.5rem 1rem; }
      .more-company { grid-column:2; }
      .more-arrow { display:none; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

    /* ---- pagina de experiencia ---- */
    .exp-resumo { max-width:760px; }
    .exp-destaques { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
      gap:clamp(1.5rem,3vw,3rem); margin-top:clamp(2.5rem,5vw,4rem);
      padding-top:clamp(2rem,4vw,3rem); border-top:1px solid rgba(255,255,255,.3); }
    .exp-destaques dt { font-family:"Space Grotesk",sans-serif; color:var(--lime);
      font-size:clamp(1.4rem,3vw,2.2rem); letter-spacing:-.03em; }
    .exp-destaques dd { margin-top:.5rem; font-size:.98rem; line-height:1.45; color:#fff; }

    .comp-lista { border-top:1px solid var(--line); margin-top:clamp(2.5rem,5vw,3.5rem); }
    .comp-item { display:grid; grid-template-columns:minmax(0,15rem) minmax(0,1fr);
      gap:1rem clamp(2rem,4vw,3.5rem); padding:1.5rem 0; border-bottom:1px solid var(--line); }
    .comp-item dt { font-family:"Space Grotesk",sans-serif; color:var(--ink); font-weight:700;
      font-size:1.02rem; line-height:1.3; }
    .comp-item dd { margin:0; font-size:1rem; line-height:1.6; }

    .linha { border-top:1px solid var(--line); margin-top:clamp(2.5rem,5vw,3.5rem); }
    .exp-item { display:grid; grid-template-columns:minmax(0,13rem) minmax(0,1fr);
      gap:1rem clamp(2rem,4vw,3.5rem); padding:clamp(2.2rem,4vw,3.2rem) 0; border-bottom:1px solid var(--line); }
    .exp-periodo { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
      color:var(--blue); padding-top:.35rem; }
    .exp-cargo { font-family:"Space Grotesk",sans-serif; color:var(--ink); letter-spacing:-.03em;
      font-size:clamp(1.35rem,2.6vw,1.95rem); line-height:1.1; }
    .exp-empresa { margin-top:.5rem; font-size:1rem; font-weight:700; color:var(--muted); }
    .exp-fase { margin-top:1.6rem; font-size:.72rem; font-weight:700; letter-spacing:.07em;
      text-transform:uppercase; color:var(--ink); }
    .exp-bullets { margin-top:.9rem; display:grid; gap:.7rem; }
    .exp-bullets li { position:relative; padding-left:1.1rem; font-size:1rem; line-height:1.6; }
    .exp-bullets li::before { content:""; position:absolute; left:0; top:.62em;
      width:.38rem; height:.38rem; background:var(--lime); border:1px solid var(--ink); }
    .exp-cases { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
    .exp-cases a { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .8rem;
      border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink);
      font-size:.72rem; font-weight:700; letter-spacing:.04em; text-decoration:none;
      transition:background .15s ease, border-color .15s ease; }
    .exp-cases a:hover { background:var(--lime); border-color:var(--ink); }

    .exp-antigo { display:grid; grid-template-columns:minmax(0,13rem) minmax(0,1fr);
      gap:.6rem clamp(2rem,4vw,3.5rem); padding:1.4rem 0; border-bottom:1px solid var(--line); }
    .exp-antigo h3 { font-size:1.02rem; font-weight:700; color:var(--ink); }
    .cursos-lista { display:grid; gap:.85rem; }
    .cursos-lista li { display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .55rem; }
    .cursos-lista strong { font-size:1.02rem; color:var(--ink); }
    .cursos-lista span { font-size:.95rem; }
    .cursos-lista span::before { content:"· "; }
    /* na experiencia o rodape da secao tem so o link de voltar, entao pede menos respiro */
    .exp-voltar { margin-top:clamp(2.5rem,5vw,3.5rem); padding-top:clamp(1.8rem,3vw,2.4rem);
      border-top:1px solid var(--blue); }
    /* o seletor precisa descer um nivel: solto, ele alcancava tambem a data
       da coluna da esquerda e sobrescrevia o tamanho dela */
    .exp-antigo div p { margin-top:.4rem; font-size:.98rem; line-height:1.55; }

    @media (max-width:720px) {
      .exp-destaques, .comp-item, .exp-item, .exp-antigo { grid-template-columns:1fr; }
      .exp-periodo { padding-top:0; }
    }

    /* ---- so na versao em paginas separadas ---- */
    /* a pagina de case nao tem hero escuro atras do menu, entao o menu ja nasce solido */
    .pagina-case .site-nav { background:var(--ink); border-bottom-color:rgba(228,247,91,.35); }
    /* o case comeca logo abaixo do menu, sem o respiro que a home tem */
    .pagina-case .case-opener { padding-top:clamp(3.5rem,7vw,6rem); }

    /* item da pagina atual: o mesmo traco do hover, so que fixo */
    .nav-links > a[aria-current="page"],
    .nav-trigger[aria-current="page"] { border-bottom-color:var(--lime); }
    .cases-submenu a[aria-current="page"] { background:var(--lime); color:var(--ink); }
    .cases-submenu a[aria-current="page"] span.num { color:var(--ink); }

    /* com tres itens o menu cabe no celular; a marca sai so para folgar o espaco */
    @media (max-width:720px) {
      .nav-links { gap:1.05rem; }
      .nav-links > a, .nav-trigger { font-size:.68rem; }
    }
