/* ─── RESET & TOKENS ──────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --teal:         #9B6232;
      --teal-l:       #B8783C;
      --teal-d:       #7A4A22;
      --blue:         #1A6BC8;
      --blue-l:       #4A93E0;
      --blue-d:       #0D4A96;
      --dark:         #080808;
      --dark-2:       #0F0F0F;
      --dark-3:       #181818;
      --text:         #E2EAF6;
      --text-2:       #7A8FAD;
      --font:         'Poppins', sans-serif;
      --max:          1240px;
      --r-card:       20px;
      --ease:         cubic-bezier(0.16, 1, 0.3, 1);
    }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      font-family: var(--font);
      background: var(--dark);
      color: var(--text);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    .container {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0;
    }

    img { max-width: 100%; display: block; }
    a { text-decoration: none; }
    .no-margin { margin: 0 !important; }
    .delay-10 { transition-delay: .10s; }
    .delay-14 { transition-delay: .14s; }
    .delay-18 { transition-delay: .18s; }
    .delay-20 { transition-delay: .20s; }
    .delay-28 { transition-delay: .28s; }

    /* ─── CURSOR ──────────────────────────────────────────── */
    .cursor-dot {
      width: 7px; height: 7px;
      background: var(--teal);
      border-radius: 50%;
      position: fixed; top: 0; left: 0;
      pointer-events: none; z-index: 9999;
      transform: translate(-50%, -50%);
      will-change: left, top;
    }
    .cursor-ring {
      width: 34px; height: 34px;
      border: 1.5px solid rgba(155,98,50,0.5);
      border-radius: 50%;
      position: fixed; top: 0; left: 0;
      pointer-events: none; z-index: 9998;
      transform: translate(-50%, -50%);
      will-change: left, top;
      transition: width 0.3s var(--ease), height 0.3s var(--ease), opacity 0.3s;
    }
    body:has(a:hover) .cursor-ring,
    body:has(button:hover) .cursor-ring {
      width: 50px; height: 50px;
      opacity: 0.35;
    }

    /* ─── SCROLL PROGRESS ─────────────────────────────────── */
    #scroll-prog {
      position: fixed; top: 0; left: 0; right: 0;
      height: 2px; background: var(--teal);
      transform-origin: left; transform: scaleX(0);
      z-index: 200; transition: transform 0.1s linear;
    }

    /* ─── NAV ─────────────────────────────────────────────── */
    #nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      padding: 22px 0;
      transition: padding 0.4s var(--ease), background 0.4s, box-shadow 0.4s;
    }
    #nav.scrolled {
      padding: 14px 0;
      background: rgba(8,8,8,0.96);
      backdrop-filter: blur(20px) saturate(150%);
      -webkit-backdrop-filter: blur(20px) saturate(150%);
      box-shadow: 0 1px 0 rgba(255,255,255,0.05);
    }
    .nav-inner {
      display: flex; align-items: center;
      justify-content: space-between; gap: 24px;
    }
    .nav-logo img {
      height: 74px; width: auto;
      filter: brightness(0) invert(1);
      transition: opacity 0.2s;
    }
    .nav-logo:hover img { opacity: 0.75; }

    .nav-links {
      display: flex; align-items: center; gap: 32px;
      list-style: none;
    }
    .nav-links a {
      font-size: 0.84rem; font-weight: 500; letter-spacing: 0.025em;
      color: rgba(255,255,255,0.78);
      position: relative; transition: color 0.2s;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
      height: 1.5px; background: var(--teal);
      transform: scaleX(0); transform-origin: left;
      transition: transform 0.3s var(--ease);
    }
    .nav-links a:hover { color: #fff; }
    .nav-links a:hover::after { transform: scaleX(1); }

    .nav-cta {
      background: var(--teal); color: #fff;
      padding: 10px 22px; border-radius: 6px;
      font-size: 0.84rem; font-weight: 600; letter-spacing: 0.01em;
      transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 2px 12px rgba(155,98,50,0.3);
    }
    .nav-cta:hover {
      background: var(--teal-d);
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(155,98,50,0.4);
    }

    .nav-hamburger {
      display: none; flex-direction: column; gap: 5px;
      background: none; border: none; cursor: pointer; padding: 4px;
    }
    .nav-hamburger span {
      display: block; width: 24px; height: 2px;
      background: #fff; border-radius: 2px;
      transition: transform 0.35s var(--ease), opacity 0.2s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* ─── MOBILE NAV ──────────────────────────────────────── */
    .nav-mobile {
      display: none;
      position: fixed; inset: 0; z-index: 90;
      background: rgba(8,8,8,0.99);
      backdrop-filter: blur(24px);
      flex-direction: column; align-items: center; justify-content: center; gap: 36px;
    }
    .nav-mobile.open { display: flex; }
    .nav-mobile a {
      font-size: 1.6rem; font-weight: 700; color: #fff;
      transition: color 0.2s;
    }
    .nav-mobile a:hover { color: var(--teal); }
    .nav-mobile-cta {
      margin-top: 8px;
      background: var(--teal) !important;
      padding: 14px 40px !important; border-radius: 8px;
      font-size: 1rem !important;
    }

    /* ─── HERO ────────────────────────────────────────────── */
    #hero {
      min-height: 90svh;
      background: #0B1D3A;
      position: relative; overflow: hidden;
      display: flex; align-items: stretch;
      padding: 120px 0 0;
    }

    /* Texture overlay */
    .hero-tex {
      position: absolute; inset: 0;
      background-image: url('../bg-dougoliveiramkt.png');
      background-size: cover; background-position: center;
      opacity: 0.06; mix-blend-mode: overlay;
      pointer-events: none;
    }

    /* Noise grain */
    .hero-grain {
      position: absolute; inset: 0; z-index: 1;
      opacity: 0.04; pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-repeat: repeat; background-size: 200px;
    }

    /* Blue organic blobs */
    .blob {
      position: absolute;
      border-radius: 60% 40% 55% 45% / 50% 55% 45% 50%;
      background: #0B1D3A;
      pointer-events: none;
    }
    .blob-l {
      width: 62vw; aspect-ratio: 1;
      left: -28%; top: -30%;
      opacity: 1;
      animation: morph-l 14s ease-in-out infinite;
    }
    .blob-r {
      width: 66vw; aspect-ratio: 1;
      right: -28%; bottom: -32%;
      background: #071428;
      border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
      opacity: 1;
      animation: morph-r 17s ease-in-out infinite;
    }
    .blob-accent {
      width: 22vw; aspect-ratio: 1;
      right: 22%; top: -8%;
      background: #1A3B72;
      opacity: 0.5;
      filter: blur(40px);
      animation: morph-l 10s ease-in-out infinite reverse;
    }

    @keyframes morph-l {
      0%,100% { border-radius: 60% 40% 55% 45%/50% 55% 45% 50%; transform: translate(0,0) scale(1); }
      33%      { border-radius: 50% 50% 65% 35%/45% 60% 40% 55%; transform: translate(1.5%,2%) scale(1.02); }
      66%      { border-radius: 70% 30% 50% 50%/60% 40% 60% 40%; transform: translate(-1%,0.5%) scale(0.99); }
    }
    @keyframes morph-r {
      0%,100% { border-radius: 45% 55% 40% 60%/55% 45% 60% 40%; transform: translate(0,0) scale(1); }
      50%      { border-radius: 55% 45% 60% 40%/40% 60% 35% 65%; transform: translate(-2%,-1.5%) scale(1.03); }
    }

    /* Hero layout */
    .hero-inner {
      position: relative; z-index: 2;
      display: grid;
      grid-template-columns: 1fr 560px;
      align-items: stretch;
      min-height: 80svh;
      padding: 0;
      gap: 0;
      width: 1240px;
    }

    .hero-content {
      padding-right: 48px;
      padding-top: 10px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    /* Pre-label */
    .hero-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em;
      text-transform: uppercase; color: rgba(255,255,255,0.88);
      margin-bottom: 20px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.15s forwards;
    }
    .hero-eyebrow span {
      display: block; width: 32px; height: 1.5px;
      background: rgba(255,255,255,0.6); border-radius: 2px;
    }

    /* Big identity title */
    .hero-identity {
      margin-bottom: 36px;
    }
    .identity-thin {
      display: block;
      font-size: clamp(1.6rem, 3.5vw, 2.8rem);
      font-weight: 300; line-height: 1.15;
      color: rgba(255,255,255,0.92);
      letter-spacing: -0.01em;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.28s forwards;
    }
    .identity-bold {
      display: block;
      font-size: clamp(2.8rem, 6vw, 5.5rem);
      font-weight: 900; line-height: 0.92;
      letter-spacing: -0.03em;
      color: #fff;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.38s forwards;
    }
    .identity-bold-2 {
      display: block;
      font-size: clamp(2.8rem, 6vw, 5.5rem);
      font-weight: 900; line-height: 0.92;
      letter-spacing: -0.03em;
      color: #fff;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.46s forwards;
    }

    /* Divider rule */
    .hero-rule {
      width: 48px; height: 2px;
      background: rgba(255,255,255,0.4);
      border-radius: 2px;
      margin: 28px 0;
      opacity: 0; animation: anim-up 0.6s var(--ease) 0.54s forwards;
    }

    /* Sub-copy */
    .hero-copy {
      font-size: clamp(1rem, 1.4vw, 1.1rem);
      font-weight: 400; line-height: 1.75;
      color: rgba(255,255,255,0.82);
      max-width: 480px;
      margin-bottom: 40px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.62s forwards;
    }
    .hero-copy strong {
      color: #fff; font-weight: 700;
      font-style: italic;
    }

    /* CTA row */
    .hero-actions {
      display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.74s forwards;
    }

    .btn-primary {
      background: var(--teal); color: #fff;
      padding: 14px 32px; border-radius: 7px;
      font-size: 0.95rem; font-weight: 700; letter-spacing: 0.01em;
      transition: background 0.2s, color 0.2s, transform 0.25s var(--ease), box-shadow 0.25s;
      box-shadow: 0 4px 24px rgba(155,98,50,0.3);
    }
    .btn-primary:hover {
      background: var(--teal-d); color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 10px 32px rgba(155,98,50,0.4);
    }

    .btn-ghost {
      color: rgba(255,255,255,0.85);
      font-size: 0.9rem; font-weight: 500; letter-spacing: 0.02em;
      border-bottom: 1.5px solid rgba(255,255,255,0.35);
      padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
    }
    .btn-ghost:hover { color: #fff; border-color: #fff; }

    /* Stat strip */
    .hero-stats {
      display: flex; align-items: center; gap: 32px;
      margin-top: 52px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.86s forwards;
    }
    .hstat-num {
      display: block;
      font-size: 2rem; font-weight: 900;
      color: #fff; line-height: 1; letter-spacing: -0.02em;
    }
    .hstat-label {
      display: block;
      font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(255,255,255,0.6);
      margin-top: 3px;
    }
    .hstat-sep {
      width: 1px; align-self: stretch;
      background: rgba(255,255,255,0.2); flex-shrink: 0;
    }

    /* Hero photo column */
    .hero-photo {
      position: relative;
      align-self: stretch;
      overflow: hidden;
      opacity: 0; animation: anim-photo 0.9s var(--ease) 0.42s forwards;
    }
    .hero-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      position: relative;
      z-index: 2;
      display: block;
      bottom: 0px;
    }

    /* Ring decorations behind photo */
    .photo-halo {
      position: absolute; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.12);
      left: 50%; transform: translateX(-50%);
      bottom: 0;
    }
    .ph-1 { width: 480px; height: 480px; }
    .ph-2 { width: 360px; height: 360px; border-color: rgba(255,255,255,0.07); }

    /* Scroll indicator */
    .hero-scroll {
      position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
      z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 6px;
      opacity: 0; animation: anim-up 0.6s var(--ease) 1.1s forwards;
    }
    .sc-dot {
      width: 5px; height: 5px; border-radius: 50%;
      background: rgba(255,255,255,0.75);
      animation: sc-bounce 2.2s ease-in-out infinite;
    }
    .sc-line {
      width: 1px; height: 44px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.5), transparent);
    }
    @keyframes sc-bounce {
      0%,100% { transform: translateY(0); opacity: 1; }
      50%      { transform: translateY(8px); opacity: 0.3; }
    }

    @keyframes anim-up {
      from { opacity: 0; transform: translateY(26px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes anim-photo {
      from { opacity: 0; transform: translateX(28px); }
      to   { opacity: 1; transform: translateX(0); }
    }

    /* ─── MARQUEE ─────────────────────────────────────────── */
    .marquee-band {
      background: var(--dark-2); overflow: hidden;
      padding: 16px 0; border-top: 1px solid rgba(255,255,255,0.04);
    }
    .marquee-track {
      display: flex; align-items: center; gap: 40px;
      width: max-content;
      animation: marquee 26s linear infinite;
    }
    .marquee-track span {
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em;
      text-transform: uppercase; color: rgba(255,255,255,0.25);
      white-space: nowrap;
    }
    .marquee-track .dot { color: var(--teal); font-size: 0.6rem; }
    @keyframes marquee {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }

    /* ─── SECTION BASE ────────────────────────────────────── */
    section { padding: 120px 0; }

    .s-label {
      display: inline-flex; align-items: center; gap: 12px;
      font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
      text-transform: uppercase; color: var(--teal);
      margin-bottom: 20px;
    }
    .s-label::after {
      content: ''; display: block;
      width: 36px; height: 1.5px; background: currentColor;
    }

    .s-title {
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      font-weight: 800; line-height: 1.1; letter-spacing: -0.02em;
      color: #fff; margin-bottom: 20px;
    }

    /* ─── SCROLL REVEAL ───────────────────────────────────── */
    [data-r] {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
    }
    [data-r].in {
      opacity: 1; transform: translateY(0);
    }

    /* ─── SOBRE ───────────────────────────────────────────── */
    #sobre {
      background: #060E1C;
      position: relative; overflow: hidden;
    }

    /* Blobs exclusivos da seção Sobre — mais escuros que o hero */
    .sobre-blob {
      position: absolute;
      border-radius: 60% 40% 55% 45% / 50% 55% 45% 50%;
      pointer-events: none;
    }
    .sobre-blob-l {
      width: 55vw; aspect-ratio: 1;
      left: -24%; top: -20%;
      background: #040B18;
      opacity: 0.9;
      animation: morph-l 16s ease-in-out infinite;
    }
    .sobre-blob-r {
      width: 50vw; aspect-ratio: 1;
      right: -22%; bottom: -28%;
      background: #030810;
      border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
      opacity: 0.85;
      animation: morph-r 19s ease-in-out infinite;
    }
    .sobre-blob-accent {
      width: 30vw; aspect-ratio: 1;
      left: 30%; top: 10%;
      background: #0D2448;
      opacity: 0.25;
      filter: blur(60px);
      animation: morph-l 12s ease-in-out infinite reverse;
    }

    #sobre .container {
      position: relative; z-index: 2;
    }

    .sobre-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: start;
    }

    .sobre-copy p {
      font-size: 1.02rem; font-weight: 400; line-height: 1.82;
      color: rgba(255,255,255,0.65);
      margin-bottom: 20px;
    }
    .sobre-copy p strong { color: #fff; font-weight: 600; }
    .sobre-copy p:last-child { margin-bottom: 0; }

    .formacao {
      margin-top: 36px;
      padding: 26px 28px; border-radius: 14px;
      background: rgba(26,107,200,0.07);
      border: 1px solid rgba(26,107,200,0.2);
    }
    .formacao-tag {
      font-size: 0.67rem; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--blue-l);
      margin-bottom: 12px;
    }
    .formacao ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
    .formacao li {
      font-size: 0.9rem; font-weight: 400; line-height: 1.5;
      color: rgba(255,255,255,0.65);
      padding-left: 18px; position: relative;
    }
    .formacao li::before {
      content: '—'; position: absolute; left: 0;
      color: var(--blue-l); font-weight: 600;
    }
    .formacao li strong { color: #fff; display: block; }

    .brands-row { margin-top: 36px; }
    .brands-row-label {
      font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: rgba(255,255,255,0.28);
      margin-bottom: 14px;
    }
    .brands-chips {
      display: flex; flex-wrap: wrap; gap: 8px;
    }
    .chip {
      padding: 5px 14px; border-radius: 100px;
      border: 1px solid rgba(255,255,255,0.1);
      font-size: 0.78rem; font-weight: 500;
      color: rgba(255,255,255,0.5);
      transition: border-color 0.25s, color 0.25s;
    }
    .chip:hover { border-color: rgba(155,98,50,0.45); color: rgba(255,255,255,0.88); }

    /* Stats quadrant */
    .sobre-stats {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 3px;
      border-radius: 20px; overflow: hidden;
    }
    .sq {
      background: #030810;
      padding: 36px 28px;
      transition: background 0.25s;
    }
    .sq:hover { background: #1e1e1e; }
    .sq .num {
      font-size: 3.4rem; font-weight: 900; line-height: 1;
      color: var(--teal); display: block; margin-bottom: 10px;
      letter-spacing: -0.02em;
    }
    .sq .desc strong {
      display: block; font-size: 0.93rem; font-weight: 600;
      color: rgba(255,255,255,0.85); margin-bottom: 3px;
    }
    .sq .desc span {
      font-size: 0.8rem; color: rgba(255,255,255,0.4); line-height: 1.5;
    }

    /* ─── MANIFESTO ───────────────────────────────────────── */
    #manifesto {
      background: #0F2550;
      padding: 110px 0;
      position: relative; overflow: hidden;
    }
    .manifesto-deco {
      position: absolute; top: -60px; left: -20px;
      font-size: 460px; font-weight: 900; line-height: 1;
      color: rgba(255,255,255,0.04); font-family: var(--font);
      pointer-events: none; user-select: none;
    }
    .manifesto-inner { position: relative; z-index: 1; }
    .manifesto-text {
      font-size: clamp(1.5rem, 3vw, 2.5rem);
      font-weight: 700; line-height: 1.35;
      color: #fff; text-align: center;
      max-width: 800px; margin: 0 auto 28px;
    }
    .manifesto-text em { font-style: italic; font-weight: 300; }
    .manifesto-sig {
      text-align: center;
      font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(255,255,255,0.55);
    }

    /* ─── PROJETOS ────────────────────────────────────────── */
    #projetos {
      background: #111111;
      position: relative; overflow: hidden;
    }

    /* Blobs da seção Projetos — tons de cinza */
    .proj-blob {
      position: absolute;
      border-radius: 60% 40% 55% 45% / 50% 55% 45% 50%;
      pointer-events: none;
    }
    .proj-blob-l {
      width: 50vw; aspect-ratio: 1;
      left: -20%; bottom: -25%;
      background: #0A0A0A;
      opacity: 0.9;
      animation: morph-r 18s ease-in-out infinite;
    }
    .proj-blob-r {
      width: 45vw; aspect-ratio: 1;
      right: -18%; top: -20%;
      background: #0D0D0D;
      border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
      opacity: 0.85;
      animation: morph-l 22s ease-in-out infinite;
    }
    .proj-blob-accent {
      width: 35vw; aspect-ratio: 1;
      right: 25%; bottom: 5%;
      background: #1A1A1A;
      opacity: 0.5;
      filter: blur(70px);
      animation: morph-r 14s ease-in-out infinite reverse;
    }

    #projetos .container {
      position: relative; z-index: 2;
    }

    .projetos-hd {
      display: flex; justify-content: space-between; align-items: flex-end;
      gap: 40px; margin-bottom: 56px;
    }
    .projetos-hd p {
      font-size: 0.92rem; line-height: 1.7;
      color: rgba(255,255,255,0.4);
      max-width: 260px; text-align: right;
    }

    .projetos-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .proj-card {
      background: var(--dark-3); border-radius: var(--r-card);
      padding: 40px 32px; position: relative; overflow: hidden;
      transition: transform 0.35s var(--ease), background 0.25s;
    }
    .proj-card::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--teal), var(--blue));
      transform: scaleX(0); transform-origin: left;
      transition: transform 0.4s var(--ease);
    }
    .proj-card:hover { transform: translateY(-6px); background: #1e1e1e; }
    .proj-card:hover::after { transform: scaleX(1); }

    .proj-num {
      font-size: 5rem; font-weight: 900; line-height: 1;
      color: rgba(255,255,255,0.04); letter-spacing: -0.02em;
      margin-bottom: 20px;
      transition: color 0.25s;
    }
    .proj-card:hover .proj-num { color: rgba(155,98,50,0.08); }

    .proj-tag {
      font-size: 0.67rem; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--teal);
      margin-bottom: 10px;
    }
    .proj-name {
      font-size: 1.3rem; font-weight: 800; line-height: 1.2;
      color: #fff; margin-bottom: 14px; letter-spacing: -0.01em;
    }
    .proj-desc {
      font-size: 0.88rem; font-weight: 400; line-height: 1.7;
      color: rgba(255,255,255,0.5);
    }

    /* ─── PALESTRAS / GALERIA ─────────────────────────────── */
    #palestras {
      background: var(--dark-2);
      padding: 120px 0 0;
    }
    .palestras-header {
      padding-bottom: 56px;
    }
    .palestras-header .s-title { margin-bottom: 12px; }
    .palestras-desc {
      font-size: 1rem; font-weight: 400; line-height: 1.75;
      color: rgba(255,255,255,0.5);
      max-width: 480px;
    }

    /* Mosaic grid usando CSS columns para efeito masonry */
    .gallery-mosaic {
      columns: 5;
      column-gap: 4px;
    }
    .gallery-mosaic-item {
      break-inside: avoid;
      margin-bottom: 4px;
      position: relative;
      overflow: hidden;
      cursor: pointer;
    }
    .gallery-mosaic-item img {
      width: 100%; display: block;
      transition: transform 0.55s var(--ease), filter 0.4s;
      filter: grayscale(15%) brightness(0.88);
    }
    .gallery-mosaic-item:hover img {
      transform: scale(1.06);
      filter: grayscale(0%) brightness(1.02);
    }
    .gallery-mosaic-item::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(26,107,200,0);
      transition: background 0.4s;
      pointer-events: none;
    }
    .gallery-mosaic-item:hover::after { background: rgba(26,107,200,0.1); }

    /* ─── SERVIÇOS ────────────────────────────────────────── */
    #servicos, #consultoria {
      background: #0E0E0E;
      position: relative; overflow: hidden;
    }

    /* Blobs da seção Como posso ajudar — cinza azulado */
    .consult-blob {
      position: absolute;
      border-radius: 60% 40% 55% 45% / 50% 55% 45% 50%;
      pointer-events: none;
    }
    .consult-blob-l {
      width: 48vw; aspect-ratio: 1;
      left: -18%; top: -15%;
      background: #080808;
      opacity: 0.9;
      animation: morph-l 20s ease-in-out infinite;
    }
    .consult-blob-r {
      width: 42vw; aspect-ratio: 1;
      right: -16%; bottom: -20%;
      background: #0B0B0B;
      border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
      opacity: 0.85;
      animation: morph-r 15s ease-in-out infinite;
    }
    .consult-blob-accent {
      width: 28vw; aspect-ratio: 1;
      left: 45%; top: 20%;
      background: #162030;
      opacity: 0.3;
      filter: blur(80px);
      animation: morph-l 11s ease-in-out infinite reverse;
    }

    #consultoria .container {
      position: relative; z-index: 2;
    }

    .servicos-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: start;
    }
    .servicos-lead {
      font-size: 1.02rem; font-weight: 400; line-height: 1.78;
      color: rgba(255,255,255,0.55); max-width: 400px;
      margin-top: 8px;
    }

    .serv-list { list-style: none; border-top: 1px solid rgba(255,255,255,0.07); }
    .serv-item {
      display: flex; align-items: center; justify-content: space-between;
      padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
      transition: padding-left 0.3s var(--ease);
      cursor: default;
    }
    .serv-item:hover { padding-left: 10px; }
    .serv-item:hover .serv-arrow {
      color: var(--teal); transform: translateX(5px);
    }
    .serv-name { font-size: 1.08rem; font-weight: 600; color: #fff; }
    .serv-arrow {
      font-size: 1rem; color: rgba(255,255,255,0.2);
      transition: color 0.25s, transform 0.3s var(--ease);
    }

    /* ─── CTA FINAL ───────────────────────────────────────── */
    #cta {
      background: var(--dark-2);
      padding: 160px 0;
      text-align: center; position: relative; overflow: hidden;
    }
    #cta::before {
      content: '';
      position: absolute; top: -400px; left: 50%; transform: translateX(-50%);
      width: 900px; height: 900px;
      background: radial-gradient(circle, rgba(155,98,50,0.1) 0%, transparent 55%);
      pointer-events: none;
    }
    #cta::after {
      content: '';
      position: absolute; bottom: -200px; right: -100px;
      width: 600px; height: 600px;
      background: radial-gradient(circle, rgba(26,107,200,0.07) 0%, transparent 60%);
      pointer-events: none;
    }

    .cta-label {
      display: inline-flex; align-items: center; gap: 14px;
      font-size: 0.7rem; font-weight: 700; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--teal);
      margin-bottom: 28px; justify-content: center;
    }
    .cta-label span {
      display: block; width: 36px; height: 1.5px;
      background: var(--teal); border-radius: 2px;
    }

    .cta-title {
      font-size: clamp(2.4rem, 5vw, 4.2rem);
      font-weight: 900; line-height: 1.05; letter-spacing: -0.025em;
      color: #fff;
      max-width: 700px; margin: 0 auto 20px;
      position: relative; z-index: 1;
    }
    .cta-title em {
      font-style: italic; font-weight: 300; color: var(--teal);
    }

    .cta-sub {
      font-size: 1.02rem; line-height: 1.75;
      color: rgba(255,255,255,0.45);
      max-width: 460px; margin: 0 auto 52px;
      position: relative; z-index: 1;
    }

    .cta-actions { position: relative; z-index: 1; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

    .btn-cta {
      background: var(--teal); color: #fff;
      padding: 16px 44px; border-radius: 8px;
      font-size: 0.98rem; font-weight: 700; letter-spacing: 0.01em;
      transition: background 0.2s, transform 0.25s var(--ease), box-shadow 0.25s;
      box-shadow: 0 4px 28px rgba(155,98,50,0.35);
    }
    .btn-cta:hover {
      background: var(--teal-d); transform: translateY(-2px);
      box-shadow: 0 10px 40px rgba(155,98,50,0.45);
    }

    .btn-cta-ghost {
      border: 1.5px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.65);
      padding: 16px 44px; border-radius: 8px;
      font-size: 0.98rem; font-weight: 600;
      transition: border-color 0.2s, color 0.2s;
    }
    .btn-cta-ghost:hover { border-color: rgba(255,255,255,0.35); color: #fff; }

    /* ─── FOOTER ──────────────────────────────────────────── */
    footer {
      background: var(--dark);
      border-top: 1px solid rgba(255,255,255,0.05);
      padding: 44px 0;
    }
    .footer-inner {
      display: flex; align-items: center; justify-content: space-between;
      gap: 24px; flex-wrap: wrap;
    }
    .footer-logo img {
      height: 38px; filter: brightness(0) invert(1); opacity: 0.35;
      transition: opacity 0.2s;
    }
    .footer-logo:hover img { opacity: 0.65; }
    .footer-copy {
      font-size: 0.78rem; color: rgba(255,255,255,0.28);
    }
    .footer-links {
      display: flex; gap: 24px; list-style: none;
    }
    .footer-links a {
      font-size: 0.78rem; color: rgba(255,255,255,0.28);
      transition: color 0.2s;
    }
    .footer-links a:hover { color: var(--teal); }

    /* ─── RESPONSIVE ──────────────────────────────────────── */
    @media (max-width: 960px) {
      /* ── Hero mobile ── */
      #hero { min-height: auto; }

      /* Blobs maiores no mobile para cobrir mais da área laranja */
      .blob-l {
        width: 150vw; aspect-ratio: 1;
        left: -50%; top: -15%;
      }
      .blob-r {
        width: 150vw; aspect-ratio: 1;
        right: -50%; bottom: -15%;
      }
      .blob-accent {
        width: 80vw;
        right: 0; top: -5%;
        opacity: 0.4;
      }

      .hero-inner {
        grid-template-columns: 1fr;
        align-items: flex-start;
        min-height: auto;
        padding: 86px 24px 56px;
        gap: 0;
      }

      /* Photo first, smaller, centered */
      .hero-photo {
        order: -1;
        align-self: auto;
        max-height: 280px;
        margin-bottom: 28px;
        justify-content: center;
      }
      .hero-photo img {
        max-width: 240px; width: 100%; margin-left: 0;
        filter: drop-shadow(0 16px 40px rgba(0,0,0,0.3));
      }
      .ph-1,.ph-2 { display: none; }

      /* Content: reset flex centering, stack naturally */
      .hero-content {
        padding-right: 0;
        padding-top: 0;
        padding-bottom: 0;
        display: block;
        min-height: auto;
      }

      .hero-eyebrow { font-size: 0.68rem; margin-bottom: 14px; }
      .identity-thin { font-size: clamp(1.2rem, 4vw, 1.8rem); }
      .identity-bold,
      .identity-bold-2 { font-size: clamp(3rem, 14vw, 5rem); }

      .hero-rule { margin: 20px 0; }
      .hero-copy { font-size: 0.95rem; margin-bottom: 28px; max-width: 100%; }

      .hero-actions { gap: 14px; }
      .btn-primary { padding: 12px 26px; font-size: 0.9rem; }

      /* Stats: horizontal strip */
      .hero-stats {
        gap: 20px; margin-top: 36px;
        flex-wrap: wrap;
      }
      .hstat-num { font-size: 1.6rem; }

      /* Other sections */
      .gallery-mosaic { columns: 3; }
      .sobre-grid { grid-template-columns: 1fr; gap: 48px; }
      .projetos-grid { grid-template-columns: 1fr 1fr; }
      .projetos-hd { flex-direction: column; align-items: flex-start; }
      .projetos-hd p { text-align: left; max-width: 100%; }
      .servicos-grid { grid-template-columns: 1fr; gap: 48px; }

      .nav-links, .nav-cta { display: none; }
      .nav-hamburger { display: flex; }
    }

    @media (max-width: 640px) {
      section { padding: 72px 0; }
      .container { padding: 0 20px; }

      .hero-inner { padding: 86px 20px 48px; }
      .hero-photo img { max-width: 520px; }

      .hero-stats { flex-direction: row; gap: 16px; flex-wrap: wrap; }
      .hstat-sep { width: 1px; height: 36px; align-self: center; }

      .gallery-mosaic { columns: 2; }
      .projetos-grid { grid-template-columns: 1fr; }
      .sobre-stats { grid-template-columns: 1fr 1fr; }
      .cta-title { font-size: clamp(2rem, 8vw, 3rem); }
      .footer-inner { flex-direction: column; text-align: center; }
      .footer-links { justify-content: center; }
    }
    /* ─── CONSULTORIA ISOLADA · REDESIGN EDITORIAL ───────────── */
    :root {
      --brand-orange: #E8692A;
      --brand-orange-soft: #F0874A;
      --brand-blue: #1A6BC8;
      --brand-navy: #0B1D3A;
      --brand-navy-2: #07172D;
      --brand-paper: #F7EFE4;
      --brand-ivory: #FFFBF5;
      --brand-ink: #111820;
      --brand-muted: #697486;
      --brand-line: rgba(17,24,32,.12);
      --teal: var(--brand-orange);
      --teal-l: var(--brand-orange-soft);
      --teal-d: #C2521A;
      --blue: var(--brand-blue);
      --blue-l: #4A93E0;
      --dark: var(--brand-navy-2);
      --dark-2: var(--brand-navy);
      --dark-3: #142642;
      --text: var(--brand-ink);
      --text-2: var(--brand-muted);
      --r-card: 8px;
    }

    body {
      background: var(--brand-paper);
      color: var(--brand-ink);
    }

    .container {
      padding-left: 32px;
      padding-right: 32px;
    }

    .cursor-dot,
    .cursor-ring {
      display: none;
    }

    #nav.scrolled {
      background: rgba(7,23,45,.94);
      box-shadow: 0 1px 0 rgba(255,255,255,.08);
    }

    .nav-cta,
    .btn-primary,
    .btn-cta {
      background: var(--brand-orange);
      border-radius: 8px;
      box-shadow: 0 14px 40px rgba(232,105,42,.24);
    }
    .nav-cta:hover,
    .btn-primary:hover,
    .btn-cta:hover {
      background: #D85C22;
      box-shadow: 0 18px 48px rgba(232,105,42,.30);
    }

    .hero-tex {
      opacity: .045;
    }
    .hero-grain {
      opacity: .025;
    }

    .marquee-band {
      background: var(--brand-ivory);
      color: var(--brand-ink);
      border-top: 1px solid var(--brand-line);
      border-bottom: 1px solid var(--brand-line);
    }
    .marquee-track span {
      color: rgba(17,24,32,.50);
    }
    .marquee-track .dot {
      color: var(--brand-orange);
    }

    section {
      padding: clamp(96px, 12vw, 150px) 0;
      transform: none !important;
      opacity: 1 !important;
    }

    .sobre-blob,
    .proj-blob,
    .consult-blob {
      display: none;
    }

    .s-label {
      color: var(--brand-blue);
      letter-spacing: .18em;
    }
    .s-label::after {
      background: currentColor;
      width: 46px;
    }
    .s-title {
      color: var(--brand-ink);
      letter-spacing: -.055em;
      line-height: .98;
    }

    #sobre {
      background:
        linear-gradient(180deg, var(--brand-paper) 0%, var(--brand-ivory) 100%);
      color: var(--brand-ink);
    }
    .sobre-grid {
      gap: clamp(56px, 7vw, 96px);
      align-items: stretch;
    }
    .sobre-copy p {
      color: var(--brand-muted);
      font-size: 1rem;
      line-height: 1.8;
    }
    .sobre-copy p strong {
      color: var(--brand-ink);
    }
    .formacao {
      background: rgba(255,255,255,.70);
      border: 1px solid var(--brand-line);
      border-radius: 8px;
      box-shadow: 0 22px 70px rgba(17,24,32,.08);
    }
    .formacao-tag {
      color: var(--brand-orange);
    }
    .formacao li {
      color: var(--brand-muted);
    }
    .formacao li::before {
      color: var(--brand-orange);
    }
    .formacao li strong {
      color: var(--brand-ink);
    }
    .brands-row-label {
      color: rgba(17,24,32,.42);
    }
    .chip {
      color: rgba(17,24,32,.68);
      border-color: var(--brand-line);
      background: rgba(255,255,255,.48);
    }
    .chip:hover {
      color: var(--brand-ink);
      border-color: rgba(232,105,42,.42);
    }
    .sobre-stats {
      gap: 12px;
      border-radius: 0;
      overflow: visible;
    }
    .sq {
      background: var(--brand-navy);
      border-radius: 8px;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 28px 80px rgba(11,29,58,.18);
    }
    .sq:hover {
      background: #102A4F;
    }
    .sq .num {
      color: var(--brand-orange-soft);
    }

    #manifesto {
      background: var(--brand-navy);
      color: #fff;
    }
    .manifesto-deco {
      display: none;
    }
    .manifesto-text {
      max-width: 920px;
      text-align: left;
      font-size: clamp(1.8rem, 4vw, 3.6rem);
      line-height: 1.14;
      letter-spacing: -.045em;
    }
    .manifesto-text em {
      color: var(--brand-orange-soft);
    }
    .manifesto-sig {
      max-width: 920px;
      margin: 0 auto;
      text-align: left;
      color: rgba(255,255,255,.58);
    }

    #projetos {
      background: var(--brand-ivory);
      color: var(--brand-ink);
    }
    .projetos-hd {
      align-items: flex-start;
    }
    .projetos-hd p {
      color: var(--brand-muted);
      text-align: left;
      max-width: 330px;
      border-left: 2px solid var(--brand-orange);
      padding-left: 22px;
    }
    .projetos-grid {
      gap: 18px;
    }
    .proj-card {
      background: #fff;
      border: 1px solid var(--brand-line);
      border-radius: 8px;
      box-shadow: 0 24px 80px rgba(17,24,32,.08);
    }
    .proj-card:hover {
      background: #fff;
      transform: translateY(-4px);
    }
    .proj-num {
      color: rgba(232,105,42,.14);
    }
    .proj-card:hover .proj-num {
      color: rgba(232,105,42,.18);
    }
    .proj-tag {
      color: var(--brand-orange);
    }
    .proj-name {
      color: var(--brand-ink);
    }
    .proj-desc {
      color: var(--brand-muted);
    }

    #palestras {
      background: var(--brand-paper);
      color: var(--brand-ink);
      padding-bottom: clamp(90px, 10vw, 130px);
    }
    .palestras-header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
      gap: 44px;
      align-items: end;
      padding-bottom: 48px;
    }
    .palestras-header .s-title {
      margin-bottom: 0;
    }
    .palestras-desc {
      color: var(--brand-muted);
      border-left: 2px solid var(--brand-orange);
      padding-left: 22px;
    }
    .gallery-mosaic {
      columns: 4;
      column-gap: 14px;
      max-width: 1380px;
      margin: 0 auto;
      padding: 0 32px;
    }
    .gallery-mosaic-item {
      margin-bottom: 14px;
      border-radius: 8px;
      box-shadow: 0 18px 54px rgba(17,24,32,.14);
      background: #fff;
    }
    .gallery-mosaic-item img {
      filter: none;
    }
    .gallery-mosaic-item::after {
      background: linear-gradient(180deg, transparent 55%, rgba(11,29,58,.24));
    }
    .gallery-mosaic-item:hover::after {
      background: linear-gradient(180deg, transparent 40%, rgba(232,105,42,.22));
    }

    #consultoria {
      background: var(--brand-navy);
      color: #fff;
    }
    #consultoria .s-title {
      color: #fff;
    }
    .servicos-grid {
      gap: clamp(56px, 7vw, 96px);
    }
    .servicos-lead {
      color: rgba(255,255,255,.62);
      max-width: 520px;
    }
    .serv-list {
      border-top-color: rgba(255,255,255,.14);
      background: rgba(255,255,255,.045);
      border-radius: 8px;
      padding: 8px 28px;
      border: 1px solid rgba(255,255,255,.12);
    }
    .serv-item {
      border-bottom-color: rgba(255,255,255,.12);
    }
    .serv-item:last-child {
      border-bottom: 0;
    }
    .serv-name {
      color: #fff;
      font-size: clamp(1rem, 1.7vw, 1.25rem);
    }
    .serv-arrow {
      color: var(--brand-orange-soft);
    }

    #cta {
      background: var(--brand-ivory);
      color: var(--brand-ink);
    }
    #cta::before,
    #cta::after {
      display: none;
    }
    .cta-title {
      color: var(--brand-ink);
    }
    .cta-title em {
      color: var(--brand-orange);
    }
    .cta-sub {
      color: var(--brand-muted);
    }
    .btn-cta-ghost {
      color: var(--brand-ink);
      border-color: var(--brand-line);
      background: rgba(255,255,255,.42);
    }
    .btn-cta-ghost:hover {
      color: var(--brand-ink);
      border-color: rgba(232,105,42,.38);
    }

    footer {
      background: var(--brand-navy);
    }

    @media (max-width: 960px) {
      .palestras-header {
        grid-template-columns: 1fr;
      }
      .gallery-mosaic {
        columns: 3;
      }
    }
    @media (max-width: 640px) {
      .container,
      .gallery-mosaic {
        padding-left: 20px;
        padding-right: 20px;
      }
      .gallery-mosaic {
        columns: 1;
      }
      .sobre-stats,
      .projetos-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 960px) {
      #nav {
        padding: 18px 0;
      }
      #nav .container {
        padding: 0 22px;
      }
      .nav-logo img {
        height: 56px;
      }
      .nav-hamburger {
        gap: 6px;
      }
      .nav-hamburger span {
        width: 25px;
        height: 2px;
      }
      #hero {
        min-height: 100svh;
        padding-top: 106px;
      }
      .hero-inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        width: 100%;
        max-width: 100%;
        min-height: auto;
        padding: 0 22px 42px;
      }
      .hero-photo {
        order: -1;
        width: 100%;
        height: clamp(330px, 50svh, 460px);
        overflow: visible;
        max-height: none;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        margin: 0 auto -10px;
        opacity: 1;
        animation: none;
      }
      .hero-photo picture {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: min(86vw, 380px);
        max-height: 100%;
      }
      .hero-photo img {
        width: 123%;
        max-width: none;
        height: auto;
        margin-left: 0;
        bottom: 0;
        object-fit: contain;
        object-position: center top;
        right: 27px;
        position: relative;
        transform: translate(3%, -1%);
        filter: drop-shadow(0 18px 42px rgba(0,0,0,.30));
      }
      .hero-content {
        position: relative;
        z-index: 3;
        max-width: 100%;
        margin-top: 0;
      }
      .hero-eyebrow {
        margin-bottom: 12px;
        font-size: 0.66rem;
        letter-spacing: 0.17em;
      }
      .identity-thin {
        font-size: clamp(1.15rem, 5vw, 1.45rem);
        line-height: 1.05;
      }
      .identity-bold,
      .identity-bold-2 {
        font-size: clamp(3.2rem, 12.4vw, 4rem);
        line-height: 0.92;
        letter-spacing: -0.04em;
      }
      .hero-rule {
        margin: 22px 0 0;
      }
    }

    /* ─── CONSULTORIA · CAMADA DE IMPACTO POS-HERO ───────────── */
    .marquee-band {
      background: var(--brand-navy);
      border: 0;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(255,255,255,.08);
    }
    .marquee-track span {
      color: rgba(255,255,255,.46);
    }
    .marquee-track .dot {
      color: var(--brand-orange-soft);
    }

    #sobre,
    #projetos,
    #palestras,
    #consultoria {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    #sobre::before,
    #projetos::before,
    #consultoria::before {
      position: absolute;
      z-index: -1;
      pointer-events: none;
      font-size: clamp(6.4rem, 16vw, 18rem);
      line-height: .75;
      font-weight: 900;
      letter-spacing: -.08em;
      white-space: nowrap;
    }

    #sobre {
      background:
        linear-gradient(90deg, rgba(255,251,245,.94) 0 58%, rgba(247,239,228,.92) 58% 100%),
        radial-gradient(circle at 88% 14%, rgba(232,105,42,.16), transparent 32%);
    }
    #sobre::before {
      content: "ESTRATEGIA";
      top: 42px;
      left: 50%;
      transform: translateX(-50%);
      color: rgba(11,29,58,.045);
    }
    .sobre-grid {
      grid-template-columns: minmax(0, .95fr) minmax(360px, .72fr);
      align-items: start;
    }
    .sobre-copy {
      position: relative;
      padding: clamp(34px, 4vw, 52px) 0;
    }
    .sobre-copy::before {
      content: "";
      position: absolute;
      top: 0;
      left: -32px;
      width: 3px;
      height: 136px;
      background: linear-gradient(180deg, var(--brand-orange), var(--brand-blue));
      border-radius: 99px;
    }
    .sobre-copy .s-title {
      max-width: 820px;
      font-size: clamp(2.7rem, 6vw, 5.6rem);
      margin-bottom: 34px;
    }
    .sobre-copy p {
      max-width: 720px;
      font-size: clamp(1rem, 1.18vw, 1.12rem);
      color: #536071;
    }
    .formacao {
      margin-top: 34px;
      padding: 28px;
      background: #fff;
      border: 1px solid rgba(17,24,32,.10);
      box-shadow: 0 28px 90px rgba(17,24,32,.10);
    }
    .brands-row {
      margin-top: 28px;
    }
    .sobre-stats {
      position: sticky;
      top: 112px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      padding: 0;
      border: 1px solid rgba(11,29,58,.12);
      background: var(--brand-navy);
      box-shadow: 0 34px 110px rgba(11,29,58,.22);
    }
    .sq {
      min-height: 184px;
      padding: 32px 30px;
      border: 0;
      border-bottom: 1px solid rgba(255,255,255,.12);
      border-radius: 0;
      background:
        linear-gradient(135deg, rgba(255,255,255,.08), transparent 44%),
        var(--brand-navy);
      box-shadow: none;
    }
    .sq:last-child {
      border-bottom: 0;
    }
    .sq .num {
      font-size: clamp(3rem, 6vw, 5.6rem);
      line-height: .82;
      letter-spacing: -.07em;
    }
    .sq .num-kotler {
      font-size: 2.6rem;
    }
    .sq .desc strong {
      font-size: 1rem;
    }

    #manifesto {
      padding: clamp(84px, 10vw, 128px) 0;
      background:
        radial-gradient(circle at 15% 20%, rgba(26,107,200,.24), transparent 28%),
        linear-gradient(135deg, #07172D 0%, #0B1D3A 58%, #07172D 100%);
    }
    .manifesto-inner {
      display: grid;
      grid-template-columns: minmax(140px, 220px) 1fr;
      gap: clamp(34px, 6vw, 86px);
      align-items: start;
    }
    .manifesto-inner::before {
      content: "PONTO DE VISTA";
      color: var(--brand-orange-soft);
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
      border-top: 2px solid currentColor;
      padding-top: 18px;
    }
    .manifesto-text {
      max-width: 980px;
      margin: 0;
      font-size: clamp(2.05rem, 4.45vw, 4.35rem);
      line-height: 1.04;
    }
    .manifesto-sig {
      grid-column: 2;
      margin: 18px 0 0;
    }

    #projetos {
      background:
        linear-gradient(180deg, var(--brand-ivory) 0%, #fff 100%);
    }
    #projetos::before {
      content: "CASES";
      right: -4vw;
      top: 68px;
      color: rgba(232,105,42,.075);
    }
    .projetos-hd {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
      gap: clamp(32px, 7vw, 92px);
      align-items: end;
      margin-bottom: 58px;
    }
    .projetos-hd .s-title {
      font-size: clamp(3rem, 7vw, 6.4rem);
    }
    .projetos-hd p {
      max-width: none;
      min-height: 132px;
      display: flex;
      align-items: center;
      font-size: 1.02rem;
      line-height: 1.75;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--brand-line);
      border-left: 4px solid var(--brand-orange);
      padding: 24px 28px;
      box-shadow: 0 24px 80px rgba(17,24,32,.08);
    }
    .projetos-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 22px;
    }
    .proj-card {
      min-height: 420px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      position: relative;
      overflow: hidden;
      padding: clamp(28px, 3vw, 42px);
      border-radius: 8px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,239,228,.82));
    }
    .proj-card:nth-child(1) {
      grid-column: span 5;
      background:
        radial-gradient(circle at 92% 12%, rgba(232,105,42,.22), transparent 34%),
        var(--brand-navy);
      color: #fff;
    }
    .proj-card:nth-child(2) {
      grid-column: span 3;
      margin-top: 42px;
    }
    .proj-card:nth-child(3) {
      grid-column: span 4;
      background:
        radial-gradient(circle at 90% 10%, rgba(26,107,200,.16), transparent 34%),
        #fff;
    }
    .proj-num {
      top: 24px;
      right: 24px;
      font-size: clamp(5rem, 9vw, 9rem);
      line-height: .74;
      color: rgba(11,29,58,.08);
    }
    .proj-card:nth-child(1) .proj-num {
      color: rgba(255,255,255,.13);
    }
    .proj-card:nth-child(1) .proj-name {
      color: #fff;
    }
    .proj-card:nth-child(1) .proj-desc {
      color: rgba(255,255,255,.68);
    }
    .proj-name {
      font-size: clamp(1.55rem, 2.9vw, 2.55rem);
      line-height: .98;
      letter-spacing: -.055em;
    }

    #palestras {
      padding-top: clamp(90px, 10vw, 132px);
      background:
        linear-gradient(180deg, #fff 0%, var(--brand-paper) 100%);
    }
    .palestras-container {
      padding-left: 32px;
      padding-right: 32px;
    }
    .palestras-header {
      grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(280px, 420px);
      gap: clamp(24px, 5vw, 64px);
      align-items: center;
      padding-bottom: 58px;
    }
    .palestras-header .s-title {
      font-size: clamp(3.1rem, 7vw, 6.6rem);
    }
    .palestras-desc {
      align-self: end;
      font-size: 1rem;
      line-height: 1.7;
      background: rgba(255,255,255,.62);
      border: 1px solid var(--brand-line);
      border-left: 4px solid var(--brand-orange);
      padding: 22px 24px;
    }
    .gallery-mosaic {
      position: relative;
      display: block;
      columns: initial;
      column-gap: normal;
      max-width: 1480px;
      padding: 0 32px 24px;
      margin: 0 auto;
    }
    .gallery-mosaic-item {
      position: absolute;
      left: 0;
      top: 0;
      width: calc((100% - 42px) / 4);
      margin: 0;
      border-radius: 8px;
      box-shadow: 0 18px 54px rgba(17,24,32,.14);
      will-change: transform;
      transition: transform .35s var(--ease);
    }
    .gallery-mosaic-item img {
      width: 100%;
      height: auto;
      object-fit: initial;
    }

    #consultoria {
      background:
        radial-gradient(circle at 82% 12%, rgba(232,105,42,.24), transparent 30%),
        linear-gradient(135deg, #07172D 0%, #0B1D3A 100%);
      padding: clamp(104px, 12vw, 156px) 0;
    }
    #consultoria::before {
      content: "METODO";
      left: -3vw;
      bottom: 42px;
      color: rgba(255,255,255,.055);
    }
    .servicos-grid {
      grid-template-columns: minmax(0, .72fr) minmax(420px, 1fr);
      align-items: start;
    }
    #consultoria .s-title {
      font-size: clamp(3rem, 6.5vw, 6.2rem);
      line-height: .92;
    }
    .servicos-lead {
      font-size: clamp(1rem, 1.25vw, 1.16rem);
      line-height: 1.85;
      margin-top: 28px;
      padding-left: 24px;
      border-left: 3px solid var(--brand-orange-soft);
    }
    .serv-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      padding: 0;
      border: 1px solid rgba(255,255,255,.16);
      background: rgba(255,255,255,.05);
      box-shadow: 0 32px 110px rgba(0,0,0,.24);
      backdrop-filter: blur(18px);
    }
    .serv-item {
      position: relative;
      min-height: 112px;
      padding: 28px 30px 28px 92px;
      border-bottom: 1px solid rgba(255,255,255,.12);
      transition: background .25s var(--ease), padding-left .25s var(--ease);
    }
    .serv-item::before {
      content: counter(servicos, decimal-leading-zero);
      counter-increment: servicos;
      position: absolute;
      left: 30px;
      top: 31px;
      color: var(--brand-orange-soft);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .14em;
    }
    .serv-list {
      counter-reset: servicos;
    }
    .serv-item:hover {
      background: rgba(255,255,255,.08);
      padding-left: 104px;
    }
    .serv-name {
      font-size: clamp(1.18rem, 2vw, 1.72rem);
      line-height: 1.1;
      letter-spacing: -.035em;
    }
    .serv-arrow {
      font-size: 1.4rem;
    }

    #cta {
      background:
        linear-gradient(180deg, var(--brand-paper) 0%, var(--brand-ivory) 100%);
    }

    @media (max-width: 960px) {
      .sobre-grid,
      .servicos-grid,
      .projetos-hd,
      .palestras-header,
      .manifesto-inner {
        grid-template-columns: 1fr;
      }
      .palestras-header {
        gap: 24px;
      }
      .sobre-stats {
        position: relative;
        top: auto;
      }
      .projetos-grid {
        grid-template-columns: 1fr;
      }
      .proj-card,
      .proj-card:nth-child(1),
      .proj-card:nth-child(2),
      .proj-card:nth-child(3) {
        grid-column: auto;
        min-height: 340px;
        margin-top: 0;
      }
      .manifesto-sig {
        grid-column: auto;
      }
      .servicos-grid {
        grid-template-columns: 1fr;
        gap: 42px;
      }
      .gallery-mosaic {
        padding-left: 24px;
        padding-right: 24px;
      }
      .gallery-mosaic-item,
      .gallery-mosaic-item:nth-child(6n+1),
      .gallery-mosaic-item:nth-child(6n+2),
      .gallery-mosaic-item:nth-child(6n+3),
      .gallery-mosaic-item:nth-child(6n+4),
      .gallery-mosaic-item:nth-child(6n+5),
      .gallery-mosaic-item:nth-child(6n),
      .gallery-mosaic-item:nth-child(9),
      .gallery-mosaic-item:nth-child(14),
      .gallery-mosaic-item:nth-child(20) {
        width: calc((100% - 14px) / 2);
      }
    }

    @media (max-width: 640px) {
      #sobre::before,
      #projetos::before,
      #consultoria::before {
        display: none;
      }
      .sobre-copy {
        padding-top: 0;
      }
      .sobre-copy::before {
        left: 0;
        height: 80px;
      }
      .sobre-copy .s-title,
      .projetos-hd .s-title,
      .palestras-header .s-title,
      #consultoria .s-title {
        font-size: clamp(2.5rem, 13vw, 4.2rem);
      }
      .sq {
        min-height: 158px;
      }
      .projetos-hd {
        margin-bottom: 32px;
      }
      .projetos-hd p,
      .palestras-desc {
        min-height: 0;
        padding: 20px;
      }
      .proj-card,
      .proj-card:nth-child(1),
      .proj-card:nth-child(2),
      .proj-card:nth-child(3) {
        min-height: 300px;
      }
      .servicos-grid {
        grid-template-columns: 1fr;
      }
      .serv-item {
        min-height: 96px;
        padding: 24px 22px 24px 72px;
      }
      .serv-item::before {
        left: 22px;
        top: 28px;
      }
      .serv-item:hover {
        padding-left: 72px;
      }
      .gallery-mosaic {
        display: block;
        height: auto !important;
        padding-left: 20px;
        padding-right: 20px;
      }
      .gallery-mosaic-item,
      .gallery-mosaic-item:nth-child(6n+1),
      .gallery-mosaic-item:nth-child(6n+2),
      .gallery-mosaic-item:nth-child(6n+3),
      .gallery-mosaic-item:nth-child(6n+4),
      .gallery-mosaic-item:nth-child(6n+5),
      .gallery-mosaic-item:nth-child(6n),
      .gallery-mosaic-item:nth-child(4n+1),
      .gallery-mosaic-item:nth-child(9),
      .gallery-mosaic-item:nth-child(14),
      .gallery-mosaic-item:nth-child(20) {
        position: relative;
        width: 100%;
        transform: none !important;
        margin-bottom: 12px;
      }
      .gallery-mosaic-item img {
        height: auto;
        aspect-ratio: auto;
      }
    }
