/*
 * Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa — www.dantetesta.com.br
 */
      @font-face {
        font-family: "Zalando Sans";
        src: url("../fonts/body/ZalandoSans-Regular.woff2") format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Zalando Sans";
        src: url("../fonts/body/ZalandoSans-Bold.woff2") format("woff2");
        font-weight: 700;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Space Grotesk";
        src: url("../fonts/display/SpaceGrotesk-Light.woff2")
          format("woff2");
        font-weight: 300;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Space Grotesk";
        src: url("../fonts/display/SpaceGrotesk-Regular.woff2")
          format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Space Grotesk";
        src: url("../fonts/display/SpaceGrotesk-Bold.woff2") format("woff2");
        font-weight: 700;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Quantico";
        src: url("../fonts/accent/Quantico-Regular.woff2") format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Quantico";
        src: url("../fonts/accent/Quantico-Bold.woff2") format("woff2");
        font-weight: 700;
        font-style: normal;
        font-display: swap;
      }
      :root {
        --paper: #fff;
        --ink: #1d1c21;
        --lime: #dfff45;
        --lilac: #a99af8;
        --gold: #ffd76b;
        --line: rgba(29, 28, 33, 0.3);
        --muted: #64646c;
        --description: rgba(29, 28, 33, 0.64);
        --description-on-dark: rgba(237, 235, 250, 0.52);
        --radius: 15px;
        --wide: 1560px;
        --font-body: "Zalando Sans", Arial, sans-serif;
        --font-display: "Space Grotesk", Arial, sans-serif;
        --font-accent: "Quantico", Arial, sans-serif;
        --section-space: 100px;
      }
      * {
        box-sizing: border-box;
      }
      ::selection {
        background-color: #e4f263;
        color: #1d1c21;
      }
      ::-moz-selection {
        background-color: #e4f263;
        color: #1d1c21;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: var(--font-body);
        font-size: 16px;
        line-height: 1.45;
        overflow-x: clip;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      button,
      input,
      textarea {
        font: inherit;
      }
      button {
        cursor: pointer;
      }
      .wrap {
        width: min(calc(100% - 32px), var(--wide));
        margin-inline: auto;
      }
      .eyebrow {
        position: relative;
        display: inline-flex;
        gap: 7px;
        align-items: center;
        padding: 4px 10px 4px 4px;
        border: 1px solid var(--ink);
        border-radius: 99px;
        font-family: var(--font-accent);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.07em;
        text-transform: uppercase;
      }
      .eyebrow::before {
        content: "";
        flex: 0 0 30px;
        width: 30px;
        height: 19px;
        border-radius: 999px;
        background: var(--ink);
      }
      .eyebrow::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 13px;
        width: 11px;
        height: 11px;
        background: #fff;
        -webkit-mask: center / contain no-repeat
          url("../icons/risian-icon.svg");
        mask: center / contain no-repeat url("../icons/risian-icon.svg");
        transform: translateY(-50%);
        pointer-events: none;
      }
      .section-title {
        margin: 0;
        text-align: center;
        font-family: var(--font-display);
        font-size: clamp(38px, 3.85vw, 60px);
        letter-spacing: -0.035em;
        line-height: 1.06;
        font-weight: 500;
      }
      .section-title strong {
        font-weight: 800;
      }
      .section-copy {
        max-width: 570px;
        margin: 0 auto;
        text-align: center;
        color: var(--description);
        font-size: 18px;
        line-height: 1.5;
      }
      .pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 46px;
        padding: 0 14px;
        border: 1px solid var(--ink);
        border-radius: 999px;
        font-size: 14px;
        font-weight: 800;
        transition:
          transform 0.2s,
          background 0.2s,
          color 0.2s;
      }
      .pill:hover {
        transform: translateY(-2px);
      }
      .pill-dark {
        background: var(--ink);
        color: #fff;
      }
      .form-submit {
        margin-top: 12px;
      }
      .pill-light {
        background: transparent;
      }
      .arrow {
        display: block;
        width: 16px;
        height: 16px;
        font-size: 0;
        line-height: 0;
        color: inherit;
      }
      .pill .arrow {
        width: 16px;
        height: 16px;
        background-color: currentColor;
        -webkit-mask: url("../icons/arrow1-icon-btns.svg") center / contain no-repeat;
        mask: url("../icons/arrow1-icon-btns.svg") center / contain no-repeat;
        transition: transform 0.22s ease;
      }
      .pill-dark .arrow {
        filter: none;
      }
      .pill:hover .arrow,
      .pill:focus-visible .arrow {
        transform: translateX(3px);
      }
      :focus-visible {
        outline: 3px solid #735fe5;
        outline-offset: 3px;
      }

      .screen-reader-text {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }
      .screen-reader-text:focus {
        position: fixed;
        top: 12px;
        left: 12px;
        z-index: 10000;
        width: auto;
        height: auto;
        padding: 12px;
        margin: 0;
        clip: auto;
        background: var(--paper);
        color: var(--ink);
      }

      .hero {
        padding: 0;
        position: relative;
        z-index: 100;
        isolation: isolate;
      }
      .hero-surface {
        --hero-grid-x: 50%;
        --hero-grid-y: 50%;
        position: relative;
        overflow: hidden;
        min-height: 890px;
        padding: 0;
        border-radius: 0 0 46px 46px;
        box-shadow: 0 24px 48px rgba(29, 28, 33, 0.16);
        background:
          radial-gradient(circle at 91% 8%, #eeffc0 0, transparent 27%),
          radial-gradient(circle at 8% 91%, #eeeaff 0, transparent 28%),
          radial-gradient(
            circle at 91% 92%,
            rgba(255, 236, 189, 0.62) 0,
            transparent 38%
          ),
          #fdfcf9;
      }
      .hero-surface::before,
      .hero-surface::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        border-radius: inherit;
        pointer-events: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M45 0V90M0 45H90' fill='none' stroke='%231d1c21' stroke-opacity='.10' stroke-width='1'/%3E%3Crect x='42.5' y='42.5' width='5' height='5' rx='1' fill='%231d1c21' fill-opacity='.16'/%3E%3C/svg%3E");
        background-size: 90px 90px;
      }
      .hero-surface::before {
        opacity: 0.3;
      }
      .hero-surface::after {
        opacity: 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M0 0V90M15 0V90M30 0V90M60 0V90M75 0V90M0 0H90M0 15H90M0 30H90M0 60H90M0 75H90' fill='none' stroke='%231d1c21' stroke-opacity='.08' stroke-width='.65'/%3E%3Cpath d='M45 0V90M0 45H90' fill='none' stroke='%231d1c21' stroke-opacity='.145' stroke-width='1'/%3E%3Crect x='42.5' y='42.5' width='5' height='5' rx='1' fill='%231d1c21' fill-opacity='.22'/%3E%3C/svg%3E");
        -webkit-mask-image: radial-gradient(
          circle 260px at var(--hero-grid-x) var(--hero-grid-y),
          #000 0,
          rgba(0, 0, 0, 0.82) 38%,
          transparent 76%
        );
        mask-image: radial-gradient(
          circle 260px at var(--hero-grid-x) var(--hero-grid-y),
          #000 0,
          rgba(0, 0, 0, 0.82) 38%,
          transparent 76%
        );
        transition: opacity 0.42s ease;
      }
      .hero-surface.is-grid-active::after {
        opacity: 0.68;
      }
      .nav {
        height: 90px;
        width: 100%;
        border-bottom: 1px solid var(--line);
        background: transparent;
        transition:
          background 0.28s ease,
          box-shadow 0.28s ease,
          transform 0.28s ease;
        z-index: 120;
      }
      .nav-inner {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 24px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 4px;
        font-weight: 800;
        font-size: 18px;
        letter-spacing: -0.1em;
      }
      .brand img {
        display: block;
        width: auto;
        height: 31px;
      }
      .brand-mark {
        font-size: 21px;
        line-height: 0;
        transform: rotate(45deg);
      }
      .nav-links {
        display: flex;
        align-items: center;
        margin-left: auto;
        margin-right: clamp(36px, 4vw, 74px);
        gap: clamp(18px, 2vw, 38px);
        font-size: 16px;
        font-weight: 700;
      }
      .nav-links a {
        transition: opacity 0.2s;
      }
      .nav-links a:hover {
        opacity: 0.55;
      }
      .nav.is-sticky {
        position: fixed;
        top: 12px;
        left: 50%;
        width: min(calc(100% - 32px), var(--wide));
        height: 76px;
        transform: translateX(-50%) translateY(0);
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 99px;
        background: rgba(255, 255, 255, 0.68);
        box-shadow: 0 12px 35px rgba(29, 28, 33, 0.12);
        backdrop-filter: blur(16px) saturate(125%);
        z-index: 9999;
        animation: sticky-menu-in 0.36s linear both;
      }
      .nav.is-sticky .nav-inner {
        width: 100%;
        padding: 0 24px;
      }
      /* O mesmo menu atende todas as páginas. Nas páginas com hero ele flutua
         sobre o fundo; após rolar, a variação fixa assume sem duplicação. */
      .nav--overlay:not(.is-sticky) {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 120;
      }
      .error-page { background: var(--paper); }
      .error-page__hero { position: relative; display: grid; min-height: min(720px, 100svh); overflow: hidden; border-radius: 0 0 60px 60px; background: radial-gradient(circle at 8% 88%, rgba(169, 154, 248, .33) 0, transparent 30%), radial-gradient(circle at 92% 10%, rgba(223, 255, 69, .46) 0, transparent 26%), #fdfcf9; }
      .error-page__hero::before { content: ""; position: absolute; inset: 0; opacity: .42; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M45 0V90M0 45H90' fill='none' stroke='%231d1c21' stroke-opacity='.10' stroke-width='1'/%3E%3Crect x='42.5' y='42.5' width='5' height='5' rx='1' fill='%231d1c21' fill-opacity='.16'/%3E%3C/svg%3E"); background-size: 90px 90px; }
      .error-page__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 610px) minmax(300px, 420px); align-items: center; justify-content: center; width: min(100%, 1180px); gap: clamp(28px, 3vw, 48px); margin-inline: auto; padding-top: 138px; padding-bottom: 66px; }
      .error-page__content { max-width: 610px; }
      .error-page__content .eyebrow { margin: 0 0 22px; }
      .error-page__content h1 { max-width: 650px; margin: 0; font-family: var(--font-display); font-size: clamp(48px, 5vw, 82px); font-weight: 700; letter-spacing: -.065em; line-height: .94; }
      .error-page__content > p { max-width: 570px; margin: 26px 0 0; color: var(--description); font-size: 18px; line-height: 1.55; }
      .error-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 32px; }
      .error-page__projects-link { display: inline-flex; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid currentColor; font-weight: 700; }
      .error-page__projects-link:hover, .error-page__projects-link:focus-visible { color: #596d00; }
      .error-page__projects-link span { font-size: 21px; line-height: 1; transition: transform .2s ease; }
      .error-page__projects-link:hover span, .error-page__projects-link:focus-visible span { transform: translateX(4px); }
      .error-page__art { position: relative; display: grid; min-height: 390px; place-items: center; overflow: visible; }
      .error-page__illustration { display: block; width: min(118%, 470px); max-width: none; height: auto; filter: drop-shadow(0 20px 28px rgba(29, 28, 33, .10)); }
      @media (min-width: 769px) and (max-width: 1100px) {
        .error-page__grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; }
      }
      @keyframes sticky-menu-in {
        from {
          opacity: 0;
          transform: translateX(-50%) translateY(-18px);
        }
        to {
          opacity: 1;
          transform: translateX(-50%) translateY(0);
        }
      }
      .menu-toggle {
        display: none;
        border: 0;
        background: transparent;
        font-size: 24px;
      }
      .menu-overlay,
      .mobile-drawer {
        display: none;
      }
      .hero-content {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: minmax(0, 870px) minmax(0, 1fr);
        align-items: center;
        justify-content: center;
        gap: 20px;
        min-height: 800px;
        padding: 144px clamp(3px, 3vw, 45px) 80px;
      }
      .hero-copy {
        width: 100%;
        max-width: 870px;
      }
      .hero-eyebrow {
        margin-bottom: 20px;
      }
      .hero h1 {
        max-width: 820px;
        margin: 0 0 24px;
        font-family: var(--font-display);
        font-size: clamp(50px, 4.8vw, 78px);
        font-weight: 500;
        line-height: 0.98;
        letter-spacing: -0.04em;
      }
      .hero h1 strong {
        font-weight: 800;
      }
      .hero h1 em {
        font-style: normal;
        white-space: nowrap;
      }
      .bubble {
        display: inline-grid;
        place-items: center;
        width: 65px;
        height: 39px;
        margin: 0 4px;
        vertical-align: 10px;
        border-radius: 40% 45% 42% 45%;
        background: var(--lilac);
        font-size: 20px;
        letter-spacing: 0;
      }
      .hero-text {
        max-width: 480px;
        color: var(--description);
        font-size: 18px;
        line-height: 1.5;
      }
      .hero-actions {
        display: flex;
        gap: 8px;
        margin-top: 24px;
      }
      .sketch {
        width: 630px;
        min-width: 630px;
        height: 420px;
        justify-self: end;
      }
      .hero-illustration-stage {
        position: relative;
        width: 630px;
        height: 420px;
        transform-origin: top left;
      }
      .hero-illustration-main,
      .hero-float {
        display: block;
        user-select: none;
        -webkit-user-drag: none;
      }
      .hero-illustration-main {
        position: relative;
        z-index: 1;
        width: 630px;
        height: 420px;
      }
      .hero-float {
        position: absolute;
        z-index: 2;
        will-change: transform;
        filter: drop-shadow(0 10px 18px rgba(29, 28, 33, 0.08));
        transition: filter 0.3s ease;
      }
      .hero-float-1 {
        top: 10px;
        left: 62px;
        width: 205px;
        height: 115px;
        animation: hero-float-a 5.4s ease-in-out infinite;
      }
      .hero-float-2 {
        top: 126px;
        right: 0;
        width: 166px;
        height: 115px;
        animation: hero-float-b 6.1s ease-in-out -1.2s infinite;
      }
      .hero-float-3 {
        top: 144px;
        left: 84px;
        width: 130px;
        height: 95px;
        animation: hero-float-c 5.8s ease-in-out -2.1s infinite;
      }
      .hero-float:hover {
        filter: drop-shadow(0 14px 22px rgba(29, 28, 33, 0.13));
        animation-duration: 2.4s;
      }
      .hero-float-1:hover {
        animation-name: hero-float-a-hover;
      }
      .hero-float-2:hover {
        animation-name: hero-float-b-hover;
      }
      .hero-float-3:hover {
        animation-name: hero-float-c-hover;
      }
      @keyframes hero-float-a {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(4px, -8px, 0);
        }
        50% {
          transform: translate3d(-2px, 3px, 0);
        }
        75% {
          transform: translate3d(-5px, -4px, 0);
        }
      }
      @keyframes hero-float-b {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(-4px, -7px, 0);
        }
        50% {
          transform: translate3d(3px, 3px, 0);
        }
        75% {
          transform: translate3d(5px, -4px, 0);
        }
      }
      @keyframes hero-float-c {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(3px, -6px, 0);
        }
        50% {
          transform: translate3d(-3px, 3px, 0);
        }
        75% {
          transform: translate3d(-5px, -3px, 0);
        }
      }
      @keyframes hero-float-a-hover {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(8px, -14px, 0);
        }
        50% {
          transform: translate3d(-4px, 6px, 0);
        }
        75% {
          transform: translate3d(-9px, -7px, 0);
        }
      }
      @keyframes hero-float-b-hover {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(-8px, -13px, 0);
        }
        50% {
          transform: translate3d(6px, 6px, 0);
        }
        75% {
          transform: translate3d(9px, -7px, 0);
        }
      }
      @keyframes hero-float-c-hover {
        0%,
        100% {
          transform: translate3d(0, 0, 0);
        }
        25% {
          transform: translate3d(7px, -12px, 0);
        }
        50% {
          transform: translate3d(-6px, 6px, 0);
        }
        75% {
          transform: translate3d(-9px, -6px, 0);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .hero-float {
          animation: none;
        }
      }

      section {
            }
      .seo-niche-page .page-section {
        padding: 80px 0;
      }
      .seo-niche-page .page-section:first-of-type {
        padding-top: 0;
      }
      .seo-niche-page .center {
        gap: 16px;
        margin-bottom: 48px;
      }
      .services {
        position: relative;
        z-index: 1;
        margin-top: 0;
        padding: var(--section-space) 0;
        background: #fff;
      }
      .center {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-bottom: 70px;
        text-align: center;
      }
      .service-list {
        display: grid;
        grid-auto-rows: 1fr;
        gap: 18px;
      }
      .service {
        --service-bg: #f2ffa4;
        --service-accent: #a4aa31;
        --service-icon-bg: #fdffcc;
        --service-benefit-bg: #fefff0;
        --service-cta-color: #f2ffa4;
        --service-heading-accent: #6d7118;
        --service-icon: url("../icons/web-cria-site.svg");
        display: grid;
        grid-template-columns: minmax(470px, 1.1fr) minmax(370px, 0.95fr) 220px;
        gap: 28px;
        align-items: center;
        width: 100%;
        height: 405px;
        padding: 32px 65px;
        border-radius: var(--radius);
        background: var(--service-bg);
        color: #1d1c21;
        overflow: hidden;
        box-shadow: 0 8px 22px rgba(29, 28, 33, 0.08);
        transition:
          transform 0.36s cubic-bezier(0.16, 1, 0.3, 1),
          box-shadow 0.36s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .service::after {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        z-index: 4;
        height: 26px;
        pointer-events: none;
        background: linear-gradient(
          to bottom,
          rgba(29, 28, 33, 0.2),
          rgba(29, 28, 33, 0.07) 8px,
          transparent 26px
        );
        opacity: 0;
        transition: opacity 0.24s ease;
      }
      .service--creation {
        --service-bg: #f2ffa4;
        --service-accent: #a4aa31;
        --service-icon-bg: #fdffcc;
        --service-benefit-bg: #fefff0;
        --service-cta-color: #f2ffa4;
        --service-heading-accent: #6d7118;
        --service-icon: url("../icons/web-cria-site.svg");
      }
      .service--maintenance {
        --service-bg: #ffe7b3;
        --service-accent: #a0760d;
        --service-icon-bg: #ffecbd;
        --service-benefit-bg: #fff6e1;
        --service-cta-color: #ffe7b3;
        --service-heading-accent: #795905;
        --service-icon: url("../icons/config-manuten-site.svg");
      }
      .service--seo {
        --service-bg: #cec7ff;
        --service-accent: #403972;
        --service-icon-bg: #dad7ff;
        --service-benefit-bg: #f0eeff;
        --service-cta-color: #cec7ff;
        --service-heading-accent: #403972;
        --service-icon: url("../icons/seo-site.svg");
      }
      @media (hover: hover) and (pointer: fine) {
        .service:hover,
        .service:focus-within {
          transform: translateY(-3px);
          box-shadow:
            0 16px 34px rgba(29, 28, 33, 0.11),
            inset 0 0 0 1px
              color-mix(in srgb, var(--service-accent) 42%, transparent);
        }
        .service:active {
          transform: translateY(-1px);
          box-shadow:
            0 10px 24px rgba(29, 28, 33, 0.09),
            inset 0 0 0 1px
              color-mix(in srgb, var(--service-accent) 32%, transparent);
        }
      }
      .service-copy,
      .service-benefits,
      .service-art {
        min-width: 0;
      }
      .service-icon {
        width: 50px;
        height: 50px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: var(--service-icon-bg);
        color: var(--service-accent);
      }
      .service-icon::before {
        content: "";
        display: block;
        width: 28px;
        height: 28px;
        background: currentColor;
        -webkit-mask: var(--service-icon) center / contain no-repeat;
        mask: var(--service-icon) center / contain no-repeat;
      }
      .service-icon img {
        display: none;
      }
      .service h3 {
        margin: 12px 0 10px;
        font-family: var(--font-display);
        font-size: 54px;
        letter-spacing: -0.035em;
        line-height: 0.98;
        color: #1d1c21;
      }
      .service h3 span {
        font-weight: 500;
      }
      .service-copy > p {
        max-width: 430px;
        margin: 0 0 14px;
        color: var(--description);
        font-size: 14px;
        line-height: 1.4;
      }
      .benefits-title {
        margin: 0 0 8px;
        padding: 0;
        background: transparent;
        font-size: 18px;
        font-weight: 700;
        color: var(--service-heading-accent);
      }
      .benefit {
        display: flex;
        gap: 10px;
        align-items: center;
        height: 75px;
        margin-top: 9px;
        padding: 8px 12px;
        border: 1px solid var(--service-accent);
        border-radius: 10px;
        background: var(--service-benefit-bg);
      }
      .benefit b {
        display: block;
        color: #1d1c21;
        font-size: 18px;
        line-height: 1.2;
      }
      .benefit small {
        display: block;
        margin-top: 2px;
        color: var(--description);
        font-size: 14px;
        line-height: 1.3;
      }
      .check {
        display: grid;
        place-items: center;
        flex: none;
        width: 22px;
        height: 22px;
        background: var(--service-accent);
        -webkit-mask: url("../icons/check-in-risian.svg") center / contain
          no-repeat;
        mask: url("../icons/check-in-risian.svg") center / contain no-repeat;
        color: transparent;
        font-size: 0;
      }
      .service-art {
        display: flex;
        min-height: 311px;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
      }
      .service-illustration {
        display: block;
        width: min(100%, 230px);
        height: 220px;
        object-fit: contain;
      }
      .service-art .quote {
        margin-top: 8px;
        color: var(--service-cta-color);
      }
      .service-art .quote .arrow {
        color: var(--service-cta-color);
        background: var(--service-cta-color);
        -webkit-mask: url("../icons/arrow1-icon-btns.svg") center / contain
          no-repeat;
        mask: url("../icons/arrow1-icon-btns.svg") center / contain
          no-repeat;
        filter: none;
      }
      @media (min-width: 1360px) {
        .service-benefits {
          transform: translateX(-50px);
        }
        .service-art .quote {
          width: calc(100% + 50px);
          margin-left: -50px;
        }
      }
      @media (min-width: 1201px) {
        .service-list {
          position: relative;
        }
        .service {
          position: sticky;
          top: calc(104px + (var(--service-stack-index, 0) * 14px));
          align-self: start;
        }
        .service:nth-child(1) {
          --service-stack-index: 0;
          z-index: 1;
        }
        .service:nth-child(2) {
          --service-stack-index: 1;
          z-index: 2;
        }
        .service:nth-child(3) {
          --service-stack-index: 2;
          z-index: 3;
        }
        .service.is-overlapping::after {
          opacity: 1;
        }
      }
      .projects {
        padding: var(--section-space) 0;
        background:
          radial-gradient(circle at 9% 8%, #eeffc0 0, transparent 27%),
          radial-gradient(circle at 92% 91%, #eeeaff 0, transparent 28%),
          radial-gradient(
            circle at 9% 92%,
            rgba(255, 236, 189, 0.62) 0,
            transparent 38%
          ),
          #fdfcf9;
        border-radius: 30px;
      }
      .project-grid {
        display: grid;
        gap: 34px;
      }
      .project {
        position: relative;
        min-height: 0;
        border-radius: 14px;
        overflow: hidden;
        --project-bg: var(--lilac);
        --project-accent: var(--lilac);
      }
      .tone-lilac {
        --project-bg: var(--lilac);
        --project-accent: var(--lilac);
      }
      .tone-lime {
        --project-bg: var(--lime);
        --project-accent: var(--lime);
      }
      .project-stack--right .project:first-child {
        --project-bg: var(--gold);
        --project-accent: var(--gold);
      }
      .project-stack--right .project:last-child {
        --project-bg: var(--lime);
        --project-accent: var(--lime);
      }
      .project-stack--left .project:first-child {
        --project-bg: var(--lilac);
        --project-accent: var(--lilac);
      }
      .project-stack--left .project:last-child {
        --project-bg: var(--gold);
        --project-accent: var(--gold);
      }
      .project-row {
        display: grid;
        height: 638px;
        column-gap: 39px;
      }
      .project-row--primary {
        grid-template-columns: minmax(0, 1024fr) minmax(0, 497fr);
      }
      .project-row--inverse {
        grid-template-columns: minmax(0, 497fr) minmax(0, 1024fr);
      }
      .project-grid--live.project-grid--count-1 .project-row--primary {
        grid-template-columns: minmax(0, 1fr);
      }
      .project-grid--live.project-grid--count-2 .project-stack {
        grid-template-rows: minmax(0, 1fr);
      }
      .project-row--remainder {
        height: auto;
        min-height: 360px;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
        gap: 22px;
      }
      .project-row--remainder .project {
        min-height: 360px;
      }
      .project-stack {
        display: grid;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 22px;
      }
      .project-panel {
        --project-panel-inline: 28px;
        position: absolute;
        right: 14px;
        bottom: 14px;
        left: 14px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        z-index: 2;
        height: 90px;
        padding: 20px var(--project-panel-inline);
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 12px;
        overflow: hidden;
        background: rgba(29, 28, 33, 0.72);
        color: #fff;
        text-align: left;
        backdrop-filter: blur(12px) saturate(125%);
        transition:
          height 0.4s cubic-bezier(0.22, 0.7, 0.2, 1),
          background 0.25s ease,
          border-color 0.25s ease;
      }
      .project-image-link {
        position: absolute;
        z-index: 1;
        inset: 0;
      }
      .project-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 32px;
        color: #fff;
        font-family: var(--font-display);
        font-size: 22px;
        font-weight: 700;
        letter-spacing: -0.025em;
        opacity: 1;
        visibility: visible;
      }
      .project-link {
        color: inherit;
        text-decoration: none;
      }
      .project-summary.project-link:focus-visible,
      .project-title.project-link:focus-visible,
      .project-image-link:focus-visible {
        outline: 3px solid var(--project-accent);
        outline-offset: 3px;
      }
      .project-icon {
        display: block;
        width: 24px;
        height: 24px;
        flex: none;
        color: inherit;
        background-color: currentColor;
        -webkit-mask-image: url("../icons/tit-port2-icon-risian.svg");
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        -webkit-mask-size: contain;
        mask-image: url("../icons/tit-port2-icon-risian.svg");
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        transition:
          color 0.25s ease,
          transform 0.25s ease;
      }
      .project-icon img {
        display: none;
      }
      .project-details {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        transition:
          grid-template-rows 0.32s ease,
          opacity 0.22s ease;
      }
      .project-details > span {
        overflow: hidden;
        padding-right: 64px;
      }
      .project-badge {
        display: inline-flex;
        margin: 0 0 8px;
        padding: 3px 7px;
        border: 1px solid rgba(255, 255, 255, 0.32);
        border-radius: 99px;
        color: rgba(255, 255, 255, 0.65);
        font-family: var(--font-accent);
        font-size: 10px;
        line-height: 1;
        text-transform: uppercase;
      }
      .project-title {
        display: block;
        margin: 0;
        font-family: var(--font-display);
        font-size: 30px;
        letter-spacing: -0.03em;
      }
      .project-description {
        display: block;
        max-width: 560px;
        margin: 7px 0 0;
        color: rgba(255, 255, 255, 0.66);
        font-size: 14px;
        line-height: 1.35;
      }
      .project.is-expanded .project-panel {
        height: 180px;
        justify-content: center;
        background: rgba(29, 28, 33, 0.8);
        border-color: rgba(255, 255, 255, 0.4);
      }
      .project.is-expanded .project-details {
        grid-template-rows: 1fr;
        opacity: 1;
      }
      .project.is-expanded .project-summary {
        position: absolute;
        top: 0;
        right: var(--project-panel-inline);
        bottom: 0;
        left: var(--project-panel-inline);
        visibility: hidden;
      }
      .project.is-expanded .project-icon .normal {
        opacity: 0;
      }
      .project.is-expanded .project-icon .hover {
        opacity: 1;
        transform: translateX(3px);
      }
      .project.is-expanded .project-title {
        color: var(--project-accent);
      }
      .project:hover .project-summary {
        color: var(--project-accent);
      }
      .project:hover .project-icon,
      .project.is-expanded .project-icon {
        position: absolute;
        top: 50%;
        right: 0;
        visibility: visible;
        color: var(--project-accent);
        -webkit-mask-image: url("../icons/tit-port1-icon-risian.svg");
        mask-image: url("../icons/tit-port1-icon-risian.svg");
        transform: translateY(-50%);
      }
      .project-stack .project-panel {
        --project-panel-inline: 24px;
        height: 70px;
        padding: 12px var(--project-panel-inline);
      }
      .project-stack .project-summary {
        font-size: 18px;
      }
      .project-stack .project-title {
        font-size: 23px;
      }
      .project-stack .project-description {
        font-size: 14px;
      }
      .project-stack .project.is-expanded .project-panel {
        height: 140px;
      }
      .project-stack .project.is-expanded .project-summary {
        top: 0;
        right: var(--project-panel-inline);
        bottom: 0;
        left: var(--project-panel-inline);
      }
      @media (hover: hover) and (pointer: fine) {
        .project:hover .project-panel {
          height: 180px;
          justify-content: center;
          background: rgba(29, 28, 33, 0.8);
          border-color: rgba(255, 255, 255, 0.4);
        }
        .project:hover .project-details {
          grid-template-rows: 1fr;
          opacity: 1;
        }
        .project:hover .project-summary {
          position: absolute;
          top: 0;
          right: var(--project-panel-inline);
          bottom: 0;
          left: var(--project-panel-inline);
          visibility: hidden;
        }
        .project:hover .project-title {
          color: var(--project-accent);
        }
        .project-stack .project:hover .project-panel {
          height: 140px;
        }
        .project-stack .project:hover .project-summary {
          top: 0;
          right: var(--project-panel-inline);
          bottom: 0;
          left: var(--project-panel-inline);
        }
      }
      .project::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: var(--project-image, var(--project-bg)) center / cover
          no-repeat;
        transition: transform 0.55s cubic-bezier(0.22, 0.7, 0.2, 1);
      }
      .project::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        height: 55%;
        background: linear-gradient(to top, rgba(29, 28, 33, 0.4), transparent);
        pointer-events: none;
        transition: height 0.4s ease;
      }
      .project:hover::before,
      .project:focus-within::before,
      .project.is-expanded::before {
        transform: scale(1.035);
      }
      .project:hover::after,
      .project:focus-within::after,
      .project.is-expanded::after {
        height: 72%;
      }
      .project-single { background: #fdfcf9; }
      /* Arquivo do blog: usa a mesma linguagem da mini-hero e componentes globais. */
      .blog-archive { background: #fdfcf9; }
      .blog-archive__hero { --blog-archive-hero-height: 270px; position: relative; display: grid; min-height: var(--blog-archive-hero-height); overflow: hidden; border-radius: 0 0 60px 60px; background: radial-gradient(circle at 8% 92%, #eeeaff 0, transparent 28%), radial-gradient(circle at 91% 8%, #eeffc0 0, transparent 27%), radial-gradient(circle at 94% 94%, rgba(255, 236, 189, .78) 0, transparent 38%), #fdfcf9; }
      .blog-archive__hero::before { content: ""; position: absolute; inset: 0; opacity: .42; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M45 0V90M0 45H90' fill='none' stroke='%231d1c21' stroke-opacity='.10' stroke-width='1'/%3E%3Crect x='42.5' y='42.5' width='5' height='5' rx='1' fill='%231d1c21' fill-opacity='.16'/%3E%3C/svg%3E"); background-size: 90px 90px; }
      .blog-archive__hero-content { position: relative; z-index: 1; box-sizing: border-box; display: grid; width: 100%; min-height: 0; align-content: center; justify-items: center; padding: 44px 24px; text-align: center; }
      .blog-archive__hero-content .eyebrow { margin: 0 0 8px; }
      .blog-category-archive__badge { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; margin: 0 0 8px; padding: 0 10px; border: 1px solid rgba(29, 28, 33, .2); border-radius: 999px; background: rgba(255, 255, 255, .64); color: var(--ink); font-family: var(--font-accent); font-size: 10px; font-weight: 700; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
      .blog-archive__hero h1 { max-width: 900px; margin: 0; color: var(--ink); font-family: var(--font-display); font-size: clamp(38px, 4vw, 56px); font-weight: 700; letter-spacing: -.055em; line-height: .98; }
      .blog-archive__description { max-width: 620px; margin: 6px 0 0; color: var(--description); font-size: 16px; line-height: 1.35; }
      .blog-archive__content { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: clamp(28px, 4vw, 64px); padding-top: 100px; padding-bottom: 100px; }
      .blog-archive__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
      .blog-archive-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid rgba(29, 28, 33, .18); border-radius: 15px; background: #fff; box-shadow: 0 10px 24px rgba(29, 28, 33, .07); }
      .blog-archive-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #e2f162; }
      .blog-archive-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
      .blog-archive-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #cec7ff, #e2f162); }
      .blog-archive-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
      .blog-archive-card h2 { margin: 14px 0 10px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.035em; line-height: 1.08; }
      .blog-archive-card h2 a:hover, .blog-archive-card h2 a:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
      .blog-archive-card__body > p { margin: 0; color: var(--description); font-size: 14px; line-height: 1.5; }
      .blog-archive .navigation.pagination { margin-top: 42px; }
      .blog-archive .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
      .blog-archive .page-numbers { display: inline-grid; min-width: 40px; min-height: 40px; place-items: center; padding: 7px 10px; border: 1px solid var(--line); border-radius: 99px; font-weight: 700; }
      .blog-archive .page-numbers.current, .blog-archive .page-numbers:hover, .blog-archive .page-numbers:focus-visible { border-color: var(--ink); background: var(--ink); color: #fff; }
      .blog-sidebar { display: grid; gap: 18px; position: sticky; top: 110px; }
      .blog-sidebar__panel { padding: 24px; border: 1px solid rgba(29, 28, 33, .18); border-radius: 18px; background: #fff; }
      .blog-sidebar__panel h2 { margin: 0 0 16px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.035em; }
      .blog-search { display: grid; gap: 10px; }
      .blog-search input { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
      .blog-search button { min-height: 44px; border: 0; border-radius: 99px; background: var(--ink); color: #fff; font-weight: 700; }
      .blog-search button:hover, .blog-search button:focus-visible { background: #35333a; }
      .blog-sidebar__categories { margin: 0; padding: 0; list-style: none; }
      .blog-sidebar__categories li + li { border-top: 1px solid rgba(29, 28, 33, .13); }
      .blog-sidebar__categories a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-weight: 700; }
      .blog-sidebar__categories a:hover, .blog-sidebar__categories a:focus-visible { color: #596d00; }
      .blog-sidebar__categories span { display: grid; min-width: 26px; min-height: 26px; place-items: center; border-radius: 50%; background: #f0f0ec; color: var(--muted); font-family: var(--font-accent); font-size: 11px; }
      .blog-sidebar__empty, .blog-archive__empty { margin: 0; color: var(--description); }
      @media (max-width: 1180px) {
        .blog-archive__content { grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; }
        .blog-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
      @media (max-width: 767px) {
        .blog-archive__hero { --blog-archive-hero-height: 260px; min-height: var(--blog-archive-hero-height); }
        .blog-archive__hero { border-radius: 0 0 40px 40px; }
        .blog-archive__hero-content { min-height: 0; align-content: center; padding: 56px 20px; }
        .blog-archive__hero-content .eyebrow { margin-bottom: 8px; }
        .blog-archive__hero h1 { font-size: clamp(34px, 9vw, 46px); }
        .blog-archive__description { margin-top: 8px; font-size: 14px; }
        .blog-archive__content { grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 64px; }
        .blog-archive__grid { grid-template-columns: 1fr; }
        .blog-sidebar { position: static; order: -1; grid-template-columns: 1fr; }
      }
      .project-single__hero {
        position: relative;
        min-height: 400px;
        overflow: hidden;
        isolation: isolate;
        border-radius: 0 0 60px 60px;
        color: var(--ink);
        background:
          radial-gradient(circle at 90% 12%, rgba(238, 255, 192, .96) 0, transparent 30%),
          radial-gradient(circle at 8% 100%, rgba(238, 234, 255, .9) 0, transparent 36%),
          radial-gradient(circle at 94% 94%, rgba(255, 236, 189, .78) 0, transparent 38%),
          #fdfcf9;
      }
      .project-single__hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        opacity: .28;
        pointer-events: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M45 0V90M0 45H90' fill='none' stroke='%231d1c21' stroke-opacity='.10' stroke-width='1'/%3E%3Crect x='42.5' y='42.5' width='5' height='5' rx='1' fill='%231d1c21' fill-opacity='.16'/%3E%3C/svg%3E");
        background-size: 90px 90px;
      }
      /* A navegação desta página flutua sobre a hero. A reserva superior
         mantém categorias e título fora da zona de toque do menu. */
      .project-single__hero-content { display: flex; min-height: 400px; flex-direction: column; align-items: center; justify-content: center; max-width: 940px; padding: 122px 24px 48px; text-align: center; }
      .project-single__categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
      .project-single__categories li { padding: 5px 10px; border: 1px solid var(--ink); border-radius: 99px; font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
      .project-single h1 { max-width: 900px; margin: 0; font-family: var(--font-display); font-size: clamp(42px, 6vw, 78px); font-weight: 700; letter-spacing: -.055em; line-height: .94; }
      .project-single__description { max-width: 720px; margin: 22px 0 0; color: var(--description); font-size: clamp(16px, 1.4vw, 20px); line-height: 1.5; }
      .project-single__description > :first-child { margin-top: 0; }
      .project-single__description > :last-child { margin-bottom: 0; }
	  .project-single__meta, .blog-single__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 16px; margin: 20px 0 0; color: var(--description); font-size: 10px; }
	  .project-single__meta > span, .project-single__meta time, .blog-single__meta > span, .blog-single__meta time { display: inline-flex; align-items: center; gap: 7px; }
	  .risian-meta-icon { display: inline-block; width: 13px; height: 13px; flex: 0 0 13px; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
	  .risian-meta-icon--user { -webkit-mask-image: url("../icons/user-icon-risian.svg"); mask-image: url("../icons/user-icon-risian.svg"); }
	  .risian-meta-icon--date { -webkit-mask-image: url("../icons/date-icon-risian.svg"); mask-image: url("../icons/date-icon-risian.svg"); }
	  .risian-meta-icon--time { -webkit-mask-image: url("../icons/hora-icon-risian.svg"); mask-image: url("../icons/hora-icon-risian.svg"); }
	  .risian-share-box { display: flex; width: fit-content; max-width: 100%; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 16px; margin: 18px 0 28px; padding: 11px 14px; border: 1px solid rgba(29,28,33,.13); border-radius: 14px; background: rgba(255,255,255,.76); box-shadow: 0 10px 28px rgba(29,28,33,.08); }
	  .risian-share-box__title { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
	  .risian-share-box__title img { width: 16px; height: 16px; }
	  .risian-share-box__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
	  .risian-share-box__links a, .risian-share-box__links button { display: inline-flex; min-height: 30px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid rgba(29,28,33,.16); border-radius: 999px; background: #fff; color: #403972; font: 700 11px/1 var(--font-body); text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
	  .risian-share-box__links a:hover, .risian-share-box__links a:focus-visible, .risian-share-box__links button:hover, .risian-share-box__links button:focus-visible { border-color: var(--ink); background: var(--lime); color: var(--ink); outline: 0; transform: translateY(-1px); }
	  .risian-share-box__status { flex-basis: 100%; min-height: 1em; color: var(--description); font-size: 11px; text-align: center; }
	  .risian-share-box__status:empty { display: none; }
	  .project-single__hero-content .risian-share-box { align-self: flex-start; }
      .project-single__gallery { display: grid; width: min(100% - 40px, 1400px); margin: 100px auto 0; line-height: 0; }
	  .project-single__gallery img { display: block; width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; filter: none; transform: none; user-select: none; -webkit-user-drag: none; pointer-events: none; }
      .project-single__other-projects { padding: 100px 0 var(--section-space); }
          .project-single__other-heading { margin-bottom: 30px; text-align: center; }
      .project-single__other-heading h2 { margin: 10px 0 0; font-family: var(--font-display); font-size: clamp(36px, 4vw, 58px); letter-spacing: -.05em; line-height: .96; }
      .project-single__other-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
      .project-single__other-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
      .project-single__other-image { display: block; aspect-ratio: 16 / 10; background: var(--lilac); }
      .project-single__other-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
      .project-single__other-content { padding: 20px; }
      .project-single__other-category { display: block; margin-bottom: 9px; color: var(--description); font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
      .project-single__other-content h3 { margin: 0; font-family: var(--font-display); font-size: clamp(23px, 2vw, 30px); letter-spacing: -.04em; line-height: 1.04; }
      .project-single__other-content h3 a { color: inherit; text-decoration: none; }
      .project-single__other-content h3 a:hover, .project-single__other-content h3 a:focus-visible { color: #735fe5; }
      /* Blog: hero, leitura e barra lateral são componentes compartilhados. */
      .blog-single { background: #fdfcf9; }
      .blog-single__mini-hero { position: relative; min-height: 130px; overflow: hidden; border-radius: 0 0 60px 60px; background: #fdfcf9; }
      .blog-single__mini-hero::before { content: none; }
      .blog-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: clamp(34px, 6vw, 96px); padding-top: 0; padding-bottom: var(--section-space); }
      .blog-single__primary { min-width: 0; }
      .blog-single__article { min-width: 0; }
	  .blog-single__reading-card { overflow: hidden; padding: clamp(28px, 4vw, 48px); padding-top: clamp(24px, 2.5vw, 30px); border: 1px solid rgba(29, 28, 33, .12); border-radius: 16px; background: #fff; }
      .blog-single__featured-image { margin: 0 0 36px; overflow: hidden; border-radius: 14px; line-height: 0; aspect-ratio: 16 / 9; background: #f0f0ec; }
      .blog-single__featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
      .blog-single__header { max-width: none; }
	  .blog-single__categories { display: inline-flex; width: fit-content; min-height: 24px; align-items: center; margin: 0 0 14px; padding: 0 10px; border: 1px solid currentColor; border-radius: 999px; color: #403972; font-family: var(--font-accent); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
      .blog-single__header h1 { margin: 0; font-family: var(--font-display); font-size: clamp(42px, 5.2vw, 76px); font-weight: 700; letter-spacing: -.055em; line-height: .96; }
	  .blog-single__meta { justify-content: flex-start; margin: 22px 0 0; font-size: 10px; }
      .blog-single__content { max-width: none; margin-top: 46px; color: var(--ink); font-size: 18px; line-height: 1.7; }
      .blog-single__content > * { max-width: 100%; }
      .blog-single__content p, .blog-single__content ul, .blog-single__content ol, .blog-single__content blockquote, .blog-single__content table, .blog-single__content figure { margin: 0 0 1.55em; }
      .blog-single__content h2, .blog-single__content h3, .blog-single__content h4 { margin: 1.6em 0 .6em; font-family: var(--font-display); letter-spacing: -.04em; line-height: 1.05; }
      .blog-single__content h2 { font-size: clamp(30px, 3vw, 46px); }
      .blog-single__content h3 { font-size: clamp(25px, 2.4vw, 34px); }
      .blog-single__content img { max-width: 100%; height: auto; }
	  .blog-single__content a { color: #403972; font-weight: 700; text-decoration: underline; text-decoration-color: var(--lime); text-decoration-thickness: 2px; text-underline-offset: 3px; }
	  .blog-single__content a:hover, .blog-single__content a:focus-visible { color: var(--ink); text-decoration-color: #403972; }
      .blog-single__content table { width: 100%; border-collapse: collapse; font-size: .9em; }
      .blog-single__content th, .blog-single__content td { padding: 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
      .blog-single__related { margin-top: 64px; }
      .blog-single__related > h2 { margin: 0 0 24px; font-family: var(--font-display); font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -.05em; line-height: 1; }
      .blog-single__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
      .blog-single__related-card { min-width: 0; overflow: hidden; border: 1px solid rgba(29, 28, 33, .14); border-radius: 16px; background: #fff; }
      .blog-single__related-media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #f0f0ec; }
      .blog-single__related-media img, .blog-single__related-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
      .blog-single__related-placeholder { background: #e2f162; }
      .blog-single__related-body { display: flex; min-height: 182px; flex-direction: column; align-items: flex-start; padding: 20px; }
      .blog-single__related-body > span { color: var(--description); font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
      .blog-single__related-body h3 { margin: 10px 0 18px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.04em; line-height: 1.05; }
      .blog-single__related-body h3 a:hover, .blog-single__related-body h3 a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
      .blog-single__related-body .blog-card-link { margin-top: auto; }
      .blog-sidebar { position: sticky; top: 112px; display: grid; gap: 18px; }
      .blog-sidebar__section { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
      .blog-sidebar__title { margin: 0 0 14px; font-family: var(--font-display); font-size: 25px; letter-spacing: -.04em; }
      .blog-sidebar__search { display: grid; gap: 9px; }
      .blog-sidebar__search input { width: 100%; min-height: 45px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fdfcf9; color: var(--ink); font: inherit; }
      .blog-sidebar__search button { min-height: 42px; border: 0; border-radius: 99px; background: var(--ink); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
      .blog-sidebar__categories { margin: 0; padding: 0; list-style: none; }
      .blog-sidebar__categories li + li { border-top: 1px solid var(--line); }
      .blog-sidebar__categories a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; color: inherit; font-weight: 700; text-decoration: none; }
      .blog-sidebar__categories a:hover, .blog-sidebar__categories a:focus-visible { color: #735fe5; }
      .blog-sidebar__categories span { color: var(--description); font-size: 13px; font-weight: 400; }
      .faq {
        padding: var(--section-space) 0;
        background: #fff;
      }
      .faq-list {
        width: 100%;
        margin: 0;
        border: 1px solid var(--line);
        border-radius: 10px;
        overflow: hidden;
      }
      .faq-item + .faq-item {
        border-top: 1px solid var(--line);
      }
      .faq-q {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        min-height: 94px;
        padding: 20px 28px;
        border: 0;
        background: #fff;
        color: rgba(29, 28, 33, 0.62);
        text-align: left;
        font-weight: 700;
        font-size: 24px;
        line-height: 1.15;
        transition:
          color 0.22s ease,
          background-color 0.22s ease;
      }
      .faq-q:hover,
      .faq-q:focus-visible {
        color: #1d1c21;
      }
      .faq-item.open .faq-q {
        background-color: #f1f0f5;
        color: #1d1c21;
      }
      .faq-question {
        display: flex;
        align-items: center;
        gap: 14px;
      }
      .faq-question img {
        width: 20px;
        height: 20px;
        flex: none;
        opacity: 0.4;
      }
      .faq-toggle-icon {
        display: inline-block;
        flex: none;
        width: 15px;
        height: 15px;
        background: center / contain no-repeat
          url("../icons/arrow1-icon-btns.svg");
        color: transparent;
        transition: transform 0.2s;
      }
      .faq-item.open .faq-toggle-icon {
        transform: rotate(-90deg);
      }
      .faq-a {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        padding: 0 28px;
        background: #f4f2f5;
        color: var(--description);
        font-size: 18px;
        line-height: 1.35;
        transition:
          grid-template-rows 0.38s cubic-bezier(0.22, 0.7, 0.2, 1),
          padding 0.38s cubic-bezier(0.22, 0.7, 0.2, 1);
      }
      .faq-a p {
        overflow: hidden;
        margin: 0;
      }
      .faq-item.open .faq-a {
        grid-template-rows: 1fr;
        padding: 22px 28px 28px;
      }
      .contact-banner {
        display: grid;
        grid-template-columns: 270px 1fr auto;
        align-items: center;
        gap: 28px;
        width: 100%;
        height: 225px;
        margin: 70px 0 0;
        padding: 22px 38px;
        border-radius: 14px;
        background: #e2f162;
      }
      .mini-art {
        width: 100%;
        height: 175px;
        object-fit: contain;
        object-position: left center;
      }
      .contact-banner h3 {
        margin: 0;
        max-width: none;
        font-size: 60px;
        line-height: 0.9;
        letter-spacing: -0.035em;
      }
      .contact-banner h3 span {
        font-weight: 500;
      }
      .contact-section {
        margin-top: 0;
        padding: var(--section-space) 0;
        background:
          radial-gradient(circle at 98% 10%, #eeffc0 0, transparent 27%),
          radial-gradient(circle at 2% 54%, #eeeaff 0, transparent 28%),
          radial-gradient(
            circle at 98% 94%,
            rgba(255, 236, 189, 0.62) 0,
            transparent 38%
          ),
          #fdfcf9;
        border-radius: 30px 30px 46px 46px;
      }
      .contact-card {
        display: grid;
        grid-template-columns: 690px 510px;
        width: min(100%, 1200px);
        height: 550px;
        overflow: hidden;
        margin: 0 auto;
        border-radius: 25px;
      }
      .form-side {
        width: 690px;
        height: 550px;
        padding: 38px 45px;
        border-radius: 25px 0 0 25px;
        background: #e2f162;
      }
      .form-side h3,
      .channel-side h3 {
        margin: 0;
        font-family: var(--font-display);
        font-size: 35px;
        line-height: 1.08;
        letter-spacing: -0.025em;
      }
      .contact-intro {
        margin: 6px 0 18px;
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(29, 28, 33, 0.18);
        color: var(--description);
        font-size: 14px;
        line-height: 1.4;
      }
      .form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .field {
        position: relative;
        --field-icon: url("../icons/user-icon-risian.svg");
      }
      .field::before {
        content: "";
        position: absolute;
        top: 20px;
        left: 18px;
        z-index: 1;
        width: 18px;
        height: 18px;
        background: #1d1c21;
        -webkit-mask: var(--field-icon) center / contain no-repeat;
        mask: var(--field-icon) center / contain no-repeat;
        pointer-events: none;
      }
      .field-subject {
        --field-icon: url("../icons/subject-icon-risian.svg");
      }
      .field-phone {
        --field-icon: url("../icons/whatsapp-icon-risian.svg");
      }
      .field-email {
        --field-icon: url("../icons/email-icon-risian.svg");
      }
      .field-message {
        --field-icon: url("../icons/mensg-icon-risian.svg");
      }
      .field img {
        display: none;
      }
      .field input,
      .field textarea {
        padding-left: 48px;
      }
      .field-message {
        grid-column: span 2;
      }
      .form-grid input,
      .form-grid textarea {
        width: 100%;
        border: 0;
        border-radius: 15px;
        padding: 12px 18px 12px 48px;
        background: #fff;
        color: #1d1c21;
        font-size: 14px;
        outline: 0;
      }
      .form-grid input {
        height: 58px;
      }
      .form-grid input:focus,
      .form-grid textarea:focus {
        box-shadow: inset 0 0 0 2px rgba(29, 28, 33, 0.55);
      }
      .form-grid textarea {
        grid-column: span 2;
        height: 108px;
        min-height: 108px;
        resize: vertical;
      }
      .form-side .form-submit {
        min-height: 48px;
        margin-top: 14px;
        background: #1d1c21;
        color: #fff;
      }
      .form-side .form-submit .arrow {
        color: #fff;
        background: #fff;
        -webkit-mask: url("../icons/arrow1-icon-btns.svg") center / contain
          no-repeat;
        mask: url("../icons/arrow1-icon-btns.svg") center / contain no-repeat;
        filter: none;
        transition:
          transform 0.22s ease,
          background-color 0.22s ease;
      }
      .form-side .form-submit:hover,
      .form-side .form-submit:focus-visible {
        color: #e2f162;
      }
      .form-side .form-submit:hover .arrow,
      .form-side .form-submit:focus-visible .arrow {
        color: #e2f162;
        background: #e2f162;
      }
      #form-message {
        min-height: 17px;
        margin: 5px 0 0;
        font-size: 11px;
        line-height: 1.2;
      }
      .channel-side {
        width: 510px;
        height: 550px;
        padding: 38px 44px;
        border-radius: 0 25px 25px 0;
        background: #1d1c21;
        color: #e2f162;
      }
      .channel-side .contact-intro {
        border-bottom-color: rgba(226, 241, 98, 0.25);
        color: rgba(226, 241, 98, 0.68);
      }
      .channel-line {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-top: 18px;
        color: #fff;
        transition: color 0.22s ease;
      }
      .channel-icon {
        --channel-icon: url("../icons/email-icon-risian.svg");
        display: grid;
        place-items: center;
        flex: none;
        width: 50px;
        height: 50px;
        border: 1px solid currentColor;
        border-radius: 14px;
        color: #fff;
        transition:
          color 0.22s ease,
          transform 0.22s ease;
      }
      .channel-icon::before {
        content: "";
        width: 24px;
        height: 24px;
        background: currentColor;
        -webkit-mask: var(--channel-icon) center / contain no-repeat;
        mask: var(--channel-icon) center / contain no-repeat;
      }
      .channel-icon--whatsapp {
        --channel-icon: url("../icons/whatsapp-icon-risian.svg");
      }
      .channel-icon--location {
        --channel-icon: url("../icons/map-icon-risian.svg");
      }
      .channel-content {
        min-width: 0;
      }
      .channel-label {
        display: block;
        margin-bottom: 2px;
        font-family: var(--font-accent);
        font-size: 10px;
        letter-spacing: 0.08em;
        opacity: 0.62;
      }
      .channel-value {
        display: block;
        color: #fff;
        font-size: 16px;
        line-height: 1.3;
      }
      .channel-note {
        display: block;
        margin-top: 3px;
        color: rgba(255, 255, 255, 0.72);
        font-size: 13px;
        line-height: 1.3;
      }
      @media (hover: hover) and (pointer: fine) {
        .channel-line:hover,
        a.channel-line:focus-visible {
          color: #e2f162;
        }
        .channel-line:hover .channel-icon,
        a.channel-line:focus-visible .channel-icon {
          color: #e2f162;
          transform: translateY(-2px);
        }
        .channel-line:hover .channel-value,
        a.channel-line:focus-visible .channel-value {
          color: #e2f162;
        }
      }
      .blog-section {
        background: #fff;
		padding-top: 120px;
      }
      .blog-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: 1fr;
        gap: 20px;
      }
      .blog-actions {
        display: flex;
        justify-content: center;
        margin-top: clamp(32px, 4vw, 48px);
        margin-bottom: 80px;
      }
      .blog-card {
        display: flex;
        min-width: 0;
        height: 100%;
        overflow: hidden;
        flex-direction: column;
        border: 1px solid rgba(29, 28, 33, 0.18);
        border-radius: 15px;
        background: #fff;
        box-shadow: 0 10px 24px rgba(29, 28, 33, 0.07);
        transition:
          transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
          box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .blog-card-media {
        --blog-media: #f2ffa4;
        position: relative;
        display: grid;
        place-items: center;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: var(--blog-media);
      }
      .blog-card:nth-child(2) .blog-card-media {
        --blog-media: #ffe7b3;
      }
      .blog-card:nth-child(3) .blog-card-media {
        --blog-media: #cec7ff;
      }
      .blog-card:nth-child(4) .blog-card-media {
        --blog-media: #e2f162;
      }
      .blog-card-media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .blog-category {
        position: absolute;
        top: 14px;
        left: 14px;
        z-index: 1;
        padding: 6px 10px;
        border: 1px solid rgba(29, 28, 33, 0.25);
        border-radius: 99px;
        background: rgba(255, 255, 255, 0.88);
        color: #1d1c21;
        font-family: var(--font-accent);
        font-size: 10px;
        line-height: 1;
        backdrop-filter: blur(8px);
      }
      .blog-card-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 22px;
      }
      .blog-meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 12px;
        color: var(--description);
        font-family: var(--font-accent);
        font-size: 10px;
      }
      .blog-card h3 {
        margin: 14px 0 10px;
        color: #1d1c21;
        font-family: var(--font-display);
        font-size: 22px;
        line-height: 1.08;
        letter-spacing: -0.025em;
      }
      .blog-card-description {
        margin: 0;
        color: var(--description);
        font-size: 14px;
        line-height: 1.45;
      }
      .blog-card-link {
        display: inline-flex;
        align-items: center;
        align-self: flex-start;
        gap: 7px;
        margin-top: auto;
        padding-top: 24px;
        color: #1d1c21;
        font-size: 14px;
        font-weight: 700;
      }
      .blog-card-link::after {
        content: "";
        width: 16px;
        height: 16px;
        background: #1d1c21;
        -webkit-mask: url("../icons/arrow1-icon-btns.svg") center / contain
          no-repeat;
        mask: url("../icons/arrow1-icon-btns.svg") center / contain no-repeat;
        transition: transform 0.2s ease;
      }
      @media (hover: hover) and (pointer: fine) {
        .blog-card:hover,
        .blog-card:focus-within {
          transform: translateY(-4px);
          box-shadow: 0 18px 36px rgba(29, 28, 33, 0.11);
        }
        .blog-card:hover .blog-card-media img,
        .blog-card:focus-within .blog-card-media img {
          transform: scale(1.035);
        }
        .blog-card-link:hover::after,
        .blog-card-link:focus-visible::after {
          transform: translateX(3px);
        }
      }
      @media (min-width: 601px) and (max-width: 900px) {
        .blog-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 600px) {
        .blog-grid {
          grid-template-columns: 1fr;
        }
        .blog-card-body {
          padding: 20px;
        }
      }
      .site-footer {
        padding: 0;
        background: #1d1c21;
        color: #7a7a7a;
      }
      .footer-wrap {
        width: min(calc(100% - 32px), 1560px);
        margin-inline: auto;
      }
      .footer-seo {
        padding: 42px 0;
        border-bottom: 1px solid rgba(237, 235, 250, 0.16);
      }
      .footer-seo-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 7px 0;
      }
      .footer-seo-row + .footer-seo-row {
        margin-top: 9px;
      }
      .footer-seo-link {
        display: inline-flex;
        align-items: center;
        color: rgba(237, 235, 250, 0.72);
        font-size: 12px;
        line-height: 16px;
        padding-block: 4px;
        font-weight: 400;
        line-height: 1.4;
        transition: color 0.2s ease;
      }
      .footer-seo-link:not(:last-child)::after {
        content: "";
        width: 1px;
        height: 11px;
        margin: 0 10px;
        background: rgba(122, 122, 122, 0.45);
      }
      .footer-seo-link:hover,
      .footer-seo-link:focus-visible {
        color: #e4f263;
      }
      .footer-main {
        display: grid;
        grid-template-columns: minmax(300px, 1.45fr) 0.7fr 0.7fr minmax(320px, 1.25fr);
        gap: clamp(46px, 5vw, 92px);
        padding: 68px 0;
        border-bottom: 1px solid rgba(237, 235, 250, 0.16);
      }
      .footer-brand {
        display: inline-flex;
        align-items: center;
      }
      .footer-brand img {
        display: block;
        width: 183px;
        height: 42px;
      }
      .footer-description {
        max-width: 410px;
        margin: 24px 0 0;
        color: var(--description-on-dark);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.55;
      }
      .footer-heading {
        margin: 0 0 22px;
        color: #edebfa;
        font-family: var(--font-accent);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }
      .footer-links {
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .footer-links li {
        line-height: 1.35;
      }
      .footer-links li + li {
        margin-top: 8px;
      }
      .footer-links a {
        display: inline-block;
        color: #7a7a7a;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.35;
        transition: color 0.2s ease;
      }
      .footer-links a:hover,
      .footer-links a:focus-visible {
        color: #e4f263;
      }
      .footer-newsletter-copy {
        max-width: 390px;
        margin: 0 0 24px;
        color: var(--description-on-dark);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.55;
      }
      .newsletter {
        position: relative;
        display: flex;
        align-items: center;
        width: min(100%, 310px);
        min-height: 52px;
        padding: 5px;
        border-radius: 12px;
        background: #323235;
      }
      .newsletter::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 16px;
        width: 16px;
        height: 16px;
        background: #7a7a7a;
        transform: translateY(-50%);
        -webkit-mask: url("../icons/email-icon-risian.svg") center / contain
          no-repeat;
        mask: url("../icons/email-icon-risian.svg") center / contain no-repeat;
        pointer-events: none;
      }
      .newsletter input {
        width: 100%;
        min-width: 0;
        height: 42px;
        padding: 0 52px 0 40px;
        border: 0;
        background: transparent;
        color: #7a7a7a;
        outline: 0;
        font-size: 13px;
      }
      .newsletter input::placeholder {
        color: #7a7a7a;
      }
      .newsletter:focus-within {
        box-shadow: inset 0 0 0 1px rgba(237, 235, 250, 0.52);
      }
      .newsletter button {
        position: absolute;
        top: 5px;
        right: 5px;
        bottom: 5px;
        display: grid;
        place-items: center;
        width: 42px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: rgba(237, 235, 250, 0.1);
        transition: background-color 0.22s ease;
      }
      .newsletter button::before {
        content: "";
        width: 18px;
        height: 18px;
        background: #edebfa;
        -webkit-mask: url("../icons/arrow1-icon-btns.svg") center / contain
          no-repeat;
        mask: url("../icons/arrow1-icon-btns.svg") center / contain no-repeat;
        transition:
          transform 0.2s ease,
          background-color 0.22s ease;
      }
      .newsletter button:hover,
      .newsletter button:focus-visible {
        background: #e4f263;
      }
      .newsletter button:hover::before,
      .newsletter button:focus-visible::before {
        background: #1d1c21;
        transform: translateX(3px);
      }
      .newsletter-message {
        display: none;
        width: min(100%, 310px);
        margin: 8px 0 0;
        color: var(--description-on-dark);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4;
      }
      .newsletter.has-message + .newsletter-message {
        display: block;
      }
      .newsletter-message.is-success {
        color: #e4f263;
      }
      .newsletter-message.is-error {
        color: #ffb7b7;
      }
      .footer-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
        padding: 28px 0;
        color: #7a7a7a;
        font-size: 12px;
        font-weight: 400;
      }
      .footer-legal {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
      }
      .footer-legal a {
        transition: color 0.2s ease;
      }
      .footer-legal a:hover,
      .footer-legal a:focus-visible {
        color: #e4f263;
      }
      .footer-separator {
        color: rgba(122, 122, 122, 0.62);
      }
      .made-with {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        white-space: nowrap;
      }
      .footer-heart {
        width: 15px;
        height: 15px;
        background: #e4f263;
        -webkit-mask: url("../icons/coracao-site.svg") center / contain
          no-repeat;
        mask: url("../icons/coracao-site.svg") center / contain no-repeat;
        animation: footer-heartbeat 1.8s ease-in-out infinite;
      }
      @keyframes footer-heartbeat {
        0%,
        100% {
          transform: scale(1);
        }
        14% {
          transform: scale(1.18);
        }
        28% {
          transform: scale(1);
        }
        42% {
          transform: scale(1.12);
        }
      }
      @media (min-width: 768px) and (max-width: 1100px) {
        .footer-seo-row {
          justify-content: center;
        }
        .footer-main {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 54px 72px;
        }
      }
      /* Notebook: conserva o menu completo, mas reduz a densidade. */
      @media (min-width: 1201px) and (max-width: 1366px) {
        .nav-links {
          gap: 20px;
          font-size: 14px;
          margin-right: 32px;
        }
        .hero-content {
          grid-template-columns: minmax(0, 700px) minmax(0, 1fr);
        }
        .hero h1 {
          max-width: 680px;
          font-size: 68px;
        }
        .sketch {
          width: 517px;
          min-width: 517px;
          height: 344px;
        }
        .hero-illustration-stage {
          transform: scale(0.82);
        }
      }

      /* Tablet e celular: painel lateral evita qualquer quebra do menu. */
      @media (max-width: 1200px) {
        .nav {
          height: 70px;
          margin-top: 8px;
          border-bottom: 0;
        }
        .nav-inner,
        .nav.is-sticky .nav-inner {
          width: 100%;
          padding: 0 24px;
        }
        .nav.is-sticky {
          top: 8px;
          height: 70px;
        }
        .nav-links,
        .nav-cta {
          display: none;
        }
        .menu-toggle {
          display: block;
          width: 42px;
          height: 42px;
          margin-left: auto;
          padding: 0;
          border: 1px solid var(--line);
          border-radius: 50%;
          background: transparent;
          font-size: 0;
        }
        .menu-toggle::before,
        .menu-toggle::after {
          content: "";
          display: block;
          width: 18px;
          height: 2px;
          margin: 5px auto;
          background: var(--ink);
        }
        .menu-overlay {
          display: block;
          position: fixed;
          inset: 0;
          z-index: 10050;
          background: rgba(29, 28, 33, 0.32);
          opacity: 0;
          pointer-events: none;
          transition: opacity 0.3s cubic-bezier(0.22, 0.7, 0.2, 1);
        }
        .mobile-drawer {
          display: flex;
          position: fixed;
          inset: 0 0 0 auto;
          z-index: 10060;
          width: min(88vw, 390px);
          min-height: 100dvh;
          padding: 20px 24px 28px;
          flex-direction: column;
          background: #fff;
          box-shadow: -18px 0 50px rgba(29, 28, 33, 0.16);
          transform: translateX(105%);
          transition: transform 0.34s cubic-bezier(0.22, 0.7, 0.2, 1);
        }
        body.menu-open {
          overflow: hidden;
        }
        body.menu-open .menu-overlay {
          opacity: 1;
          pointer-events: auto;
        }
        body.menu-open .mobile-drawer {
          transform: translateX(0);
        }
        body.menu-open .nav.is-sticky {
          z-index: 50;
        }
        .drawer-top {
          display: flex;
          align-items: center;
          justify-content: space-between;
          min-height: 62px;
          padding-bottom: 19px;
          border-bottom: 1px solid var(--line);
        }
        .drawer-top img {
          width: 143px;
          height: auto;
        }
        .drawer-close {
          display: grid;
          place-items: center;
          width: 38px;
          height: 38px;
          padding: 0;
          border: 1px solid var(--line);
          border-radius: 50%;
          background: transparent;
          font-size: 30px;
          line-height: 1;
        }
        .drawer-links {
          display: grid;
          gap: 0;
          padding: 17px 0;
          border-bottom: 1px solid var(--line);
        }
        .drawer-links a {
          padding: 13px 0;
          font-family: var(--font-display);
          font-size: 22px;
          font-weight: 700;
          letter-spacing: -0.04em;
        }
        .drawer-cta {
          align-self: flex-start;
          margin-top: 22px;
        }
        .drawer-social {
          display: flex;
          flex-wrap: wrap;
          gap: 12px 20px;
          margin-top: auto;
          padding-top: 22px;
          border-top: 1px solid var(--line);
          font-size: 14px;
          font-weight: 700;
        }
      }

      @media (min-width: 1025px) and (max-width: 1200px) {
        .contact-card {
          grid-template-columns: minmax(0, 57.5fr) minmax(0, 42.5fr);
        }
        .form-side,
        .channel-side {
          width: 100%;
          padding-inline: 34px;
        }
        .hero-surface {
          min-height: 820px;
        }
        .hero-content {
          grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
          min-height: 750px;
          padding: 68px 38px;
        }
        .hero h1 {
          max-width: 620px;
          font-size: 60px;
        }
        .hero-text {
          font-size: 18px;
        }
        .sketch {
          width: 428px;
          min-width: 428px;
          height: 286px;
        }
        .hero-illustration-stage {
          transform: scale(0.68);
        }
      }

      @media (min-width: 881px) and (max-width: 1024px) {
        .contact-card {
          grid-template-columns: minmax(0, 57.5fr) minmax(0, 42.5fr);
        }
        .form-side,
        .channel-side {
          width: 100%;
          padding-inline: 28px;
        }
        .channel-value {
          font-size: 14px;
        }
        .hero-surface {
          min-height: 900px;
        }
        .hero-content {
          grid-template-columns: 1fr;
          grid-template-rows: auto 230px;
          min-height: 830px;
          padding: 66px 48px;
        }
        .hero-copy {
          max-width: 680px;
        }
        .hero h1 {
          max-width: 680px;
          font-size: 58px;
        }
        .sketch {
          width: 365px;
          min-width: 365px;
          height: 244px;
          margin: -34px 0 0;
          justify-self: center;
        }
        .hero-illustration-stage {
          transform: scale(0.58);
        }
      }

      @media (min-width: 768px) and (max-width: 880px) {
        .contact-card {
          grid-template-columns: 1fr;
          height: auto;
        }
        .form-side,
        .channel-side {
          width: 100%;
          height: auto;
          padding: 38px;
        }
        .form-side {
          border-radius: 25px 25px 0 0;
        }
        .channel-side {
          border-radius: 0 0 25px 25px;
        }
        .hero-surface {
          min-height: 760px;
        }
        .hero-content {
          grid-template-columns: minmax(0, 1fr) 250px;
          min-height: 690px;
          padding: 55px 32px;
        }
        .hero h1 {
          max-width: 500px;
          font-size: 48px;
        }
        .hero-text {
          max-width: 460px;
          font-size: 18px;
        }
        .sketch {
          width: 277px;
          min-width: 277px;
          height: 185px;
          margin: 0;
          justify-self: center;
        }
        .hero-illustration-stage {
          transform: scale(0.44);
        }
      }

      @media (min-width: 768px) and (max-width: 1100px) {
        .contact-banner {
          grid-template-columns: 190px minmax(0, 1fr);
          height: auto;
          min-height: 225px;
          padding: 24px 32px;
          gap: 14px 28px;
        }
        .contact-banner .mini-art {
          grid-row: 1 / 3;
          align-self: end;
          height: 150px;
        }
        .contact-banner h3 {
          align-self: end;
          font-size: clamp(40px, 5.4vw, 52px);
        }
        .contact-banner .pill {
          justify-self: start;
          align-self: start;
        }
      }

      @media (min-width: 768px) and (max-width: 1359px) {
        .service {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          height: auto;
          min-height: 405px;
          padding: 32px;
          gap: 28px 36px;
        }
        .service-art {
          grid-column: 1 / -1;
          min-height: 180px;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 28px;
        }
        .service-illustration {
          width: 190px;
          height: 180px;
        }
        .service-art .quote {
          margin-top: 0;
        }
        .benefit {
          height: auto;
          min-height: 75px;
        }
      }

      @media (max-width: 767px) {
        .hero {
          padding: 0;
        }
        .hero-surface {
          min-height: 0;
        }
        .nav {
          height: 64px;
          margin-top: 0;
          border-bottom: 0;
        }
        .nav-inner {
          padding: 0 16px;
        }
        .nav.is-sticky {
          top: 8px;
          height: 64px;
        }
        .nav-links {
          display: none;
        }
        .nav-cta {
          display: none;
        }
        .menu-toggle {
          display: block;
          width: 40px;
          height: 40px;
          margin-left: auto;
          padding: 0;
          border: 1px solid var(--line);
          border-radius: 50%;
          font-size: 0;
        }
        .menu-toggle::before,
        .menu-toggle::after {
          content: "";
          display: block;
          width: 17px;
          height: 2px;
          margin: 5px auto;
          background: var(--ink);
        }
        .menu-overlay {
          display: block;
          position: fixed;
          inset: 0;
          z-index: 10050;
          background: rgba(29, 28, 33, 0.32);
          opacity: 0;
          pointer-events: none;
          transition: opacity 0.3s cubic-bezier(0.22, 0.7, 0.2, 1);
        }
        .mobile-drawer {
          display: flex;
          position: fixed;
          inset: 0 0 0 auto;
          z-index: 10060;
          width: min(88vw, 390px);
          min-height: 100dvh;
          padding: 20px 24px 28px;
          flex-direction: column;
          background: #fff;
          box-shadow: -18px 0 50px rgba(29, 28, 33, 0.16);
          transform: translateX(105%);
          transition: transform 0.34s cubic-bezier(0.22, 0.7, 0.2, 1);
        }
        body.menu-open {
          overflow: hidden;
        }
        body.menu-open .menu-overlay {
          opacity: 1;
          pointer-events: auto;
        }
        body.menu-open .mobile-drawer {
          transform: translateX(0);
        }
        .drawer-top {
          display: flex;
          align-items: center;
          justify-content: space-between;
          min-height: 62px;
          padding-bottom: 19px;
          border-bottom: 1px solid var(--line);
        }
        .drawer-top img {
          width: 143px;
          height: auto;
        }
        .drawer-close {
          display: grid;
          place-items: center;
          width: 38px;
          height: 38px;
          padding: 0;
          border: 1px solid var(--line);
          border-radius: 50%;
          background: transparent;
          font-size: 30px;
          line-height: 1;
        }
        .drawer-links {
          display: grid;
          gap: 0;
          padding: 17px 0;
          border-bottom: 1px solid var(--line);
        }
        .drawer-links a {
          padding: 13px 0;
          font-family: var(--font-display);
          font-size: 22px;
          font-weight: 700;
          letter-spacing: -0.04em;
        }
        .drawer-cta {
          align-self: flex-start;
          margin-top: 22px;
        }
        .drawer-social {
          display: flex;
          flex-wrap: wrap;
          gap: 12px 20px;
          margin-top: auto;
          padding-top: 22px;
          border-top: 1px solid var(--line);
          font-size: 14px;
          font-weight: 700;
        }
        .drawer-social a {
          text-decoration: underline;
          text-underline-offset: 4px;
        }
        .brand img {
          height: 26px;
        }
        .nav.is-sticky .brand img {
          height: 26px;
        }
        .nav.is-sticky .nav-inner {
          padding: 0 16px;
        }
        .hero-content {
          grid-template-columns: 1fr;
          min-height: 720px;
          padding: 96px 16px 48px;
        }
        .hero h1 {
          font-size: 42px;
        }
        .sketch {
          width: 277px;
          min-width: 277px;
          height: 185px;
          margin: -30px auto -16px;
          justify-self: center;
        }
        .hero-illustration-stage {
          transform: scale(0.44);
        }
        section {
          padding: var(--section-space) 0;
        }
        .service {
          grid-template-columns: 1fr;
          height: auto;
          min-height: 0;
          gap: 24px;
          padding: 24px;
        }
        .benefit {
          height: auto;
          min-height: 75px;
        }
        .service-art {
          display: flex;
          min-height: 0;
          align-items: flex-start;
          justify-content: center;
        }
        .service h3 {
          font-size: 42px;
        }
        .service-illustration {
          width: min(100%, 210px);
          height: 190px;
          align-self: center;
        }
        .service-art .quote {
          align-self: flex-start;
        }
        .project-grid {
          grid-template-columns: 1fr;
          grid-template-rows: none;
          grid-auto-rows: 260px;
          gap: 14px;
        }
        .project-row {
          display: contents;
        }
        .project-row--inverse {
          display: contents;
        }
        .project-stack,
        .project-row--primary > .project-stack {
          display: contents;
        }
        .projects {
          padding-bottom: 70px;
        }
        .project-panel {
          --project-panel-inline: 12px;
          right: 10px;
          bottom: 10px;
          left: 10px;
          min-height: 56px;
          padding: 12px;
        }
        .project-stack .project-panel {
          --project-panel-inline: 12px;
        }
        .project-summary {
          font-size: 18px;
        }
        .project-title {
          font-size: 24px;
        }
        .project-description {
          font-size: 14px;
        }
        .project-single__hero {
          min-height: 400px;
          border-radius: 0 0 40px 40px;
        }
        .project-single__hero-content {
          min-height: 400px;
          padding: 108px 20px 44px;
        }
        .project-single__gallery {
          width: min(100% - 32px, 1400px);
          margin-top: 72px;
        }
        .project-single__other-projects {
          padding-top: 72px;
        }
        .project-single__other-grid {
          grid-template-columns: 1fr;
          gap: 14px;
        }
        .blog-single__mini-hero {
          min-height: 130px;
          border-radius: 0 0 40px 40px;
        }
        .blog-single__layout {
          grid-template-columns: 1fr;
          gap: 42px;
          padding-top: 0;
        }
        .blog-single__featured-image {
          margin-bottom: 28px;
          border-radius: 14px;
        }
        .blog-single__header h1 {
          font-size: clamp(38px, 11vw, 56px);
        }
        .blog-single__content {
          margin-top: 34px;
          font-size: 17px;
        }
        .blog-single__content table {
          display: block;
          overflow-x: auto;
        }
        .blog-sidebar {
          position: static;
          grid-template-columns: 1fr;
        }
        .blog-single__reading-card { padding: 22px; }
        .blog-single__related { margin-top: 48px; }
        .blog-single__related-grid { grid-template-columns: 1fr; }
        .contact-banner {
          grid-template-columns: 1fr;
          height: auto;
          min-height: 225px;
          padding: 24px;
          gap: 14px;
        }
        .contact-banner .mini-art {
          width: 150px;
          height: 100px;
        }
        .contact-banner h3 {
          font-size: 36px;
        }
        .contact-banner .pill {
          justify-self: start;
        }
        .contact-card {
          grid-template-columns: 1fr;
          height: auto;
          border-radius: 25px;
        }
        .form-side,
        .channel-side {
          width: 100%;
          height: auto;
          padding: 30px 24px;
        }
        .form-side {
          border-radius: 25px 25px 0 0;
        }
        .channel-side {
          border-radius: 0 0 25px 25px;
        }
        .form-grid {
          grid-template-columns: 1fr;
        }
        .field,
        .field-email,
        .field-message {
          grid-column: 1;
        }
        .form-side h3,
        .channel-side h3 {
          font-size: 32px;
        }
        .footer-seo {
          padding: 34px 0;
        }
        .footer-seo-row {
          justify-content: center;
        }
        .footer-main {
          grid-template-columns: 1fr;
          gap: 42px;
          padding: 54px 0;
        }
        .footer-bottom {
          align-items: flex-start;
          flex-direction: column;
          gap: 14px;
          padding: 24px 0;
        }
        .contact-banner {
          grid-template-columns: 1fr;
          height: auto;
          min-height: 225px;
          padding: 24px;
          gap: 14px;
        }
        .contact-banner .mini-art {
          width: 150px;
          height: 100px;
        }
        .contact-banner h3 {
          font-size: 36px;
        }
        .contact-banner .pill {
          justify-self: start;
        }
        .contact-card {
          grid-template-columns: 1fr;
          height: auto;
          border-radius: 25px;
        }
        .form-side,
        .channel-side {
          width: 100%;
          height: auto;
          padding: 30px 24px;
        }
        .form-side {
          border-radius: 25px 25px 0 0;
        }
        .channel-side {
          border-radius: 0 0 25px 25px;
        }
        .form-grid {
          grid-template-columns: 1fr;
        }
        .field,
        .field-email,
        .field-message {
          grid-column: 1;
        }
        .form-side h3,
        .channel-side h3 {
          font-size: 32px;
        }
        .footer-seo {
          padding: 34px 0;
        }
        .footer-seo-row {
          justify-content: center;
        }
        .footer-main {
          grid-template-columns: 1fr;
          gap: 42px;
          padding: 54px 0;
        }
        .footer-bottom {
          align-items: flex-start;
          flex-direction: column;
          gap: 14px;
          padding: 24px 0;
        }
        .made-with {
          justify-content: flex-start;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          scroll-behavior: auto !important;
          transition: none !important;
        }
        .service::after {
          opacity: 0 !important;
        }
        .footer-heart {
          animation: none;
        }
      }

      /* ==========================================================================
         PÁGINAS DE NICHO (SEO) & MINI HERO TEMPLATE STYLES
         ========================================================================== */
      .hero-wrapper {
        background: #fcfbf7;
        padding: 0;
        margin: 0 0 60px 0;
      }
      .mini-hero {
        position: relative;
        height: 580px;
        min-height: 580px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: radial-gradient(circle at 91% 8%, #eeffc0 0, transparent 27%), radial-gradient(circle at 8% 91%, #eeeaff 0, transparent 28%), #1d1c21;
        background-size: cover;
        background-position: center;
        padding-top: 100px;
        border-radius: 0 0 60px 60px;
        overflow: hidden;
      }
      /* A imagem editável fica na base; os pseudo-elementos mantêm o overlay de leitura. */
      .seo-niche-page .mini-hero {
        background-image: var(--risian-editor-background-image, var(--risian-mini-hero-image));
      }
      .mini-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        border-radius: 0 0 60px 60px;
        background-image:
          linear-gradient(180deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.04) 52%),
          radial-gradient(circle at 50% 15%, rgba(255, 255, 255, 0.18), transparent 32%);
      }
      .mini-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        border-radius: 0 0 60px 60px;
        background: linear-gradient(to top, rgba(12, 12, 22, 0.96) 0%, rgba(12, 12, 22, 0.82) 16%, rgba(12, 12, 22, 0.62) 32%, rgba(12, 12, 22, 0.38) 48%, transparent 66%);
        pointer-events: none;
      }
      .mini-hero .hero-content {
        position: relative;
        z-index: 3;
        padding: 0 24px;
        max-width: 820px;
        margin-top: 32px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
      }
      .mini-hero .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 5px 12px 5px 5px;
        border: 1px solid rgba(255, 255, 255, 0.4);
        border-radius: 999px;
        font-family: var(--font-accent);
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        background: rgba(255, 255, 255, 0.12);
        backdrop-filter: blur(6px);
        color: #ffffff;
        line-height: 1;
        margin-top: 10px;
        margin-bottom: 0;
        position: relative;
      }
      .mini-hero .eyebrow span:last-child {
        color: #ffffff;
        font-weight: 700;
      }
      .mini-hero h1 {
        font-family: var(--font-display);
        font-weight: 500;
        font-size: clamp(36px, 4vw, 56px);
        line-height: 1.06;
        letter-spacing: -0.035em;
        color: #ffffff;
        max-width: 22ch;
        margin: 0 auto 0;
      }
      .mini-hero h1 strong {
        font-weight: 800;
        color: var(--lime);
      }
      .mini-hero .hero-copy {
        font-size: 18px;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.8);
        max-width: 580px;
        margin: 0 auto 0;
        font-weight: 400;
      }

      .seo-niche-page .card-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin: 0 0 60px 0;
      }
      .seo-niche-page .card {
        background: var(--paper);
        border-radius: var(--radius);
        padding: 32px 24px 24px;
        box-shadow: 0 10px 24px rgba(29, 28, 33, 0.07);
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.36s ease;
        border: 1px solid rgba(29, 28, 33, 0.04);
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .seo-niche-page .card:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 36px rgba(29, 28, 33, 0.11);
      }
      .seo-niche-page .card .icon-box {
        width: 50px;
        height: 50px;
        background: #f0eeff;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 8px;
      }
      .seo-niche-page .card .icon-box .icon-mask {
        width: 28px;
        height: 28px;
        background-color: var(--ink);
        -webkit-mask: center / contain no-repeat;
        mask: center / contain no-repeat;
      }
      .seo-niche-page .card h3 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: 22px;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: var(--ink);
      }
      .seo-niche-page .card p {
        font-size: 16px;
        line-height: 1.5;
        color: var(--description);
      }
      .seo-niche-page .card .tag {
        display: inline-block;
        margin-top: 8px;
        font-family: var(--font-accent);
        font-weight: 700;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        background: var(--lime);
        padding: 3px 12px 3px 10px;
        border-radius: 999px;
        color: var(--ink);
        align-self: flex-start;
      }

      .stat-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
        margin: 0 0 60px 0;
      }
      .stat-item {
        background: var(--paper);
        border-radius: var(--radius);
        padding: 24px 16px;
        text-align: center;
        box-shadow: 0 10px 24px rgba(29, 28, 33, 0.07);
        border: 1px solid rgba(29, 28, 33, 0.04);
      }
      .stat-item .number {
        font-family: var(--font-display);
        font-weight: 700;
        font-size: 36px;
        line-height: 1.1;
        color: var(--ink);
      }
      .stat-item .label {
        font-size: 16px;
        color: var(--description);
        margin-top: 8px;
      }

      .seo-niche-page .feature-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px 48px;
        margin: 0 0 60px 0;
        padding: 0;
        list-style: none;
        max-width: 900px;
        margin-inline: auto;
      }
      .seo-niche-page .feature-list li {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        font-size: 16px;
        line-height: 1.4;
        color: var(--ink);
      }
      .seo-niche-page .feature-list .check-icon {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        background-color: var(--ink);
        -webkit-mask: center / contain no-repeat url("../icons/check-in-risian.svg");
        mask: center / contain no-repeat url("../icons/check-in-risian.svg");
        margin-top: 2px;
      }

      .seo-niche-page .feature-list li > div {
        display: grid;
        gap: 8px;
      }

      .seo-niche-page .feature-list li strong {
        display: block;
        font-weight: 700;
      }

      .seo-niche-page .feature-list li p {
        margin: 0;
        color: var(--description);
        font-size: 15px;
        line-height: 1.55;
      }

      .highlight-card {
        background: var(--lime);
        border-radius: var(--radius);
        padding: 48px 32px;
        text-align: center;
        margin: 0 0 60px 0;
      }
      .highlight-card blockquote {
        font-family: var(--font-display);
        font-weight: 500;
        font-size: clamp(22px, 2.5vw, 30px);
        line-height: 1.25;
        color: var(--ink);
        max-width: 800px;
        margin: 0 auto;
      }
      .highlight-card blockquote strong {
        font-weight: 800;
      }
      .highlight-card .cite {
        margin-top: 16px;
        font-family: var(--font-accent);
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--ink);
      }

      .long-copy {
        max-width: 1030px;
        margin: 0 auto 60px;
        font-size: 17px;
        line-height: 1.6;
        color: var(--description);
      }
      .long-copy p + p {
        margin-top: 20px;
      }
      .long-copy strong {
        color: var(--ink);
        font-weight: 700;
      }
      .long-copy .highlight {
        background: rgba(223, 255, 69, 0.35);
        padding: 2px 6px;
        border-radius: 4px;
        color: var(--ink);
      }

      .cta-block {
        border-radius: 35px;
        padding: 48px 48px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 60px;
        background: #1b1b29;
      }
      .seo-niche-page .page-section:first-of-type {
        padding-top: 0;
        padding-bottom: 10px;
      }
      .seo-niche-page .page-section:nth-of-type(2) {
        padding-top: 0;
      }
      .cta-block .cta-text {
        color: #edebfa;
        max-width: 560px;
      }
      .cta-block .cta-text h2 {
        font-family: var(--font-display);
        font-weight: 500;
        font-size: clamp(26px, 2.6vw, 36px);
        letter-spacing: -0.03em;
        line-height: 1.1;
        color: #edebfa;
        max-width: 100%;
        text-align: left;
      }
      .cta-block .cta-text p {
        font-size: 16px;
        color: rgba(237, 235, 250, 0.72);
        margin-top: 8px;
        line-height: 1.4;
      }
      .cta-block .cta-actions {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
      }

      .pill-primary {
        background: var(--lime);
        color: var(--ink);
      }
      .pill-primary:hover {
        background: #d4f03a;
      }
      .pill-outline {
        background: transparent;
        border: 1.5px solid rgba(237, 235, 250, 0.35);
        color: #edebfa;
      }
      .pill-outline:hover {
        background: rgba(237, 235, 250, 0.08);
        border-color: #edebfa;
      }

      .spec-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin: 0 0 60px 0;
      }
      .spec-grid .card h3 {
        font-size: 20px;
      }
      .spec-grid .card p {
        font-size: 16px;
      }

      .footer-note {
        margin-top: 48px;
        border-top: 1px solid var(--line);
        padding-top: 32px;
        text-align: center;
        color: var(--muted);
        font-size: 15px;
        max-width: 700px;
        margin-inline: auto;
      }
      .footer-note p {
        font-size: 16px;
        color: var(--ink);
        font-weight: 500;
      }
      .footer-note .sub {
        margin-top: 8px;
        font-size: 15px;
        color: var(--muted);
      }

      @media (max-width: 1024px) {
        .mini-hero {
          height: 420px;
          min-height: 420px;
          padding-top: 80px;
          border-radius: 0 0 40px 40px;
        }
        .mini-hero::before {
          border-radius: 0 0 40px 40px;
        }
        .seo-niche-page .card-grid,
        .spec-grid {
          grid-template-columns: repeat(2, 1fr);
        }
        .seo-niche-page .feature-list,
        .stat-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }

      @media (max-width: 768px) {
        .error-page__hero { min-height: 680px; border-radius: 0 0 40px 40px; }
        .error-page__grid { grid-template-columns: 1fr; gap: 38px; padding-top: 112px; padding-bottom: 48px; }
        .error-page__content h1 { font-size: clamp(42px, 12vw, 60px); }
        .error-page__content > p { font-size: 16px; }
        .error-page__actions { gap: 16px; margin-top: 26px; }
        .error-page__art { min-height: 280px; }
        .error-page__illustration { width: min(108%, 330px); }
        .mini-hero {
          height: 360px;
          min-height: 360px;
          padding-top: 70px;
          border-radius: 0 0 30px 30px;
        }
        .mini-hero::before {
          border-radius: 0 0 30px 30px;
        }
        .seo-niche-page .card-grid,
        .spec-grid,
        .stat-grid,
        .seo-niche-page .feature-list {
          grid-template-columns: 1fr;
        }
        .cta-block {
          flex-direction: column;
          align-items: flex-start;
          padding: 32px 24px;
          border-radius: 25px;
        }
        .cta-block .cta-actions {
          width: 100%;
          flex-direction: column;
        }
        .cta-block .pill {
          width: 100%;
          justify-content: center;
        }
      }

      /* Página de serviço: Criação de Sites. A cor do card vira assinatura, não excesso. */
      .service-page--creation { --service-page-accent: #f1ffa3; --service-page-ink: #69751d; background: #fdfcf9; }
      .service-page__hero { background: var(--service-page-accent); }
      .service-page__hero::before { opacity: .3; }
      .service-page__intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(32px, 7vw, 120px); padding-top: clamp(76px, 10vw, 144px); padding-bottom: 74px; }
      .service-page__intro h2, .service-page h2 { margin: 0; font-family: var(--font-display); font-size: clamp(38px, 4vw, 64px); letter-spacing: -.055em; line-height: .98; }
      .service-page__intro > div { max-width: 560px; color: var(--description); font-size: 18px; line-height: 1.55; }
      .service-page__intro > div p { margin: 0; }
      .service-page__intro > div p + p { margin-top: 16px; }
      .service-page__signals { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
      .service-page__signals li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(29, 28, 33, .2); border-radius: 99px; background: #fff; font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
      .service-page__signals li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--service-page-accent); box-shadow: inset 0 0 0 1px rgba(29, 28, 33, .28); }
      .service-page__feature { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); align-items: stretch; overflow: hidden; border: 1px solid rgba(29, 28, 33, .18); border-radius: 26px; background: #fff; }
      .service-page__feature-art { display: grid; min-height: 440px; place-items: center; padding: 48px; background: linear-gradient(145deg, var(--service-page-accent), #fbfce9); }
      .service-page__feature-art img { display: block; width: min(100%, 310px); height: auto; }
      .service-page__feature-copy { padding: clamp(34px, 5vw, 72px); }
      .service-page__kicker { margin: 0 0 13px; color: var(--service-page-ink); font-family: var(--font-accent); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
      .service-page__feature-copy h2 { max-width: 640px; font-size: clamp(34px, 3.4vw, 52px); }
      .service-page__benefits { display: grid; gap: 17px; margin-top: 34px; }
      .service-page__benefits article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 15px; }
      .service-page__benefits article > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--service-page-accent); color: var(--ink); font-family: var(--font-accent); font-size: 10px; font-weight: 700; }
      .service-page__benefits h3 { margin: 0; font-family: var(--font-display); font-size: 21px; letter-spacing: -.035em; }
      .service-page__benefits p { margin: 4px 0 0; color: var(--description); line-height: 1.45; }
      .service-page__moments, .service-page__projects, .service-page__faq { padding-top: clamp(86px, 11vw, 150px); }
      .service-page__section-heading { max-width: 760px; }
      .service-page__moment-list { display: grid; gap: 16px; margin-top: 42px; }
      .service-page__moment-list article { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 24px; align-items: start; padding: 29px 32px; border-top: 1px solid rgba(29, 28, 33, .22); }
      .service-page__moment-list article:last-child { border-bottom: 1px solid rgba(29, 28, 33, .22); }
      .service-page__moment-list > article > span { color: var(--service-page-ink); font-family: var(--font-accent); font-size: 14px; font-weight: 700; }
      .service-page__moment-list h3 { margin: 0; font-family: var(--font-display); font-size: clamp(25px, 2.2vw, 34px); letter-spacing: -.045em; line-height: 1.05; }
      .service-page__moment-list p { max-width: 620px; margin: 9px 0 0; color: var(--description); font-size: 17px; }
      .service-page__process { margin-top: clamp(72px, 10vw, 144px); padding: clamp(70px, 8vw, 116px) 0; background: #f6f6f1; }
      .service-page__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 48px 0 0; padding: 0; list-style: none; counter-reset: steps; }
      .service-page__steps li { position: relative; padding-top: 58px; border-top: 1px solid rgba(29, 28, 33, .24); }
      .service-page__steps li::before { content: ""; position: absolute; top: -5px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--service-page-accent); border: 1px solid var(--ink); }
      .service-page__steps span { color: var(--service-page-ink); font-family: var(--font-accent); font-size: 12px; font-weight: 700; }
      .service-page__steps h3 { margin: 8px 0 6px; font-family: var(--font-display); font-size: 23px; letter-spacing: -.035em; }
      .service-page__steps p { margin: 0; color: var(--description); font-size: 14px; line-height: 1.45; }
      .service-page__deliverables { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(42px, 9vw, 150px); align-items: start; margin-top: clamp(80px, 11vw, 154px); padding: clamp(42px, 5vw, 68px); border: 1px solid rgba(29, 28, 33, .18); border-radius: 25px; background: linear-gradient(135deg, #fff, #fbfce9); }
      .service-page__deliverables ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; margin: 0; padding: 0; list-style: none; }
      .service-page__deliverables li { position: relative; padding-left: 22px; color: var(--description); line-height: 1.4; }
      .service-page__deliverables li::before { content: ""; position: absolute; top: .43em; left: 0; width: 11px; height: 11px; background: var(--service-page-accent); border: 1px solid rgba(29, 28, 33, .48); border-radius: 50%; }
      .service-page__project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 42px; }
      .service-page__project-card { overflow: hidden; border: 1px solid rgba(29, 28, 33, .18); border-radius: 16px; background: #fff; }
      .service-page__project-card > a { display: block; aspect-ratio: 16 / 10; background: var(--service-page-accent); }
      .service-page__project-card > a img { display: block; width: 100%; height: 100%; object-fit: cover; }
      .service-page__project-card > a span { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--service-page-accent), #fff); }
      .service-page__project-card h3 { margin: 0; padding: 19px 20px 22px; font-family: var(--font-display); font-size: 23px; letter-spacing: -.04em; }
      .service-page__text-link { display: inline-flex; gap: 9px; align-items: center; margin-top: 25px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-weight: 700; }
      .service-page__faq > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 42px; }
      .service-page__faq details { padding: 22px 24px; border: 1px solid rgba(29, 28, 33, .18); border-radius: 14px; background: #fff; }
      .service-page__faq summary { cursor: pointer; font-family: var(--font-display); font-size: 20px; font-weight: 700; letter-spacing: -.035em; }
      .service-page__faq p { margin: 14px 0 0; color: var(--description); line-height: 1.5; }
      .service-page__cta { display: flex; justify-content: space-between; gap: 40px; align-items: center; margin-top: clamp(84px, 11vw, 155px); margin-bottom: clamp(80px, 10vw, 140px); padding: clamp(38px, 6vw, 76px); border-radius: 28px; background: var(--ink); color: #fff; }
      .service-page__cta h2 { max-width: 690px; color: #fff; font-size: clamp(35px, 3.7vw, 58px); }
      .service-page__cta .service-page__kicker { color: var(--service-page-accent); }
      .service-page__cta p:not(.service-page__kicker) { max-width: 600px; margin: 18px 0 0; color: var(--description-on-dark); font-size: 17px; }
      .service-page__cta-button { flex: none; border-color: var(--service-page-accent); background: var(--service-page-accent); color: var(--ink); }
      .service-page__cta-button .arrow { filter: none; }
      @media (max-width: 900px) {
        .service-page__intro, .service-page__feature, .service-page__deliverables { grid-template-columns: 1fr; }
        .service-page__feature-art { min-height: 300px; }
        .service-page__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .service-page__project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .service-page__cta { align-items: flex-start; flex-direction: column; }
      }
      @media (max-width: 600px) {
        .service-page__intro { padding-top: 66px; }
        .service-page__intro > div { font-size: 16px; }
        .service-page__feature-art { min-height: 250px; padding: 32px; }
        .service-page__feature-copy { padding: 32px 24px; }
        .service-page__moment-list article { grid-template-columns: 1fr; gap: 10px; padding: 24px 0; }
        .service-page__steps, .service-page__deliverables ul, .service-page__project-grid, .service-page__faq > div:last-child { grid-template-columns: 1fr; }
        .service-page__steps { gap: 28px; }
        .service-page__steps li { padding-top: 28px; }
        .service-page__deliverables, .service-page__cta { padding: 30px 24px; border-radius: 20px; }
      }

      /* Ritmo editorial e interações da página Criação de Sites. */
      .service-page--creation {
        --service-section-space: clamp(64px, 7vw, 96px);
        --service-content-gap: clamp(24px, 4vw, 48px);
      }
      .service-page--creation .service-page__intro {
        gap: var(--service-content-gap);
        padding-top: var(--service-section-space);
        padding-bottom: var(--service-section-space);
      }
      .service-page--creation .service-page__editorial,
      .service-page--creation .service-page__moments,
      .service-page--creation .service-page__projects,
      .service-page--creation .service-page__faq {
        padding-top: var(--service-section-space);
      }
      .service-page__editorial-grid,
      .service-page__scope-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
        gap: var(--service-content-gap);
        align-items: start;
        margin-top: clamp(30px, 4vw, 44px);
      }
      .service-page__long-copy {
        max-width: 680px;
        color: var(--description);
        font-size: 17px;
        line-height: 1.65;
      }
      .service-page__long-copy p,
      .service-page__scope-grid p,
      .service-page__deliverables > div > p,
      .service-page__section-description,
      .service-page__feature-intro {
        margin: 0;
        color: var(--description);
        font-size: 17px;
        line-height: 1.58;
      }
      .service-page__long-copy p + p,
      .service-page__scope-grid p + p { margin-top: 16px; }
      .service-page__reason-list { display: grid; gap: 10px; }
      .service-page__reason-list article,
      .service-page__scope-grid ul {
        margin: 0;
        padding: 22px 24px;
        border: 1px solid rgba(29, 28, 33, .15);
        border-radius: 16px;
        background: #fff;
      }
      .service-page__reason-list h3 {
        margin: 0;
        font-family: var(--font-display);
        font-size: 22px;
        letter-spacing: -.035em;
      }
      .service-page__reason-list p { margin: 7px 0 0; color: var(--description); line-height: 1.5; }
      .service-page__feature-intro { max-width: 650px; margin-top: 18px; }
      .service-page__scope { padding-top: var(--service-section-space); }
      .service-page__scope-grid ul { display: grid; gap: 12px; list-style: none; }
      .service-page__scope-grid li { position: relative; padding-left: 22px; color: var(--description); line-height: 1.45; }
      .service-page__scope-grid li::before { content: ""; position: absolute; top: .48em; left: 0; width: 10px; height: 10px; border: 1px solid rgba(29, 28, 33, .45); border-radius: 50%; background: var(--service-page-accent); }
      .service-page--creation .service-page__process { margin-top: var(--service-section-space); padding: clamp(58px, 7vw, 88px) 0; }
      .service-page__section-description { max-width: 620px; margin-top: 18px; }
      .service-page--creation .service-page__steps { margin-top: clamp(34px, 4vw, 48px); }
      .service-page--creation .service-page__deliverables { gap: var(--service-content-gap); margin-top: var(--service-section-space); }
      .service-page--creation .service-page__cta { margin-top: var(--service-section-space); margin-bottom: var(--service-section-space); }
      .service-page--creation .service-page__faq > div:last-child { grid-template-columns: 1fr; gap: 10px; margin-top: clamp(30px, 4vw, 40px); }
      .service-page--creation .service-page__faq details { padding: 0; overflow: hidden; transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease; }
      .service-page--creation .service-page__faq summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 22px; list-style: none; transition: color .25s ease; }
      .service-page--creation .service-page__faq summary::-webkit-details-marker { display: none; }
      .service-page--creation .service-page__faq summary::after { content: "+"; flex: none; color: var(--service-page-ink); font-family: var(--font-display); font-size: 28px; font-weight: 500; line-height: 1; transition: transform .25s ease; }
      .service-page--creation .service-page__faq details[open] { border-color: rgba(105, 117, 29, .5); background: #fbfce9; box-shadow: 0 10px 24px rgba(105, 117, 29, .08); }
      .service-page--creation .service-page__faq details[open] summary::after { transform: rotate(45deg); }
      .service-page--creation .service-page__faq summary:focus-visible { outline: 3px solid var(--service-page-ink); outline-offset: -4px; }
      .service-page--creation .service-page__faq p { margin: 0; padding: 0 22px 22px; }
      .service-page--creation .service-page__benefits article,
      .service-page--creation .service-page__reason-list article,
      .service-page--creation .service-page__moment-list article,
      .service-page--creation .service-page__project-card,
      .service-page--creation .service-page__cta-button {
        transition: transform .28s cubic-bezier(.16, 1, .3, 1), box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
      }
      .service-page--creation .service-page__reason-list article:hover,
      .service-page--creation .service-page__project-card:hover,
      .service-page--creation .service-page__cta-button:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(29, 28, 33, .1); }
      .service-page--creation .service-page__benefits article:hover,
      .service-page--creation .service-page__moment-list article:hover { transform: translateX(4px); }
      .service-page--creation .service-page__project-card:focus-within { outline: 3px solid var(--service-page-ink); outline-offset: 3px; }
      @media (max-width: 900px) {
        .service-page__editorial-grid,
        .service-page__scope-grid { grid-template-columns: 1fr; }
      }
      @media (max-width: 600px) {
        .service-page--creation { --service-section-space: 64px; --service-content-gap: 24px; }
        .service-page--creation .service-page__intro { padding-top: 64px; }
        .service-page__long-copy,
        .service-page__long-copy p,
        .service-page__scope-grid p,
        .service-page__deliverables > div > p,
        .service-page__section-description,
        .service-page__feature-intro { font-size: 16px; }
        .service-page__reason-list article,
        .service-page__scope-grid ul { padding: 20px; }
        .service-page--creation .service-page__faq summary { min-height: 58px; padding-inline: 18px; font-size: 18px; }
        .service-page--creation .service-page__faq p { padding: 0 18px 19px; }
      }
      @media (prefers-reduced-motion: reduce) {
        .service-page--creation *,
        .service-page--creation *::before,
        .service-page--creation *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
      }

      /* Ajuste de composição: página de Criação de Sites usa somente a escala Risian. */
      .service-page--creation {
        --service-section-space: clamp(64px, 6vw, 92px);
        --service-inner-gap: clamp(24px, 3vw, 48px);
        --service-card-padding: clamp(28px, 4vw, 56px);
      }
      .service-page--creation .service-page__hero .eyebrow {
        background: rgba(255, 255, 255, .72);
      }
      .service-page--creation .service-page__hero .eyebrow::before { background: var(--service-page-accent); }
      .service-page--creation .service-page__hero .eyebrow::after { background: var(--ink); }
      .service-page--creation .service-page__intro {
        grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
        gap: var(--service-inner-gap);
        padding-block: var(--service-section-space);
      }
      .service-page--creation .service-page__intro-heading {
        display: grid;
        align-content: start;
        gap: 26px;
      }
      .service-page--creation .service-page__intro-copy,
      .service-page--creation .service-page__intro > div {
        max-width: none;
      }
      .service-page--creation .service-page__signals {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 16px;
        margin: 0;
      }
      .service-page--creation .service-page__signals li {
        min-height: 28px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
      }
      .service-page--creation .service-page__signals li::before {
        width: 18px;
        height: 18px;
        border: 0;
        border-radius: 0;
        background: var(--service-page-ink);
        box-shadow: none;
        -webkit-mask: center / contain no-repeat url("../icons/check-in-risian.svg");
        mask: center / contain no-repeat url("../icons/check-in-risian.svg");
      }
      .service-page--creation .service-page__editorial-grid,
      .service-page--creation .service-page__scope-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--service-inner-gap);
      }
      .service-page--creation .service-page__long-copy,
      .service-page--creation .service-page__section-heading,
      .service-page--creation .service-page__moment-list p,
      .service-page--creation .service-page__cta p:not(.service-page__kicker) {
        max-width: none;
      }
      .service-page--creation .service-page__feature {
        grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
        align-items: stretch;
      }
      .service-page--creation .service-page__feature-art {
        min-height: clamp(360px, 28vw, 440px);
        aspect-ratio: auto;
        padding: clamp(28px, 3vw, 42px);
      }
      .service-page--creation .service-page__feature-art img {
        width: min(100%, 380px);
        max-height: 100%;
        object-fit: contain;
      }
      .service-page--creation .service-page__feature-copy { padding: var(--service-card-padding); }
      .service-page--creation .service-page__benefits article,
      .service-page--creation .service-page__reason-list article,
      .service-page--creation .service-page__moment-list article,
      .service-page--creation .service-page__project-card {
        border-color: rgba(29, 28, 33, .16);
      }
      .service-page--creation .service-page__benefits article {
        padding: 12px;
        margin: -12px;
        border-radius: 12px;
      }
      .service-page--creation .service-page__benefits article > span {
        background: transparent;
        color: var(--service-page-ink);
      }
      .service-page--creation .service-page__benefits article > span::before {
        content: "";
        width: 20px;
        height: 20px;
        background: currentColor;
        -webkit-mask: center / contain no-repeat url("../icons/check-in-risian.svg");
        mask: center / contain no-repeat url("../icons/check-in-risian.svg");
      }
      .service-page--creation .service-page__benefits article > span { font-size: 0; }
      .service-page--creation .service-page__process { margin-top: var(--service-section-space); }
      .service-page--creation .service-page__deliverables,
      .service-page--creation .service-page__cta { width: 100%; gap: var(--service-inner-gap); }
      .service-page--creation .service-page__deliverables { margin-top: var(--service-section-space); padding: var(--service-card-padding); }
      .service-page--creation .service-page__faq-list { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: clamp(30px, 4vw, 40px); }
      .service-page--creation .service-page__faq .faq-item {
        overflow: hidden;
        border: 1px solid rgba(29, 28, 33, .18);
        border-radius: 14px;
        background: #fff;
        transition: border-color .28s ease, background-color .28s ease, box-shadow .28s ease;
      }
      .service-page--creation .service-page__faq .faq-item + .faq-item { margin-top: 0; }
      .service-page--creation .service-page__faq .faq-q { min-height: 64px; padding: 14px 22px; }
      .service-page--creation .service-page__faq .faq-question { gap: 0; }
      .service-page--creation .service-page__faq .faq-toggle-icon {
        width: 18px;
        height: 18px;
        background: var(--service-page-ink);
        -webkit-mask: center / contain no-repeat url("../icons/arrow1-icon-btns.svg");
        mask: center / contain no-repeat url("../icons/arrow1-icon-btns.svg");
      }
      .service-page--creation .service-page__faq .faq-item.open {
        border-color: rgba(105, 117, 29, .5);
        background: color-mix(in srgb, var(--service-page-accent) 22%, #fff);
        box-shadow: 0 10px 24px rgba(105, 117, 29, .08);
      }
      .service-page--creation .service-page__faq .faq-a p { padding: 0 22px 22px; }
      .service-page--creation .service-page__reason-list article:hover,
      .service-page--creation .service-page__project-card:hover,
      .service-page--creation .service-page__benefits article:hover,
      .service-page--creation .service-page__moment-list article:hover {
        transform: translateY(-2px);
        border-color: rgba(105, 117, 29, .45);
        background-color: color-mix(in srgb, var(--service-page-accent) 18%, #fff);
        box-shadow: none;
      }
      .service-page--creation .service-page__cta-button:hover {
        transform: translateY(-2px);
        background: #f7ffc5;
        box-shadow: none;
      }
      @media (max-width: 900px) {
        .service-page--creation .service-page__intro,
        .service-page--creation .service-page__editorial-grid,
        .service-page--creation .service-page__scope-grid,
        .service-page--creation .service-page__feature { grid-template-columns: 1fr; }
        .service-page--creation .service-page__feature-art { aspect-ratio: auto; min-height: 280px; }
        .service-page--creation .service-page__feature-art img { width: min(100%, 280px); }
      }
      @media (max-width: 600px) {
        .service-page--creation .service-page__signals { grid-template-columns: 1fr; }
        .service-page--creation .service-page__faq .faq-q { min-height: 58px; padding-inline: 18px; }
        .service-page--creation .service-page__faq .faq-a p { padding: 0 18px 19px; }
      }

      /* Criação de Sites: composição final isolada do restante do tema. */
      .service-page--creation {
        --service-section-space: 100px;
        --service-inner-gap: 70px;
        --service-card-padding: 46px;
      }
      .service-page--creation .wrap { box-sizing: border-box; }
      .service-page--creation .service-page__intro,
      .service-page--creation .service-page__editorial,
      .service-page--creation .service-page__scope,
      .service-page--creation .service-page__moments,
      .service-page--creation .service-page__projects,
      .service-page--creation .service-page__faq { padding-block: var(--service-section-space); }
      .service-page--creation .service-page__intro { padding-top: var(--service-section-space); }
      .service-page--creation .service-page__section-heading { display: grid; gap: 16px; max-width: 780px; }
      .service-page--creation .service-page__section-heading .eyebrow,
      .service-page--creation .service-page__feature-copy > .eyebrow,
      .service-page--creation .service-page__deliverables .eyebrow,
      .service-page--creation .service-page__cta .eyebrow { margin: 0; width: fit-content; }
      .service-page--creation h2 { font-size: clamp(38px, 3.85vw, 60px); font-weight: 500; letter-spacing: -.035em; line-height: 1.06; }
      .service-page--creation h2 strong { font-weight: 800; }
      .service-page--creation .service-page__editorial-grid,
      .service-page--creation .service-page__scope-grid { margin-top: 70px; }
      .service-page--creation .service-page__feature { margin-block: 0; border-radius: 15px; }
      .service-page--creation .service-page__feature-copy { display: grid; align-content: center; gap: 16px; padding: var(--service-card-padding); }
      .service-page--creation .service-page__feature-copy > * { margin: 0; }
      .service-page--creation .service-page__benefits { gap: 16px; margin-top: 16px; }
      .service-page--creation .service-page__benefits article { margin: 0; padding: 12px; border: 1px solid transparent; }
      .service-page--creation .service-page__benefits article > span,
      .service-page--creation .service-page__scope-grid li::before,
      .service-page--creation .service-page__deliverables li::before,
      .service-page--creation .service-page__steps li > span:first-child {
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border: 1px solid rgba(29, 28, 33, .18);
        border-radius: 10px;
        background-color: #fdffcc;
        color: var(--service-page-ink);
        -webkit-mask: none;
        mask: none;
      }
      .service-page--creation .service-page__benefits article > span::before,
      .service-page--creation .service-page__scope-grid li::before,
      .service-page--creation .service-page__deliverables li::before,
      .service-page--creation .service-page__steps li > span:first-child::before {
        content: "";
        width: 16px;
        height: 16px;
        background: currentColor;
        -webkit-mask: center / contain no-repeat url("../icons/check-in-risian.svg");
        mask: center / contain no-repeat url("../icons/check-in-risian.svg");
      }
      .service-page--creation .service-page__scope-grid li,
      .service-page--creation .service-page__deliverables li { padding-left: 40px; }
      .service-page--creation .service-page__scope-grid li::before,
      .service-page--creation .service-page__deliverables li::before { top: .1em; left: 0; }
      .service-page--creation .service-page__moment-list { gap: 16px; margin-top: 70px; }
      .service-page--creation .service-page__moment-list article {
        min-height: 168px;
        padding: 32px;
        border: 1px solid rgba(29, 28, 33, .18);
        border-radius: 15px;
        background: #fff;
      }
      .service-page--creation .service-page__moment-list article:last-child { border-bottom: 1px solid rgba(29, 28, 33, .18); }
      .service-page--creation .service-page__steps { gap: 16px; margin-top: 70px; }
      .service-page--creation .service-page__steps li {
        min-height: 255px;
        padding: 28px;
        border: 1px solid rgba(29, 28, 33, .18);
        border-radius: 15px;
        background: #fff;
      }
      .service-page--creation .service-page__steps li::before { content: none; }
      .service-page--creation .service-page__steps li > span:first-child { margin-bottom: 24px; font-size: 0; }
      .service-page--creation .service-page__deliverables,
      .service-page--creation .service-page__cta {
        box-sizing: border-box;
        width: min(calc(100% - 32px), var(--wide));
        margin-inline: auto;
        margin-block: 0;
      }
      .service-page--creation .service-page__deliverables { margin-top: 0; border-radius: 15px; }
      .service-page--creation .service-page__deliverables ul { gap: 16px 32px; }
      .service-page--creation .service-page__faq-list { border: 0; border-radius: 0; overflow: visible; }
      .service-page--creation .service-page__faq .faq-q { min-height: 94px; padding: 20px 28px; }
      .service-page--creation .service-page__faq .faq-a { padding: 0; }
      .service-page--creation .service-page__faq .faq-a p { padding: 0 28px 28px; }
      .service-page--creation .service-page__faq .faq-item.open .faq-a { padding: 0; }
      .service-page--creation .service-page__cta { border-radius: 15px; }
      .service-page--creation .service-page__cta .eyebrow { color: var(--service-page-accent); border-color: currentColor; font-family: var(--font-accent); font-size: 10px; font-weight: 700; line-height: normal; letter-spacing: .07em; }
      .service-page--creation .service-page__cta .eyebrow::before { background: var(--service-page-accent); }
      .service-page--creation .service-page__cta .eyebrow::after { background: var(--ink); }
      .service-page--creation .service-page__cta h2 { color: #edebfa; }
      @media (hover: hover) and (pointer: fine) {
        .service-page--creation .service-page__benefits article:hover,
        .service-page--creation .service-page__moment-list article:hover,
        .service-page--creation .service-page__steps li:hover { transform: translateY(-3px); border-color: rgba(105, 117, 29, .45); background: #f7fad9; }
      }
      .service-page--creation .service-page__benefits article:focus-within,
      .service-page--creation .service-page__moment-list article:focus-within,
      .service-page--creation .service-page__steps li:focus-within { outline: 3px solid #735fe5; outline-offset: 3px; }
      @media (max-width: 900px) {
        .service-page--creation { --service-section-space: 70px; --service-inner-gap: 32px; --service-card-padding: 32px; }
        .service-page--creation .service-page__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
      @media (max-width: 600px) {
        .service-page--creation { --service-section-space: 64px; --service-card-padding: 24px; }
        .service-page--creation .service-page__editorial-grid,
        .service-page--creation .service-page__scope-grid,
        .service-page--creation .service-page__moment-list,
        .service-page--creation .service-page__steps { margin-top: 45px; }
        .service-page--creation .service-page__moment-list article,
        .service-page--creation .service-page__steps li { min-height: 0; padding: 24px; }
        .service-page--creation .service-page__steps { grid-template-columns: 1fr; }
        .service-page--creation .service-page__faq .faq-q { min-height: 78px; padding: 18px; font-size: 18px; }
        .service-page--creation .service-page__faq .faq-a p { padding: 0 18px 20px; }
      }

      /* Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa — www.dantetesta.com.br */
      /* Criação de Sites: ritmo vertical e FAQ isolados de regras genéricas. */
      @media (min-width: 901px) {
        .service-page--creation { --service-section-space: 120px; }
        .service-page--creation .service-page__hero { min-height: 0; }
        .service-page--creation .service-page__hero .blog-archive__hero-content { padding: 120px 24px 80px; }
        .service-page--creation .service-page__process { margin-top: 0; padding-block: var(--service-section-space); }
        .service-page--creation .service-page__deliverables,
        .service-page--creation .service-page__cta { margin-top: var(--service-section-space); }
        .service-page--creation .service-page__cta { margin-bottom: var(--service-section-space); }
      }
      .service-page--creation .service-page__faq .service-page__section-heading > .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        width: fit-content;
        padding: 4px 10px 4px 4px;
        font-size: 10px;
      }
      .service-page--creation .service-page__faq .service-page__section-heading > .eyebrow::before {
        flex: 0 0 30px;
        width: 30px;
        height: 19px;
      }
      .service-page--creation .service-page__faq .service-page__section-heading > .eyebrow::after {
        left: 13px;
        width: 11px;
        height: 11px;
      }
      .service-page--creation .service-page__faq .faq-a {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        padding: 0 !important;
      }
      .service-page--creation .service-page__faq .faq-a p {
        min-height: 0;
        padding: 0 !important;
        overflow: hidden;
      }
      .service-page--creation .service-page__faq .faq-item.open .faq-a {
        grid-template-rows: 1fr;
        padding: 22px 28px 28px !important;
      }
      @media (max-width: 900px) {
        .service-page--creation .service-page__hero .blog-archive__hero-content { padding: 96px 24px 64px; }
      }
      @media (max-width: 600px) {
        .service-page--creation .service-page__hero .blog-archive__hero-content { padding: 80px 20px 56px; }
        .service-page--creation .service-page__faq .faq-item.open .faq-a { padding: 18px 18px 20px !important; }
      }

      /* Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa — www.dantetesta.com.br */
      /* Manutenção de Sites: tokens derivados do card de serviço correspondente. */
      .service-page--maintenance {
        --service-page-accent: #ffe7b3;
        --service-page-ink: #795905;
      }
      .service-page--maintenance .service-page__feature-art { background: linear-gradient(145deg, #ffe7b3, #fff6e1); }
      .service-page--maintenance .service-page__deliverables { background: linear-gradient(135deg, #fff, #fff6e1); }
      .service-page--maintenance .service-page__benefits article > span,
      .service-page--maintenance .service-page__scope-grid li::before,
      .service-page--maintenance .service-page__deliverables li::before,
      .service-page--maintenance .service-page__steps li > span:first-child { background-color: #ffecbd; color: #795905; }
      .service-page--maintenance .service-page__faq .faq-item.open { background: color-mix(in srgb, #ffe7b3 42%, #fff); }
      .service-page--maintenance .service-page__faq .faq-item.open { border-color: rgba(160, 118, 13, .5); box-shadow: 0 10px 24px rgba(160, 118, 13, .08); }
      .service-page--maintenance .service-page__faq .faq-q:focus-visible { outline-color: #a0760d; }
      .service-page--maintenance .service-page__cta h2 { color: #fff6e1; }
      @media (hover: hover) and (pointer: fine) {
        .service-page--maintenance .service-page__benefits article:hover,
        .service-page--maintenance .service-page__moment-list article:hover,
        .service-page--maintenance .service-page__steps li:hover { border-color: rgba(160, 118, 13, .45); background: #fff6e1; }
      }

      /* Serviço: CTA e ícones conservam a assinatura de cor em todas as páginas. */
      .service-page .service-page__cta h2 strong { color: var(--service-page-accent); }
      .service-page .service-page__cta-button { border-color: var(--service-page-accent); background: var(--service-page-accent); color: var(--ink); }
      .service-page .service-page__cta-button:hover,
      .service-page .service-page__cta-button:focus-visible { border-color: #fff; background: #fff; color: var(--service-page-ink); }
      .service-page .service-page__benefits article > span { align-self: start; margin-top: 2px; }
      .service-page .service-page__scope-grid li::before,
      .service-page .service-page__deliverables li::before { top: 50%; transform: translateY(-50%); }

      /* SEO para Sites: tokens derivados do card de SEO da home. */
      .service-page--seo { --service-page-accent: #cec7ff; --service-page-ink: #403972; }
      .service-page--seo .service-page__feature-art { background: linear-gradient(145deg, #cec7ff, #f0eeff); }
	  .service-page--seo .service-page__hero .eyebrow::before { background: #403972; }
	  .service-page--seo .service-page__hero .eyebrow::after { background: #fff; }
      .service-page--seo .service-page__deliverables { background: linear-gradient(135deg, #fff, #f0eeff); }
      .service-page--seo .service-page__benefits article > span,
      .service-page--seo .service-page__scope-grid li::before,
      .service-page--seo .service-page__deliverables li::before,
      .service-page--seo .service-page__steps li > span:first-child { background-color: #dad7ff; color: #403972; }
      .service-page--seo .service-page__faq .faq-item.open { border-color: rgba(64, 57, 114, .5); background: color-mix(in srgb, #cec7ff 42%, #fff); box-shadow: 0 10px 24px rgba(64, 57, 114, .08); }
      .service-page--seo .service-page__faq .faq-q:focus-visible { outline-color: #403972; }
      .service-page--seo .service-page__cta h2 { color: #f0eeff; }
      @media (hover: hover) and (pointer: fine) {
        .service-page--seo .service-page__benefits article:hover,
        .service-page--seo .service-page__moment-list article:hover,
        .service-page--seo .service-page__steps li:hover { border-color: rgba(64, 57, 114, .45); background: #f0eeff; }
      }
/* Altura e ritmo vertical da mini-hero dos arquivos de blog. */
@media (min-width: 901px) {
	.blog-archive:not(.service-page) .blog-archive__hero {
		min-height: 0;
	}

	.blog-archive:not(.service-page) .blog-archive__hero-content {
		min-height: 0;
		padding: 120px 24px 80px;
	}
}

@media (max-width: 900px) {
	.blog-archive:not(.service-page) .blog-archive__hero {
		min-height: 0;
	}

	.blog-archive:not(.service-page) .blog-archive__hero-content {
		min-height: 0;
		padding: 96px 24px 64px;
	}
}

@media (max-width: 600px) {
	.blog-archive:not(.service-page) .blog-archive__hero-content {
		padding: 80px 20px 56px;
	}
}

/* Páginas legais: reutilizam a mini-hero do blog e organizam a leitura em um único bloco. */
.legal-page__content {
	padding-top: 120px;
	padding-bottom: 120px;
}

.legal-page__box {
	max-width: 960px;
	margin-inline: auto;
	padding: clamp(28px, 5vw, 64px);
	border: 1px solid rgba(29, 28, 33, .18);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 0 10px 24px rgba(29, 28, 33, .07);
}

.legal-page__box > :first-child {
	margin-top: 0;
}

.legal-page__box > :last-child {
	margin-bottom: 0;
}

.legal-page__box h2,
.legal-page__box h3 {
	font-family: var(--font-display);
	letter-spacing: -.035em;
}

.legal-page__box h2 {
	margin: 56px 0 16px;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.08;
}

.legal-page__box h3 {
	margin: 28px 0 10px;
	font-size: clamp(21px, 2vw, 26px);
	line-height: 1.15;
}

.legal-page__box p,
.legal-page__box li {
	color: var(--description);
	font-size: 16px;
	line-height: 1.6;
}

.legal-page__box p {
	margin: 0 0 18px;
}

.legal-page__box ul {
	margin: 0 0 18px;
	padding-left: 22px;
}

.legal-page__box li + li {
	margin-top: 8px;
}

@media (max-width: 767px) {
	.blog-section {
		padding-top: 80px;
	}

	.legal-page__content {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.legal-page__box h2 {
		margin-top: 42px;
	}
}
/* Ícones escolhidos pelo Editor Visual: preserva máscaras CSS de badges e caixas no front-end. */
.risian-editor-icon-custom[data-risian-icon-pseudo="before"]::before {
	-webkit-mask-image: var(--risian-editor-icon-url) !important;
	mask-image: var(--risian-editor-icon-url) !important;
}

.risian-editor-icon-custom[data-risian-icon-pseudo="after"]::after {
	-webkit-mask-image: var(--risian-editor-icon-url) !important;
	mask-image: var(--risian-editor-icon-url) !important;
	background-color: var(--risian-editor-icon-color, currentColor) !important;
}
/* Navegação: indicador discreto de leitura, compartilhado pelos menus 1, 2 e móvel. */
.nav-links a,
.drawer-links a {
  position: relative;
  isolation: isolate;
  text-decoration: none;
}
.nav-links a::after,
.drawer-links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  opacity: .78;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .14s cubic-bezier(.22,.7,.2,1);
}

/* Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa — www.dantetesta.com.br */
/* Preferências de cookies: controle discreto, sem bloquear a navegação. */
.footer-cookie-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: color .2s ease;
}
.footer-cookie-link:hover,
.footer-cookie-link:focus-visible { color: #e4f263; }
.cookie-preferences {
  position: fixed;
  z-index: 1002;
  bottom: 20px;
  left: 20px;
  width: min(360px, calc(100vw - 32px));
  color: #edebfa;
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .2s ease, transform .2s ease;
}
.cookie-preferences.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.cookie-preferences__content {
  padding: 20px;
  border: 1px solid rgba(237, 235, 250, .2);
  border-radius: 16px;
  background: #26252b;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .26);
}
.cookie-preferences__eyebrow {
  margin: 0 0 5px;
  color: #e4f263;
  font-family: var(--font-accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.cookie-preferences h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
}
.cookie-preferences p:not(.cookie-preferences__eyebrow) {
  margin: 10px 0 16px;
  color: rgba(237, 235, 250, .76);
  font-size: 12px;
  line-height: 1.55;
}
.cookie-preferences__actions { display: flex; gap: 8px; }
.cookie-preferences__button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #e4f263;
  border-radius: 9px;
  background: #e4f263;
  color: #1d1c21;
  font: 700 12px/1 var(--font-body);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.cookie-preferences__button--secondary {
  border-color: rgba(237, 235, 250, .36);
  background: transparent;
  color: #edebfa;
}
.cookie-preferences__button:hover,
.cookie-preferences__button:focus-visible { border-color: #fff; background: #fff; color: #1d1c21; }
.cookie-preferences__privacy {
  display: inline-block;
  margin-top: 13px;
  color: rgba(237, 235, 250, .7);
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cookie-preferences__privacy:hover,
.cookie-preferences__privacy:focus-visible { color: #e4f263; }

/* Página de nicho médico: ritmo próprio, sem replicar a composição jurídica. */
.seo-niche-page--medical .medical-opening {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 42px;
  align-items: center;
  margin-bottom: 60px;
}
.seo-niche-page--medical .medical-opening .long-copy { margin: 0; }
.seo-niche-page--medical .medical-stat-band { margin: 0; gap: 14px; }
.seo-niche-page--medical .medical-stat-band .stat-item { padding: 20px 14px; }
.seo-niche-page--medical .medical-card-grid { margin-bottom: 60px; }
.seo-niche-page--medical .medical-ethics-card {
  margin: 42px auto 58px;
  max-width: 980px;
  background: var(--lime);
  color: var(--ink);
}
.seo-niche-page--medical .medical-ethics-card blockquote,
.seo-niche-page--medical .medical-ethics-card .cite { color: var(--ink); }
.seo-niche-page--medical .medical-ethics-card .cite { opacity: .72; }
@media (max-width: 900px) {
  .seo-niche-page--medical .medical-opening { grid-template-columns: 1fr; gap: 28px; }
}

/* Microinterações exclusivas da home: discretas, sem reflow e com acesso a reduzir movimento. */
.home .risian-home-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity .58s ease, transform .68s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--risian-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.home .risian-home-reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.risian-editor-mode .risian-home-reveal { opacity: 1; transform: none; transition: none; }
@media (max-width: 600px) {
  .cookie-preferences { bottom: 12px; left: 16px; }
  .cookie-preferences__content { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-preferences { transition: none; }
}
.nav-links a:hover,
.nav-links a:focus-visible {
  opacity: 1;
}
.nav-links a:hover::after,
.nav-links a:focus-visible::after,
.drawer-links a:hover::after,
.drawer-links a:focus-visible::after {
  transform: scaleX(1);
  transition-duration: .32s;
}
.nav-links a:focus-visible,
.drawer-links a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 6px;
}
@media (max-width: 1200px) {
  .drawer-links a {
    justify-self: start;
  }
  .drawer-links a::after {
    bottom: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav-links a::after,
  .drawer-links a::after {
    transition: none;
  }
}

/* Consentimento do formulário: checkbox e texto formam um único bloco legível. */
.form-side .form-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 15px 0 0;
  color: #1d1c21;
  font-size: 12px;
  line-height: 1.45;
}
.form-side .form-consent input {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin: 2px 0 0;
  accent-color: #1d1c21;
}
.form-side .form-consent__text {
  min-width: 0;
}
.form-side .form-consent a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.form-side .form-consent a:hover,
.form-side .form-consent a:focus-visible {
  color: #1d1c21;
  text-decoration-thickness: 2px;
}
