:root {
    --green-900:#053a26; --green-800:#0a5734; --green-700:#0f6b41;
    --ink:#19211d; --muted:#697569; --muted-2:#9aa39a;
    --line:#e7eae2; --line-soft:#eef1ea;
    --cream:#f6f8ef; --bg:#fbfcfa; --white:#ffffff;
    --leaf:#88a442; --gold:#b28d2a; --water:#2ea3f2;
    --accent:#c2571a; --accent-soft:#fbeadd; --accent-ink:#8f3f12;
    --tex-active:var(--tex-scales);
    --tex-scales:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.7%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%200%20A20%2020%200%200%201%2040%200%20A20%2020%200%200%201%2080%200%22%2F%3E%3Cpath%20d%3D%22M-20%2020%20A20%2020%200%200%201%2020%2020%20A20%2020%200%200%201%2060%2020%20A20%2020%200%200%201%20100%2020%22%2F%3E%3Cpath%20d%3D%22M0%2040%20A20%2020%200%200%201%2040%2040%20A20%2020%200%200%201%2080%2040%22%2F%3E%3Cpath%20d%3D%22M-20%2060%20A20%2020%200%200%201%2020%2060%20A20%2020%200%200%201%2060%2060%20A20%2020%200%200%201%20100%2060%22%2F%3E%3Cpath%20d%3D%22M0%2080%20A20%2020%200%200%201%2040%2080%20A20%2020%200%200%201%2080%2080%22%2F%3E%3Cg%20stroke-width%3D%220.45%22%20opacity%3D%220.7%22%3E%3Cpath%20d%3D%22M20%209%20A11%2011%200%200%201%2020%2031%22%2F%3E%3Cpath%20d%3D%22M60%209%20A11%2011%200%200%201%2060%2031%22%2F%3E%3Cpath%20d%3D%22M0%2029%20A11%2011%200%200%201%200%2051%22%2F%3E%3Cpath%20d%3D%22M40%2029%20A11%2011%200%200%201%2040%2051%22%2F%3E%3Cpath%20d%3D%22M80%2029%20A11%2011%200%200%201%2080%2051%22%2F%3E%3Cpath%20d%3D%22M20%2049%20A11%2011%200%200%201%2020%2071%22%2F%3E%3Cpath%20d%3D%22M60%2049%20A11%2011%200%200%201%2060%2071%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --tex-scutes:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.7%22%20stroke-linejoin%3D%22round%22%3E%3Cg%3E%3Cpath%20d%3D%22M20%206%20C28%206%2034%207%2034%2014%20C34%2021%2028%2022%2020%2022%20C12%2022%206%2021%206%2014%20C6%207%2012%206%2020%206%20Z%22%2F%3E%3Cpath%20d%3D%22M60%206%20C68%206%2074%207%2074%2014%20C74%2021%2068%2022%2060%2022%20C52%2022%2046%2021%2046%2014%20C46%207%2052%206%2060%206%20Z%22%2F%3E%3Cpath%20d%3D%22M40%2026%20C48%2026%2054%2027%2054%2034%20C54%2041%2048%2042%2040%2042%20C32%2042%2026%2041%2026%2034%20C26%2027%2032%2026%2040%2026%20Z%22%2F%3E%3Cpath%20d%3D%22M0%2026%20C8%2026%2014%2027%2014%2034%20C14%2041%208%2042%200%2042%20C-8%2042%20-14%2041%20-14%2034%20C-14%2027%20-8%2026%200%2026%20Z%22%2F%3E%3Cpath%20d%3D%22M80%2026%20C88%2026%2094%2027%2094%2034%20C94%2041%2088%2042%2080%2042%20C72%2042%2066%2041%2066%2034%20C66%2027%2072%2026%2080%2026%20Z%22%2F%3E%3Cpath%20d%3D%22M20%2046%20C28%2046%2034%2047%2034%2054%20C34%2061%2028%2062%2020%2062%20C12%2062%206%2061%206%2054%20C6%2047%2012%2046%2020%2046%20Z%22%2F%3E%3Cpath%20d%3D%22M60%2046%20C68%2046%2074%2047%2074%2054%20C74%2061%2068%2062%2060%2062%20C52%2062%2046%2061%2046%2054%20C46%2047%2052%2046%2060%2046%20Z%22%2F%3E%3Cpath%20d%3D%22M40%2066%20C48%2066%2054%2067%2054%2074%20C54%2081%2048%2082%2040%2082%20C32%2082%2026%2081%2026%2074%20C26%2067%2032%2066%2040%2066%20Z%22%2F%3E%3Cpath%20d%3D%22M0%2066%20C8%2066%2014%2067%2014%2074%20C14%2081%208%2082%200%2082%20C-8%2082%20-14%2081%20-14%2074%20C-14%2067%20-8%2066%200%2066%20Z%22%2F%3E%3Cpath%20d%3D%22M80%2066%20C88%2066%2094%2067%2094%2074%20C94%2081%2088%2082%2080%2082%20C72%2082%2066%2081%2066%2074%20C66%2067%2072%2066%2080%2066%20Z%22%2F%3E%3Cpath%20d%3D%22M40%20-14%20C48%20-14%2054%20-13%2054%20-6%20C54%201%2048%202%2040%202%20C32%202%2026%201%2026%20-6%20C26%20-13%2032%20-14%2040%20-14%20Z%22%2F%3E%3Cpath%20d%3D%22M0%20-14%20C8%20-14%2014%20-13%2014%20-6%20C14%201%208%202%200%202%20C-8%202%20-14%201%20-14%20-6%20C-14%20-13%20-8%20-14%200%20-14%20Z%22%2F%3E%3Cpath%20d%3D%22M80%20-14%20C88%20-14%2094%20-13%2094%20-6%20C94%201%2088%202%2080%202%20C72%202%2066%201%2066%20-6%20C66%20-13%2072%20-14%2080%20-14%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%220.4%22%20opacity%3D%220.5%22%3E%3Cpath%20d%3D%22M20%2011%20L20%2017%20M60%2011%20L60%2017%20M40%2031%20L40%2037%20M0%2031%20L0%2037%20M80%2031%20L80%2037%20M20%2051%20L20%2057%20M60%2051%20L60%2057%20M40%2071%20L40%2077%20M0%2071%20L0%2077%20M80%2071%20L80%2077%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --tex-woodgrain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.6%22%20stroke-linecap%3D%22round%22%3E%3Cg%3E%3Cpath%20d%3D%22M0%200%20C18%2014%2018%2026%200%2040%20C18%2054%2018%2066%200%2080%22%2F%3E%3Cpath%20d%3D%22M10%200%20C26%2014%2026%2026%2010%2040%20C26%2054%2026%2066%2010%2080%22%2F%3E%3Cpath%20d%3D%22M22%200%20C36%2013%2036%2027%2022%2040%20C36%2053%2036%2067%2022%2080%22%2F%3E%3Cpath%20d%3D%22M34%200%20C46%2014%2046%2026%2034%2040%20C46%2054%2046%2066%2034%2080%22%2F%3E%3Cpath%20d%3D%22M48%200%20C58%2013%2058%2027%2048%2040%20C58%2053%2058%2067%2048%2080%22%2F%3E%3Cpath%20d%3D%22M62%200%20C70%2014%2070%2026%2062%2040%20C70%2054%2070%2066%2062%2080%22%2F%3E%3Cpath%20d%3D%22M76%200%20C82%2012%2082%2028%2076%2040%20C82%2052%2082%2068%2076%2080%22%2F%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%220.4%22%20opacity%3D%220.55%22%3E%3Cpath%20d%3D%22M4%200%20C20%2014%2020%2026%204%2040%20C20%2054%2020%2066%204%2080%22%2F%3E%3Cpath%20d%3D%22M40%200%20C52%2013%2052%2027%2040%2040%20C52%2053%2052%2067%2040%2080%22%2F%3E%3Cpath%20d%3D%22M69%200%20C76%2014%2076%2026%2069%2040%20C76%2054%2076%2066%2069%2080%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --tex-water:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.6%22%20stroke-linecap%3D%22round%22%3E%3Cg%3E%3Cpath%20d%3D%22M0%208%20C20%208%2020%2024%2040%2024%20C60%2024%2060%208%2080%208%22%2F%3E%3Cpath%20d%3D%22M0%2020%20C20%2020%2020%2036%2040%2036%20C60%2036%2060%2020%2080%2020%22%2F%3E%3Cpath%20d%3D%22M0%2032%20C20%2032%2020%2048%2040%2048%20C60%2048%2060%2032%2080%2032%22%2F%3E%3Cpath%20d%3D%22M0%2044%20C20%2044%2020%2060%2040%2060%20C60%2060%2060%2044%2080%2044%22%2F%3E%3Cpath%20d%3D%22M0%2056%20C20%2056%2020%2072%2040%2072%20C60%2072%2060%2056%2080%2056%22%2F%3E%3Cpath%20d%3D%22M0%2068%20C20%2068%2020%2084%2040%2084%20C60%2084%2060%2068%2080%2068%22%2F%3E%3Cpath%20d%3D%22M0%20-4%20C20%20-4%2020%2012%2040%2012%20C60%2012%2060%20-4%2080%20-4%22%2F%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%220.4%22%20opacity%3D%220.5%22%3E%3Cpath%20d%3D%22M0%2014%20C20%2014%2020%2030%2040%2030%20C60%2030%2060%2014%2080%2014%22%2F%3E%3Cpath%20d%3D%22M0%2038%20C20%2038%2020%2054%2040%2054%20C60%2054%2060%2038%2080%2038%22%2F%3E%3Cpath%20d%3D%22M0%2062%20C20%2062%2020%2078%2040%2078%20C60%2078%2060%2062%2080%2062%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --tex-leaf:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.55%22%20stroke-linecap%3D%22round%22%3E%3Cg%3E%3Cpath%20d%3D%22M40%20-4%20L40%2084%22%20stroke-width%3D%220.7%22%2F%3E%3Cpath%20d%3D%22M40%204%20C32%207%2026%2013%2023%2023%20M40%204%20C48%207%2054%2013%2057%2023%22%2F%3E%3Cpath%20d%3D%22M40%2018%20C31%2021%2024%2029%2020%2041%20M40%2018%20C49%2021%2056%2029%2060%2041%22%2F%3E%3Cpath%20d%3D%22M40%2034%20C30%2037%2022%2046%2018%2059%20M40%2034%20C50%2037%2058%2046%2062%2059%22%2F%3E%3Cpath%20d%3D%22M40%2050%20C31%2053%2025%2061%2022%2073%20M40%2050%20C49%2053%2055%2061%2058%2073%22%2F%3E%3Cpath%20d%3D%22M40%2066%20C33%2069%2029%2074%2026%2082%20M40%2066%20C47%2069%2051%2074%2054%2082%22%2F%3E%3C%2Fg%3E%3Cg%20opacity%3D%220.6%22%3E%3Cpath%20d%3D%22M0%204%20C8%207%2014%2013%2017%2023%20M0%204%20C-8%207%20-14%2013%20-17%2023%22%2F%3E%3Cpath%20d%3D%22M0%2034%20C10%2037%2018%2046%2022%2059%20M0%2034%20C-10%2037%20-18%2046%20-22%2059%22%2F%3E%3Cpath%20d%3D%22M0%2066%20C7%2069%2011%2074%2014%2082%20M0%2066%20C-7%2069%20-11%2074%20-14%2082%22%2F%3E%3Cpath%20d%3D%22M80%204%20C72%207%2066%2013%2063%2023%20M80%204%20C88%207%2094%2013%2097%2023%22%2F%3E%3Cpath%20d%3D%22M80%2034%20C70%2037%2062%2046%2058%2059%20M80%2034%20C90%2037%2098%2046%20102%2059%22%2F%3E%3Cpath%20d%3D%22M80%2066%20C73%2069%2069%2074%2066%2082%20M80%2066%20C87%2069%2091%2074%2094%2082%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --tex-seeds:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%220.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%3E%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%224%22%20transform%3D%22rotate%28-25%2020%2020%29%22%2F%3E%3Cpath%20d%3D%22M16.5%2022.5%20L23.5%2017.5%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%224%22%20transform%3D%22rotate%28-25%2060%2020%29%22%2F%3E%3Cpath%20d%3D%22M56.5%2022.5%20L63.5%2017.5%22%2F%3E%3Cellipse%20cx%3D%2220%22%20cy%3D%2260%22%20rx%3D%226%22%20ry%3D%224%22%20transform%3D%22rotate%28-25%2020%2060%29%22%2F%3E%3Cpath%20d%3D%22M16.5%2062.5%20L23.5%2057.5%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2260%22%20rx%3D%226%22%20ry%3D%224%22%20transform%3D%22rotate%28-25%2060%2060%29%22%2F%3E%3Cpath%20d%3D%22M56.5%2062.5%20L63.5%2057.5%22%2F%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%220.5%22%20opacity%3D%220.6%22%3E%3Cpath%20d%3D%22M40%2035.5c1.2%201.6%202%202.9%202%203.9a2%202%200%200%201-4%200c0-1%20.8-2.3%202-3.9Z%22%2F%3E%3Cpath%20d%3D%22M40%20-4.5c1.2%201.6%202%202.9%202%203.9a2%202%200%200%201-4%200c0-1%20.8-2.3%202-3.9Z%22%2F%3E%3Cpath%20d%3D%22M40%2075.5c1.2%201.6%202%202.9%202%203.9a2%202%200%200%201-4%200c0-1%20.8-2.3%202-3.9Z%22%2F%3E%3Cpath%20d%3D%22M0%2035.5c1.2%201.6%202%202.9%202%203.9a2%202%200%200%201-4%200c0-1%20.8-2.3%202-3.9Z%22%2F%3E%3Cpath%20d%3D%22M80%2035.5c1.2%201.6%202%202.9%202%203.9a2%202%200%200%201-4%200c0-1%20.8-2.3%202-3.9Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --radius:18px; --radius-sm:11px;
    --shadow-xs:0 1px 2px rgba(16,40,28,.05);
    --shadow:0 1px 2px rgba(16,40,28,.04), 0 10px 34px rgba(16,40,28,.07);
    --shadow-lg:0 2px 6px rgba(16,40,28,.05), 0 22px 60px rgba(16,40,28,.11);
    --maxw:1480px;   /* largura do painel: preenche bem o notebook (1024–1440) com folga só proporcional acima; valor fixo em px → não altera o mobile (sempre abaixo do cap) */
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    margin:0; background:var(--bg); color:var(--ink);
    font-family:"DM Sans", system-ui, sans-serif; font-size:16px; line-height:1.55;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  h1,h2,h3,h4 { font-family:"Plus Jakarta Sans", system-ui, sans-serif; line-height:1.13; margin:0; letter-spacing:-.018em; }
  a { color:inherit; }
  .mono { font-family:"JetBrains Mono", ui-monospace, monospace; }
  svg { display:block; }

  /* ---------- TOPO ---------- */
  .topbar {
    position:sticky; top:0; z-index:50; background:rgba(251,252,250,.86);
    backdrop-filter:saturate(150%) blur(12px); -webkit-backdrop-filter:saturate(150%) blur(12px);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner { max-width:var(--maxw); margin:0 auto; padding:0 24px; }
  .brand-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0 11px; }
  .brand { display:flex; align-items:center; gap:14px; min-width:0; }
  .brand-mark { display:flex; align-items:center; gap:9px; font-family:"Plus Jakarta Sans"; font-weight:800; font-size:18px; color:var(--green-900); letter-spacing:-.02em; white-space:nowrap; }
  .brand-dot { width:9px; height:9px; border-radius:50%; background:var(--leaf); box-shadow:0 0 0 4px rgba(136,164,66,.18); }
  .brand-sep { width:1px; height:22px; background:var(--line); }
  .brand-sub { font-size:12.5px; color:var(--muted); line-height:1.25; }
  .brand-sub b { color:var(--green-800); font-weight:600; }
  .brand-badge { font-family:"JetBrains Mono"; font-size:11px; color:var(--gold); border:1px solid rgba(178,141,42,.35); background:rgba(178,141,42,.07); padding:4px 9px; border-radius:999px; white-space:nowrap; }

  /* abas de cadeia */
  .chain-tabs { display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; }
  .chain-tabs::-webkit-scrollbar { display:none; }
  .chain-tab {
    appearance:none; border:0; background:transparent; cursor:pointer;
    font-family:"Plus Jakarta Sans"; font-weight:700; font-size:14.5px; color:var(--muted);
    padding:11px 15px 14px; display:flex; align-items:center; gap:9px; white-space:nowrap;
    border-bottom:2.5px solid transparent; transition:color .2s var(--ease), border-color .2s var(--ease);
    position:relative;
  }
  .chain-tab .ico { width:21px; height:21px; flex:none; opacity:.6; transition:opacity .2s, transform .2s var(--ease); }
  .chain-tab .ico svg { width:21px; height:21px; }
  .chain-tab .tdot { width:7px; height:7px; border-radius:50%; flex:none; }
  .chain-tab .tdot.done { background:var(--leaf); }
  .chain-tab .tdot.today { background:var(--gold); box-shadow:0 0 0 3px rgba(178,141,42,.18); }
  .chain-tab .tdot.todo { background:var(--muted-2); opacity:.5; }
  .chain-tab:hover { color:var(--ink); }
  .chain-tab:hover .ico { opacity:.9; }
  .chain-tab[aria-selected="true"] { color:var(--accent-ink); border-bottom-color:var(--accent); }
  .chain-tab[aria-selected="true"] .ico { opacity:1; color:var(--accent); transform:translateY(-1px); }

  /* ---------- HERO ---------- */
  .hero { background:linear-gradient(140deg, var(--green-900), var(--green-700) 92%); color:#eaf3ec; position:relative; overflow:hidden; }
  .hero-tex { position:absolute; inset:0; pointer-events:none; background-color:#ffffff; opacity:.06;
    -webkit-mask:var(--tex-active) repeat; mask:var(--tex-active) repeat; -webkit-mask-size:78px; mask-size:78px; }
  .hero::after {
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
    background:
      radial-gradient(680px 300px at 90% -45%, color-mix(in srgb, var(--accent) 60%, transparent), transparent 70%),
      radial-gradient(520px 280px at -5% 125%, rgba(136,164,66,.42), transparent 70%);
  }
  .hero-wave { position:absolute; left:0; right:0; bottom:-1px; width:100%; height:46px; display:block; z-index:3; }
  .hero-inner { max-width:var(--maxw); margin:0 auto; padding:30px 24px 58px; position:relative; z-index:2; }
  .hero-kicker { font-family:"JetBrains Mono"; font-size:12px; letter-spacing:.04em; color:#bfe0c8; text-transform:uppercase; margin-bottom:14px; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
  .hero-kicker .pill { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); padding:3px 9px; border-radius:999px; color:#eaf3ec; }
  .hero-top { display:flex; gap:30px; align-items:flex-start; flex-wrap:wrap; }
  .hero-main { flex:1 1 440px; min-width:0; }
  .hero h1 { font-size:clamp(28px, 4.3vw, 45px); font-weight:800; color:#fff; display:flex; align-items:center; gap:18px; }
  .hero-ico { width:64px; height:64px; flex:none; display:grid; place-items:center; color:#fff;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:19px;
    box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--accent) 38%, transparent); }
  .hero-ico svg { width:34px; height:34px; }
  .hero-h-txt { min-width:0; }
  .hero-sci { display:block; font-style:italic; font-weight:400; font-size:.42em; color:#bfe0c8; font-family:"DM Sans"; margin-top:4px; letter-spacing:0; }
  .hero-lead { margin-top:15px; max-width:680px; font-size:clamp(15px,1.6vw,17.5px); color:#dcebe0; }
  .hero-meta { margin-top:20px; display:flex; gap:9px; flex-wrap:wrap; }
  .hero-chip { display:flex; align-items:center; gap:9px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); padding:8px 13px; border-radius:11px; font-size:13px; color:#eaf3ec; }
  .hero-chip b { color:#fff; font-weight:700; }
  .hero-chip .dot { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%, transparent); }

  /* painel de andamento no hero */
  .andamento { flex:0 1 340px; min-width:270px; align-self:stretch;
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
    border-radius:16px; padding:16px 18px; backdrop-filter:blur(2px); }
  .andamento-top { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:13px; }
  .andamento-label { font-family:"JetBrains Mono"; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#bfe0c8; }
  .andamento-step { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:13px; color:#fff; }
  .phasebar { display:flex; gap:5px; margin-bottom:13px; }
  .seg { flex:1; height:7px; border-radius:999px; background:rgba(255,255,255,.16); position:relative; overflow:hidden; }
  .seg.done { background:var(--leaf); }
  .seg.current { background:var(--accent); }
  .seg.current::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); animation:sheen 2.2s var(--ease) infinite; }
  @keyframes sheen { 0%{transform:translateX(-100%)} 60%,100%{transform:translateX(100%)} }
  .andamento-status { font-size:12.5px; color:#d3e6d8; line-height:1.4; display:flex; gap:8px; }
  .andamento-status .si { flex:none; margin-top:1px; }
  .andamento-foot { margin-top:13px; padding-top:12px; border-top:1px solid rgba(255,255,255,.14); display:flex; gap:8px; flex-wrap:wrap; }
  .mini-chain { display:flex; align-items:center; gap:6px; font-size:11.5px; color:#cfe3d5; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:4px 8px; border-radius:8px; cursor:pointer; transition:.16s; }
  .mini-chain:hover { background:rgba(255,255,255,.14); }
  .mini-chain.active { border-color:rgba(255,255,255,.5); color:#fff; }
  .mini-chain .md { width:7px; height:7px; border-radius:50%; }
  .md.done{background:var(--leaf)} .md.today{background:var(--gold)} .md.todo{background:var(--muted-2)}

  /* ---------- LAYOUT ---------- */
  .layout { max-width:var(--maxw); margin:0 auto; padding:28px 24px 64px; display:grid; grid-template-columns:296px 1fr; gap:34px; align-items:start; }

  .rail { position:sticky; top:104px; }
  .rail-title { font-family:"JetBrains Mono"; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); margin:2px 0 14px 6px; }
  .stepper { list-style:none; margin:0; padding:0; position:relative; }
  .stepper::before { content:""; position:absolute; left:21px; top:16px; bottom:30px; width:2px; background:var(--line); }
  .step { position:relative; padding:0 0 5px 0; }
  .step-btn { width:100%; text-align:left; appearance:none; cursor:pointer; background:transparent; border:0; display:flex; gap:13px; align-items:flex-start; padding:10px 12px; border-radius:13px; transition:background .16s; }
  .step-btn:hover { background:var(--cream); }
  .step-node { flex:none; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-family:"JetBrains Mono"; font-size:13px; font-weight:500; background:var(--white); border:2px solid var(--line); color:var(--muted); z-index:2; transition:.2s var(--ease); }
  .step-node svg { width:15px; height:15px; }
  .step-body { padding-top:3px; min-width:0; }
  .step-name { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:14.5px; color:var(--ink); }
  .step-meta { font-size:12px; color:var(--muted); margin-top:2px; }
  .step-tag { display:inline-block; margin-top:6px; font-family:"JetBrains Mono"; font-size:10.5px; padding:2px 8px; border-radius:999px; }
  .tag-done { background:#e2efe6; color:#1f7a4d; }
  .tag-current { background:var(--accent-soft); color:var(--accent-ink); }
  .tag-next { background:#e9f4ec; color:#2f6f4e; }
  .tag-upcoming { background:#f1f2ee; color:var(--muted); }
  .step.done .step-node { background:var(--leaf); border-color:var(--leaf); color:#fff; }
  .step.current .step-node { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 0 0 5px var(--accent-soft); }
  .step.current .step-btn { background:var(--accent-soft); }
  .step.current .step-name { color:var(--accent-ink); }

  /* conteúdo */
  .content { min-width:0; }
  .content.fade { animation:fadeUp .42s var(--ease) both; }
  @keyframes fadeUp { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }
  .phase-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:6px; }
  .phase-eyebrow { font-family:"JetBrains Mono"; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--accent-ink); }
  .phase-title { font-size:clamp(22px,3vw,30px); font-weight:800; margin-top:6px; color:var(--green-900); }
  .phase-when { font-family:"JetBrains Mono"; font-size:12.5px; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:7px 13px; white-space:nowrap; background:var(--white); }
  .phase-intro { color:#39433c; font-size:16.5px; margin:14px 0 24px; max-width:740px; }

  .section-label { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:13px; letter-spacing:.02em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:10px; margin:30px 0 14px; }
  .section-label::before { content:""; width:18px; height:2px; background:var(--accent); border-radius:2px; }

  /* card de resumo da coleta */
  .recap { position:relative; overflow:hidden; background:linear-gradient(180deg, var(--accent-soft), var(--white) 78%);
    border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px 22px; margin-bottom:6px; }
  .recap-tex { position:absolute; right:-20px; top:-20px; width:200px; height:200px; opacity:.10; pointer-events:none;
    background-color:var(--accent); -webkit-mask:var(--tex-active) repeat; mask:var(--tex-active) repeat; -webkit-mask-size:64px; mask-size:64px; }
  .recap-h { display:flex; align-items:center; gap:11px; margin-bottom:6px; position:relative; }
  .recap-badge { font-family:"JetBrains Mono"; font-size:11px; font-weight:500; color:#fff; background:var(--leaf); padding:4px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; }
  .recap-badge svg { width:12px; height:12px; }
  .recap h3 { font-size:17px; color:var(--green-900); position:relative; }
  .recap-sub { font-size:13.5px; color:#46514a; margin:2px 0 14px; position:relative; max-width:640px; }
  .recap-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px 18px; position:relative; }
  .recap-item { display:flex; gap:10px; font-size:14px; color:#36403a; padding:5px 0; align-items:flex-start; }
  .recap-item .ri { flex:none; width:18px; height:18px; margin-top:1px; border-radius:50%; background:var(--accent-soft); color:var(--accent-ink); display:grid; place-items:center; }
  .recap-item .ri svg { width:11px; height:11px; }
  .recap-foot { margin-top:16px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; position:relative; }
  .btn-doc { display:inline-flex; align-items:center; gap:8px; background:var(--green-900); color:#fff; font-family:"Plus Jakarta Sans"; font-weight:700; font-size:13.5px; text-decoration:none; padding:10px 16px; border-radius:11px; transition:.16s var(--ease); }
  .btn-doc:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
  .btn-doc svg { width:15px; height:15px; }
  .recap-hint { font-size:12.5px; color:var(--muted); }

  /* lista "já realizado" (read-only, marcada) */
  .donelist { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
  .doneitem { display:flex; gap:12px; align-items:flex-start; padding:11px 14px; background:var(--white); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-xs); }
  .doneitem .dbox { flex:none; width:21px; height:21px; border-radius:6px; background:var(--leaf); display:grid; place-items:center; color:#fff; margin-top:1px; }
  .doneitem .dbox svg { width:13px; height:13px; }
  .doneitem .dtx { font-size:14px; color:#3a443d; }

  /* grid de blocos */
  .blocks { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
  .block { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:17px 19px 19px; box-shadow:var(--shadow); position:relative; overflow:hidden; transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
  .block:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
  .block::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3.5px; background:var(--accent); opacity:.9; }
  .block-h { display:flex; align-items:center; gap:11px; margin-bottom:11px; }
  .block-n { font-family:"JetBrains Mono"; font-size:12px; color:var(--accent-ink); background:var(--accent-soft); width:26px; height:26px; border-radius:8px; display:grid; place-items:center; flex:none; }
  .block-t { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:15px; color:var(--ink); }
  .block ul { margin:0; padding:0; list-style:none; }
  .block li { position:relative; padding:7px 0 7px 19px; font-size:13.8px; color:#3a443d; border-top:1px solid var(--line-soft); }
  .block li:first-child { border-top:0; }
  .block li::before { content:""; position:absolute; left:2px; top:14px; width:6px; height:6px; border-radius:50%; background:var(--accent); }

  /* checklist interativo */
  .checklist-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
  .checklist-top { padding:18px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
  .checklist-top h3 { font-size:16.5px; color:var(--green-900); }
  .checklist-top p { margin:3px 0 0; font-size:13px; color:var(--muted); }
  .progress-wrap { min-width:170px; flex:1; max-width:280px; }
  .progress-meta { display:flex; justify-content:space-between; font-family:"JetBrains Mono"; font-size:11.5px; color:var(--muted); margin-bottom:5px; }
  .progress-meta b { color:var(--accent-ink); }
  .progress-bar { height:8px; background:var(--line-soft); border-radius:999px; overflow:hidden; }
  .progress-fill { height:100%; width:0; background:linear-gradient(90deg, var(--leaf), var(--accent)); border-radius:999px; transition:width .4s var(--ease); }
  .check-list { list-style:none; margin:0; padding:6px 8px; }
  .check-item { display:flex; gap:13px; align-items:flex-start; padding:11px 12px; border-radius:10px; cursor:pointer; transition:background .14s; }
  .check-item:hover { background:var(--cream); }
  .check-item input { position:absolute; opacity:0; width:0; height:0; }
  .check-box { flex:none; width:22px; height:22px; border-radius:7px; border:2px solid var(--line); background:var(--white); display:grid; place-items:center; margin-top:1px; transition:.16s var(--ease); color:#fff; }
  .check-box svg { width:13px; height:13px; opacity:0; transform:scale(.5); transition:.16s var(--ease); }
  .check-item input:checked + .check-box { background:var(--accent); border-color:var(--accent); }
  .check-item input:checked + .check-box svg { opacity:1; transform:scale(1); }
  .check-text { font-size:14.5px; color:#36403a; padding-top:1px; }
  .check-item input:checked ~ .check-text { color:var(--muted-2); text-decoration:line-through; text-decoration-color:var(--line); }
  .check-foot { padding:13px 20px; border-top:1px solid var(--line); display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .check-foot .hint { font-size:12.5px; color:var(--muted); }
  .btn-ghost { appearance:none; border:1px solid var(--line); background:var(--white); color:var(--muted); font-family:"DM Sans"; font-size:12.5px; padding:7px 12px; border-radius:9px; cursor:pointer; transition:.14s; }
  .btn-ghost:hover { border-color:var(--accent); color:var(--accent-ink); }

  /* tabela entregáveis */
  .tablewrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); background:var(--white); }
  table.deliv { width:100%; border-collapse:collapse; min-width:560px; }
  table.deliv th { text-align:left; font-family:"Plus Jakarta Sans"; font-weight:700; font-size:12px; letter-spacing:.03em; text-transform:uppercase; color:#dff0e4; background:var(--green-900); padding:12px 16px; }
  table.deliv td { padding:13px 16px; font-size:14px; color:#39433c; border-top:1px solid var(--line); vertical-align:top; }
  table.deliv tr:nth-child(even) td { background:#fafcf7; }
  table.deliv td:first-child { font-weight:600; color:var(--ink); }

  /* cronograma */
  .timeline { list-style:none; margin:0; padding:0; }
  .tl-item { display:grid; grid-template-columns:120px 1fr auto; gap:16px; align-items:center; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--white); margin-bottom:8px; box-shadow:var(--shadow-xs); }
  .tl-when { font-family:"JetBrains Mono"; font-size:12.5px; color:var(--accent-ink); font-weight:500; }
  .tl-desc { font-size:14.5px; color:#36403a; }
  .tl-status { font-family:"JetBrains Mono"; font-size:11px; padding:4px 9px; border-radius:999px; white-space:nowrap; }
  .st-exec { background:var(--accent-soft); color:var(--accent-ink); }
  .st-plan { background:#e9f4ec; color:#2f6f4e; }
  .st-pend { background:#f1f2ee; color:var(--muted); }
  .st-done { background:#e2efe6; color:#1f7a4d; }

  .note { display:flex; gap:13px; background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:12px; padding:15px 18px; margin-top:10px; }
  .note .ni { font-size:20px; line-height:1; flex:none; }
  .note p { margin:0; font-size:14.5px; color:#3c463f; }
  .note b { color:var(--green-900); }

  .next-row { display:flex; justify-content:space-between; gap:12px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line); }
  .next-btn { appearance:none; border:1px solid var(--line); background:var(--white); border-radius:12px; padding:12px 16px; cursor:pointer; font-family:"DM Sans"; text-align:left; transition:.18s var(--ease); color:var(--ink); max-width:48%; }
  .next-btn:hover { border-color:var(--accent); box-shadow:var(--shadow); transform:translateY(-1px); }
  .next-btn span { display:block; font-family:"JetBrains Mono"; font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
  .next-btn b { font-family:"Plus Jakarta Sans"; font-size:14.5px; color:var(--accent-ink); }
  .next-btn.right { text-align:right; margin-left:auto; }
  .next-btn[disabled] { opacity:.4; cursor:default; }

  footer { border-top:1px solid var(--line); background:var(--white); position:relative; overflow:hidden; }
  .foot-tex { position:absolute; inset:0; opacity:.04; background-color:var(--green-900); -webkit-mask:var(--tex-water) repeat; mask:var(--tex-water) repeat; -webkit-mask-size:90px; mask-size:90px; pointer-events:none; }
  .foot-inner { max-width:var(--maxw); margin:0 auto; padding:26px 24px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center; position:relative; }
  .foot-brand { font-family:"Plus Jakarta Sans"; font-weight:800; color:var(--green-900); }
  .foot-links { display:flex; gap:18px; flex-wrap:wrap; font-size:13px; }
  .foot-links a { color:var(--muted); text-decoration:none; border-bottom:1px solid transparent; }
  .foot-links a:hover { color:var(--accent-ink); border-bottom-color:var(--accent); }
  .foot-note { font-family:"JetBrains Mono"; font-size:11px; color:var(--muted-2); }

  /* ---------- CALCULADORA DE PREÇO JUSTO ---------- */
  .brand-actions { display:flex; align-items:center; gap:12px; }
  .calc-open { appearance:none; cursor:pointer; display:inline-flex; align-items:center; gap:9px;
    font-family:"Plus Jakarta Sans"; font-weight:700; font-size:13.5px; color:#fff;
    background:linear-gradient(135deg,var(--green-800),var(--green-700)); border:0;
    padding:9px 15px; border-radius:11px; box-shadow:var(--shadow-xs); transition:.18s var(--ease); white-space:nowrap; }
  .calc-open:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
  .calc-open.is-active { background:var(--accent); }
  .calc-open .ci { width:18px; height:18px; flex:none; }
  .calc-open .ci svg { width:18px; height:18px; }
  /* modo calculadora: padronizado à largura do painel (--maxw); só esconde a trilha lateral */
  body.calc-mode .rail { display:none; }
  body.calc-mode .layout { grid-template-columns:minmax(0,1fr); }
  body.calc-mode #andamento { display:none; }
  body.calc-mode .hero-lead { font-size:clamp(18px,2vw,22px); max-width:860px; }

  .calc-wrap { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(22px,3.2vw,44px); align-items:start; }
  .calc-out { position:sticky; top:108px; min-width:0; }
  .calc-col { min-width:0; }
  .calc-card { background:var(--white); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); padding:26px 30px; margin-bottom:22px; }
  .calc-card > h3 { font-size:23px; color:var(--green-900); display:flex; align-items:center; gap:14px; margin-bottom:5px; letter-spacing:-.01em; }
  .calc-card > h3 .cn { font-family:"JetBrains Mono"; font-size:17px; color:#fff; background:var(--accent); width:36px; height:36px; border-radius:10px; display:grid; place-items:center; flex:none; }
  .calc-card .ch-sub { font-size:16.5px; color:var(--muted); margin:0 0 22px 50px; line-height:1.45; }

  .fgrid { display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
  .field { display:flex; flex-direction:column; gap:9px; min-width:0; }
  .field.full { grid-column:1 / -1; }
  .field > label { font-size:18.5px; font-weight:700; color:var(--ink); font-family:"Plus Jakarta Sans"; line-height:1.25; }
  .field .hint-s { font-size:14px; color:var(--muted); font-weight:400; display:block; margin-top:3px; }
  .field input, .field select { font-family:"DM Sans"; font-size:21px; color:var(--ink); background:var(--bg);
    border:1.5px solid var(--line); border-radius:13px; padding:14px 16px; width:100%; transition:.14s; }
  .field input:focus, .field select:focus { outline:none; border-color:var(--accent); background:var(--white); box-shadow:0 0 0 4px var(--accent-soft); }
  .field .ig { position:relative; display:flex; align-items:center; }
  .field .ig .pre { position:absolute; left:16px; font-size:19px; font-weight:600; color:var(--muted-2); pointer-events:none; }
  .field .ig input { padding-left:42px; }

  .presets { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:8px; }
  .preset { appearance:none; cursor:pointer; border:1.5px solid var(--line); background:var(--white); color:var(--muted);
    font-family:"JetBrains Mono"; font-size:15px; padding:8px 15px; border-radius:999px; transition:.14s; }
  .preset:hover { border-color:var(--accent); color:var(--accent-ink); }
  .preset.on { background:var(--accent-soft); border-color:var(--accent); color:var(--accent-ink); font-weight:500; }

  .prod-hint { margin-top:20px; background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:13px; padding:16px 18px; display:grid; gap:9px; }
  .prod-hint:empty { display:none; }
  .prod-hint div { font-size:16px; color:#3c463f; line-height:1.5; }
  .prod-hint b { color:var(--green-900); font-family:"Plus Jakarta Sans"; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; margin-right:6px; }

  .degraus { display:grid; gap:13px; }
  .degrau { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:center; padding:18px 22px; border:1.5px solid var(--line); border-radius:16px; background:var(--white); box-shadow:var(--shadow-xs); position:relative; overflow:hidden; }
  .degrau::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--dg); }
  .degrau .dg-i { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:color-mix(in srgb,var(--dg) 14%,#fff); color:var(--dg); font-family:"JetBrains Mono"; font-weight:500; font-size:19px; flex:none; }
  .degrau .dg-name { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:20px; color:var(--ink); display:block; }
  .degrau .dg-def { font-size:15px; color:var(--muted); margin-top:2px; display:block; }
  .degrau .dg-val { font-family:"JetBrains Mono"; font-weight:500; font-size:28px; color:var(--dg); white-space:nowrap; text-align:right; }
  .degrau .dg-val .u { font-size:15px; color:var(--muted); }
  .degrau.reco { border-color:var(--dg); box-shadow:0 0 0 2px var(--dg) inset, var(--shadow); padding-top:26px; }
  .degrau .reco-tag { position:absolute; top:8px; right:18px; font-family:"JetBrains Mono"; font-size:11px; letter-spacing:.06em; color:var(--dg); }

  .veredito { margin-top:20px; border-radius:16px; padding:22px 24px; border:1.5px solid var(--nv-b); background:var(--nv-bg); }
  .veredito .vt { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .veredito .vbadge { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:16px; color:#fff; background:var(--nv); padding:5px 15px; border-radius:999px; }
  .veredito .vtxt { font-size:19px; color:#2c352e; margin:13px 0 0; line-height:1.5; }
  .veredito .vmeta { font-size:15.5px; color:var(--muted); margin-top:14px; display:flex; gap:24px; flex-wrap:wrap; }
  .veredito .vmeta b { color:var(--nv); font-family:"JetBrains Mono"; }

  .breakdown { margin-top:20px; font-size:16.5px; }
  .breakdown table { width:100%; border-collapse:collapse; }
  .breakdown td { padding:9px 0; border-top:1px solid var(--line-soft); color:#46514a; }
  .breakdown td:last-child { text-align:right; font-family:"JetBrains Mono"; color:var(--ink); }
  .breakdown tr.tot td { border-top:2px solid var(--line); font-weight:700; font-size:18px; color:var(--green-900); }

  .calc-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:24px; }
  .btn-save { appearance:none; cursor:pointer; display:inline-flex; align-items:center; gap:10px; border:0;
    background:var(--green-900); color:#fff; font-family:"Plus Jakarta Sans"; font-weight:700; font-size:18px;
    padding:16px 26px; border-radius:14px; transition:.16s var(--ease); }
  .btn-save:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
  .btn-save:disabled { opacity:.6; cursor:default; transform:none; }
  .btn-save svg { width:19px; height:19px; }
  .save-msg { font-size:15.5px; color:var(--muted); }
  .save-msg.ok { color:#1f7a4d; } .save-msg.err { color:#a52a1d; }
  .calc-empty { color:var(--muted); font-size:19px; text-align:center; padding:54px 18px; line-height:1.6; }

  /* ícones, herói do resultado e destaque "você hoje" */
  .field > label { display:flex; gap:11px; align-items:flex-start; }
  .lic { flex:none; color:var(--accent); margin-top:1px; }
  .lic svg { width:23px; height:23px; }
  .ltxt { display:flex; flex-direction:column; gap:2px; min-width:0; }
  .calc-card > h3 .cn svg { width:21px; height:21px; }
  .calc-card.opt { background:var(--cream); }
  .calc-card.opt > h3 { font-size:18px; }
  .opt-tag { font-family:"JetBrains Mono"; font-size:12px; font-weight:400; color:var(--muted); background:var(--white); border:1px solid var(--line); padding:3px 10px; border-radius:999px; margin-left:auto; }
  .dg-i svg { width:23px; height:23px; }
  .degrau.here { box-shadow:0 0 0 2px var(--hl) inset, var(--shadow); }
  .here-tag { position:absolute; top:7px; right:16px; font-family:"JetBrains Mono"; font-size:10.5px; letter-spacing:.04em; color:var(--hl); background:color-mix(in srgb,var(--hl) 13%,#fff); padding:2px 9px; border-radius:999px; }
  .reshero { display:flex; align-items:center; gap:18px; padding:18px 20px; margin-bottom:18px; border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,#2e7d57 13%,#fff),var(--white)); border:1.5px solid color-mix(in srgb,#2e7d57 32%,#fff); }
  .reshero .rh-ic { flex:none; width:56px; height:56px; border-radius:15px; display:grid; place-items:center; background:#2e7d57; color:#fff; }
  .reshero .rh-ic svg { width:31px; height:31px; }
  .rh-tx { min-width:0; }
  .rh-label { display:block; font-family:"Plus Jakarta Sans"; font-weight:700; font-size:15px; color:#1f5b3f; }
  .rh-val { display:block; font-family:"Plus Jakarta Sans"; font-weight:800; font-size:clamp(34px,5vw,52px); color:#2e7d57; line-height:1.05; letter-spacing:-.02em; }
  .rh-val .u { font-family:"DM Sans"; font-weight:500; font-size:17px; color:var(--muted); margin-left:7px; }
  .res-mini { font-family:"Plus Jakarta Sans"; font-weight:700; font-size:13px; letter-spacing:.02em; text-transform:uppercase; color:var(--muted); margin:20px 0 12px; }

  /* +10% nas letras do levantamento — só em telas >= 721px (mobile permanece como estava) */
  @media (min-width: 721px) {
    .calc-card > h3 { font-size:25px; }
    .calc-card .ch-sub { font-size:18px; }
    .field > label { font-size:20.5px; }
    .field .hint-s { font-size:15.5px; }
    .field input, .field select { font-size:23px; }
    .field .ig .pre { font-size:21px; }
    .preset { font-size:16.5px; }
    .prod-hint div { font-size:17.5px; }
    .prod-hint b { font-size:14px; }
    .degrau .dg-name { font-size:22px; }
    .degrau .dg-def { font-size:16.5px; }
    .degrau .dg-val { font-size:31px; }
    .degrau .dg-val .u { font-size:16.5px; }
    .degrau .reco-tag { font-size:12px; }
    .here-tag { font-size:11.5px; }
    .veredito .vbadge { font-size:17.5px; }
    .veredito .vtxt { font-size:21px; }
    .veredito .vmeta { font-size:17px; }
    .breakdown { font-size:18px; }
    .breakdown tr.tot td { font-size:20px; }
    .btn-save { font-size:20px; }
    .save-msg { font-size:17px; }
    .calc-empty { font-size:21px; }
    .reshero .rh-label { font-size:16.5px; }
    .reshero .rh-val { font-size:clamp(37px,5.5vw,57px); }
    .rh-val .u { font-size:19px; }
    .res-mini { font-size:14.5px; }
  }

  @media (max-width: 1024px) {
    .calc-wrap { grid-template-columns:minmax(0,1fr); }
    .calc-out { position:static; }
  }
  @media (max-width: 720px) {
    .fgrid { grid-template-columns:1fr; }
    .calc-card { padding:22px 20px; }
    .calc-card > h3 { font-size:21px; }
  }

  /* ---------- RESPONSIVO ---------- */
  @media (max-width: 980px) {
    .andamento { flex-basis:100%; }
  }
  @media (max-width: 920px) {
    .layout { grid-template-columns:minmax(0,1fr); gap:18px; padding-top:20px; }
    .layout > * { min-width:0; }
    .rail { position:static; top:auto; min-width:0; }
    .stepper { display:flex; gap:8px; overflow-x:auto; min-width:0; padding:4px 2px 10px; scrollbar-width:none; }
    .stepper::-webkit-scrollbar { display:none; }
    .stepper::before { display:none; }
    .step { flex:0 0 auto; padding:0; }
    .step-btn { flex-direction:column; align-items:flex-start; gap:8px; min-width:150px; border:1px solid var(--line); background:var(--white); }
    .step.current .step-btn { border-color:var(--accent); }
    .blocks { grid-template-columns:1fr; }
    .recap-grid { grid-template-columns:1fr; }
    .brand-sub { display:none; }
  }
  @media (max-width: 560px) {
    .topbar-inner, .hero-inner, .layout, .foot-inner { padding-left:16px; padding-right:16px; }
    .brand-mark { font-size:16px; }
    .brand-badge { display:none; }
    .calc-open .lbl { display:none; }
    .calc-open { padding:9px 11px; }
    .hero h1 { gap:13px; }
    .hero-ico { width:52px; height:52px; } .hero-ico svg { width:28px; height:28px; }
    .tl-item { grid-template-columns:1fr auto; }
    .tl-when { grid-column:1 / -1; }
    .next-btn { max-width:none; flex:1; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  }
