@charset "UTF-8";
/* ==========================================================================
   PAGINA SCRIVO — Stile identico al mockup
   ========================================================================== */
/* ------------------------------
   HERO su templates/hero
------------------------------ */
.scrivo-intro {
  padding: 64px 0; }
  .scrivo-intro .l-container {
    padding: 0 24px; }
  .scrivo-intro .intro-block {
    display: flex;
    flex-direction: column;
    gap: 16px; }
    .scrivo-intro .intro-block h2 {
      font-size: 44px;
      font-weight: 400;
      line-height: 42px;
      color: var(--primary-fuxia);
      margin: 0;
      max-width: 600px; }
    .scrivo-intro .intro-block .intro-content {
      font-size: 20px;
      line-height: 22px;
      color: var(--neutral-dark-grey);
      max-width: 640px;
      column-count: 1; }
      .scrivo-intro .intro-block .intro-content p {
        margin: 0 0 22px;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        color: inherit; }
        .scrivo-intro .intro-block .intro-content p:last-child {
          margin-bottom: 0; }
      .scrivo-intro .intro-block .intro-content a {
        color: var(--primary-fuxia);
        font-weight: 700;
        text-decoration: none; }
        .scrivo-intro .intro-block .intro-content a:hover {
          text-decoration: underline; }
      .scrivo-intro .intro-block .intro-content strong, .scrivo-intro .intro-block .intro-content b {
        font-weight: 700; }
      @media (min-width: 1200px) {
        .scrivo-intro .intro-block .intro-content .intro-block {
          max-width: 800px;
          margin: 0 auto; }
          .scrivo-intro .intro-block .intro-content .intro-block h2 {
            max-width: 100%; }
          .scrivo-intro .intro-block .intro-content .intro-block .intro-content {
            max-width: 100%; } }
    .scrivo-intro .intro-block .read-more-btn {
      display: none;
      color: var(--primary-fuxia);
      font-weight: 600;
      cursor: pointer;
      text-decoration: none;
      transition: opacity 0.3s ease; }
      .scrivo-intro .intro-block .read-more-btn:hover {
        opacity: 0.7; }
      .scrivo-intro .intro-block .read-more-btn::after {
        content: " →"; }
  @media (max-width: 768px) {
    .scrivo-intro {
      padding: 40px 0; }
      .scrivo-intro .intro-block h2 {
        font-size: 32px;
        line-height: 36px; }
      .scrivo-intro .intro-block .intro-content {
        font-size: 18px;
        line-height: 24px;
        position: relative;
        overflow: hidden;
        max-height: 200px;
        transition: max-height 0.4s ease; }
        .scrivo-intro .intro-block .intro-content.expanded {
          max-height: 2000px; }
        .scrivo-intro .intro-block .intro-content:not(.expanded)::after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 60px;
          background: linear-gradient(to bottom, transparent, var(--bg-white)); }
      .scrivo-intro .intro-block .read-more-btn {
        display: inline-block; } }
  @media (min-width: 1200px) {
    .scrivo-intro .intro-block {
      max-width: 800px;
      margin: 0 auto; } }
.scrivo-featured h3 {
  font-size: 44px;
  font-weight: 400;
  line-height: 42px;
  letter-spacing: -0.836px;
  color: var(--primary-pink);
  margin: 0; }
  @media (max-width: 1024px) {
    .scrivo-featured h3 {
      font-size: 32px;
      line-height: 36px; } }
  @media (max-width: 768px) {
    .scrivo-featured h3 {
      font-size: 28px;
      line-height: 32px; } }
.scrivo-featured .work-content {
  font-size: 20px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.8px;
  color: var(--cream);
  margin: 0;
  position: relative;
  overflow: hidden;
  max-height: 132px; }
  .scrivo-featured .work-content a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline; }
  .scrivo-featured .work-content.is-truncated::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(to bottom, transparent, var(--primary-fuxia));
    pointer-events: none; }

.scrivo-featured .read-more-btn {
  display: none;
  color: var(--cream);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  background: none;
  border: none;
  padding: 4px 0 0 0; }
  .scrivo-featured .read-more-btn.is-visible {
    display: inline-block; }

.scrivo-featured .btn-link {
  font-size: 20px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.8px;
  color: var(--cream);
  text-decoration: none;
  transition: opacity 180ms ease; }
  .scrivo-featured .btn-link:hover {
    opacity: 0.8; }

.scrivo-featured .featured-work {
  display: flex;
  align-items: stretch;
  width: 100%; }
  .scrivo-featured .featured-work.is-odd .work-block--text {
    order: 1; }
  .scrivo-featured .featured-work.is-odd .work-block--image {
    order: 2; }
  .scrivo-featured .featured-work.is-even .work-block--text {
    order: 2; }
  .scrivo-featured .featured-work.is-even .work-block--image {
    order: 1; }
  @media (max-width: 992px) {
    .scrivo-featured .featured-work {
      flex-direction: column; }
      .scrivo-featured .featured-work .work-block--text {
        order: 1 !important; }
      .scrivo-featured .featured-work .work-block--image {
        order: 2 !important; } }
.scrivo-featured .work-block--text {
  flex: 0 0 50%;
  width: 50%;
  height: 480px;
  padding: 44px 24px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--primary-fuxia);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: border-box; }
  @media (max-width: 992px) {
    .scrivo-featured .work-block--text {
      height: auto;
      min-height: 360px;
      width: 100%; } }
.scrivo-featured .block-text-top {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start; }

.scrivo-featured .work-tag {
  display: inline-block;
  background: var(--primary-pink);
  color: var(--primary-fuxia);
  padding: 10px 16px;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px; }

.scrivo-featured .work-block--image {
  flex: 0 0 50%;
  width: 50%;
  height: 480px;
  overflow: hidden;
  background: var(--cream);
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 992px) {
    .scrivo-featured .work-block--image {
      width: 100%;
      height: 300px; } }
.scrivo-featured .work-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block; }

@media (max-width: 768px) {
  .intro-block .intro-content {
    column-count: 1;
    position: relative;
    overflow: hidden;
    max-height: 200px;
    transition: max-height 0.4s ease; }
    .intro-block .intro-content.expanded {
      max-height: 2000px; }
    .intro-block .intro-content:not(.expanded)::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 60px;
      background: linear-gradient(to bottom, transparent, var(--bg-white)); }
  .intro-block .read-more-btn {
    display: inline-block; } }

/* ==========================================================================
   ANIMAZIONI SCROLL
   ========================================================================== */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-40px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(40px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

/* Stato iniziale - nascosto */
.scrivo-intro .intro-block,
.scrivo-featured .work-block--text,
.scrivo-featured .work-block--image {
  opacity: 0; }

/* Intro block */
.scrivo-intro .intro-block.is-visible {
  animation: fadeInDown 0.8s ease forwards; }

/* Blocchi featured - testo e immagine separati */
.scrivo-featured .featured-work.is-odd .work-block--text.is-visible {
  animation: fadeInRight 0.8s ease forwards; }

.scrivo-featured .featured-work.is-odd .work-block--image.is-visible {
  animation: fadeInLeft 0.8s ease forwards; }

.scrivo-featured .featured-work.is-even .work-block--text.is-visible {
  animation: fadeInLeft 0.8s ease forwards; }

.scrivo-featured .featured-work.is-even .work-block--image.is-visible {
  animation: fadeInRight 0.8s ease forwards; }

/* Disabilita su mobile */
/* @media (max-width: 768px) {
  .scrivo-intro .intro-block,
  .scrivo-featured .featured-work {
    opacity: 1 !important;
    animation: none !important;
  }
} */
