@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

    :root {
      --jl-dark: #080c11;
      --jl-dark-2: #0e141b;
      --jl-dark-3: #151c24;
      --jl-red: #e31e36;
      --jl-red-dark: #ba1428;
      --jl-red-soft: #fff1f3;
      --jl-white: #ffffff;
      --jl-soft: #f4f5f6;
      --jl-soft-2: #eceff1;
      --jl-text: #15191e;
      --jl-muted: #646b73;
      --jl-border: #dde1e4;
      --jl-container: 1180px;
      --jl-radius: 14px;
      --jl-radius-lg: 24px;
      --jl-shadow: 0 18px 50px rgba(5, 12, 20, .12);
    }

    .jl-site { scroll-behavior: smooth; }

    .jl-site,
    .jl-site * { box-sizing: border-box; }

    .jl-site {
      position: relative;
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      overflow: clip;
      background: var(--jl-white);
      color: var(--jl-text);
      font-family: "Manrope", Arial, sans-serif;
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
      isolation: isolate;
    }

    .jl-site a { color: inherit; text-decoration: none; }
    .jl-site button,
    .jl-site input,
    .jl-site textarea { font: inherit; }
    .jl-site img { display: block; max-width: 100%; }
    .jl-site h1,
    .jl-site h2,
    .jl-site h3,
    .jl-site p { margin-top: 0; }
    .jl-site h1,
    .jl-site h2,
    .jl-site h3 { line-height: 1.05; letter-spacing: -.035em; }

    .jl-container {
      width: min(var(--jl-container), calc(100% - 48px));
      margin-inline: auto;
    }

    .jl-section { padding: 104px 0; }
    .jl-section-soft { background: var(--jl-soft); }
    .jl-section-dark { background: var(--jl-dark); color: var(--jl-white); }

    .jl-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      color: var(--jl-red);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .jl-eyebrow::before {
      content: "";
      width: 26px;
      height: 2px;
      background: currentColor;
      border-radius: 999px;
    }

    .jl-eyebrow.light { color: #ff6477; }

    .jl-topbar {
      position: relative;
      z-index: 31;
      background: #05080c;
      color: rgba(255,255,255,.72);
      border-bottom: 1px solid rgba(255,255,255,.07);
      font-size: 12px;
      font-weight: 600;
    }

    .jl-topbar-inner {
      min-height: 35px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .jl-topbar-right { display: flex; gap: 22px; align-items: center; }
    .jl-topbar a { color: #fff; }

    .jl-header {
      position: sticky;
      top: 0;
      z-index: 30;
      width: 100%;
      background: rgba(8,12,17,.96);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .jl-nav-wrap {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .jl-brand { flex: 0 0 auto; }
    .jl-brand img {
      width: auto;
      height: 64px;
      object-fit: contain;
    }

    .jl-nav {
      display: flex;
      align-items: center;
      gap: 30px;
      color: rgba(255,255,255,.75);
      font-size: 14px;
      font-weight: 700;
    }

    .jl-nav > a:not(.jl-nav-cta) {
      position: relative;
      padding: 10px 0;
      transition: color .2s ease;
    }

    .jl-nav > a:not(.jl-nav-cta)::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 4px;
      width: 0;
      height: 2px;
      border-radius: 999px;
      background: var(--jl-red);
      transition: width .2s ease;
    }

    .jl-nav > a:not(.jl-nav-cta):hover { color: #fff; }
    .jl-nav > a:not(.jl-nav-cta):hover::after { width: 100%; }

    .jl-nav-cta,
    .jl-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 50px;
      padding: 0 21px;
      border: 0;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
    }

    .jl-nav-cta,
    .jl-btn-primary {
      background: var(--jl-red);
      color: #fff !important;
      box-shadow: 0 10px 24px rgba(227,30,54,.24);
    }

    .jl-nav-cta:hover,
    .jl-btn-primary:hover {
      background: #f0253f;
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(227,30,54,.32);
    }

    .jl-btn-outline {
      color: #fff !important;
      background: transparent;
      border: 1px solid rgba(255,255,255,.24);
    }

    .jl-btn-outline:hover {
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.42);
      transform: translateY(-2px);
    }

    .jl-menu-btn {
      display: none;
      width: 46px;
      height: 46px;
      padding: 0;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 10px;
      background: transparent;
      cursor: pointer;
    }

    .jl-menu-btn span {
      display: block;
      width: 20px;
      height: 2px;
      margin: 4px auto;
      border-radius: 99px;
      background: #fff;
      transition: transform .2s ease, opacity .2s ease;
    }

    .jl-menu-btn.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .jl-menu-btn.is-open span:nth-child(2) { opacity: 0; }
    .jl-menu-btn.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .jl-hero {
      --jl-bg-x: 0px;
      --jl-bg-y: 0px;
      --jl-card-x: 0px;
      --jl-card-y: 0px;
      --jl-card-rx: 0deg;
      --jl-card-ry: 0deg;
      position: relative;
      min-height: 680px;
      padding: 92px 0 76px;
      display: flex;
      align-items: center;
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 12% 16%, rgba(227,30,54,.1), transparent 30%),
        linear-gradient(135deg, #04070b 0%, #0a1017 52%, #04070b 100%);
      color: #fff;
    }

    /* Movimento ambiente inspirado em luz de estúdio, sem competir com o conteúdo */
    .jl-hero-ambient {
      position: absolute;
      z-index: 0;
      inset: -12%;
      overflow: hidden;
      pointer-events: none;
      transform: translate3d(var(--jl-bg-x), var(--jl-bg-y), 0);
      transition: transform .24s cubic-bezier(.2,.7,.2,1);
      will-change: transform;
    }

    .jl-hero-ambient::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 68% 48%, rgba(255,64,88,.09), transparent 22%),
        radial-gradient(circle at 18% 70%, rgba(227,30,54,.08), transparent 25%);
      animation: jl-ambient-breathe 8s ease-in-out infinite alternate;
    }

    .jl-hero-beam {
      position: absolute;
      left: -20%;
      width: 140%;
      border-radius: 999px;
      transform-origin: center;
      will-change: transform, opacity;
    }

    .jl-hero-beam-a {
      height: 160px;
      bottom: 8%;
      background: linear-gradient(90deg, transparent 0%, rgba(227,30,54,.02) 18%, rgba(227,30,54,.16) 48%, rgba(255,64,88,.06) 70%, transparent 100%);
      filter: blur(38px);
      transform: rotate(-8deg) translate3d(-4%,0,0);
      animation: jl-beam-drift-a 17s ease-in-out infinite alternate;
    }

    .jl-hero-beam-b {
      height: 2px;
      bottom: 28%;
      opacity: .32;
      background: linear-gradient(90deg, transparent, rgba(255,73,96,.75), transparent 68%);
      box-shadow: 0 0 34px rgba(227,30,54,.28);
      transform: rotate(-8deg) translate3d(7%,0,0);
      animation: jl-beam-drift-b 14s ease-in-out infinite alternate;
    }

    /* Luzes desfocadas de estúdio — grandes, lentas, fora de foco */
    .jl-hero-glow {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      pointer-events: none;
      will-change: transform, opacity;
    }

    .jl-hero-glow-a {
      width: min(760px, 68vw);
      height: 480px;
      left: -14%;
      bottom: -24%;
      background: radial-gradient(ellipse at center, rgba(227,30,54,.3), rgba(227,30,54,.06) 55%, transparent 74%);
      animation: jl-glow-drift-a 26s ease-in-out infinite alternate;
    }

    .jl-hero-glow-b {
      width: min(620px, 56vw);
      height: 620px;
      right: -16%;
      top: -28%;
      background: radial-gradient(circle at center, rgba(255,64,88,.16), rgba(227,30,54,.04) 52%, transparent 72%);
      animation: jl-glow-drift-b 32s ease-in-out infinite alternate;
    }

    .jl-hero-glow-c {
      width: 340px;
      height: 340px;
      left: 34%;
      top: 56%;
      opacity: .8;
      background: radial-gradient(circle at center, rgba(214,32,54,.13), transparent 68%);
      animation: jl-glow-drift-c 22s ease-in-out infinite alternate;
    }

    /* Grão de filme — remove a cara de gradiente digital chapado */
    .jl-hero-grain {
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 240px 240px;
      opacity: .05;
      pointer-events: none;
    }

    /* Vinheta — escurece as bordas e cria profundidade de cena */
    .jl-hero-vignette {
      position: absolute;
      inset: 0;
      background: radial-gradient(120% 95% at 50% 42%, transparent 52%, rgba(2,4,7,.5) 100%);
      pointer-events: none;
    }

    @keyframes jl-ambient-breathe {
      from { opacity: .72; transform: scale(1); }
      to { opacity: 1; transform: scale(1.05); }
    }

    @keyframes jl-beam-drift-a {
      from { transform: rotate(-8deg) translate3d(-5%,12px,0) scaleX(.96); opacity: .55; }
      to { transform: rotate(-8deg) translate3d(7%,-16px,0) scaleX(1.05); opacity: .9; }
    }

    @keyframes jl-beam-drift-b {
      from { transform: rotate(-8deg) translate3d(-8%,0,0); opacity: .18; }
      to { transform: rotate(-8deg) translate3d(12%,-8px,0); opacity: .42; }
    }

    @keyframes jl-glow-drift-a {
      from { transform: translate3d(-3%, 2%, 0) scale(.96); opacity: .75; }
      to { transform: translate3d(7%, -5%, 0) scale(1.08); opacity: 1; }
    }

    @keyframes jl-glow-drift-b {
      from { transform: translate3d(4%, -2%, 0) scale(1.05); opacity: .9; }
      to { transform: translate3d(-6%, 6%, 0) scale(.94); opacity: .6; }
    }

    @keyframes jl-glow-drift-c {
      from { transform: translate3d(-5%, 4%, 0) scale(.9); opacity: .35; }
      to { transform: translate3d(8%, -7%, 0) scale(1.12); opacity: .85; }
    }

    .jl-hero-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
      gap: 72px;
      align-items: center;
    }

    .jl-hero-copy { max-width: 650px; }

    .jl-hero h1 {
      margin-bottom: 24px;
      font-size: clamp(48px, 5.4vw, 78px);
      font-weight: 800;
      letter-spacing: -.055em;
    }

    .jl-hero h1 span { color: #ff4058; }

    .jl-hero-text {
      max-width: 590px;
      margin-bottom: 30px;
      color: rgba(255,255,255,.73);
      font-size: 18px;
      line-height: 1.72;
    }

    .jl-hero-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 34px;
    }

    .jl-hero-proof {
      display: flex;
      gap: 18px 28px;
      flex-wrap: wrap;
      color: rgba(255,255,255,.7);
      font-size: 13px;
      font-weight: 700;
    }

    .jl-hero-proof span {
      display: inline-flex;
      align-items: center;
      gap: 9px;
    }

    .jl-hero-proof span::before {
      content: "✓";
      display: grid;
      place-items: center;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(227,30,54,.16);
      color: #ff5368;
      font-size: 12px;
      font-weight: 900;
    }

    .jl-hero-photo-wrap {
      position: relative;
      width: 100%;
      min-height: 500px;
      perspective: 1100px;
    }

    /* Divisor vertical de luz entre texto e foto */
    .jl-hero-divider {
      position: absolute;
      left: -37px;
      top: 4%;
      bottom: 4%;
      width: 1px;
      overflow: hidden;
      background: linear-gradient(180deg, transparent, rgba(255,255,255,.13) 18%, rgba(255,255,255,.13) 82%, transparent);
      pointer-events: none;
    }

    .jl-hero-divider::after {
      content: "";
      position: absolute;
      left: -0.5px;
      top: -20%;
      width: 2px;
      height: 15%;
      border-radius: 999px;
      background: linear-gradient(180deg, transparent, rgba(255,92,112,.9), transparent);
      box-shadow: 0 0 14px rgba(227,30,54,.55);
      animation: jl-divider-pulse 9s cubic-bezier(.55,.08,.32,.95) infinite;
    }

    .jl-hero-photo-motion {
      position: absolute;
      inset: 0;
      transform: perspective(1100px) translate3d(var(--jl-card-x), var(--jl-card-y), 0) rotateX(var(--jl-card-rx)) rotateY(var(--jl-card-ry));
      transition: transform .18s cubic-bezier(.2,.7,.2,1);
      will-change: transform;
    }

    .jl-hero-photo-card {
      position: absolute;
      inset: 0;
      overflow: hidden;
      border-radius: 22px;
      box-shadow: 0 30px 80px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.025);
      animation: jl-photo-float 7.5s ease-in-out infinite alternate;
      transform-origin: 52% 55%;
    }

    .jl-hero-photo {
      position: absolute;
      inset: -1.2%;
      width: 102.4%;
      height: 102.4%;
      object-fit: cover;
      object-position: center;
      transform: scale(1.015);
      transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease;
    }

    .jl-hero-photo-card::before {
      content: "";
      position: absolute;
      z-index: 1;
      inset: 0;
      background: linear-gradient(180deg, transparent 45%, rgba(2,5,9,.68) 100%);
      pointer-events: none;
    }

    .jl-hero-photo-card::after {
      content: "";
      position: absolute;
      z-index: 2;
      top: -35%;
      left: -45%;
      width: 28%;
      height: 175%;
      opacity: 0;
      transform: rotate(18deg);
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.13), transparent);
      animation: jl-photo-sheen 8.5s ease-in-out infinite;
      pointer-events: none;
    }

    .jl-hero-photo-wrap:hover .jl-hero-photo { transform: scale(1.035); filter: contrast(1.02) saturate(1.02); }

    @keyframes jl-photo-float {
      from { transform: translate3d(0,0,0) rotate(.05deg); }
      to { transform: translate3d(0,-7px,0) rotate(-.18deg); }
    }

    @keyframes jl-divider-pulse {
      0% { top: -20%; opacity: 0; }
      8% { opacity: 1; }
      58% { top: 120%; opacity: 1; }
      59%, 100% { top: 120%; opacity: 0; }
    }

    @keyframes jl-photo-sheen {
      0%, 60% { left: -45%; opacity: 0; }
      68% { opacity: .55; }
      84% { left: 120%; opacity: 0; }
      100% { left: 120%; opacity: 0; }
    }

    .jl-photo-label {
      position: absolute;
      z-index: 2;
      left: 18px;
      bottom: 18px;
      max-width: calc(100% - 36px);
      padding: 13px 15px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 10px;
      background: rgba(5,8,12,.76);
      backdrop-filter: blur(10px);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
    }

    .jl-photo-label strong { display: block; margin-bottom: 2px; font-size: 15px; }
    .jl-photo-label span { color: rgba(255,255,255,.68); font-weight: 600; }

    .jl-hero-copy .jl-eyebrow,
    .jl-hero-copy h1,
    .jl-hero-copy .jl-hero-text,
    .jl-hero-copy .jl-hero-actions,
    .jl-hero-copy .jl-hero-proof {
      opacity: 0;
      transform: translate3d(0,16px,0);
    }

    .jl-hero-copy.is-visible .jl-eyebrow { animation: jl-hero-intro .6s .06s both cubic-bezier(.2,.7,.2,1); }
    .jl-hero-copy.is-visible h1 { animation: jl-hero-intro .72s .14s both cubic-bezier(.2,.7,.2,1); }
    .jl-hero-copy.is-visible .jl-hero-text { animation: jl-hero-intro .68s .24s both cubic-bezier(.2,.7,.2,1); }
    .jl-hero-copy.is-visible .jl-hero-actions { animation: jl-hero-intro .68s .34s both cubic-bezier(.2,.7,.2,1); }
    .jl-hero-copy.is-visible .jl-hero-proof { animation: jl-hero-intro .68s .44s both cubic-bezier(.2,.7,.2,1); }

    @keyframes jl-hero-intro {
      from { opacity: 0; transform: translate3d(0,16px,0); }
      to { opacity: 1; transform: translate3d(0,0,0); }
    }

    .jl-hero .jl-btn-primary {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .jl-hero .jl-btn-primary::after {
      content: "";
      position: absolute;
      z-index: -1;
      top: -70%;
      left: -34%;
      width: 22%;
      height: 240%;
      transform: rotate(18deg);
      background: rgba(255,255,255,.16);
      filter: blur(2px);
      animation: jl-button-sheen 6.8s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes jl-button-sheen {
      0%, 68% { left: -34%; opacity: 0; }
      74% { opacity: 1; }
      88% { left: 118%; opacity: 0; }
      100% { left: 118%; opacity: 0; }
    }

    .jl-info-strip {
      position: relative;
      z-index: 4;
      background: #fff;
      border-bottom: 1px solid var(--jl-border);
    }

    .jl-info-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }

    .jl-info-item {
      padding: 25px 28px;
      border-right: 1px solid var(--jl-border);
    }

    .jl-info-item:last-child { border-right: 0; }
    .jl-info-item strong { display: block; margin-bottom: 4px; font-size: 15px; }
    .jl-info-item span { color: var(--jl-muted); font-size: 13px; font-weight: 600; }

    .jl-about-grid {
      display: grid;
      grid-template-columns: .96fr 1.04fr;
      gap: 78px;
      align-items: center;
    }

    .jl-about-photo {
      position: relative;
      min-height: 520px;
    }

    .jl-about-photo img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: var(--jl-radius-lg);
    }

    .jl-about-photo::after {
      content: "";
      position: absolute;
      right: -18px;
      bottom: -18px;
      width: 112px;
      height: 112px;
      border-radius: 16px;
      border: 12px solid var(--jl-red);
      z-index: -1;
    }

    .jl-section-title {
      margin-bottom: 22px;
      font-size: clamp(38px, 4.3vw, 62px);
      font-weight: 800;
    }

    .jl-section-title span { color: var(--jl-red); }

    .jl-about-copy > p {
      margin-bottom: 18px;
      color: var(--jl-muted);
      font-size: 17px;
      line-height: 1.8;
    }

    .jl-about-copy > p:first-of-type {
      color: #272d33;
      font-size: 20px;
      font-weight: 600;
    }

    .jl-area-box {
      margin-top: 30px;
      padding: 20px 22px;
      border-left: 3px solid var(--jl-red);
      background: var(--jl-soft);
    }

    .jl-area-box span {
      display: block;
      margin-bottom: 5px;
      color: var(--jl-muted);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .jl-area-box strong { font-size: 15px; }

    .jl-section-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
      gap: 50px;
      align-items: end;
      margin-bottom: 46px;
    }

    .jl-section-head .jl-section-title { margin-bottom: 0; }
    .jl-section-head > p { margin-bottom: 4px; color: var(--jl-muted); line-height: 1.75; }
    .jl-section-dark .jl-section-head > p { color: rgba(255,255,255,.62); }

    .jl-services-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
      gap: 40px;
      align-items: stretch;
    }

    .jl-services-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-content: start;
      border-top: 1px solid #cfd4d8;
    }

    .jl-service-row {
      position: relative;
      min-height: 102px;
      padding: 24px 22px 24px 43px;
      border-bottom: 1px solid #cfd4d8;
      transition: background .2s ease, transform .2s ease;
    }

    .jl-service-row:nth-child(odd) { border-right: 1px solid #cfd4d8; }

    .jl-service-row::before {
      content: "";
      position: absolute;
      left: 20px;
      top: 31px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--jl-red);
    }

    .jl-service-row:hover { background: #fff; transform: translateY(-2px); }
    .jl-service-row strong { display: block; margin-bottom: 5px; font-size: 16px; }
    .jl-service-row span { color: var(--jl-muted); font-size: 13px; line-height: 1.55; }

    .jl-services-photo {
      position: relative;
      min-height: 540px;
      overflow: hidden;
      border-radius: var(--jl-radius-lg);
      background: var(--jl-dark);
    }

    .jl-services-photo img {
      width: 100%;
      height: 100%;
      min-height: 540px;
      object-fit: cover;
      object-position: center;
      opacity: .93;
      transition: transform .7s cubic-bezier(.2,.7,.2,1);
    }

    .jl-services-photo:hover img { transform: scale(1.035); }

    .jl-services-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 38%, rgba(5,8,12,.88) 100%);
    }

    .jl-services-photo-copy {
      position: absolute;
      z-index: 2;
      left: 26px;
      right: 26px;
      bottom: 26px;
      color: #fff;
    }

    .jl-services-photo-copy span {
      display: block;
      margin-bottom: 8px;
      color: #ff6275;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .jl-services-photo-copy strong {
      display: block;
      margin-bottom: 15px;
      font-size: 24px;
      line-height: 1.2;
      letter-spacing: -.03em;
    }

    .jl-process-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 70px;
      align-items: center;
    }

    .jl-process-copy .jl-section-title { max-width: 590px; }
    .jl-process-intro { max-width: 590px; color: rgba(255,255,255,.62); font-size: 17px; line-height: 1.8; }

    .jl-steps { margin-top: 38px; border-top: 1px solid rgba(255,255,255,.13); }

    .jl-step {
      display: grid;
      grid-template-columns: 46px 1fr;
      gap: 18px;
      padding: 22px 0;
      border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .jl-step-number {
      color: #ff5d70;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .jl-step strong { display: block; margin-bottom: 4px; font-size: 17px; }
    .jl-step p { margin-bottom: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.65; }

    .jl-process-note {
      position: relative;
      min-height: 520px;
      overflow: hidden;
      border-radius: var(--jl-radius-lg);
    }

    .jl-process-note img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .jl-process-note::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(8,12,17,.05) 35%, rgba(8,12,17,.82) 100%);
    }

    .jl-note-card {
      position: absolute;
      z-index: 2;
      left: 24px;
      right: 24px;
      bottom: 24px;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 13px;
      background: rgba(8,12,17,.78);
      backdrop-filter: blur(12px);
    }

    .jl-note-card strong { display: block; margin-bottom: 7px; font-size: 18px; }
    .jl-note-card p { margin-bottom: 0; color: rgba(255,255,255,.63); font-size: 13px; }

    .jl-why-grid {
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 80px;
      align-items: start;
    }

    .jl-why-points { border-top: 1px solid var(--jl-border); }

    .jl-why-point {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 17px;
      padding: 24px 0;
      border-bottom: 1px solid var(--jl-border);
    }

    .jl-why-point > span {
      color: var(--jl-red);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .jl-why-point strong { display: block; margin-bottom: 6px; font-size: 17px; }
    .jl-why-point p { margin-bottom: 0; color: var(--jl-muted); font-size: 14px; line-height: 1.7; }

    .jl-quote {
      position: sticky;
      top: 122px;
      padding: 34px;
      border-radius: 18px;
      background: var(--jl-red);
      color: #fff;
      box-shadow: 0 20px 50px rgba(227,30,54,.2);
    }

    .jl-quote .jl-eyebrow { color: rgba(255,255,255,.8); }
    .jl-quote blockquote {
      margin: 0 0 28px;
      font-size: clamp(27px, 3vw, 40px);
      font-weight: 800;
      line-height: 1.16;
      letter-spacing: -.045em;
    }

    .jl-quote p { margin: 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }

    .jl-faq-grid {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 80px;
      align-items: start;
    }

    .jl-faq-intro p { max-width: 420px; color: var(--jl-muted); line-height: 1.75; }
    .jl-faq-list { border-top: 1px solid var(--jl-border); }

    .jl-faq-list details { border-bottom: 1px solid var(--jl-border); }
    .jl-faq-list summary {
      position: relative;
      padding: 23px 46px 23px 0;
      list-style: none;
      cursor: pointer;
      font-weight: 800;
      line-height: 1.45;
    }
    .jl-faq-list summary::-webkit-details-marker { display: none; }
    .jl-faq-list summary::after {
      content: "+";
      position: absolute;
      right: 4px;
      top: 19px;
      color: var(--jl-red);
      font-size: 24px;
      font-weight: 500;
      transition: transform .2s ease;
    }
    .jl-faq-list details[open] summary::after { transform: rotate(45deg); }
    .jl-faq-list details p { max-width: 720px; padding: 0 48px 23px 0; margin: 0; color: var(--jl-muted); font-size: 14px; line-height: 1.75; }

    .jl-cta {
      position: relative;
      overflow: hidden;
      padding: 72px 0;
      background: var(--jl-red);
      color: #fff;
    }

    .jl-cta::after {
      content: "JL";
      position: absolute;
      right: -20px;
      bottom: -74px;
      color: rgba(255,255,255,.07);
      font-size: 250px;
      font-weight: 800;
      line-height: 1;
      letter-spacing: -.08em;
      pointer-events: none;
    }

    .jl-cta-inner {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
    }

    .jl-cta h2 {
      max-width: 720px;
      margin-bottom: 12px;
      font-size: clamp(34px, 4.5vw, 58px);
      font-weight: 800;
    }
    .jl-cta p { max-width: 650px; margin: 0; color: rgba(255,255,255,.78); }

    .jl-btn-white { flex: 0 0 auto; background: #fff; color: var(--jl-text) !important; box-shadow: var(--jl-shadow); }
    .jl-btn-white:hover { transform: translateY(-2px); background: #f7f7f7; }

    .jl-contact-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 70px;
      align-items: stretch;
    }

    .jl-contact-copy > p { color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.75; }
    .jl-contact-list { margin-top: 34px; border-top: 1px solid rgba(255,255,255,.12); }

    .jl-contact-item {
      display: grid;
      grid-template-columns: 115px 1fr;
      gap: 18px;
      padding: 18px 0;
      border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .jl-contact-item > span { color: rgba(255,255,255,.45); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
    .jl-contact-item strong { color: #fff; font-size: 14px; line-height: 1.55; }
    a.jl-contact-item:hover strong { color: #ff5b6f; }

    .jl-map-wrap {
      min-height: 500px;
      overflow: hidden;
      border-radius: var(--jl-radius-lg);
      background: #111820;
    }

    .jl-map-wrap iframe { width: 100%; height: 100%; min-height: 500px; border: 0; display: block; filter: grayscale(.16) contrast(.96); }

    .jl-footer {
      padding: 32px 0;
      background: #05080c;
      color: rgba(255,255,255,.52);
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .jl-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .jl-footer-brand { display: flex; align-items: center; gap: 16px; }
    .jl-footer-brand img { width: auto; height: 54px; }
    .jl-footer-brand p { margin: 0; font-size: 12px; }
    .jl-footer-meta { display: flex; gap: 22px; align-items: center; font-size: 11px; }

    .jl-whatsapp-float {
      position: fixed;
      right: 22px;
      bottom: 22px;
      z-index: 50;
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #25d366;
      color: #fff !important;
      box-shadow: 0 12px 32px rgba(0,0,0,.24);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .jl-whatsapp-float:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 38px rgba(0,0,0,.3); }
    .jl-whatsapp-float svg { width: 28px; height: 28px; fill: currentColor; }

    .jl-reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
    }
    .jl-reveal.is-visible { opacity: 1; transform: none; }

    @media (max-width: 1024px) {
      .jl-nav { gap: 18px; }
      .jl-hero-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
      .jl-hero-divider { left: -22px; }
      .jl-about-grid,
      .jl-process-grid,
      .jl-why-grid,
      .jl-faq-grid,
      .jl-contact-grid { gap: 48px; }
      .jl-services-layout { grid-template-columns: 1fr; }
      .jl-services-photo { min-height: 460px; }
      .jl-services-photo img { min-height: 460px; }
    }

    @media (max-width: 900px) {
      .jl-menu-btn { display: block; }
      .jl-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        padding: 18px 24px 24px;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        background: #080c11;
        border-top: 1px solid rgba(255,255,255,.08);
        box-shadow: 0 24px 40px rgba(0,0,0,.28);
      }
      .jl-nav.is-open { display: flex; }
      .jl-nav > a:not(.jl-nav-cta) { padding: 13px 4px; }
      .jl-nav-cta { margin-top: 8px; }

      .jl-hero { min-height: auto; padding: 72px 0 60px; }
      .jl-hero-grid { grid-template-columns: 1fr; }
      .jl-hero-divider { display: none; }
      .jl-hero-copy { max-width: 720px; }
      .jl-hero-photo-wrap { min-height: 440px; }

      .jl-info-grid { grid-template-columns: repeat(2, 1fr); }
      .jl-info-item:nth-child(2) { border-right: 0; }
      .jl-info-item:nth-child(-n+2) { border-bottom: 1px solid var(--jl-border); }

      .jl-about-grid,
      .jl-process-grid,
      .jl-why-grid,
      .jl-faq-grid,
      .jl-contact-grid { grid-template-columns: 1fr; }

      .jl-about-photo { min-height: 460px; order: 2; }
      .jl-about-copy { order: 1; }
      .jl-process-note { min-height: 450px; }
      .jl-quote { position: static; }
      .jl-section-head { grid-template-columns: 1fr; gap: 16px; }
      .jl-cta-inner { align-items: flex-start; flex-direction: column; }
      .jl-map-wrap,
      .jl-map-wrap iframe { min-height: 420px; }
    }

    @media (max-width: 640px) {
      .jl-container { width: min(var(--jl-container), calc(100% - 28px)); }
      .jl-section { padding: 76px 0; }
      .jl-topbar-inner { min-height: 32px; font-size: 10px; }
      .jl-topbar-right span { display: none; }
      .jl-nav-wrap { min-height: 72px; }
      .jl-brand img { height: 54px; }

      .jl-hero { padding: 58px 0 48px; }
      .jl-hero-grid { gap: 38px; }
      .jl-hero h1 { font-size: clamp(42px, 12.5vw, 61px); }
      .jl-hero-text { font-size: 16px; }
      .jl-hero-actions { display: grid; grid-template-columns: 1fr; }
      .jl-hero-actions .jl-btn { width: 100%; }
      .jl-hero-proof { display: grid; gap: 10px; }
      .jl-hero-photo-wrap { min-height: 360px; }
      .jl-hero-photo,
      .jl-hero-photo-wrap::before { border-radius: 16px; }

      .jl-info-grid { grid-template-columns: 1fr; }
      .jl-info-item,
      .jl-info-item:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--jl-border); }
      .jl-info-item:last-child { border-bottom: 0; }
      .jl-info-item { padding: 18px 2px; }

      .jl-about-photo { min-height: 380px; }
      .jl-about-photo::after { right: -8px; bottom: -8px; width: 82px; height: 82px; border-width: 8px; }
      .jl-section-title { font-size: clamp(36px, 10vw, 48px); }
      .jl-about-copy > p:first-of-type { font-size: 18px; }

      .jl-services-list { grid-template-columns: 1fr; }
      .jl-service-row:nth-child(odd) { border-right: 0; }
      .jl-services-photo,
      .jl-services-photo img { min-height: 390px; }

      .jl-process-note { min-height: 380px; }
      .jl-quote { padding: 26px; }
      .jl-contact-item { grid-template-columns: 1fr; gap: 4px; }
      .jl-map-wrap,
      .jl-map-wrap iframe { min-height: 340px; }

      .jl-footer-inner { align-items: flex-start; flex-direction: column; }
      .jl-footer-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
      .jl-whatsapp-float { right: 16px; bottom: 16px; width: 54px; height: 54px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .jl-site { scroll-behavior: auto; }
      .jl-reveal { opacity: 1; transform: none; transition: none; }
      .jl-hero-ambient,
      .jl-hero-ambient::before,
      .jl-hero-beam,
      .jl-hero-glow,
      .jl-hero-divider::after,
      .jl-hero-photo-card,
      .jl-hero-photo-card::after,
      .jl-hero .jl-btn-primary::after { animation: none !important; transition: none !important; transform: none !important; }
      .jl-hero-copy .jl-eyebrow,
      .jl-hero-copy h1,
      .jl-hero-copy .jl-hero-text,
      .jl-hero-copy .jl-hero-actions,
      .jl-hero-copy .jl-hero-proof { opacity: 1; transform: none; animation: none !important; }
      .jl-hero-photo-motion { transform: none !important; transition: none !important; }
      .jl-services-photo img { transition: none; }
    }
