@font-face {
  font-family: Inter;
  src: url('../fonts/inter.woff2') format('woff2');
  font-display: swap
}

@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/open-sans.woff2') format('woff2');
  font-display: swap
}

:root {
  --ink: #101d24;
  --blue: #0ab9fc;
  --white: #fff
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  background: #05090b;
  color: #fff;
  font-family: Inter, Arial, sans-serif
}

img {
  max-width: 100%
}

a {
  color: inherit
}

.site-header {
  height: 88px;
  background: #0d181e;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 5
}

.header-inner {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center
}

.brand img {
  display: block;
  width: 164px
}

.header-inner p {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1.7px
}

.hero {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: linear-gradient(102deg, #101d24 50%, #000)
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 13, 19, .82), rgba(5, 10, 12, .2))
}

.hero-inner {
  position: relative;
  z-index: 1;
  width: min(1200px, calc(100% - 40px));
  min-height: 650px;
  margin: auto;
  display: grid;
  grid-template-columns: 60% 40%;
  align-items: center;
  gap: 25px
}

.hero-copy {
  position: relative
}

.turnitin-logo {
  width: 135px;
  margin: 0 0 24px
}

.hero h1 {
  margin: 0;
  color: #fff;
  font-size: 68px;
  line-height: 1.2;
  text-shadow: 3px 3px #0009;
  letter-spacing: -2px
}

.price {
  display: inline-block;
  color: var(--blue);
  font-size: 85px;
  line-height: 1.05;
  background: #0009;
  border-radius: 10px;
  padding: 0 15px;
  margin-top: 8px
}

.price small {
  font-size: 28px;
  vertical-align: super
}

.whatsapp-line,
.wompi-line {
  display: block;
  width: max-content;
  font-size: 29px;
  font-weight: 600;
  margin-top: 42px;
  text-decoration: underline
}

.whatsapp-line span {
  color: #59cf75
}

.wompi-line {
  margin-top: 8px
}

.wompi-line strong {
  font-size: 37px;
  text-decoration: none
}

.chat-card {
  min-height: 420px;
  border: 1px solid #ffffff1f;
  border-radius: 23px;
  padding: 15px;
  background: linear-gradient(121deg, #ffffff36 6%, #ffffff0a 68%);
  box-shadow: inset 0 2px 3px #ffffff29, 0 3px 6px #474747;
  backdrop-filter: blur(9px);
  display: flex;
  flex-direction: column
}

.chat-title {
  background: #0009;
  border-radius: 20px 20px 0 0;
  padding: 22px;
  font-size: 22px;
  font-weight: 700
}

.chat-message {
  position: relative;
  margin-top: 20px;
  min-height: 165px;
  padding: 28px 20px;
  background: url('../img/chat-desktop.webp') center/100% 100% no-repeat;
  font-size: 17px;
  line-height: 22px;
  font-weight: 500
}

.chat-message small {
  display: block;
  text-align: right;
  color: #d2d2d2;
  margin-top: 26px
}

.button {
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(#0ab9fc, #077ca9);
  box-shadow: 0 4px 4px #0006;
  border-radius: 8px;
  padding: 10px 15px;
  font-size: 18px;
  font-weight: 600
}

.button:hover {
  background: linear-gradient(#077eac, #013548)
}

.chat-button {
  align-self: flex-end;
  margin: 48px 0 0
}

.turnitin-section {
  position: relative;
  background: linear-gradient(102deg, #101d24 50%, #000);
  padding: 76px 20px 0
}

.section-inner {
  max-width: 1200px;
  margin: auto;
  text-align: center
}

.turnitin-section h2 {
  font-size: 60px;
  line-height: 78px;
  text-shadow: 5px 5px #0008;
  margin: 0 0 45px
}

.turnitin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  text-align: left
}

.turnitin-copy .intro {
  font-size: 21px;
  line-height: 36px;
  max-width: 430px
}

.turnitin-copy p {
  font-size: 17px;
  line-height: 28px;
  max-width: 500px
}

mark {
  color: #fff;
  background: #0ab9fc33;
  border-radius: 5px
}

.benefits {
  position: relative;
  padding-right: 70px
}

.benefits>div {
  max-width: 419px;
  margin: 0 0 15px;
  padding: 9px 35px;
  color: #fff;
  background: linear-gradient(5deg, #ffffff6b, #ffffff14);
  border-radius: 17px;
  box-shadow: inset 0 2px 3px #ffffff29, 0 3px 6px #474747;
  font-size: 20px;
  line-height: 26px
}

.benefits>div::first-letter {
  color: var(--blue)
}

.benefits img {
  position: absolute;
  width: 125px;
  right: 0;
  top: 115px
}

.turnitin-section>.section-inner>.button {
  margin-top: 55px
}

.report {
  padding-top: 70px
}

.report h3 {
  font-size: 39px;
  line-height: 50px;
  margin: 0 0 50px
}

.report iframe {
  display: block;
  width: 90%;
  height: 600px;
  border: 0;
  border-radius: 20px;
  margin: auto;
  background: #fff
}

.report>img,
.report>a {
  display: none
}

.testimonials {
  background: linear-gradient(#101d24, #000);
  padding: 160px 20px 130px
}

.testimonial-panel {
  max-width: 1200px;
  margin: auto;
  padding: 100px;
  border: 1px solid #ffffff1f;
  border-radius: 32px;
  background: linear-gradient(121deg, #ffffff36, #ffffff0a);
  box-shadow: inset 0 2px 3px #ffffff29, 0 3px 6px #474747;
  backdrop-filter: blur(9px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.testimonial-heading h2 {
  font-size: 40px;
  line-height: 51px;
  font-weight: 400;
  margin: 0
}

.testimonial-heading p {
  font-size: 20px;
  line-height: 1.5;
  margin: 45px 0 25px
}

.testimonial-heading>img {
  width: 163px
}











.testimonial>div {
  flex: 1
}









.site-footer {
  background: #0d181e;
  color: #fff;
  padding: 58px 20px
}

.footer-inner {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 48% 52%;
  gap: 35px
}

.footer-about>img {
  width: 185px
}

.footer-about p {
  font-size: 16px;
  line-height: 1.5;
  max-width: 450px
}

.footer-right {
  text-align: right
}

.socials {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  margin: 8px 0 24px
}

.socials img {
  width: 30px;
  height: 30px
}

.legal-links {
  display: flex;
  justify-content: flex-end
}

.legal-links a {
  text-decoration: none;
  font: 15px 'Open Sans', sans-serif;
  padding: 0 10px;
  border-right: 2px solid #fff
}

.legal-links a:last-child {
  border: 0
}

.copyright {
  color: var(--blue);
  font-size: 15px;
  margin-top: 24px
}

@media(max-width:900px) {
  .header-inner {
    grid-template-columns: 1fr
  }

  .header-inner p {
    display: none
  }

  .brand {
    justify-self: center
  }

  .hero-inner {
    grid-template-columns: 1fr
  }

  .chat-card {
    display: none
  }

  .hero-copy {
    max-width: 650px
  }

  .turnitin-grid {
    grid-template-columns: 1fr
  }

  .testimonial-panel {
    grid-template-columns: 1fr;
    padding: 55px
  }

  .footer-inner {
    grid-template-columns: 1fr;
    text-align: center
  }

  .footer-about p {
    margin: 16px auto
  }

  .footer-right {
    text-align: center
  }

  .socials,
  .legal-links {
    justify-content: center
  }
}

@media(max-width:767px) {
  .site-header {
    height: 88px
  }

  .hero {
    min-height: auto;
    padding: 70px 0 55px
  }

  .hero-video {
    display: none
  }

  .hero-inner {
    display: block;
    min-height: 0;
    width: calc(100% - 40px)
  }

  .turnitin-logo {
    margin-bottom: 18px
  }

  .hero h1 {
    font-size: 33px;
    line-height: 40px;
    letter-spacing: -.5px
  }

  .price {
    font-size: 30px;
    line-height: normal;
    padding: 5px 10px
  }

  .price small {
    font-size: 14px
  }

  .whatsapp-line,
  .wompi-line {
    font-size: 17px;
    margin-top: 28px
  }

  .wompi-line {
    margin-top: 5px
  }

  .wompi-line strong {
    font-size: 22px
  }

  .turnitin-section {
    padding: 50px 20px;
    background: #05090b url('../img/turnitin-mobile-bg.webp') top center/cover no-repeat
  }

  .turnitin-section h2 {
    text-align: left;
    font-size: 25px;
    line-height: 32px;
    margin-bottom: 28px
  }

  .turnitin-grid {
    gap: 22px
  }

  .turnitin-copy .intro {
    font-size: 20px;
    line-height: 34px
  }

  .turnitin-copy p {
    font-size: 14px;
    line-height: 26px
  }

  .benefits {
    padding: 0 50px 0 0
  }

  .benefits>div {
    padding: 8px 10px;
    font-size: 14px;
    line-height: 18px
  }

  .benefits img {
    width: 90px;
    right: -15px;
    top: 60px
  }

  .turnitin-section>.section-inner>.button {
    margin-top: 20px
  }

  .report {
    padding-top: 55px
  }

  .report h3 {
    text-align: left;
    font-size: 25px;
    line-height: 32px;
    margin-bottom: 30px
  }

  .report iframe {
    display: none
  }

  .report>img {
    display: block;
    width: 257px;
    border-radius: 10px;
    margin: auto
  }

  .report>a {
    display: inline-flex;
    margin-top: 30px
  }

  .testimonials {
    padding: 50px 20px
  }

  .testimonial-panel {
    padding: 35px 20px;
    display: block
  }

  .testimonial-heading h2 {
    font-size: 25px;
    line-height: 32px
  }

  .testimonial-heading p {
    display: none
  }

  .testimonial-heading>img {
    margin: 35px 0
  }




  .site-footer {
    padding: 55px 20px
  }

  .legal-links {
    flex-wrap: wrap;
    gap: 8px
  }

  .legal-links a {
    border: 0;
    padding: 2px 7px
  }
}

/* Páginas legales */
.legal-body {
  background: #101d24;
  color: #fff
}

.legal-page {
  min-height: 70vh;
  background: #101d24;
  color: #fff;
  padding: 62px 40px 70px
}

.legal-page article {
  max-width: 1200px;
  margin: auto
}

.legal-page h1 {
  text-align: center;
  color: #fff;
  font-size: 48px;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 28px
}

.legal-page p {
  color: #fff;
  font-size: 18px;
  line-height: 1.52;
  margin: 0 0 30px
}

.legal-page strong {
  font-weight: 700
}

.legal-body .site-footer {
  border-top: 8px solid #0b151a
}

/* Error 404 */
.error-page {
  background: #101d24
}

.error-404 {
  min-height: 938px;
  margin: -65px 0;
  background: url('../img/404-bg.png') center/cover no-repeat;
  color: #fff;
  display: grid;
  place-items: center;
  padding: 100px 20px
}

.error-404__content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center
}

.error-404 h1 {
  color: #fff;
  font-size: 64px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 14px
}

.error-404 h1 span {
  font-weight: 300
}

.error-404__warning {
  display: block
}

.error-404 p {
  color: #fff;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 500;
  margin: 50px 0 0
}

.error-404__button {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 18px;
  margin-top: 35px;
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-weight: 600;
  transition: color .5s
}

.error-404__button:hover {
  color: #0ab9fc
}

@media(max-width:767px) {
  .legal-page {
    padding: 42px 20px 50px
  }

  .legal-page h1 {
    font-size: 34px
  }

  .legal-page p {
    font-size: 16px
  }

  .error-404 {
    min-height: 655px;
    margin: 0;
    padding: 40px 20px
  }

  .error-404 h1 {
    font-size: 48px
  }

  .error-404 p {
    font-size: 20px;
    margin-top: 35px
  }
}

/* Evita desbordamiento de la rejilla principal */
.hero-inner {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr)
}

@media(max-width:900px) {
  .hero-inner {
    grid-template-columns: 1fr
  }
}

/* Ajustes de fidelidad visual de la landing Plagio */
html,
body {
  overflow-x: hidden;
}

.site-header {
  height: 59px;
}

.header-inner,
.hero-inner {
  width: min(1180px, calc(100% - 64px));
}

.header-inner p {
  font-size: 21px;
  letter-spacing: 1.4px;
}

.brand img {
  width: 145px;
}

.hero-copy {
  transform: translateY(9px);
}

.chat-card {
  transform: translateY(34px);
}

.icon {
  display: inline-block;
  flex: 0 0 auto;
  fill: currentColor;
}

.icon-whatsapp {
  width: 38px;
  height: 38px;
  margin-left: 10px;
  color: #59cf75;
  vertical-align: middle;
}

.whatsapp-line {
  display: flex;
  align-items: center;
}

.chat-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.icon-chat-whatsapp {
  width: 29px;
  height: 29px;
}

.chat-message small {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}

.chat-message small svg {
  width: 19px;
  height: 19px;
  fill: var(--blue);
}

.icon-send {
  width: 18px;
  height: 19px;
  margin-left: 5px;
}

.turnitin-section .section-inner {
  max-width: 1120px;
}

.turnitin-grid {
  gap: 64px;
}

.benefits {
  width: 100%;
  max-width: 500px;
  margin-left: auto;
}

.benefits>div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  min-height: 46px;
  margin-left: auto;
  padding: 5px 25px;
  line-height: 34px;
  text-align: right;
}

.benefits>div svg {
  order: 2;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: var(--blue);
  fill: var(--blue);
}

.benefits img {
  z-index: 2;
}

.testimonials {
  position: relative;
  isolation: isolate;
  min-height: 850px;
  overflow: hidden;
}

.testimonials-video,
.testimonials-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.testimonials-video {
  z-index: -2;
  object-fit: cover;
}

.testimonials-shade {
  z-index: -1;
  background: linear-gradient(180deg, rgba(16, 29, 36, .2), rgba(0, 0, 0, .28));
}

.testimonial-panel {
  position: relative;
  min-height: 510px;
}





















@media (max-width: 900px) {
  .site-header {
    height: 88px;
  }

  .header-inner,
  .hero-inner {
    width: calc(100% - 40px);
  }

  .hero-copy,
  .chat-card {
    transform: none;
  }

}

@media (max-width: 767px) {

  .icon-whatsapp {
    width: 28px;
    height: 28px;
    margin-left: 8px;
  }

  .turnitin-grid {
    gap: 22px;
  }

  .benefits {
    max-width: none;
    padding-right: 50px;
  }

  .benefits>div {
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    max-width: none;
    min-height: 40px;
    margin-bottom: 20px;
    padding: 5px;
    line-height: 18px;
    text-align: left;
  }

  .benefits>div svg {
    order: 0;
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }

  .testimonials {
    min-height: 720px;
    padding: 50px 20px;
  }

  .testimonial-panel {
    min-height: 620px;
  }






}

@media (prefers-reduced-motion: reduce) {

}






@media (max-width: 600px) {

}
@media (prefers-reduced-motion: reduce) {


}

.reviews-slider-wrap { position: relative; width: 100%; height: 390px; overflow: hidden; } .reviews-slider { position: relative; width: 445px; height: 100%; margin-top: 50px; } .review-card { position: absolute; top: 0; left: 0; display: flex; align-items: flex-start; width: 445px; min-height: 155px; padding: 20px; box-sizing: border-box; border-radius: 20px; background: #ffffff; opacity: 0; transform: translate3d(0, 0, 0); will-change: transform, opacity; pointer-events: none; } .review-card__image { flex: 0 0 65px; width: 65px; height: 65px; } .review-card__image img { display: block; width: 65px; height: 65px; object-fit: cover; border-radius: 50%; } .review-card__content { flex: 1; min-width: 0; margin-left: 26px; font-family: "Inter", "Open Sans", sans-serif; } .review-card__header { display: flex; align-items: center; justify-content: space-between; gap: 15px; } .review-card__title { margin: 0; color: #1B2534; font-family: "Inter", sans-serif; font-size: 23px; font-weight: 700; line-height: 24px; } .review-card__stars { display: flex; flex-shrink: 0; align-items: center; gap: 1px; color: #1B2534; font-size: 12px; line-height: 1; } .review-card__stars span { position: relative; display: inline-block; } .review-card__stars .empty-star { color: transparent; -webkit-text-stroke: 1px #1B2534; } .review-card__stars .half-star { color: transparent; -webkit-text-stroke: 1px #1B2534; } .review-card__stars .half-star::before { content: "★"; position: absolute; top: 0; left: 0; width: 50%; overflow: hidden; color: #1B2534; -webkit-text-stroke: 0; } .review-card__city { margin: 5px 0 0 0; color: #1B2534; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 400; line-height: 18px; } .review-card__description { margin: 8px 0 0 -8px; color: #606060; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 400; line-height: 21px; letter-spacing: normal; } @media only screen and (max-width: 600px) { .reviews-slider-wrap { position: relative; display: block; width: 100%; height: 360px; min-height: 360px; overflow: hidden; } .reviews-slider { position: relative; display: block; width: 100%; height: 100%; margin: 0; top: auto; left: auto; } .review-card { position: absolute; top: 0; left: 0; display: flex; width: 100%; max-width: 100%; min-height: 0; padding: 15px; box-sizing: border-box; border-radius: 15px; } .review-card__image { flex: 0 0 55px; width: 55px; height: 55px; } .review-card__image img { display: block; width: 55px; height: 55px; object-fit: cover; } .review-card__content { flex: 1; min-width: 0; margin-left: 15px; } .review-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; } .review-card__title { font-size: 18px; line-height: 22px; } .review-card__stars { flex-shrink: 0; font-size: 10px; padding-top: 4px; } .review-card__city { margin-top: 3px; font-size: 12px; line-height: 17px; } .review-card__description { margin: 7px 0 0 0; font-size: 12px; line-height: 16px; } } @media only screen and (max-width: 380px) { .review-card { padding: 12px; } .review-card__image { flex: 0 0 48px; width: 48px; height: 48px; } .review-card__image img { width: 48px; height: 48px; } .review-card__content { margin-left: 12px; } .review-card__title { font-size: 16px; line-height: 20px; } .review-card__stars { font-size: 9px; } } @media only screen and (max-width: 380px) { .review-card { padding: 12px; } .review-card__image { flex-basis: 48px; width: 48px; height: 48px; } .review-card__image img { width: 48px; height: 48px; } .review-card__content { margin-left: 12px; } .review-card__title { font-size: 16px; line-height: 20px; } .review-card__stars { font-size: 9px; } } @media (prefers-reduced-motion: reduce) { .review-card { transition: none !important; } }
.reviews-slider-wrap { width: min(100%, 445px); justify-self: end; height: 390px; }
.reviews-slider { width: 100%; margin-top: 0; }
.review-card { width: 100%; box-shadow: 0 15px 25px #0004; }
.review-card:first-child { opacity: 1; }
@media (max-width: 900px) {
  .reviews-slider-wrap { justify-self: center; }
}
